Так, например, следующая команда включает информацию о классе в группах выборки аргументом группирования:
plotIndiv(My_result.pca, group = My_table$Класс,
legend = TRUE)
Кроме того, два фактора могут отображаться с использованием как цветов (аргумент group), так и символов (аргумент pch). Например, отобразим класс и оценки, полученные по второй теме, изменив при этом название и легенду диаграммы:
plotIndiv(My_result.pca, ind.names = FALSE,
group = My_table$'Класс',
pch = as.factor(My_table$'Тема2'),
legend = TRUE, title = 'Успеваемость по второй теме',
legend.title = 'Класс', legend.title.pch = 'Оценка')
Путем добавления информации, связанной с классом и оценкой появляется возможность увидеть кластер наблюдений успеваемости близких к эталонному образцу (зелёный ромб в левом нижнем углу), в то время как образцы с низкой успеваемостью (синие треугольники) оказались сгруппированы отдельно, но явно обнаруживается эффект разделения обучающихся на классы.
Чтобы отобразить результаты на других компонентах, можно изменить аргумент comp при условии, что было запрошено достаточно компонент для расчета. Приведём второй пример PCA с тремя компонентами, в котором третий компонент по оси PC3 четко разграничивает обучающихся по классам:
My_result.pca2 <– pca(X, ncomp = 3)
plotIndiv(My_result.pca2,
comp = c(1,3),
legend = TRUE,
group = My_table$'Класс',
legend.title = 'Класс',
title = 'Анализ успеваемости, PCA 1-3')
В связи с этим возникает естественный вопрос об оптимальном количестве главных компонент. С другой стороны, важную роль в дисперсионном анализе (ANOVA) играет объясненная дисперсия, пропорционально характеризующая долю общего числа образцов, охватываемую той или иной главной компонентой. Объяснённая дисперсия может быть представлена наглядно, функцией plot, либо фактическими численными её пропорциями и накапливаемыми пропорциями:
plot(My_result.pca2)
Следующая команда:
My_result.pca2
Выведет собственные значения для первых трех главных компонент:
PC1 PC2 PC3
2.8142478 1.2477355 0.7394421
Пропорциональное отношение объяснённой ими дисперсии:
PC1 PC2 PC3
0.5433274 0.2408917 0.1427590
И совокупное значение оной по мере увеличения числа главных компонент:
PC1 PC2 PC3
0.5433274 0.7842191 0.9269781
К сожалению, не существует строгих правил, руководствуясь которыми можно определить, сколько компонентов должно быть включено в PCA, – это зависит от данных и от уровня шума. Зачастую просто по приведённой выше диаграмме делают вывод о том, что увеличение количества главных компонент в модели не способствует резкому увеличению оставшейся доли объяснённой дисперсии.
С другой стороны, всегда можно посмотреть на переменные коэффициенты в каждом компоненте с векторами нагрузки. Весы нагрузки представлены по убыванию абсолютной величины снизу вверх. Абсолютное значение указывает на важность каждой переменной для определения каждого главной компоненты и представлено длиной каждого прямоугольника:
plotLoadings(My_result.pca)
Можно открыть справку командой ?plotLoadings, чтобы ознакомиться с полным списком аргументов. Следующий пример покажет только две темы, оказавших наибольше влияние на разделение, с указанием их названий и увеличением шрифта на 10%:
plotLoadings(My_result.pca, ndisplay = 2,
name.var = c('первая тема','вторая тема','третья тема','четвертая тема','пятая тема'),
size.name = rel(1.1))
Такое представление будет особенно информативным в случае, когда необходимо выбирать из нескольких переменных. Диаграммы и графики можно отображать интерактивно в 3D, используя стилевую опцию style="3d". Для этого используется пакет rgl, устанавливаемый и подключаемый предварительно:
Вы ознакомились с фрагментом книги.
Приобретайте полный текст книги у нашего партнера: