1)берем исходные данные (X)
2)находим от них корреляционную матрицу (R)
3)находим собственные значения
2,2588028617938E-11
3,00974370200233E-10
1,60828710075361
2,39171289892283
4) правилом Кайзера или правилом "сломанной трости" отбираем только значимые собственные значения и расставляем их в порядке убывания
2,39171289892283
1,60828710075361
5)находим собственные вектора
6) находим факторные нагрузки (loadings), перемножив каждый собственный вектор на корень из соответствующего собственного значения
7) остается найти scores.
Итак:
Умножаем исходную матрицу
на транспонированную к матрице собственных векторов (
)
Это (
)
умножаем на (
)
получаем такую матрицу
:
теперь ее надо разделить на матрицу корней из с.з.
, то есть домножить на обратную матрицу
матрица корней с.з.
, как понимаю, имеет следующий вид
обратная ей
:
теперь перемножаем
на
получается
это и есть scores?
просто дело в том, что я запускаю PCA анализ через плагин к excel (xlstats), который выводит совсем другую матрицу счетов scores
в настройках анализа можно задавать PCA type: pearson(n),pearson(n-1),spearman,covariance(n),covariance(n-1) и т.д.
я выбираю pearson(n). и я не могу понять откуда там берутся такие значения, как такое подсчиталось
ПРИЧЕМ! абсолютно все предыдущие пункты (корреляционная матрицы, с.з, с.в.,матрица нагрузок) высчитываются аналогично - все значения полностью совпадают с моими рассчетами. а аналогичную матрицу счетов я получить никак не могу.
Ответ который выводит xlstats явно верный, так как если поулченную из него матрицу транспонировать (
) и умножить на нетранспонированную (
), а затем разделить каждый полученный элемент на n (n=3, так как в исходных данных 3 строки), то у нас получается диагональная матрица собственных значений, как и должно быть по формулам.
это значит, что я что-то делаю неверно