Психометричні властивості шкали популістських орієнтацій (за результатами всеукраїнського соціологічного опитування)

Author

Андрій Бова

Published

February 27, 2025

Вступ

Вимірювання популістських орієнтацій є важливим кроком для глибшого розуміння сучасних політичних процесів. Методика вивчення популістських орієнтації, яка запропонована О. Резніком та апробована у трьох всеукраїнських соціологічних опитуваннях у липні 2023, березні 2024 та червні - липні 2024 року, є переспективним підходом до вивчення цього складного соціально-політичного явища (Резнік, 2024).

Методика

Для відображення основних елементів популістської ідеології було використано систему показників, які фіксують віру в народний суверенітет, протиставлення еліті та маніхейське світосприйняття політичної реальності, що виражається через моралістичну дихотомію “добра” і “зла” у політичному процесі (таблиця). Показники 1, 2, 4 і 5 були запозичені та адаптовані з існуючих та широко визнаних у соціальних науках шкал вимірювання. Для повнішого охоплення досліджуваного явища було додатково сформульовано показники для вимірювання антиелітистських настроїв (показник 3), ставлення до тривалого перебування у політиці (показник 6) та готовності порушувати законодавство заради досягнення політичних цілей (показник 7). Вимірювання здійснювалося за допомогою шкали Лікерта, де респондентам пропонувалося оцінити свій рівень згоди із сімома твердженнями за п’ятибальною шкалою, де 1 відповідає повній незгоді, а 5 - повній згоді з запропонованим твердженням.

Таблицю відтворено з: Резнік (2024, с. 126).

Факторний аналіз, проведений за методом головних компонент із Varimax-обертанням на даних кожного соціологічного опитування, продемонстрував наявність двох факторів. Перший об’єднав популістські ідеї як народоцентризму, так і антиелітаризму, тоді як другий чітко виокремив ідеї маніхейської безкомпромісності. Хоча факторний аналіз виявив двофакторну структуру, для подальшого аналізу було вирішено використовувати єдиний адитивний індекс, що включав сім запитань. За результатами вивчення громадської думки 2023 року коефіцієнт альфа Кронбаха для усереднений сумарний індексу популістських орієнтацій становив 0,67.

Мета

Метою цього дослідження полягала в аналізі психометричних властивостей шкали популістських орієнтацій, що включає:
(a) визначення розмірності шкали;
(б) зіставлення конкуруючих моделей факторної структури шкали;
(в) оцінювання надійності - внутрішньої узгодженості шкали;
(г) дослідження інваріантності вимірювання шкали за статтю; (д) аналіз властивостей пунктів шкали.
Такий комплексний підхід дає змогу комплексно з’ясувати, наскільки коректно та стабільно шкала відбиває заданий конструкт.

Емпірична база дослідження

Емпіричною базою дослідження слугували результати всеукраїнського опитування, реалізованого компанією «Група «Рейтинг» за фінансової підтримки Проєкту USAID «Трансформація комунікацій». Польовий етап тривав з 27 червня по 6 липня 2024 року. Опитування охопило підконтрольну територію України (за винятком тимчасово окупованих територій та районів без українського мобільного зв’язку) і було проведено з використанням комбінованої методології CATI-CAWI (n = 4101).

Методи аналізу даних

Шкала запитань, що відбивали популістські орієнтації, є порядковою. Отже, застосування поліхоричних кореляцій, на відміну від коефіцієнтів кореляції Пірсона, забезпечило точнішу оцінку взаємозв’язків між змінними. Відповідно порядкова природа шкали врахована в конфірматорному факторному аналізі (КФА) та моделі градуйованої відповіді (GRM).

Дослідження включало аналіз розподілів змінних, кореляційний та експлораторний графовий аналіз.

За допомогою КФА перевірено однофакторна, модифікована однофакторна та двофакторна моделі. Як естіматор використовувався Maximum Likelihood з робастними стандартними похибками (WLSMV) через його стійкість до порушень нормальності розподілу даних.

Якість моделей конфірматорного факторного аналізу оцінювалася за комплексом показників допасованості. Значущість χ² (p-value scaled) розглядалася як не основний показник з огляду на її чутливість до розміру вибірки. Показник середньоквадратичної похибки апроксимації (RMSEA) менший за 0,08 вказував на задовільну узгодженість моделі з емпіричними даними. Водночас порівняльний індекс відповідності (CFI) мав перевищувати 0,95, що підтверджувало адекватність специфікації моделі. Стандартизований корінь середньоквадратичного залишку (SRMR) мав бути меншим за 0,08, що вказувало б на мінімальні розбіжності між емпіричною та теоретичною матрицями коваріацій. Референтним значенням показника зваженого кореню середньоквадратичного залишку (WRMR) є значення менше 1.0. Індекс парсимонії (PNFI scaled) мав перевищувати 0,50, що свідчило би про прийнятну збалансованість між складністю та якістю допасованості моделей. В аналізі застосовувалися робастні або масштабовані версії відповідних показників.

Додатково аналізувалися стандартизовані факторні навантаження, які мали перевищувати порогове значення 0,40, що забезпечувало суттєвий внесок кожного індикатора у формування латентного конструкту. Середньоквадратичне значення вилученої дисперсії (Average Variance Extracted, AVE) для кожного фактора мало бути більшим за 0,50, що підтверджувало внутрішню конвергентну валідність вимірювальної моделі.

Надійність вимірювального інструменту оцінювалася через показники внутрішньої узгодженості: коефіцієнт альфа Кронбаха, коефіцієнт порядкової альфа, та коефіцієнт категоріальної омега мали перевищувати 0,70, що свідчило про достатню стабільність вимірювань. Перевага надавалася коефіцієнту омега, оскільки він не потребує виконання припущення про тау-еквівалентність індикаторів та надає більш точні оцінки надійності для факторних моделей.

Слід зазначити, що можуть бути винятки із загальних правил, як-от менші значення окремих факторних навантажень або значення AVE понад 0.40 за адекватної композитної надійності шкали.

Перевірку інваріантності здійснюють за допомогою багатогрупового конфірматорного факторного аналізу (БГКФА). Розрізняють кілька рівнів інваріантності: конфігураційна, метрична, скалярна інваріантність та ін. Конфігураційна інваріантність означає, що факторна структура шкали (кількість факторів та зв’язок пунктів з факторами) є однаковою для різних груп. Метрична інваріантність, на додаток до конфігураційної, вимагає рівності факторних навантажень, тобто пункти шкали однаково вимірюють відповідний фактор в різних групах. Скалярна інваріантність, є найсуворішим рівнем і, крім рівності факторних навантажень, передбачає рівність порогів пунктів, що дозволяє коректно порівнювати середні значення за шкалою між групами.
При послідовному тестуванні моделей — спочатку від конфігураційної до метричної (слабкої) інваріантності, а потім від метричної до скалярної (сильної). Інваріантність не підтримується при різниці значень показників допасування Δ CFI< -0.01 та ΔRMSEA>0.015. Для великих вибірок рекомендовано застосовувати менше референтне значення (Δ RMSEA > 0.010).

GRM, що входить до арсеналу сучасної теорії тестування (IRT), враховує порядковий рівень виміру запитань. Ця модель дозволяє визначити точність вимірювання латентної змінної, отримати детальні параметри, такі як дискримінаційні коефіцієнти та порогові значення.
При оцінці моделі GRM зазначені показники (M2, RMSEA, SRMSR, TLI і CFI) використовуються для визначення загальної відповідності моделі даним. Ідеальна модель характеризується незначущим значенням M2 (p > 0,05), RMSEA менше 0,08 (з вузьким довірчим інтервалом), SRMSR менше 0.08, а також TLI і CFI, що перевищують 0.95. Ці критерії дозволяють досліднику об’єктивно оцінити, наскільки добре модель відображає структуру даних.

Аналіз проводився на зважених даних, крім БГКФА та GRM.

Показати/Сховати код
# Очищення глобального середовища
rm(list=ls())

# Завантаження необхідних пакетів
library(here)        # Шлях до файлу
library(haven)       # Імпорт даних з різних форматів
library(dplyr)       # Маніпулювання даними
library(sjmisc)      # Описова статистика
library(ggcorrplot)  # Візуалізація кореляційних матриць
library(EGAnet)      # Exploratory Graph Analysis (дослідження структури даних)
library(lavaan)      # Конфірматорний факторний аналіз
library(semTools)    # Розширення функціональності lavaan (перевірка інваріантності вимірювання)
library(lavaanExtra) # Розширення функціональності lavaan (візуалізація)
library(knitr)       # Генерація звітів
library(kableExtra)  # Покращення таблиць у звітах knitr
library(mirt)        # IRT

# Завантаження даних
dataset <- read_sav(here("Monitoring2024.sav"))

cat("Перевірка кількості пропущених значень")
Перевірка кількості пропущених значень
Показати/Сховати код
missings <- colSums(is.na(dataset[c(28:34,2, 432)]))

print(missings)
      pm1       pm2       pm3       pm4       pm5       pm6       pm7     Dsex1 
        0         0         0         0         0         0         0         0 
wt_UA4101 
        0 
Показати/Сховати код
# Обробка пропущених значень (якщо потрібно) та відбір змінних
df<- na.omit(dataset[c(28:34,2, 432)])

Описова статистика

Описова статистика опитування виявляє помірний рівень популістських орієнтацій серед респондентів. Найбільш вираженою є згода з твердженнями, що підкреслюють розрив між елітою та народом (pm2) та важливість думки “простих людей” (pm3). Респонденти демонструють схильність вважати, що політики повинні слідувати волі народу (pm1) та що країною мають керувати “люди з народу” (pm4). Проте, спостерігається менша підтримка ідеї представництва “пересічними громадянами” замість професійних політиків (pm5) та виражене відхилення від думки, що політичний результат виправдовує порушення законності (pm6). Ставлення до політичного компромісу (pm7) є відносно нейтральним, але з тенденцією до сприйняття його як потенційної “торгівлі принципами”.

Загалом, отримані дані свідчать про поширення певних популістських настроїв, зокрема недовіри до еліт та акцентування на важливості голосу народу. Водночас, результати вказують на неоднозначне ставлення до деяких радикальних аспектів популізму, таких як відмова від професіоналізму в політиці та ігнорування законності заради досягнення політичних цілей. Це може свідчити про наявність “помірного” або “латентного” популізму, який поєднується з прихильністю до базових принципів демократії та верховенства права.

Показати/Сховати код
# Зважені дані
# Отримання описової статистики
frq(df[1:7], weights=df$wt_UA4101)
Народ набагато мудріший за політиків, тому політики повинні слідувати тільки волі народу (pm1) <numeric> 
# total N=4101 valid N=4101 mean=3.60 sd=1.21

Value |                       Label |    N | Raw % | Valid % | Cum. %
---------------------------------------------------------------------
    1 |            Зовсім не згодні |  210 |  5.12 |    5.12 |   5.12
    2 |           Скоріше не згодні |  714 | 17.41 |   17.41 |  22.53
    3 | Важко сказати, згодні чи ні |  749 | 18.26 |   18.26 |  40.79
    4 |              Скоріше згодні | 1268 | 30.92 |   30.92 |  71.71
    5 |               Цілком згодні | 1160 | 28.29 |   28.29 | 100.00
 <NA> |                        <NA> |    0 |  0.00 |    <NA> |   <NA>

Політичні розбіжності між елітою та народом більші, ніж розбіжності у самому народі (pm2) <numeric> 
# total N=4100 valid N=4100 mean=3.97 sd=1.06

Value |                       Label |    N | Raw % | Valid % | Cum. %
---------------------------------------------------------------------
    1 |            Зовсім не згодні |  145 |  3.54 |    3.54 |   3.54
    2 |           Скоріше не згодні |  294 |  7.17 |    7.17 |  10.71
    3 | Важко сказати, згодні чи ні |  623 | 15.20 |   15.20 |  25.90
    4 |              Скоріше згодні | 1496 | 36.49 |   36.49 |  62.39
    5 |               Цілком згодні | 1542 | 37.61 |   37.61 | 100.00
 <NA> |                        <NA> |    0 |  0.00 |    <NA> |   <NA>

Часто думка простих людей важливіша, ніж думка професійних політиків та експертів (pm3) <numeric> 
# total N=4101 valid N=4101 mean=3.45 sd=1.20

Value |                       Label |    N | Raw % | Valid % | Cum. %
---------------------------------------------------------------------
    1 |            Зовсім не згодні |  271 |  6.61 |    6.61 |   6.61
    2 |           Скоріше не згодні |  780 | 19.02 |   19.02 |  25.63
    3 | Важко сказати, згодні чи ні |  748 | 18.24 |   18.24 |  43.87
    4 |              Скоріше згодні | 1431 | 34.89 |   34.89 |  78.76
    5 |               Цілком згодні |  871 | 21.24 |   21.24 | 100.00
 <NA> |                        <NA> |    0 |  0.00 |    <NA> |   <NA>

Нашою країною повинні керувати люди з народу, а не представники правлячої еліти (pm4) <numeric> 
# total N=4101 valid N=4101 mean=3.68 sd=1.19

Value |                       Label |    N | Raw % | Valid % | Cum. %
---------------------------------------------------------------------
    1 |            Зовсім не згодні |  217 |  5.29 |    5.29 |   5.29
    2 |           Скоріше не згодні |  565 | 13.78 |   13.78 |  19.07
    3 | Важко сказати, згодні чи ні |  799 | 19.48 |   19.48 |  38.55
    4 |              Скоріше згодні | 1264 | 30.82 |   30.82 |  69.37
    5 |               Цілком згодні | 1256 | 30.63 |   30.63 | 100.00
 <NA> |                        <NA> |    0 |  0.00 |    <NA> |   <NA>

Я хотів би, щоб мене у політиці представляв пересічний громадянин, а не професійний політик (pm5) <numeric> 
# total N=4101 valid N=4101 mean=2.80 sd=1.28

Value |                       Label |    N | Raw % | Valid % | Cum. %
---------------------------------------------------------------------
    1 |            Зовсім не згодні |  778 | 18.97 |   18.97 |  18.97
    2 |           Скоріше не згодні | 1058 | 25.80 |   25.80 |  44.77
    3 | Важко сказати, згодні чи ні |  965 | 23.53 |   23.53 |  68.30
    4 |              Скоріше згодні |  822 | 20.04 |   20.04 |  88.34
    5 |               Цілком згодні |  478 | 11.66 |   11.66 | 100.00
 <NA> |                        <NA> |    0 |  0.00 |    <NA> |   <NA>

У політиці важливішим є результат, навіть отриманий з порушенням процедур законодавства (pm6) <numeric> 
# total N=4101 valid N=4101 mean=2.26 sd=1.31

Value |                       Label |    N | Raw % | Valid % | Cum. %
---------------------------------------------------------------------
    1 |            Зовсім не згодні | 1601 | 39.04 |   39.04 |  39.04
    2 |           Скоріше не згодні | 1014 | 24.73 |   24.73 |  63.76
    3 | Важко сказати, згодні чи ні |  610 | 14.87 |   14.87 |  78.64
    4 |              Скоріше згодні |  558 | 13.61 |   13.61 |  92.25
    5 |               Цілком згодні |  318 |  7.75 |    7.75 | 100.00
 <NA> |                        <NA> |    0 |  0.00 |    <NA> |   <NA>

Компроміс у політиці – це насправді торгівля власними принципами (pm7) <numeric> 
# total N=4101 valid N=4101 mean=3.23 sd=1.19

Value |                       Label |    N | Raw % | Valid % | Cum. %
---------------------------------------------------------------------
    1 |            Зовсім не згодні |  391 |  9.53 |    9.53 |   9.53
    2 |           Скоріше не згодні |  792 | 19.31 |   19.31 |  28.85
    3 | Важко сказати, згодні чи ні | 1012 | 24.68 |   24.68 |  53.52
    4 |              Скоріше згодні | 1314 | 32.04 |   32.04 |  85.56
    5 |               Цілком згодні |  592 | 14.44 |   14.44 | 100.00
 <NA> |                        <NA> |    0 |  0.00 |    <NA> |   <NA>
Показати/Сховати код
# Кодування змінної статі
df$sex<-factor(df$Dsex1, levels=c(1, 2), labels=c("Male", "Female"))
# Перевірка частот статі
frq(df$sex, weights=df$wt_UA4101)
xw <categorical> 
# total N=4101 valid N=4101 mean=1.55 sd=0.50

Value  |    N | Raw % | Valid % | Cum. %
----------------------------------------
Male   | 1857 | 45.28 |   45.28 |  45.28
Female | 2244 | 54.72 |   54.72 | 100.00
<NA>   |    0 |  0.00 |    <NA> |   <NA>

Кореляційний аналіз

Аналіз кореляційної матриці виявляє певну структуру взаємозв’язків між змінними. Можна виділити кластер помірно корельованих змінних, що включає pm1, pm3, pm4 та pm5, де коефіцієнти кореляції варіюють від 0,46 до 0,60. Найсильніший зв’язок спостерігається між pm1 та pm4 (r = 0,60). Змінні pm2, pm6 та pm7 демонструють слабші кореляції з іншими показниками. Особливо це помітно для pm6, яка має найнижчі кореляції з усіма іншими змінними (від 0,05 до 0,20), що може вказувати на її відносну незалежність від основного конструкту. Змінна pm7 також демонструє переважно слабкі кореляції (від 0,20 до 0,28) з іншими показниками.

Показати/Сховати код
# Зважені дані
# Обчислення кореляційної матриці з вагами
cor_matrix <- lavCor(df[c("pm1", "pm2", 
                         "pm3", "pm4", "pm5", "pm6" , "pm7",
                         "wt_UA4101")], ordered=T,
                          sampling.weights="wt_UA4101")

pl<-ggcorrplot(cor_matrix, type="lower", hc.order=T, hc.method= "average", lab = TRUE)

pl

Показати/Сховати код
cor_matrix 
      pm1   pm2   pm3   pm4   pm5   pm6   pm7
pm1 1.000                                    
pm2 0.345 1.000                              
pm3 0.553 0.299 1.000                        
pm4 0.602 0.334 0.494 1.000                  
pm5 0.460 0.204 0.467 0.522 1.000            
pm6 0.159 0.046 0.199 0.190 0.199 1.000      
pm7 0.279 0.232 0.245 0.277 0.254 0.195 1.000

Перевірка розмірності

На основі результатів експлораторного графового аналізу (EGA) можна зробити такі висновки. Аналіз із використанням алгоритму GLASSO (графічного LASSO) з параметром регуляризації EBIC (γ = 0.5) виявив високу щільність зв’язків між змінними (edge density = 0.857), що відображається у 18 ненульових ребрах між 7 вершинами графу. Застосування алгоритму виявлення спільнот Louvain визначило всі змінні (pm1-pm7) як такі, що належать до однієї спільноти, що свідчить про одновимірну структуру досліджуваного конструкту.

Для перевірки стабільності отриманого рішення було проведено бутстраповану версію EGA з 500 параметричними повторами. Результати бутстрапування підтвердили одновимірність структури - медіанна кількість вимірів становить 1, з 95% довірчим інтервалом [0.88, 1.12]. Це свідчить про високу надійність одновимірного рішення, оскільки довірчий інтервал не включає значення 2 і більше. Додатково, аналіз TEFI (Total Entropy Fit Index using Von Neumman’s entropy) також підтверджує одномірність моделі (TEFI = 0).

Отже, попри деяку гетерогенність кореляційних зв’язків, графовий аналіз вказує на одновимірну структуру досліджуваного конструкту.

Показати/Сховати код
# Зважені дані

pl1 <- EGA(data = cor_matrix, n = 4101, plot.EGA = T)

Показати/Сховати код
pl1
Model: GLASSO (EBIC with gamma = 0.5)
Correlations: auto
Lambda: 0.0601980331847116 (n = 100, ratio = 0.1)

Number of nodes: 7
Number of edges: 18
Edge density: 0.857

Non-zero edge weights: 
     M    SD   Min   Max
 0.124 0.089 0.034 0.337

----

Algorithm:  Louvain

Number of communities:  1

pm1 pm2 pm3 pm4 pm5 pm6 pm7 
  1   1   1   1   1   1   1 

----

Unidimensional Method: Louvain
Unidimensional: Yes

----

TEFI: 0
Показати/Сховати код
bootEGA(data = cor_matrix, n = 4101, seed = 123)

Model: GLASSO (EBIC)
Correlations: auto
Algorithm:  Louvain
Unidimensional Method:  Louvain

----

EGA Type: EGA 
Bootstrap Samples: 500 (Parametric)
                       
                1     2
Frequency:  0.996 0.004

Median dimensions: 1 [0.88, 1.12] 95% CI

Конфірматорний факторний аналіз

Масштабована статистика χ² (χ²scaled) та її рівень значущості (p-value) використовувалися для початкової оцінки моделей, хоча цей критерій чутливий до розміру вибірки. Робастний показник середньоквадратичної похибки апроксимації (Robust RMSEA) для всіх моделей був в межах 0.061-0.066, що свідчить про прийнятну якість відтворення коваріаційної структури даних, при цьому верхня межа 90% довірчого інтервалу не перевищувала 0.075. Робастний порівняльний індекс відповідності (Robust CFI) для модифікованої однофакторної та двофакторної моделей становив 0.971, а для однофакторної - 0.964, що вказує на хорошу узгодженість. Стандартизований корінь середньоквадратичного залишку (SRMR) був меншим за 0.034, демонструючи мінімальні розбіжності між емпіричною та теоретичною матрицями коваріацій. Додатково розраховувався масштабований індекс парсимонії (PNFI scaled), значення якого перевищували 0.61, що свідчить про прийнятну збалансованість між складністю та якістю допасованості моделей. Показник WRMR для всіх моделей перевищував рекомендоване значення 1.0.

Альтернативні до однофакторної моделі показали кращу відповідність даним.
Порівняльний аналіз моделей показав, що модифікована однофакторна та двофакторна моделі демонструють ідентичні показники допасованості (χ²scaled = 125.461, df = 13, p < 0.001, robust RMSEA = 0.061 90% ДІ [0.051; 0.070], Robust CFI = 0.971, SRMR = 0.028, PNFI scaled = 0.610) та кращу якість відтворення даних порівняно з початковою однофакторною моделлю (χ²scaled = 163.747, df = 14, p < 0.001, robust RMSEA = 0.066 90% ДІ [0.057; 0.075], robust CFI = 0.964, SRMR = 0.034, PNFI scaled = 0.654).

Втім, попри формально однакову якість допасованості, аналіз психометричних властивостей виявляє суттєві відмінності між моделями. Двофакторна модель логічно розділяє елементи: перший фактор (Popul_l) охоплює pm1–pm5 з високими навантаженнями (0.43-0.77), а другий (Popul_2) – pm6 і pm7, для яких навантаження підвищуються (0.36 та 0.55 порівняно з 0.25 та 0.38 у модифікованій однофакторній моделі). Двофакторна модель демонструє дещо кращі показники надійності для першого фактора (ω = 0.77, AVE = 0.45), але характеризується проблематичною структурою другого фактора з низькою надійністю (ω = 0.30) та недостатньою конвергентною валідністю (AVE = 0.21). Другий фактор включає лише два індикатори, що зменшує надійність вимірювання порівняно з трьома - чотирма індикаторами.
Натомість модифікована однофакторна модель, попри дещо нижчі показники надійності (ω = 0.73) та середньої вилученої дисперсії (AVE = 0.35), пропонує більш парсимонічне рішення. Специфікація коваріації залишків між індикаторами pm6 та pm7 (0.102, p<0.001) виявляється більш економним способом врахування їхньої спільної дисперсії порівняно з виокремленням окремого фактора. Модель з однією латентною змінною є простішою в інтерпретації та подальшій роботі. Таким чином, попри формально однакову якість відтворення даних, теоретичні та практичні міркування схиляють до прийняття модифікованої однофакторної моделі як більш обґрунтованого рішення. Водночас, відносно низькі факторні навантаження окремих індикаторів та загальний показник AVE нижче рекомендованого порогу 0.50 вказують на потребу подальшого вдосконалення цього вимірювального інструменту.

Однофакторна модель

Показати/Сховати код
# Зважені дані
m1 <- "Popul =~ pm1 + pm2 + pm3 + pm4 + pm5 + pm6 + pm7"


fit.m1 <- cfa (m1, data = df, ordered = T,
               sampling.weights = "wt_UA4101", std.lv = TRUE, se = "robust")


fit.measures.m1 <- fitMeasures(fit.m1, c("chisq.scaled", "df.scaled", "pvalue.scaled", "rmsea.robust", "rmsea.ci.lower.robust", "rmsea.ci.upper.robust", "cfi.robust", "srmr", "wrmr", "pnfi.scaled"))


tabl1<-kable(round(fit.measures.m1, digits = 3), col.names = "Показники", format = "markdown") %>% kable_styling(bootstrap_options = "striped", full_width = F)

tabl1
Показники
chisq.scaled 163.747
df.scaled 14.000
pvalue.scaled 0.000
rmsea.robust 0.066
rmsea.ci.lower.robust 0.057
rmsea.ci.upper.robust 0.075
cfi.robust 0.964
srmr 0.034
wrmr 1.422
pnfi.scaled 0.654
Показати/Сховати код
pl_fit.measures.m1<-nice_lavaanPlot(
  model = fit.m1,
  coefs = TRUE,
  stand = TRUE,
  covs = TRUE,
  stars = c("coefs", "covs", "latent")
)

pl_fit.measures.m1
plot pm1 pm1 pm2 pm2 pm3 pm3 pm4 pm4 pm5 pm5 pm6 pm6 pm7 pm7 Popul Popul Popul->pm1 0.77*** Popul->pm2 0.42*** Popul->pm3 0.69*** Popul->pm4 0.77*** Popul->pm5 0.64*** Popul->pm6 0.26*** Popul->pm7 0.39***
Показати/Сховати код
summary(fit.m1, fit.measures = TRUE, standardized = TRUE)
lavaan 0.6-19 ended normally after 9 iterations

  Estimator                                       DWLS
  Optimization method                           NLMINB
  Number of model parameters                        35

  Number of observations                           4101
  Sampling weights variable                   wt_UA4101

Model Test User Model:
                                              Standard      Scaled
  Test Statistic                                99.130     163.747
  Degrees of freedom                                14          14
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  0.608
  Shift parameter                                            0.740
    simple second-order correction                                

Model Test Baseline Model:

  Test statistic                             11694.846    8371.399
  Degrees of freedom                                21          21
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.398

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.993       0.982
  Tucker-Lewis Index (TLI)                       0.989       0.973
                                                                  
  Robust Comparative Fit Index (CFI)                         0.964
  Robust Tucker-Lewis Index (TLI)                            0.946

Root Mean Square Error of Approximation:

  RMSEA                                          0.039       0.051
  90 Percent confidence interval - lower         0.032       0.044
  90 Percent confidence interval - upper         0.046       0.058
  P-value H_0: RMSEA <= 0.050                    0.996       0.385
  P-value H_0: RMSEA >= 0.080                    0.000       0.000
                                                                  
  Robust RMSEA                                               0.066
  90 Percent confidence interval - lower                     0.057
  90 Percent confidence interval - upper                     0.075
  P-value H_0: Robust RMSEA <= 0.050                         0.002
  P-value H_0: Robust RMSEA >= 0.080                         0.005

Standardized Root Mean Square Residual:

  SRMR                                           0.034       0.034

Parameter Estimates:

  Parameterization                               Delta
  Standard errors                           Robust.sem
  Information                                 Expected
  Information saturated (h1) model        Unstructured

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Popul =~                                                              
    pm1               0.773    0.010   75.006    0.000    0.773    0.773
    pm2               0.425    0.017   24.787    0.000    0.425    0.425
    pm3               0.693    0.013   54.564    0.000    0.693    0.693
    pm4               0.766    0.011   70.366    0.000    0.766    0.766
    pm5               0.644    0.013   48.425    0.000    0.644    0.644
    pm6               0.265    0.020   13.171    0.000    0.265    0.265
    pm7               0.388    0.016   24.112    0.000    0.388    0.388

Thresholds:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    pm1|t1           -1.634    0.036  -45.336    0.000   -1.634   -1.634
    pm1|t2           -0.754    0.026  -28.910    0.000   -0.754   -0.754
    pm1|t3           -0.233    0.024   -9.818    0.000   -0.233   -0.233
    pm1|t4            0.574    0.025   22.531    0.000    0.574    0.574
    pm2|t1           -1.808    0.043  -41.680    0.000   -1.808   -1.808
    pm2|t2           -1.242    0.029  -42.880    0.000   -1.242   -1.242
    pm2|t3           -0.646    0.026  -25.201    0.000   -0.646   -0.646
    pm2|t4            0.316    0.024   13.235    0.000    0.316    0.316
    pm3|t1           -1.506    0.033  -45.747    0.000   -1.506   -1.506
    pm3|t2           -0.655    0.025  -25.836    0.000   -0.655   -0.655
    pm3|t3           -0.154    0.024   -6.544    0.000   -0.154   -0.154
    pm3|t4            0.798    0.027   30.000    0.000    0.798    0.798
    pm4|t1           -1.617    0.040  -40.675    0.000   -1.617   -1.617
    pm4|t2           -0.876    0.028  -30.917    0.000   -0.876   -0.876
    pm4|t3           -0.291    0.024  -12.140    0.000   -0.291   -0.291
    pm4|t4            0.506    0.025   20.473    0.000    0.506    0.506
    pm5|t1           -0.879    0.030  -29.576    0.000   -0.879   -0.879
    pm5|t2           -0.132    0.024   -5.565    0.000   -0.132   -0.132
    pm5|t3            0.476    0.024   19.735    0.000    0.476    0.476
    pm5|t4            1.192    0.031   38.428    0.000    1.192    1.192
    pm6|t1           -0.278    0.024  -11.571    0.000   -0.278   -0.278
    pm6|t2            0.352    0.024   14.542    0.000    0.352    0.352
    pm6|t3            0.794    0.026   30.489    0.000    0.794    0.794
    pm6|t4            1.423    0.036   39.579    0.000    1.423    1.423
    pm7|t1           -1.308    0.031  -42.155    0.000   -1.308   -1.308
    pm7|t2           -0.558    0.026  -21.745    0.000   -0.558   -0.558
    pm7|t3            0.089    0.023    3.772    0.000    0.089    0.089
    pm7|t4            1.061    0.029   36.948    0.000    1.061    1.061

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .pm1               0.403                               0.403    0.403
   .pm2               0.820                               0.820    0.820
   .pm3               0.520                               0.520    0.520
   .pm4               0.414                               0.414    0.414
   .pm5               0.586                               0.586    0.586
   .pm6               0.930                               0.930    0.930
   .pm7               0.850                               0.850    0.850
    Popul             1.000                               1.000    1.000
Показати/Сховати код
mod_indices_m1 <- modificationIndices(fit.m1, minimum.value = 10, sort = TRUE)

cat("Рекомендовані модифікації для моделі m1:\n")
Рекомендовані модифікації для моделі m1:
Показати/Сховати код
mod_indices_m1 
   lhs op rhs     mi    epc sepc.lv sepc.all sepc.nox
79 pm6 ~~ pm7 25.723 -0.102  -0.102   -0.115   -0.115
67 pm2 ~~ pm5 17.546  0.088   0.088    0.128    0.128
69 pm2 ~~ pm7 17.437 -0.078  -0.078   -0.094   -0.094
70 pm3 ~~ pm4 15.461  0.086   0.086    0.184    0.184
68 pm2 ~~ pm6 12.078  0.074   0.074    0.084    0.084
62 pm1 ~~ pm5 11.436  0.073   0.073    0.151    0.151
Показати/Сховати код
# Розрахунок надійності
reliability_m1 <- round(semTools::reliability(fit.m1), 2)
For constructs with categorical indicators, Zumbo et al.`s (2007) "ordinal alpha" is calculated in addition to the standard alpha, which treats ordinal variables as numeric. See Chalmers (2018) for a critique of "alpha.ord" and the response by Zumbo & Kroc (2019). Likewise, average variance extracted is calculated from polychoric (polyserial) not Pearson correlations.
Показати/Сховати код
# Виведення таблиці
kable(reliability_m1, format = "html", caption = "Оцінка надійності шкали") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed"))
Оцінка надійності шкали
Popul
alpha 0.73
alpha.ord 0.76
omega 0.74
omega2 0.74
omega3 0.74
avevar 0.35

Модифікована однофакторна модель

Показати/Сховати код
# Зважені дані

m2 <- "Popul =~ pm1 + pm2 + pm3 + pm4 + pm5 + pm6 + pm7
                                             pm6 ~~ pm7"

fit.m2 <- cfa (m2, data = df, ordered = T,
               sampling.weights = "wt_UA4101", std.lv = TRUE, se = "robust")

fit.measures.m2 <- fitMeasures(fit.m2, c("chisq.scaled", "df.scaled", "pvalue.scaled", "rmsea.robust", "rmsea.ci.lower.robust", "rmsea.ci.upper.robust", "cfi.robust", "srmr", "wrmr", "pnfi.scaled"))

tabl2<-kable(round(fit.measures.m2, digits = 3), col.names = "Показники", format = "markdown") %>% kable_styling(bootstrap_options = "striped", full_width = F)

tabl2
Показники
chisq.scaled 125.461
df.scaled 13.000
pvalue.scaled 0.000
rmsea.robust 0.061
rmsea.ci.lower.robust 0.051
rmsea.ci.upper.robust 0.070
cfi.robust 0.971
srmr 0.028
wrmr 1.224
pnfi.scaled 0.610
Показати/Сховати код
pl_fit.measures.m2<-nice_lavaanPlot(
  model = fit.m2,
  coefs = TRUE,
  stand = TRUE,
  covs = TRUE,
  stars = c("coefs", "covs", "latent")
)

pl_fit.measures.m2
plot pm1 pm1 pm2 pm2 pm3 pm3 pm4 pm4 pm5 pm5 pm6 pm6 pm7 pm7 pm7->pm6 0.11*** Popul Popul Popul->pm1 0.77*** Popul->pm2 0.43*** Popul->pm3 0.69*** Popul->pm4 0.77*** Popul->pm5 0.64*** Popul->pm6 0.25*** Popul->pm7 0.38***
Показати/Сховати код
summary(fit.m2, fit.measures = TRUE, standardized = TRUE)
lavaan 0.6-19 ended normally after 11 iterations

  Estimator                                       DWLS
  Optimization method                           NLMINB
  Number of model parameters                        36

  Number of observations                           4101
  Sampling weights variable                   wt_UA4101

Model Test User Model:
                                              Standard      Scaled
  Test Statistic                                73.401     125.461
  Degrees of freedom                                13          13
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  0.588
  Shift parameter                                            0.630
    simple second-order correction                                

Model Test Baseline Model:

  Test statistic                             11694.846    8371.399
  Degrees of freedom                                21          21
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.398

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.995       0.987
  Tucker-Lewis Index (TLI)                       0.992       0.978
                                                                  
  Robust Comparative Fit Index (CFI)                         0.971
  Robust Tucker-Lewis Index (TLI)                            0.954

Root Mean Square Error of Approximation:

  RMSEA                                          0.034       0.046
  90 Percent confidence interval - lower         0.026       0.039
  90 Percent confidence interval - upper         0.041       0.053
  P-value H_0: RMSEA <= 0.050                    1.000       0.808
  P-value H_0: RMSEA >= 0.080                    0.000       0.000
                                                                  
  Robust RMSEA                                               0.061
  90 Percent confidence interval - lower                     0.051
  90 Percent confidence interval - upper                     0.070
  P-value H_0: Robust RMSEA <= 0.050                         0.030
  P-value H_0: Robust RMSEA >= 0.080                         0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.028       0.028

Parameter Estimates:

  Parameterization                               Delta
  Standard errors                           Robust.sem
  Information                                 Expected
  Information saturated (h1) model        Unstructured

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Popul =~                                                              
    pm1               0.774    0.010   75.094    0.000    0.774    0.774
    pm2               0.425    0.017   24.816    0.000    0.425    0.425
    pm3               0.693    0.013   54.597    0.000    0.693    0.693
    pm4               0.766    0.011   70.407    0.000    0.766    0.766
    pm5               0.644    0.013   48.374    0.000    0.644    0.644
    pm6               0.247    0.020   12.157    0.000    0.247    0.247
    pm7               0.379    0.016   23.513    0.000    0.379    0.379

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .pm6 ~~                                                                
   .pm7               0.102    0.018    5.673    0.000    0.102    0.114

Thresholds:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    pm1|t1           -1.634    0.036  -45.336    0.000   -1.634   -1.634
    pm1|t2           -0.754    0.026  -28.910    0.000   -0.754   -0.754
    pm1|t3           -0.233    0.024   -9.818    0.000   -0.233   -0.233
    pm1|t4            0.574    0.025   22.531    0.000    0.574    0.574
    pm2|t1           -1.808    0.043  -41.680    0.000   -1.808   -1.808
    pm2|t2           -1.242    0.029  -42.880    0.000   -1.242   -1.242
    pm2|t3           -0.646    0.026  -25.201    0.000   -0.646   -0.646
    pm2|t4            0.316    0.024   13.235    0.000    0.316    0.316
    pm3|t1           -1.506    0.033  -45.747    0.000   -1.506   -1.506
    pm3|t2           -0.655    0.025  -25.836    0.000   -0.655   -0.655
    pm3|t3           -0.154    0.024   -6.544    0.000   -0.154   -0.154
    pm3|t4            0.798    0.027   30.000    0.000    0.798    0.798
    pm4|t1           -1.617    0.040  -40.675    0.000   -1.617   -1.617
    pm4|t2           -0.876    0.028  -30.917    0.000   -0.876   -0.876
    pm4|t3           -0.291    0.024  -12.140    0.000   -0.291   -0.291
    pm4|t4            0.506    0.025   20.473    0.000    0.506    0.506
    pm5|t1           -0.879    0.030  -29.576    0.000   -0.879   -0.879
    pm5|t2           -0.132    0.024   -5.565    0.000   -0.132   -0.132
    pm5|t3            0.476    0.024   19.735    0.000    0.476    0.476
    pm5|t4            1.192    0.031   38.428    0.000    1.192    1.192
    pm6|t1           -0.278    0.024  -11.571    0.000   -0.278   -0.278
    pm6|t2            0.352    0.024   14.542    0.000    0.352    0.352
    pm6|t3            0.794    0.026   30.489    0.000    0.794    0.794
    pm6|t4            1.423    0.036   39.579    0.000    1.423    1.423
    pm7|t1           -1.308    0.031  -42.155    0.000   -1.308   -1.308
    pm7|t2           -0.558    0.026  -21.745    0.000   -0.558   -0.558
    pm7|t3            0.089    0.023    3.772    0.000    0.089    0.089
    pm7|t4            1.061    0.029   36.948    0.000    1.061    1.061

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .pm1               0.401                               0.401    0.401
   .pm2               0.819                               0.819    0.819
   .pm3               0.519                               0.519    0.519
   .pm4               0.413                               0.413    0.413
   .pm5               0.585                               0.585    0.585
   .pm6               0.939                               0.939    0.939
   .pm7               0.857                               0.857    0.857
    Popul             1.000                               1.000    1.000
Показати/Сховати код
mod_indices_m2 <- modificationIndices(fit.m2, minimum.value = 10, sort = TRUE)

cat("Рекомендовані модифікації для моделі m2:\n")
Рекомендовані модифікації для моделі m2:
Показати/Сховати код
mod_indices_m2 
   lhs op rhs     mi    epc sepc.lv sepc.all sepc.nox
70 pm2 ~~ pm7 19.245 -0.082  -0.082   -0.098   -0.098
68 pm2 ~~ pm5 17.990  0.090   0.090    0.129    0.129
71 pm3 ~~ pm4 16.688  0.089   0.089    0.193    0.193
63 pm1 ~~ pm5 12.332  0.076   0.076    0.158    0.158
Показати/Сховати код
reliability_m2 <- round(semTools::reliability(fit.m2),2)

# Виведення таблиці
kable(reliability_m2, format = "html", caption = "Оцінка надійності шкали") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed"))
Оцінка надійності шкали
Popul
alpha 0.73
alpha.ord 0.76
omega 0.73
omega2 0.73
omega3 0.73
avevar 0.35

Двофакторна модель

Показати/Сховати код
# Зважені дані

m3 <- "Popul_l =~ pm1 + pm2 + pm3 + pm4 + pm5
       Popul_2 =~ pm6 + pm7" 

fit.m3 <- cfa (m3, data = df, ordered=T, std.lv = TRUE,
               sampling.weights = "wt_UA4101", se = "robust")

fit.measures.m3 <- fitMeasures(fit.m3, c("chisq.scaled", "df.scaled", "pvalue.scaled", "rmsea.robust", "rmsea.ci.lower.robust", "rmsea.ci.upper.robust", "cfi.robust", "srmr", "wrmr", "pnfi.scaled"))


tabl3<-kable(round(fit.measures.m3, digits = 3), col.names = "Показники", format = "markdown") %>% kable_styling(bootstrap_options = "striped", full_width = F)

tabl3
Показники
chisq.scaled 125.461
df.scaled 13.000
pvalue.scaled 0.000
rmsea.robust 0.061
rmsea.ci.lower.robust 0.051
rmsea.ci.upper.robust 0.070
cfi.robust 0.971
srmr 0.028
wrmr 1.224
pnfi.scaled 0.610
Показати/Сховати код
pl_fit.measures.m3<-nice_lavaanPlot(
  model = fit.m3,
  coefs = TRUE,
  stand = TRUE,
  covs = TRUE,
  stars = c("coefs", "covs", "latent")
)

pl_fit.measures.m3
plot pm1 pm1 pm2 pm2 pm3 pm3 pm4 pm4 pm5 pm5 pm6 pm6 pm7 pm7 Popul_l Popul_l Popul_l->pm1 0.77*** Popul_l->pm2 0.43*** Popul_l->pm3 0.69*** Popul_l->pm4 0.77*** Popul_l->pm5 0.64*** Popul_2 Popul_2 Popul_2->pm6 0.36*** Popul_2->pm7 0.55*** Popul_2->Popul_l 0.69***
Показати/Сховати код
# Виведення результатів

summary(fit.m3, fit.measures = TRUE, standardized = TRUE)
lavaan 0.6-19 ended normally after 18 iterations

  Estimator                                       DWLS
  Optimization method                           NLMINB
  Number of model parameters                        36

  Number of observations                           4101
  Sampling weights variable                   wt_UA4101

Model Test User Model:
                                              Standard      Scaled
  Test Statistic                                73.401     125.461
  Degrees of freedom                                13          13
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  0.588
  Shift parameter                                            0.630
    simple second-order correction                                

Model Test Baseline Model:

  Test statistic                             11694.846    8371.399
  Degrees of freedom                                21          21
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.398

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.995       0.987
  Tucker-Lewis Index (TLI)                       0.992       0.978
                                                                  
  Robust Comparative Fit Index (CFI)                         0.971
  Robust Tucker-Lewis Index (TLI)                            0.954

Root Mean Square Error of Approximation:

  RMSEA                                          0.034       0.046
  90 Percent confidence interval - lower         0.026       0.039
  90 Percent confidence interval - upper         0.041       0.053
  P-value H_0: RMSEA <= 0.050                    1.000       0.808
  P-value H_0: RMSEA >= 0.080                    0.000       0.000
                                                                  
  Robust RMSEA                                               0.061
  90 Percent confidence interval - lower                     0.051
  90 Percent confidence interval - upper                     0.070
  P-value H_0: Robust RMSEA <= 0.050                         0.030
  P-value H_0: Robust RMSEA >= 0.080                         0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.028       0.028

Parameter Estimates:

  Parameterization                               Delta
  Standard errors                           Robust.sem
  Information                                 Expected
  Information saturated (h1) model        Unstructured

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Popul_l =~                                                            
    pm1               0.774    0.010   75.094    0.000    0.774    0.774
    pm2               0.425    0.017   24.816    0.000    0.425    0.425
    pm3               0.693    0.013   54.597    0.000    0.693    0.693
    pm4               0.766    0.011   70.407    0.000    0.766    0.766
    pm5               0.644    0.013   48.374    0.000    0.644    0.644
  Popul_2 =~                                                            
    pm6               0.357    0.025   14.291    0.000    0.357    0.357
    pm7               0.548    0.032   17.300    0.000    0.548    0.548

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Popul_l ~~                                                            
    Popul_2           0.692    0.039   17.858    0.000    0.692    0.692

Thresholds:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    pm1|t1           -1.634    0.036  -45.336    0.000   -1.634   -1.634
    pm1|t2           -0.754    0.026  -28.910    0.000   -0.754   -0.754
    pm1|t3           -0.233    0.024   -9.818    0.000   -0.233   -0.233
    pm1|t4            0.574    0.025   22.531    0.000    0.574    0.574
    pm2|t1           -1.808    0.043  -41.680    0.000   -1.808   -1.808
    pm2|t2           -1.242    0.029  -42.880    0.000   -1.242   -1.242
    pm2|t3           -0.646    0.026  -25.201    0.000   -0.646   -0.646
    pm2|t4            0.316    0.024   13.235    0.000    0.316    0.316
    pm3|t1           -1.506    0.033  -45.747    0.000   -1.506   -1.506
    pm3|t2           -0.655    0.025  -25.836    0.000   -0.655   -0.655
    pm3|t3           -0.154    0.024   -6.544    0.000   -0.154   -0.154
    pm3|t4            0.798    0.027   30.000    0.000    0.798    0.798
    pm4|t1           -1.617    0.040  -40.675    0.000   -1.617   -1.617
    pm4|t2           -0.876    0.028  -30.917    0.000   -0.876   -0.876
    pm4|t3           -0.291    0.024  -12.140    0.000   -0.291   -0.291
    pm4|t4            0.506    0.025   20.473    0.000    0.506    0.506
    pm5|t1           -0.879    0.030  -29.576    0.000   -0.879   -0.879
    pm5|t2           -0.132    0.024   -5.565    0.000   -0.132   -0.132
    pm5|t3            0.476    0.024   19.735    0.000    0.476    0.476
    pm5|t4            1.192    0.031   38.428    0.000    1.192    1.192
    pm6|t1           -0.278    0.024  -11.571    0.000   -0.278   -0.278
    pm6|t2            0.352    0.024   14.542    0.000    0.352    0.352
    pm6|t3            0.794    0.026   30.489    0.000    0.794    0.794
    pm6|t4            1.423    0.036   39.579    0.000    1.423    1.423
    pm7|t1           -1.308    0.031  -42.155    0.000   -1.308   -1.308
    pm7|t2           -0.558    0.026  -21.745    0.000   -0.558   -0.558
    pm7|t3            0.089    0.023    3.772    0.000    0.089    0.089
    pm7|t4            1.061    0.029   36.948    0.000    1.061    1.061

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .pm1               0.401                               0.401    0.401
   .pm2               0.819                               0.819    0.819
   .pm3               0.519                               0.519    0.519
   .pm4               0.413                               0.413    0.413
   .pm5               0.585                               0.585    0.585
   .pm6               0.873                               0.873    0.873
   .pm7               0.700                               0.700    0.700
    Popul_l           1.000                               1.000    1.000
    Popul_2           1.000                               1.000    1.000
Показати/Сховати код
mod_indices_m3 <- modificationIndices(fit.m3, minimum.value = 10, sort = TRUE)

cat("Рекомендовані модифікації для моделі m3:\n")
Рекомендовані модифікації для моделі m3:
Показати/Сховати код
mod_indices_m3 
   lhs op rhs     mi    epc sepc.lv sepc.all sepc.nox
79 pm2 ~~ pm7 19.245 -0.082  -0.082   -0.109   -0.109
77 pm2 ~~ pm5 17.990  0.090   0.090    0.129    0.129
80 pm3 ~~ pm4 16.688  0.089   0.089    0.193    0.193
72 pm1 ~~ pm5 12.332  0.076   0.076    0.158    0.158
Показати/Сховати код
# Показники відповідності моделі
reliability_m3 <- round(semTools::reliability(fit.m3),2)
For constructs with categorical indicators, Zumbo et al.`s (2007) "ordinal alpha" is calculated in addition to the standard alpha, which treats ordinal variables as numeric. See Chalmers (2018) for a critique of "alpha.ord" and the response by Zumbo & Kroc (2019). Likewise, average variance extracted is calculated from polychoric (polyserial) not Pearson correlations.
Показати/Сховати код
# Виведення таблиці
kable(reliability_m3, format = "html", caption = "Оцінка надійності шкал") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed"))
Оцінка надійності шкал
Popul_l Popul_2
alpha 0.76 0.30
alpha.ord 0.79 0.33
omega 0.77 0.30
omega2 0.77 0.30
omega3 0.78 0.30
avevar 0.45 0.21

Показники узгодженості моделей

Показати/Сховати код
# Зважені дані

tabl1 <- round(fit.measures.m1, digits = 3)
tabl2 <- round(fit.measures.m2, digits = 3)
tabl3 <- round(fit.measures.m3, digits = 3)

combined_df <- data.frame( "Однофакторна" = tabl1, 
                           "Модифікована однофакторна" = tabl2,
                           "Двофакторна" = tabl3, check.names = FALSE )

transposed_df <- t(combined_df) %>% as.data.frame()

final_table <- kable(transposed_df, format = "markdown", caption = "Порівняння показників узгодженості моделей", align = "c") %>% kable_styling(bootstrap_options = "striped", full_width = FALSE)

final_table
Порівняння показників узгодженості моделей
chisq.scaled df.scaled pvalue.scaled rmsea.robust rmsea.ci.lower.robust rmsea.ci.upper.robust cfi.robust srmr wrmr pnfi.scaled
Однофакторна 163.747 14 0 0.066 0.057 0.075 0.964 0.034 1.422 0.654
Модифікована однофакторна 125.461 13 0 0.061 0.051 0.070 0.971 0.028 1.224 0.610
Двофакторна 125.461 13 0 0.061 0.051 0.070 0.971 0.028 1.224 0.610

Інваріантність вимірювання шкали популістських орієнтацій за статю

Аналіз інваріантності вимірювання продемонстрував відмінну відповідність даних для всіх протестованих моделей. Конфігураційна модель, що є базовою для оцінки інваріантності, показала високі значення масштабованого CFI (0.983) та прийнятний масштабованого RMSEA (0.062). Послідовне введення обмежень для перевірки метричної, скалярної інваріантності та інваріантності середніх значень призвело до покращення відповідності моделей за індексом RMSEA. Так, значення RMSEA послідовно зменшувалися від 0.062 для конфігураційної моделі до 0.040 для моделі інваріантності середніх значень, що є нетиповим явищем. При цьому, значення масштабованого CFI залишалися стабільно високими для всіх моделей, варіюючись в межах 0.982-0.987. Хоча спостерігалося незначне зниження масштабованого CFI при переході від метричної моделі до скалярної (0.005), та від скалярної до моделі інваріантності середніх значень (0.004), ці зміни є мізерними та не свідчать про суттєве погіршення відповідності. Дельти CFI для всіх послідовних моделей залишалися значно нижчими за загальноприйнятий поріг в 0.01.

Відповідно до прийнятих критеріїв, всі зміни індексів знаходяться в межах допустимих значень. Дані підтримують як метричну, так і скалярну інваріантність вимірювальної моделі, що дозволяє коректно порівнювати як кореляції, так і латентні середні між групами.

Показати/Сховати код
# Незважені дані
measurementInvarianceCat(model = m2,
                         data = df,
                         estimator = "WLSMV",
                         ordered = T,
                         group = "sex"
                         )
Warning in measurementInvarianceCat(model = m2, data = df, estimator = "WLSMV",
: The measurementInvarianceCat function is deprecated, and it will cease to be
included in future versions of semTools. See help('semTools-deprecated) for
details.

Measurement invariance models:

Model 1 : fit.configural
Model 2 : fit.loadings
Model 3 : fit.thresholds
Model 4 : fit.means


Scaled Chi-Squared Difference Test (method = "satorra.2000")

lavaan->lavTestLRT():  
   lavaan NOTE: The "Chisq" column contains standard test statistics, not the 
   robust test that should be reported per model. A robust difference test is 
   a function of two standard (not robust) statistics.
               Df AIC BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
fit.configural 26         128.14                                  
fit.loadings   32         131.60      3.275       6    0.77366    
fit.thresholds 52         229.30    102.609      20  4.286e-13 ***
fit.means      53         245.15      2.822       1    0.09298 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Fit measures:

               cfi.scaled rmsea.scaled cfi.scaled.delta rmsea.scaled.delta
fit.configural      0.983        0.062               NA                 NA
fit.loadings        0.987        0.049            0.004              0.013
fit.thresholds      0.982        0.046            0.005              0.003
fit.means           0.986        0.040            0.004              0.006
Показати/Сховати код
cat("У таблиці подані абсолютні значення зміни показників допасування")
У таблиці подані абсолютні значення зміни показників допасування

Модель градуйованої відповіді

Аналіз факторних навантажень показав, що пункти pm1, pm3 та pm4 мають високі значення як за показником F1, так і h², що свідчить про їх суттєвий внесок у прогнозну здатність моделі. У той же час, значно нижчі результати для pm2, pm6 та pm7 вказують на необхідність подальшої оптимізації або переосмислення їх ролі в структурі моделі. Пояснена диспрерсія на рівні 38.9% показує, що модель потребує удосконалення.

Попри значущий результат тесту M2 (p = 0), більшості інших індексів, зокрема RMSEA (0,053 з 95% довірчим інтервалом 0,046–0,060), SRMSR (0,0437), TLI (0,970) та CFI (0,980), свідчать про добру відповідність моделі даним. Це дозволяє зробити висновок, що модель стабільно інтерпретує структуру даних.

Аналіз показників якості пунктів у GRM-моделі демонструє, що, незважаючи на статистично значущі результати тестів S_X2 (що обумовлено чутливістю критерію до великого обсягу даних), значення RMSEA для кожного пункту є дуже низькими (менше 0.03), що свідчить про практично безпомилкове узгодження моделі з даними. Таким чином, отримані індекси вказують на прийнятний рівень відповідності окремих пунктів моделі, що забезпечує її належну валідність і стабільність оцінок.

Отримані параметри пунктів у GRM показують, що не всі пункти рівномірно сприяють вимірюванню латентної змінної. Пункти pm1, pm3 та pm4 демонструють високі значення дискримінації та логічно зростаючу послідовність порогів, що забезпечує надійну диференціацію респондентів за рівнями досліджуваного конструкту. У противагу, пункти pm2 та pm7 мають нижчу дискримінацію, що зменшує їх здатність розрізняти суб’єктів. Особливо примітним є пункт pm6, який характеризується дуже низьким значенням дискримінації поряд із екстремально високими пороговими значеннями, що вказує на його обмежену інформативність для широкої популяції.

На представлених графіках відображено характеристичні криві (trace lines) для семи пунктів (pm1-pm7) шкали. Більшість пунктів (pm1, pm3, pm4, pm5) демонструють чітку диференціацію між категоріями відповідей, що відображається у виразних, добре розділених кривих з піками в різних точках континууму вимірюваної риси (θ). Це свідчить про високу дискримінативну здатність цих пунктів.
Особливу увагу привертають пункти pm2, pm6 та pm7, які показують дещо відмінні патерни. У них спостерігається менш чітка диференціація між категоріями відповідей, що може вказувати на певні проблеми з розрізнювальною здатністю цих пунктів. Зокрема, у пункті pm6 криві є більш пласкими та перекриваються значною мірою, що може свідчити про меншу ефективність цього пункту у вимірюванні досліджуваного конструкту.

Графіки інформації пунктів (Item Information Curves) демонструють варіативність у внеску окремих пунктів у загальну інформацію тесту. Видно, що пункти pm1, pm3, pm4 та pm5 забезпечують найбільшу інформацію у середньому діапазоні латентної ознаки (𝜃), що свідчить про їхню ефективність у диференціації респондентів із середніми значеннями 𝜃. Водночас, пункти pm2, pm6 і pm7 надають обмежену інформацію.

Графік тестової інформаційної функції (Test Information Function, TIF) показує, наскільки добре шкала вимірює латентну змінну 𝜃 у різних її значеннях. Шкала добре працює для осіб із середніми значеннями 𝜃,але слабко вимірює дуже низькі та дуже високі рівні латентної ознаки. Це типова ситуація для GRM, яка ефективна для середніх рівнів латентної змінної, але може потребувати додаткових пунктів для кращого охоплення крайніх значень.

Показати/Сховати код
# Побудова однофакторної моделі градуйованих відповідей
mod_mirt <- mirt(df[, 1:7], 1, itemtype = "graded")

Iteration: 1, Log-Lik: -40629.641, Max-Change: 0.63932
Iteration: 2, Log-Lik: -40037.828, Max-Change: 0.51505
Iteration: 3, Log-Lik: -39770.129, Max-Change: 0.41754
Iteration: 4, Log-Lik: -39673.305, Max-Change: 0.10940
Iteration: 5, Log-Lik: -39652.477, Max-Change: 0.08157
Iteration: 6, Log-Lik: -39646.052, Max-Change: 0.07358
Iteration: 7, Log-Lik: -39642.772, Max-Change: 0.05080
Iteration: 8, Log-Lik: -39640.924, Max-Change: 0.02924
Iteration: 9, Log-Lik: -39640.334, Max-Change: 0.01396
Iteration: 10, Log-Lik: -39640.142, Max-Change: 0.01101
Iteration: 11, Log-Lik: -39639.978, Max-Change: 0.00627
Iteration: 12, Log-Lik: -39639.916, Max-Change: 0.00436
Iteration: 13, Log-Lik: -39639.864, Max-Change: 0.00307
Iteration: 14, Log-Lik: -39639.853, Max-Change: 0.00142
Iteration: 15, Log-Lik: -39639.850, Max-Change: 0.00122
Iteration: 16, Log-Lik: -39639.847, Max-Change: 0.00026
Iteration: 17, Log-Lik: -39639.846, Max-Change: 0.00048
Iteration: 18, Log-Lik: -39639.846, Max-Change: 0.00017
Iteration: 19, Log-Lik: -39639.846, Max-Change: 0.00014
Iteration: 20, Log-Lik: -39639.846, Max-Change: 0.00025
Iteration: 21, Log-Lik: -39639.845, Max-Change: 0.00012
Iteration: 22, Log-Lik: -39639.845, Max-Change: 0.00010
Iteration: 23, Log-Lik: -39639.845, Max-Change: 0.00021
Iteration: 24, Log-Lik: -39639.845, Max-Change: 0.00034
Iteration: 25, Log-Lik: -39639.845, Max-Change: 0.00017
Iteration: 26, Log-Lik: -39639.845, Max-Change: 0.00029
Iteration: 27, Log-Lik: -39639.845, Max-Change: 0.00012
Iteration: 28, Log-Lik: -39639.845, Max-Change: 0.00009
Показати/Сховати код
# Загальна інформація про модель
cat("Загальна інформація про модель IRT\n\n") 
Загальна інформація про модель IRT
Показати/Сховати код
summary(mod_mirt) 
       F1     h2
pm1 0.810 0.6560
pm2 0.458 0.2094
pm3 0.735 0.5409
pm4 0.801 0.6408
pm5 0.676 0.4569
pm6 0.242 0.0587
pm7 0.398 0.1583

SS loadings:  2.721 
Proportion Var:  0.389 

Factor correlations: 

   F1
F1  1
Показати/Сховати код
# M2 тест
cat("\nM2 тест для оцінки адекватності моделі\n\n") 

M2 тест для оцінки адекватності моделі
Показати/Сховати код
M2_results <- M2(mod_mirt, type = "C2", calcNULL = FALSE)
print(M2_results) 
            M2 df p      RMSEA    RMSEA_5   RMSEA_95      SRMSR      TLI
stats 172.5485 14 0 0.05255635 0.04569583 0.05970546 0.04368452 0.970347
            CFI
stats 0.9802313
Показати/Сховати код
# Показники якості пунктів (Item Fit) 
cat("\nПоказники якості пунктів (Item Fit)\n\n") 

Показники якості пунктів (Item Fit)
Показати/Сховати код
fit_stats <- itemfit(mod_mirt)

# Створення таблиці для Item Fit статистики
kable(fit_stats, caption = "Показники якості пунктів (Item Fit)") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = FALSE)
Показники якості пунктів (Item Fit)
item S_X2 df.S_X2 RMSEA.S_X2 p.S_X2
pm1 135.03669 60 0.0174650 0.0000001
pm2 118.61924 72 0.0125668 0.0004500
pm3 126.86459 64 0.0154782 0.0000049
pm4 96.12257 62 0.0115860 0.0035595
pm5 147.99399 64 0.0178913 0.0000000
pm6 325.29047 73 0.0290333 0.0000000
pm7 171.89117 74 0.0179624 0.0000000
Показати/Сховати код
# Параметри пунктів у форматі IRT
cat("\nПараметри пунктів у форматі IRT\n\n") 

Параметри пунктів у форматі IRT
Показати/Сховати код
item_params <- coef(mod_mirt, IRTpars = TRUE, simplify = TRUE)

# Створення таблиці для параметрів пунктів
item_params_df <- as.data.frame(item_params$items)
kable(item_params_df, caption = "Параметри пунктів IRT") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = FALSE)
Параметри пунктів IRT
a b1 b2 b3 b4
pm1 2.3504788 -2.001082 -0.8818753 -0.2472264 0.7465805
pm2 0.8758385 -4.210972 -2.6334530 -1.3305359 0.7279639
pm3 1.8472731 -2.029795 -0.8745003 -0.2025273 1.0928575
pm4 2.2734685 -2.030390 -1.0636836 -0.3377831 0.6599490
pm5 1.5609642 -1.330469 -0.2039681 0.6579840 1.7902998
pm6 0.4251403 -1.116818 1.3816069 3.1649826 6.1516919
pm7 0.7381592 -3.363936 -1.3751441 0.2083219 2.6682635
Показати/Сховати код
# Графік Trace для пунктів
cat("\nГрафік Trace для пунктів\n\n")

Графік Trace для пунктів
Показати/Сховати код
plot(
  mod_mirt,
  type = "trace",
  which.item = 1:7,
  facet_items = TRUE,
  as.table = TRUE,
  auto.key = list(
    points = FALSE,
    lines = TRUE,
    columns = 4,
    space = "top",
    cex = 0.8
  ),
  main = "Графіки Trace для пунктів"
)

Показати/Сховати код
# Графіки інформації пунктів (Item Information Curves)
plot(mod_mirt, type = "infotrace", which.items = 1:7, main = "Item Information Curves")

Показати/Сховати код
# Тест інформаційної функції
plot(mod_mirt, type = "infoSE", main = "Test Information Function")

Показати/Сховати код
cat ("Перевірка інваріантності GRM за статтю")
Перевірка інваріантності GRM за статтю
Показати/Сховати код
# Конфігураційна інваріантність (базова модель без обмежень інваріантності)
model_configural <- multipleGroup(df[, 1:7], 1, itemtype = "graded", group = df$sex)

Iteration: 1, Log-Lik: -40629.641, Max-Change: 0.83900
Iteration: 2, Log-Lik: -39862.988, Max-Change: 0.42427
Iteration: 3, Log-Lik: -39650.551, Max-Change: 0.28906
Iteration: 4, Log-Lik: -39568.896, Max-Change: 0.20747
Iteration: 5, Log-Lik: -39537.309, Max-Change: 0.11189
Iteration: 6, Log-Lik: -39527.213, Max-Change: 0.06157
Iteration: 7, Log-Lik: -39524.254, Max-Change: 0.03890
Iteration: 8, Log-Lik: -39523.117, Max-Change: 0.02797
Iteration: 9, Log-Lik: -39522.465, Max-Change: 0.01722
Iteration: 10, Log-Lik: -39522.159, Max-Change: 0.01149
Iteration: 11, Log-Lik: -39522.030, Max-Change: 0.00785
Iteration: 12, Log-Lik: -39521.968, Max-Change: 0.00534
Iteration: 13, Log-Lik: -39521.919, Max-Change: 0.00313
Iteration: 14, Log-Lik: -39521.918, Max-Change: 0.00228
Iteration: 15, Log-Lik: -39521.910, Max-Change: 0.00104
Iteration: 16, Log-Lik: -39521.909, Max-Change: 0.00042
Iteration: 17, Log-Lik: -39521.909, Max-Change: 0.00056
Iteration: 18, Log-Lik: -39521.908, Max-Change: 0.00022
Iteration: 19, Log-Lik: -39521.908, Max-Change: 0.00019
Iteration: 20, Log-Lik: -39521.908, Max-Change: 0.00042
Iteration: 21, Log-Lik: -39521.908, Max-Change: 0.00071
Iteration: 22, Log-Lik: -39521.908, Max-Change: 0.00019
Iteration: 23, Log-Lik: -39521.907, Max-Change: 0.00042
Iteration: 24, Log-Lik: -39521.907, Max-Change: 0.00014
Iteration: 25, Log-Lik: -39521.907, Max-Change: 0.00061
Iteration: 26, Log-Lik: -39521.907, Max-Change: 0.00023
Iteration: 27, Log-Lik: -39521.907, Max-Change: 0.00052
Iteration: 28, Log-Lik: -39521.907, Max-Change: 0.00032
Iteration: 29, Log-Lik: -39521.907, Max-Change: 0.00014
Iteration: 30, Log-Lik: -39521.906, Max-Change: 0.00029
Iteration: 31, Log-Lik: -39521.906, Max-Change: 0.00018
Iteration: 32, Log-Lik: -39521.906, Max-Change: 0.00040
Iteration: 33, Log-Lik: -39521.906, Max-Change: 0.00014
Iteration: 34, Log-Lik: -39521.906, Max-Change: 0.00012
Iteration: 35, Log-Lik: -39521.906, Max-Change: 0.00025
Iteration: 36, Log-Lik: -39521.906, Max-Change: 0.00049
Iteration: 37, Log-Lik: -39521.906, Max-Change: 0.00012
Iteration: 38, Log-Lik: -39521.906, Max-Change: 0.00025
Iteration: 39, Log-Lik: -39521.906, Max-Change: 0.00010
Показати/Сховати код
# Метрична інваріантність (обмежуємо нахили (дискримінацію) елементів бути рівними між групами)
model_metric <- multipleGroup(df[, 1:7], 1, itemtype = "graded", group = df$sex,
                             invariance = c('slopes'))

Iteration: 1, Log-Lik: -40629.641, Max-Change: 0.70506
Iteration: 2, Log-Lik: -39873.987, Max-Change: 0.63614
Iteration: 3, Log-Lik: -39622.624, Max-Change: 0.31596
Iteration: 4, Log-Lik: -39553.590, Max-Change: 0.18040
Iteration: 5, Log-Lik: -39541.356, Max-Change: 0.16088
Iteration: 6, Log-Lik: -39535.311, Max-Change: 0.05927
Iteration: 7, Log-Lik: -39532.876, Max-Change: 0.05245
Iteration: 8, Log-Lik: -39532.074, Max-Change: 0.01816
Iteration: 9, Log-Lik: -39531.694, Max-Change: 0.00762
Iteration: 10, Log-Lik: -39531.616, Max-Change: 0.00671
Iteration: 11, Log-Lik: -39531.547, Max-Change: 0.00561
Iteration: 12, Log-Lik: -39531.491, Max-Change: 0.00310
Iteration: 13, Log-Lik: -39531.434, Max-Change: 0.00312
Iteration: 14, Log-Lik: -39531.422, Max-Change: 0.00121
Iteration: 15, Log-Lik: -39531.417, Max-Change: 0.00160
Iteration: 16, Log-Lik: -39531.410, Max-Change: 0.00093
Iteration: 17, Log-Lik: -39531.407, Max-Change: 0.00022
Iteration: 18, Log-Lik: -39531.406, Max-Change: 0.00049
Iteration: 19, Log-Lik: -39531.406, Max-Change: 0.00028
Iteration: 20, Log-Lik: -39531.406, Max-Change: 0.00057
Iteration: 21, Log-Lik: -39531.406, Max-Change: 0.00023
Iteration: 22, Log-Lik: -39531.406, Max-Change: 0.00019
Iteration: 23, Log-Lik: -39531.406, Max-Change: 0.00042
Iteration: 24, Log-Lik: -39531.405, Max-Change: 0.00015
Iteration: 25, Log-Lik: -39531.405, Max-Change: 0.00062
Iteration: 26, Log-Lik: -39531.405, Max-Change: 0.00025
Iteration: 27, Log-Lik: -39531.405, Max-Change: 0.00053
Iteration: 28, Log-Lik: -39531.405, Max-Change: 0.00034
Iteration: 29, Log-Lik: -39531.405, Max-Change: 0.00014
Iteration: 30, Log-Lik: -39531.405, Max-Change: 0.00029
Iteration: 31, Log-Lik: -39531.404, Max-Change: 0.00019
Iteration: 32, Log-Lik: -39531.404, Max-Change: 0.00040
Iteration: 33, Log-Lik: -39531.404, Max-Change: 0.00014
Iteration: 34, Log-Lik: -39531.404, Max-Change: 0.00012
Iteration: 35, Log-Lik: -39531.404, Max-Change: 0.00025
Iteration: 36, Log-Lik: -39531.404, Max-Change: 0.00051
Iteration: 37, Log-Lik: -39531.404, Max-Change: 0.00013
Iteration: 38, Log-Lik: -39531.404, Max-Change: 0.00028
Iteration: 39, Log-Lik: -39531.404, Max-Change: 0.00011
Iteration: 40, Log-Lik: -39531.404, Max-Change: 0.00048
Iteration: 41, Log-Lik: -39531.404, Max-Change: 0.00017
Iteration: 42, Log-Lik: -39531.403, Max-Change: 0.00036
Iteration: 43, Log-Lik: -39531.404, Max-Change: 0.00025
Iteration: 44, Log-Lik: -39531.403, Max-Change: 0.00011
Iteration: 45, Log-Lik: -39531.403, Max-Change: 0.00023
Iteration: 46, Log-Lik: -39531.403, Max-Change: 0.00013
Iteration: 47, Log-Lik: -39531.403, Max-Change: 0.00027
Iteration: 48, Log-Lik: -39531.403, Max-Change: 0.00011
Iteration: 49, Log-Lik: -39531.403, Max-Change: 0.00009
Показати/Сховати код
# Скалярна інваріантність (обмежуємо нахили та перехвати (складність) елементів бути рівними між групами)
model_scalar <- multipleGroup(df[, 1:7], 1, itemtype = "graded", group = df$sex,
                             invariance = c('slopes', 'intercepts'))

Iteration: 1, Log-Lik: -40629.641, Max-Change: 0.63932
Iteration: 2, Log-Lik: -40037.828, Max-Change: 0.51505
Iteration: 3, Log-Lik: -39770.129, Max-Change: 0.41754
Iteration: 4, Log-Lik: -39673.305, Max-Change: 0.10940
Iteration: 5, Log-Lik: -39652.477, Max-Change: 0.08157
Iteration: 6, Log-Lik: -39646.052, Max-Change: 0.07358
Iteration: 7, Log-Lik: -39642.772, Max-Change: 0.05080
Iteration: 8, Log-Lik: -39640.924, Max-Change: 0.02924
Iteration: 9, Log-Lik: -39640.334, Max-Change: 0.01396
Iteration: 10, Log-Lik: -39640.142, Max-Change: 0.01101
Iteration: 11, Log-Lik: -39639.978, Max-Change: 0.00627
Iteration: 12, Log-Lik: -39639.916, Max-Change: 0.00436
Iteration: 13, Log-Lik: -39639.864, Max-Change: 0.00307
Iteration: 14, Log-Lik: -39639.853, Max-Change: 0.00142
Iteration: 15, Log-Lik: -39639.850, Max-Change: 0.00122
Iteration: 16, Log-Lik: -39639.847, Max-Change: 0.00026
Iteration: 17, Log-Lik: -39639.846, Max-Change: 0.00048
Iteration: 18, Log-Lik: -39639.846, Max-Change: 0.00017
Iteration: 19, Log-Lik: -39639.846, Max-Change: 0.00014
Iteration: 20, Log-Lik: -39639.846, Max-Change: 0.00025
Iteration: 21, Log-Lik: -39639.845, Max-Change: 0.00012
Iteration: 22, Log-Lik: -39639.845, Max-Change: 0.00010
Iteration: 23, Log-Lik: -39639.845, Max-Change: 0.00021
Iteration: 24, Log-Lik: -39639.845, Max-Change: 0.00034
Iteration: 25, Log-Lik: -39639.845, Max-Change: 0.00017
Iteration: 26, Log-Lik: -39639.845, Max-Change: 0.00029
Iteration: 27, Log-Lik: -39639.845, Max-Change: 0.00012
Iteration: 28, Log-Lik: -39639.845, Max-Change: 0.00009
Показати/Сховати код
# Перевірка інваріантності за допомогою anova

# Порівняння метричної моделі з конфігураційною моделлю (перевірка метричної інваріантності)
anova_metric_configural <- anova(model_metric, model_configural)
print("ANOVA між метричною та конфігураційною моделями:")
[1] "ANOVA між метричною та конфігураційною моделями:"
Показати/Сховати код
print(anova_metric_configural)
                      AIC    SABIC       HQ      BIC    logLik     X2 df     p
model_metric     79188.81 79386.71 79329.74 79586.90 -39531.40                
model_configural 79183.81 79403.71 79340.41 79626.14 -39521.91 18.995  7 0.008
Показати/Сховати код
# Порівняння скалярної моделі з метричною моделлю (перевірка скалярної інваріантності)
anova_scalar_metric <- anova(model_scalar, model_metric)
print("ANOVA між скалярною та метричною моделями:")
[1] "ANOVA між скалярною та метричною моделями:"
Показати/Сховати код
print(anova_scalar_metric)
                  AIC    SABIC       HQ      BIC    logLik      X2 df p
model_scalar 79349.69 79459.64 79427.99 79570.85 -39639.85             
model_metric 79188.81 79386.71 79329.74 79586.90 -39531.40 216.884 28 0
Показати/Сховати код
# Порівняння всіх моделей відразу
anova_all_models <- anova(model_scalar, model_metric, model_configural)
print("ANOVA для всіх моделей (скалярна, метрична, конфігураційна):")
[1] "ANOVA для всіх моделей (скалярна, метрична, конфігураційна):"
Показати/Сховати код
print(anova_all_models)
                      AIC    SABIC       HQ      BIC    logLik      X2 df     p
model_scalar     79349.69 79459.64 79427.99 79570.85 -39639.85                 
model_metric     79188.81 79386.71 79329.74 79586.90 -39531.40 216.884 28     0
model_configural 79183.81 79403.71 79340.41 79626.14 -39521.91  18.995  7 0.008

Висновки

У статті представлено результати аналізу даних, отриманих за допомогою методики вимірювання популістських орієнтацій (автор - О. Резнік). В межах КФА модифіковане однофакторне рішення виявило суттєві переваги щодо практичного застосування та інтерпретації результатів. Воно забезпечує цілісніший вимірювальний конструкт і вищу надійність порівняно з двофакторною моделлю. Додатковою перевагою модифікованої однофакторної моделі є її інваріантність за статтю, що підтверджує універсальність застосування.

Результати GRM засвідчили, що загальна відповідність моделі даним є хорошою. Більшості пунктів шкали мали задовільну якість. Проте деякі твердження потребують перегляду чи уточнення формулювань для підвищення їхньої дискримінативної здатності.

Перспективи подальшого використання та вдосконалення інструменту можуть включати розроблення скороченої версії шкали з фокусом на найбільш валідних індикаторах (pm1, pm3, pm4, pm5) або розширення методики через розроблення додаткових індикаторів для посилення потенційного другого фактору, зокрема через поглиблення та конкретизацію змінних pm6 та pm7. З огляду на вищезазначене, у подальших соціологічних опитуваннях рекомендовано використовувати одновимірну модель як валідний та практичний інструмент вимірювання, з можливістю її подальшої оптимізації відповідно до специфіки дослідницьких завдань.

Список використаних джерел

  • Резнік, О. (2024). Популістські орієнтації українців за умов воєнного стану та обмеження політичного життя. В О. Резнік (Ред.), Популістські орієнтації в українському суспільстві (с. 116-134). Інститут соціології НАН України [in Ukrainian].

Посилання на цю роботу:

  • Бова, А. (2025). Психометричні властивості шкали популістських орієнтацій (за результатами всеукраїнського соціологічного опитування). RPubs. https://www.rpubs.com/abova/populist-orientations-scale[in Ukrainian].

Для цитування в BibTeX:
@online{бова2025,
author = {Бова, Андрій},
title = {Психометричні властивості шкали популістських орієнтацій (за результатами всеукраїнського соціологічного опитування)},
date = {2025-02-02},
url = {https://www.rpubs.com/abova/populist-orientations-scale},
langid = {uk}
}