Мне сложно понять некоторые этапы процедуры.Они берут данные координат, находят ковариационную матрицу, применяют PCA, а затем вкратце извлекают стандартное отклонение от квадратного корня каждого собственного значения.Я пытаюсь воспроизвести этот процесс, но я застрял на шагах.
Выполненные шаги
Набор данных состоит из одной матрицы, R , который содержит координаты Парижа, (x (i), y (i)) с i = 1, ..., N для N - общее количество зарегистрированных экземпляров.Мы применили PCA к ковариационной матрице входного набора данных R , и были получены следующие переменные:
a) главные компоненты новой системы координат, собственные векторы u и v,и
b) собственные значения (λ1 и λ2), соответствующие общей изменчивости, объясняемой каждым основным компонентом.
С этими переменными для каждого элемента было создано графическое представление.Два ортогональных сегмента были отцентрированы по среднему значению координатных данных.Направления сегментов определялись собственными векторами PCA, а длина каждого сегмента определялась как одно стандартное отклонение (σ1 и σ2) вокруг среднего значения, которое рассчитывалось путем извлечения квадратного корня из каждого собственного значения, λ1 и λ2.
Мои шаги
#reproducable data
set.seed(1)
x<-rnorm(10,50,4)
y<-rnorm(10,50,7)
# Note my data is not perfectly distirbuted in this fashion
df<-data.frame(x,y) # this is my R matrix
covar.df<-cov(df,use="all.obs",method='pearson') # this is my covariance matrix
pca.results<-prcomp(covar.df) # this applies PCA to the covariance matrix
pca.results$sdev # these are the standard deviations of the principal components
# which is what I believe I am looking for.
Это то место, где я застрял, потому что я не уверен, пытаюсь ли я получить sdev
форму вывода prcomp()
илиесли я должен масштабировать свои данные в первую очередь.Они все в одном масштабе, поэтому я не вижу проблемы с этим.
Мой второй вопрос: как мне извлечь стандартное отклонение в направлениях x
и y
?