- •Вводные замечания
- •1. Начало работы
- •2. Описательные статистики
- •2.1. Проверка наличия «выбросов»
- •2.2. Проверка нормальности распределения
- •2.2.1. Критерии нормальности
- •2.2.2. Визуальная проверка нормальности распределения
- •3.2. Сравнение двух зависимых групп
- •3. Сравнение двух выборок
- •3.1. Сравнение двух независимых групп
- •4. Корреляционный анализ
- •5. Многомерные методы
- •5.1. Анализ главных компонент и эксплораторный факторный анализ
- •5.2. Кластерный анализ
- •5.2.1. Иерархический кластерный анализ
- •5.2.2. Кластерный анализ методом К-средних
- •Список рекомендуемой литературы и интернет-источников
library(outliers) grubbs.test(epi.bfi$epiE)
##
##Grubbs test for one outlier
##data: epi.bfi$epiE
##G = 2.980, U = 0.961, p-value = 0.3
##alternative hypothesis: lowest value 1 is an outlier
Уровень значимости p > 0.05 в тестах на «выбросы» говорит об отсутствии серьезно влияющих на результаты экстремальных значений.
2.2. Проверка нормальности распределения
Отчасти этот вопрос уже рассмотрен выше, когда мы касались функций асимметрии и эксцесса, сейчас рассмотрим другие способы проверки нормальности.
2.2.1. Критерии нормальности
Существуют специально разработанные критерии для целей проверки соответствия эмпирического распределения нормальному. Чаще всего используемые тесты Колмогорова – Смирнова и Шапиро – Уилка можно найти в базовом R:
# Тест Колмогорова-Смирнова
ks.test(epi.bfi$epiE, "pnorm", mean = mean(epi.bfi$epiE), sd = sd(epi.bfi$epiE))
##
##One-sample Kolmogorov-Smirnov test
##data: epi.bfi$epiE
##D = 0.0792, p-value = 0.11
##alternative hypothesis: two-sided
# Тест Шапиро-Уилка shapiro.test(epi.bfi$epiE)
##
##Shapiro-Wilk normality test
##data: epi.bfi$epiE
##W = 0.984, p-value = 0.011
Уровень значимости p > 0.05 свидетельствует в пользу соответствия эмпирического распределения теоретическому нормальному. Другие популярные тесты для проверки нормальности можно найти в пакетах "nortest" и "moments":
15
library(nortest)
# Тест Андерсона-Дарлинга ad.test(epi.bfi$epiE)
##
##Anderson-Darling normality test
##data: epi.bfi$epiE
##A = 1.04, p-value = 0.0099
# Тест Крамера фон Мизеса cvm.test(epi.bfi$epiE)
##
##Cramer-von Mises normality test
##data: epi.bfi$epiE
##W = 0.171, p-value = 0.013
# Тест Колмогорова-Смирнова в модификации Лиллиефорса lillie.test(epi.bfi$epiE)
##
##Lilliefors (Kolmogorov-Smirnov) normality test
##data: epi.bfi$epiE
##D = 0.0792, p-value = 0.0013
# Тест хи-квадрат Пирсона pearson.test(epi.bfi$epiE)
##
##Pearson chi-square normality test
##data: epi.bfi$epiE
##P = 94.5, p-value = 1.4e-13
# Тест Шапиро – Франсия sf.test(epi.bfi$epiE)
##
##Shapiro-Francia normality test
##data: epi.bfi$epiE
##W = 0.985, p-value = 0.02
library(moments)
# Тест Бонетта – Сайера на основе эксцесса bonett.test(epi.bfi$epiE)
16
##
##Bonett-Seier test for Geary kurtosis
##data: epi.bfi$epiE
##tau = 3.26, z = 0.60, p-value = 0.55
##alternative hypothesis: kurtosis is not equal to sqrt(2/pi)
# Тест Д'Агостино на основе асимметрии agostino.test(epi.bfi$epiE)
##
##D'Agostino skewness test
##data: epi.bfi$epiE
##skew = -0.332, z = -2.070, p-value = 0.038
##alternative hypothesis: data have a skewness
# Тест Жарка-Бера на основе асимметрии и эксцесса jarque.test(epi.bfi$epiE)
##
##Jarque-Bera Normality Test
##data: epi.bfi$epiE
##JB = 4.26, p-value = 0.12
##alternative hypothesis: greater
2.2.2. Визуальная проверка нормальности распределения
При увеличении объема выборки критерии нормальности становятся чересчур чувствительными и указывают на нарушение нормальности распределения даже там, где это далеко не очевидно, поэтому важно помимо статистического анализа, проводить также визуальный. В базовом R для этого есть некоторые полезные функции:
# Гистограмма, совмещенная с кривой плотности вероятности нормального распределения
hist(x = epi.bfi$epiE, col = "lightblue", freq = FALSE,
main = "Гистограмма", xlab = "Экстраверсия", ylab = "Частота")
curve(dnorm(x = x,
mean = mean(epi.bfi$epiE), sd = sd(epi.bfi$epiE)),
add = TRUE, col = "red", lwd = 2)
17
# График квантилей Q-Q plots (Quantile-Quantile plots) qqnorm(epi.bfi$epiE)
qqline(epi.bfi$epiE)
18
Используем возможности пакета "ggplot2" для построения гистограммы и Q-Q- графика.
library(ggplot2)
# Гистограмма, совмещенная с кривой плотности вероятности нормального распределения
ggplot(data = epi.bfi, mapping = aes(x = epiE)) + geom_histogram(aes(y = ..density..),
binwidth = 2,
fill = "lightblue", col = "black") +
labs(x = "Экстраверсия", y = "Частота") + stat_function(fun = dnorm,
args = list(mean = mean(epi.bfi$epiE, na.rm = TRUE), sd = sd(epi.bfi$epiE, na.rm = TRUE)),
colour = "red",
19
size = 1.2) +
theme_bw()
# График квантилей Q-Q plots
ggplot(data = epi.bfi, aes(sample = epiE)) +
stat_qq() + stat_qq_line() +
theme_bw()
20
Гистограммы, построенные разным способом, несколько отличаются, что |
связано |
с количеством отрезков, на которые разбиты данные. Указывая аргументы |
breaks |
в функции hist() и bins в ggplot(), вы можете менять количество столбцов-отрезков эмпирического распределения.
Помимо гистограммы можно использовать ядерную оценку плотности распределения:
# Базовый R
plot(density(x = epi.bfi$epiE), main = "Плотность распределения")
21
# Пакет "ggplot2"
ggplot(data = epi.bfi, aes(x = epiE)) + geom_density() +
labs(title = "Плотность распределения", x = "Экстраверсия")+
theme_bw()
22
Описательные статистики позволяют получить общее представление о данных и проверить важное допущение к использованию параметрических критериев – нормальность распределения.
23
