Рекомендована процедура аналізу факторів на дихотомічні дані з R


10

Мені потрібно провести факторний аналіз на наборі даних, що складається з дихотомних змінних (0 = так, 1 = ні), і я не знаю, чи я на правильному шляху.

Використовуючи, tetrachoric()я створюю кореляційну матрицю, на якій я запускаюсь fa(data,factors=1). Результат дуже близький до результатів, які я отримую при використанні MixFactor , але це не те саме.

  1. Це нормально чи рекомендуєте іншу процедуру?
  2. Чому fa()спрацьовує factanal()помилка? ( Fehler in solve.default(cv) : System ist für den Rechner singulär: reziproke Konditionszahl = 4.22612e-18)

1
Я не розмовляю (німецькою?), Але помилка виглядає так, що це обумовлено тим, що тетрахорична матриця є сингулярною (незворотною). Навіть із зразком хорошого розміру деякі оцінки поліхоричних кореляційних матриць можуть бути не належними кореляційними матрицями. Моя думка полягає в тому, що fa () використовує основні компоненти, а factanal () робить максимальну ймовірність FA, але це мені не очевидно з документації для fa ().
JMS

@cada Скільки предметів / предметів у вас є? А який метод реалізований у MixFactor?
chl

1
@cada, чому ти проводиш аналіз фактора? Якщо ви прагнете оцінити здібності учасника, ІРТ може бути кращим підходом. що стосується фа та проти фактаналу, то за замовчуванням fa використовує мінімальний залишковий, тоді як фактанал використовує метод ML.
richiemorrisroe

@chl: занадто мало! Я щойно розпочав опитування, і на сьогоднішній день нараховується всього 45 суб'єктів. Я не можу збирати нові дані в цей момент, і саме тому я намагаюся зробити якомога більше коду r ...
cada

1
@cada CFA з 45 предметами буде сюрреалістичним :-) Я спробую викласти свої думки пізніше.
chl

Відповіді:


12

Підводячи підсумок, з n = 45 предметів вам залишається кореляційний та багатоваріантний описовий підхід. Однак, оскільки ця анкета повинна бути одновимірною, це завжди є гарним початком.

Що я б робив:

  • Обчисліть попарні кореляції для своїх 22 предметів; повідомте про діапазон та медіану - це дасть вказівку на відносну узгодженість відповідей спостережуваних елементів (кореляції вище 0,3 зазвичай вважаються вказівками на хорошу конвергентну дійсність, але, звичайно, точність цієї оцінки залежить від розміру вибірки) ; Альтернативним способом вивчення внутрішньої узгодженості анкети було б обчислення альфа Кронбаха , хоча при n = 45 асоційований інтервал довіри (використовувати для цього завантажувальний інтервал) буде відносно великим.
  • Обчислити точково-бісеріальну кореляцію між предметами та підсумову шкалою шкали; це дасть вам уявлення про дискримінаційну силу кожного елемента (наприклад, завантаження у ФА), де значення вище 0,3 вказують на задовільний взаємозв'язок між кожним елементом та відповідною шкалою.
  • Використовуйте PCA, щоб узагальнити кореляційну матрицю (вона дає еквівалентну інтерпретацію тому, що було б отримано при аналізі множинного листування у випадку дихотомічно набраних елементів). Якщо ваш прилад поводиться як одновимірний масштаб для вашого зразка, вам слід спостерігати домінуючу вісь варіації (як це відображено першим власним значенням).

2(1-r2)/(н)


Дуже дякую! Ваша відповідь така детальна і справді дуже корисна! Дякую!
када

3

Цей потік має гарну позицію Google щодо помилки "System ist für den Rechner singulär: reziproke Konditionszahl" при використанні фактаналу (англійською мовою: "система обчислювально є сингулярною: номер зворотної умови") - тому я додам коментар:

Коли матриця кореляції обчислюється апріорі (наприклад, щоб попарно видалити пропущені значення), переконайтеся, що factanal () не вважає, що матриця є даними для аналізу (https://stat.ethz.ch/pipermail/r- довідка / 2007-жовтень / 142567.html).

PREVIOUS: matrix = cor(data, use="pairwise.complete.obs")  # For example
WRONG: factanal(matrix, 3, rotation="varimax")
RIGHT: factanal(covmat=matrix, factors=3, rotation="varimax")

BurninLeo

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.