Рискуя сделать вопрос специфичным для программного обеспечения и из-за его повсеместности и особенностей, я хочу спросить о функции biplot()
в R и, более конкретно, о вычислении и построении по умолчанию ее наложенных красных стрелок, соответствующих к базовым переменным.
[Чтобы разобраться в некоторых комментариях, изначально опубликованные сюжеты имели скудную проблему с редким интересом, а теперь стерты.]
.74752, .66424; -.74752, .66424
.biplot(name_of_the_PCA)
вызовом, который в данном случае являетсяbiplot(PCA)
. Я центрировал и масштабировал данные.Ответы:
Следующее опирается на набор данных Iris в R и, в частности, на первые три переменные (столбцы):
Sepal.Length, Sepal.Width, Petal.Length
.Biplot сочетает в себе загрузочный участок (нестандартизованные собственные векторы) - в бетоне, первые две нагрузок , и оценку участок (повернуты и расширенные точки данных , построенные по отношению к основным компонентам). Используя тот же набор данных, @amoeba описывает 9 возможных комбинаций биплота PCA на основе 3 возможных нормализаций оценочного графика первого и второго основных компонентов и 3 нормализаций загрузочного графика (стрелки) исходных переменных. Чтобы увидеть, как R обрабатывает эти возможные комбинации, интересно взглянуть на
biplot()
метод:Сначала линейная алгебра готова скопировать и вставить:
1. Воспроизведение участка загрузки (стрелки):
Здесь очень помогает геометрическая интерпретация этого поста @ttnphns . Обозначения диаграммы в посте были сохранены: обозначает переменную в предметном пространстве . ч ' представляет собой соответствующий стрелок в конечном счете , нанесено; и координаты a 1 и a 2 являются компонентом, загружающим переменную V относительно ПК 1 и ПК 2 :В час' a1 a2 В ПК 1 ПК 2
Sepal L.
Компонент переменной поПК 1
Sepal L.
отношению к будет тогда:Точно так же,
Дублируя и перекрывая синим цветом красные стрелки
biplot()
Точки интереса:
или в коде R:
или даже пока ...
связывая с геометрическим объяснением загрузок @ttnphns , или этот другой информативный пост также @ttnphns .
Существует коэффициент масштабирования
sqrt(nrow(X) - 1)
, который остается загадкой.2. Построение графика
biplot()
результатов (и стрелок одновременно):В конструкции биплота используются две разные шкалы на нижней и верхней горизонтальных осях:
Однако относительный масштаб не сразу очевиден, требуя углубления в функции и методы:
biplot()
Принимая во внимание, что
prcomp()
функция в R возвращает баллы, масштабированные до их собственных значений:lan
После снятия с них всех
if
заявлений и других бытовых чистокbiplot()
поступает следующим образом:который, как и ожидалось, воспроизводит (правое изображение внизу)
biplot()
вывод, вызванный напрямуюbiplot(PCA)
(левый график ниже) во всех его нетронутых эстетических недостатках:Точки интереса:
ratio
). AS @amoeba комментирует:источник
R
к вашему вопросу, потому что запутанный вопрос (а именно коэффициент масштабирования) оказался частично R-специфичным. В общем, вы сами могли видеть, что биплот PCA представляет собой наложенную диаграмму рассеяния оценок компонентов (координат строк) и коэффициентов направления компонентов (координат столбцов), и поскольку к каждому из них могут применяться различные величины стандартизации по «инерции» (дисперсия) из того, поэтому могут возникнуть различные взгляды на биплот. Для добавления: наиболее типично (больше смысла), нагрузки отображаются в виде координат столбца (стрелки).