У меня есть набор данных, который состоит из 717 наблюдений (строк), которые описываются 33 переменными (столбцами). Данные стандартизируются путем z-оценки всех переменных. Нет двух переменных линейно зависимых ( ). Я также удалил все переменные с очень низкой дисперсией (менее ). На рисунке ниже показана соответствующая матрица корреляции (в абсолютных значениях).
Когда я пытаюсь запустить факторный анализ с использованием factoran
в Matlab следующим образом:
[Loadings1,specVar1,T,stats] = factoran(Z2,1);
Я получаю следующую ошибку:
The data X must have a covariance matrix that is positive definite.
Не могли бы вы сказать мне, где проблема? Это связано с низкой взаимозависимостью между используемыми переменными? Кроме того, что я могу с этим поделать?
Моя корреляционная матрица:
eig(cov(Z2))
) Я сильно подозреваю, что некоторые из них очень маленькие.
Z2
матрицу? Если в ваших данных отсутствуют значения, то парное удаление может привести к тому, что матрица станет необратимой, когда различные корреляции в этой матрице будут вычислены с использованием разных подвыборок данных.