тщательнЕе бы

Jul 03, 2015 09:05

никогда бы не подумал, что с анализом главных компонент творится такой бардак. Вроде бы классика, а вот поди ж ты. В R есть как минимум три процедуры для PCA: prcomp, princomp и principal из пакета psych. Первые две не печатают собственные значения матрицы, а корни из них. Естественно, заинтересовался, что будет, если матрица сингулярна (т.е., ( Read more... )

методы

Leave a comment

Comments 4

p2004r July 3 2015, 07:30:02 UTC


?princomp

sdev: the standard deviations of the principal components.

?prcomp

sdev: the standard deviations of the principal components (i.e.,
the square roots of the eigenvalues of the
covariance/correlation matrix, though the calculation is
actually done with the singular values of the data matrix).

Никто не читает документацию? :)

Reply

alexwin1961 July 4 2015, 09:55:52 UTC
то, что это квадратные корни из собственных чисел, было понятно из документации. Вопрос был в том, как выполняются вычисления, если собственные числа оказываются отрицательными. Похоже, просто используется не функция eigen(), а svd(), которая в моем случае не возвращает отрицательных собственных чисел

Reply


gorgonops July 3 2015, 07:47:31 UTC
Разрешите поправить вашу опечатку. Вырожденная (сингулярная) корреляционная/ковариационная матрица имеет нулевые собственные числа (квадраты сингулярных чисел), а не отрицательные ( ... )

Reply

alexwin1961 July 4 2015, 10:11:28 UTC
это не опечатка, а просто пробел в знаниях :), спасибо за уточнение
с вычислением значений собственных компонент разобрался, просто разные функции вычисляют U, V и W баллы, а еще по умолчанию одни вычисляют ковариационную матрицу, а другие корреляционную, вот у меня и не сходились результаты

Reply


Leave a comment

Up