Я провожу исследовательский анализ факторов по ряду вопросов из опроса с пакетом factor_analyser на python. Результат показывает 8 факторов с четким набором переменных с самыми высокими нагрузками в каждом из факторов.
Чтобы правильно назвать факторы и подтвердить их правильность, я хотел проанализировать корреляцию между ответами на вопросы (с высокой нагрузкой на фактор) и оценкой коэффициента по всем респондентам.
Однако, когда я анализирую эти результаты, факторы меняются. Например, первый фактор, содержащий переменные с высокой нагрузкой в вопросах «достижения», появляется в результатах оценки как второй фактор, имеющий высокую корреляцию с вопросами «достижения» для респондентов. Кроме того, переменные с высокой нагрузкой по первому фактору показывают наименьшую корреляцию с оценками этого фактора при анализе с помощью факторной оценки. Ниже приведен код:
fa = FactorAnalyzer(rotation = 'oblimin',
n_factors = 8)
fa.fit(test_data)
data_loadings = pd.DataFrame(fa.loadings_(test_data), index = test_data.columns)
data_transformed = pd.DataFrame(fa.transform(test_data), index = test_data.index)
Вот визуальный результат загрузки фактора и здесь визуальный результат матрицы корреляции. Где вы можете видеть (отсортированные) переменные с наибольшей загрузкой к фактору [0], которые отличаются от переменных с самой высокой корреляцией с фактором [0].
Кто-нибудь знает, как это возможно? Связано ли это с вращением или именованием с индексами?