У меня есть некоторые дихотомические данные, только двоичные переменные, и мой начальник попросил меня выполнить факторный анализ с использованием матрицы тетрахорических корреляций. Ранее я был в состоянии научить себя, как проводить различные анализы, основываясь на примерах здесь и на сайте статистики UCLA и других подобных сайтах, но я не могу найти шаг к примеру факторного анализа на дихотомических данные (двоичные переменные) с использованием R.
Я видел ответ chl на несколько схожий вопрос, и я также видел ответ ttnphns , но я ищу что-то еще более понятное , шаг через пример, с которым я могу работать.
Кто-нибудь здесь знает о таком шаге на примере факторного анализа двоичных переменных с использованием R?
Обновление 2012-07-11 22: 03: 35Z
Я должен также добавить, что я работаю с устоявшимся инструментом, который имеет три измерения, к которым мы добавили несколько дополнительных вопросов, и теперь мы надеемся найти четыре отдельных измерения. Кроме того, наш размер выборки составляет всего , и в настоящее время у нас есть 19 наименований. Я сравнил размер нашей выборки и количество предметов с рядом статей по психологии, и мы определенно находимся в нижней части, но мы все равно хотели попробовать. Хотя это не важно для пошагового примера, который я ищу, и приведенный ниже пример Каракала выглядит действительно потрясающе. Я буду работать через него, используя мои данные первым делом утром.
источник
Ответы:
Я полагаю, что в центре внимания вопроса находится не столько теоретическая, сколько практическая сторона, т. Е. Как реализовать факторный анализ дихотомических данных в R.
Во-первых, давайте смоделируем 200 наблюдений от 6 переменных, исходя из 2 ортогональных факторов. Я сделаю пару промежуточных шагов и начну с многомерных нормальных непрерывных данных, которые я позже разделю. Таким образом, мы можем сравнивать корреляции Пирсона с полихорическими корреляциями и сравнивать факторные нагрузки из непрерывных данных с данными из дихотомических данных и истинных нагрузок.
Сделайте факторный анализ для непрерывных данных. Расчетные нагрузки аналогичны истинным при игнорировании не относящегося к делу знака.
Теперь давайте дихотомизируем данные. Мы будем хранить данные в двух форматах: в виде фрейма данных с упорядоченными коэффициентами и в виде числовой матрицы.
hetcor()
из пакетаpolycor
дает нам полихорическую корреляционную матрицу, которую мы позже будем использовать для FA.Теперь используйте полихорическую корреляционную матрицу, чтобы сделать обычную FA. Обратите внимание, что расчетные нагрузки довольно похожи на те, которые получены из непрерывных данных.
Вы можете пропустить шаг вычисления полихорической корреляционной матрицы самостоятельно и напрямую использовать
fa.poly()
из пакетаpsych
, который в конце концов делает то же самое. Эта функция принимает необработанные дихотомические данные в виде числовой матрицы.РЕДАКТИРОВАТЬ: Для оценки факторов, посмотрите на пакет,
ltm
который имеетfactor.scores()
функцию специально для данных о политомных результатах. Пример приведен на этой странице -> «Факторные оценки - оценки способностей».Вы можете визуализировать загрузки из факторного анализа, используя
factor.plot()
иfa.diagram()
, и из пакетаpsych
. По какой-то причинеfactor.plot()
принимает только$fa
компонент результата изfa.poly()
, а не полный объект.Параллельный анализ и анализ «очень простой структуры» помогают в выборе ряда факторов. Опять же, пакет
psych
имеет необходимые функции.vss()
принимает полихорическую корреляционную матрицу в качестве аргумента.Параллельный анализ для полихорического ЖК также предоставляется пакетом
random.polychor.pa
.Обратите внимание, что функции
fa()
иfa.poly()
предоставляют множество других возможностей для настройки FA. Кроме того, я отредактировал некоторые выходные данные, которые дают хорошие тесты соответствия и т. Д. Документация для этих функций (и пакетаpsych
в целом) превосходна. Этот пример предназначен только для начала.источник
psych
позволяет ли как-то оценивать факторные оценки, когда вместо обычного Пирсона г используются поли / тетрахорические корреляции?psych
почему же это связано с тем, что мы имели дело с тетрахорическим r, а не с обычным r, когда он вычисляет факторные оценки, или нет?nearcor()
fromsfsmisc
илиcor.smooth()
frompsych
.psych
sfactor.scores()
, это не так. Вместо этого баллы рассчитываются так же, как в непрерывном случае. Однако, похоже , чтоfactor.scores()
функция в пакетеltm
реализует правильные процедуры, см. Этот пример -> «Факторные оценки - оценки возможностей» и страницу справки.