[МУЗЫКА] [МУЗЫКА]
Уважаемые слушатели!
Данный урок посвящён проверке нормальности,
то есть проверке предположения о том,
что выборка сделана из некоторой нормальной генеральной совокупности.
Предположение о нормальности является основой многих статистических критериев,
поэтому на начальном этапе, на этапе предварительной обработки данных,
бывает очень важным проверить...
Поэтому на начальном этапе
бывает очень важным проверить, подчиняется ли выборка нормальному закону.
В пакете R существует огромное количество реализованных критериев
проверки нормальности.
Они собраны в различные пакеты, и сейчас мы рассмотрим лишь некоторые из них.
Мы не будем пока брать какой-то конкретный пример,
мы сгенерируем нормальную выборку непосредственно в пакете и проверим,
как можно посмотреть, подчиняется ли она нормальному закону.
Для генерации нормальной последовательности
используем функцию rnorm.
Сформируем десять наблюдений, подчиняющихся стандартному нормальному
закону, то есть с нулевым математическим ожиданием и единичной дисперсией.
Сразу же выведем полученные значения на экран.
Вот она наша выборка, с которой мы сейчас будем работать.
Для начала при проверке нормальности можно провести графический анализ,
то есть посмотреть гистограмму и квантильный график.
Построим гистограмму, я сразу выведу её в цвете со штриховкой.
Вот таким образом выглядит гистограмма для нашей выборки.
В принципе, мы можем видеть, что тут...
[БЕЗ_ЗВУКА] В принципе,
мы можем видеть, что графически она не противоречит нормальному закону,
но, конечно же, по одному графику однозначный вывод сделать нельзя.
Давайте построим ещё один квантильный график.
Если выборка соответствует нормальному закону,
то эти точки должны быть все расположены вдоль прямой y=x.
Добавим эту прямую на график — и мы видим, что да,
точки действительно располагаются вдоль этой линии, хотя, конечно же,
определённые отклонения есть, потому что это выборочные данные.
Теперь давайте рассмотрим строгие критерии проверки нормальности.
Они собраны, как я уже сказала, в различные пакеты, в частности,
в уже предустановленном пакете Stats у нас имеется две функции.
Это shapiro.test и ks.test, то есть тест Шапиро-Уилка и тест Колмогорова-Смирнова.
Для начала рассмотрим критерий Шапиро-Уилка.
Значение статистики
мы получили 0,99,
значение p-value равно 0,42.
При уровне значимости 0,05 гипотеза о
нормальности данного распределения принимается.
Так же применим критерий Колмогорова-Смирнова.
Критерий Колмогорова-Смирнова в языке R реализован операцией ks.test.
При этом, поскольку данный критерий проверяет не только гипотезу о
нормальности в отличие от критерия Шапиро-Уилка,
но также проверяет критерий...
но также проверяет гипотезу о соответствии выборки некоторому заданному
закону распределения, не только нормальному.
В аргументах этой функции помимо переменной, содержащей выборку,
мы должны также указать, с каким распределением проводится сравнение.
В данном случае мы должны указать, что это функция нормального закона.
Если мы проверяем именно соответствие стандартному нормальному закону,
то есть с нулевым математическим ожиданием и единичной дисперсией,
параметры функции можно опустить, они будут указаны по умолчанию.
Если же мы хотим проверить нормальность с какими-то другими параметрами,
соответственно здесь нужно эти параметры указать.
[БЕЗ_ЗВУКА] Значение
p-value для данной гипотезы у нас получилось 0,27.
Опять-таки при заданном уровне значимости 0,05 гипотезу о нормальности мы принимаем.
Также имеется ряд функций в других пакетах,
которые не установлены у нас по умолчанию.
В частности, это пакет nortest, который как раз-таки содержит функции
проверки нормальности распределения и некоторые функции...
и некоторые функции пакета moments.
Давайте сейчас подключим эти пакеты и используем некоторые их функции.
У нас начинается установка пакета nortest.
Пакет подгружен, распакуем его.
И теперь используем критерий Лиллиефорса.
Это модификация критерия Колмогорова-Смирнова на случай,
если числовые характеристики, а именно, математическое ожидание и дисперсия,
нам не известны.
Когда мы работаем с реальными данными, как правило,
именно с такой ситуацией мы и сталкиваемся.
Поэтому корректнее применять не критерий Колмагорова-Смирнова,
а именно поправки Лиллиефорса.
В языке R это lillie.test.
И мы видим также, что по данном
критерию мы принимаем гипотезу о нормальности,
так как значение p-value превосходит уровень значимости 0,05.
Также для проверки нормальности
мы можем использовать критерий согалсия Пирсона или критерий хи-квадрат.
Непосредственно для проверки нормальности по критерию
хи-квадрат мы можем использовать в пакете R функцию pearson.test.
Несмотря на то, что данный критерий
проверяет гипотезу о соответствии выборки любому заданному распределению,
конкретно функция pearson.test у нас проверяет гипотезу о нормальности.
Поэтому в отличие от критерия Колмогорова-Смирнова,
где мы указывали распределение, с которым шла проверка,
здесь указывать распределение необязательно.
Мы можем задать в качестве аргумента только переменную, содержащую выборку.
И по критерию хи-квадрат
наша гипотеза достаточно надёжно принимается,
то есть значение p-value у нас получилось намного больше, чем уровень значимости.
Ещё одна интересная функция проверки нормальности
— это jarque.test, то есть это критерий Жарка-Бера,
который основан на сравнении коэффициента ассиметрии и коэффициента эксцесса.
Для нормального распрделения данные коэффициенты равны нулю.
Это вы можете посмотреть в презентации.
А сейчас мы посмотрим, как эта функция реализована в пакете.
Для начала нам нужно установить пакет,
распаковать его — и теперь нам доступны функции этого пакета,
в частности, функция jarque.test, которая реализует нам критерий Жарка-Бера...
которая реализует нам критерий Жарка-Бера.
И, как видим, здесь аналогично мы получем
достаточно высокое значение p-value, выше уровня значимости,
и по данному критерию нормальность нашей выборки также принимается.
[БЕЗ_ЗВУКА]
[МУЗЫКА]
[МУЗЫКА]