R:Статистическая проверка принадлежности нормальному распределения — различия между версиями
м |
м (→Пакет fBasics) |
||
Строка 154: | Строка 154: | ||
=== Пакет <code>fBasics</code> === | === Пакет <code>fBasics</code> === | ||
− | В данном пакете не предлагается никакой оригинальной реализации критериев - код в основном заимствован из пакетов <code>stats</code>, <code>nortest</code>, <code>moments</code>. Данный пакет предлагает альтернативный вывод результатов в виде | + | В данном пакете не предлагается никакой оригинальной реализации критериев - код в основном заимствован из пакетов <code>stats</code>, <code>nortest</code>, <code>moments</code>. Данный пакет предлагает альтернативный вывод результатов в виде объекта S4-класса <code>fHTEST</code>, в том время как все предыдущие функции использовали S3-класс <code>htest</code>. |
Перед использованием функций из данного пакета, его необходимо предварительно установить и загрузить: | Перед использованием функций из данного пакета, его необходимо предварительно установить и загрузить: | ||
Строка 163: | Строка 163: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Функция <code>normalTest()</code> является «обёрктой» для | + | ==== <code>normalTest</code> ==== |
+ | |||
+ | Функция <code>normalTest()</code> является «обёрктой» для ряда функций из пакета <code>fBasics</code>. Задать необходимый критерий можно задать с помощью аргумента <code>method</code>. Доступны следующие критерии: | ||
* <code>sw</code> - критерий Шапиро - Уилка | * <code>sw</code> - критерий Шапиро - Уилка | ||
Строка 190: | Строка 192: | ||
==== <code>ksnormTest</code> - критерий Колмогорова - Смирнова ==== | ==== <code>ksnormTest</code> - критерий Колмогорова - Смирнова ==== | ||
+ | |||
+ | Данная функция вызывает <code>ks.test(x, "pnorm")</code> для трёх альтернативных гипотез - двусторонней и двух односторонних. | ||
<syntaxhighlight lang="rsplus"> | <syntaxhighlight lang="rsplus"> | ||
Строка 206: | Строка 210: | ||
Description: | Description: | ||
− | Fri Feb 14 17: | + | Fri Feb 14 18:52:37 2014 by user: |
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== <code>jarqueberaTest</code> - критерий Жарка-Бера ==== | ||
+ | |||
+ | <syntaxhighlight lang="rsplus"> | ||
+ | > jarqueberaTest(x) | ||
+ | |||
+ | Title: | ||
+ | Jarque - Bera Normalality Test | ||
+ | |||
+ | Test Results: | ||
+ | STATISTIC: | ||
+ | X-squared: 1.356 | ||
+ | P VALUE: | ||
+ | Asymptotic p Value: 0.5076 | ||
+ | |||
+ | Description: | ||
+ | Fri Feb 14 18:58:29 2014 by user: | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== <code>dagoTest</code> - критерий Д'Агостино ==== | ||
+ | |||
+ | <syntaxhighlight lang="rsplus"> | ||
+ | > dagoTest(x) | ||
+ | |||
+ | Title: | ||
+ | D'Agostino Normality Test | ||
+ | |||
+ | Test Results: | ||
+ | STATISTIC: | ||
+ | Chi2 | Omnibus: 1.8673 | ||
+ | Z3 | Skewness: 0.4713 | ||
+ | Z4 | Kurtosis: 1.2826 | ||
+ | P VALUE: | ||
+ | Omnibus Test: 0.3931 | ||
+ | Skewness Test: 0.6374 | ||
+ | Kurtosis Test: 0.1996 | ||
+ | |||
+ | Description: | ||
+ | Fri Feb 14 18:59:31 2014 by user: | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== <code>adTest</code> - критерий Андерсона - Дарлинга ==== | ||
+ | |||
+ | <syntaxhighlight lang="rsplus"> | ||
+ | > adTest(x) | ||
+ | |||
+ | Title: | ||
+ | Anderson - Darling Normality Test | ||
+ | |||
+ | Test Results: | ||
+ | STATISTIC: | ||
+ | A: 0.4181 | ||
+ | P VALUE: | ||
+ | 0.323 | ||
+ | |||
+ | Description: | ||
+ | Fri Feb 14 19:00:49 2014 by user: | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== <code>cvmTest</code> - критерий Крамера - фон Мизеса ==== | ||
+ | |||
+ | <syntaxhighlight lang="rsplus"> | ||
+ | > cvmTest(x) | ||
+ | |||
+ | Title: | ||
+ | Cramer - von Mises Normality Test | ||
+ | |||
+ | Test Results: | ||
+ | STATISTIC: | ||
+ | W: 0.048 | ||
+ | P VALUE: | ||
+ | 0.5359 | ||
+ | |||
+ | Description: | ||
+ | Fri Feb 14 19:01:34 2014 by user: | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== <code>lillieTest</code> - критерий Лиллиефорса ==== | ||
+ | |||
+ | <syntaxhighlight lang="rsplus"> | ||
+ | > lillieTest(x) | ||
+ | |||
+ | Title: | ||
+ | Lilliefors (KS) Normality Test | ||
+ | |||
+ | Test Results: | ||
+ | STATISTIC: | ||
+ | D: 0.0521 | ||
+ | P VALUE: | ||
+ | 0.7258 | ||
+ | |||
+ | Description: | ||
+ | Fri Feb 14 19:01:58 2014 by user: | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== <code>pchiTest</code> - критерий Пирсона ==== | ||
+ | |||
+ | <syntaxhighlight lang="rsplus"> | ||
+ | > pchiTest(x) | ||
+ | |||
+ | Title: | ||
+ | Pearson Chi-Square Normality Test | ||
+ | |||
+ | Test Results: | ||
+ | PARAMETER: | ||
+ | Number of Classes: 13 | ||
+ | STATISTIC: | ||
+ | P: 17.78 | ||
+ | P VALUE: | ||
+ | Adhusted: 0.05879 | ||
+ | Not adjusted: 0.1225 | ||
+ | |||
+ | Description: | ||
+ | Fri Feb 14 19:02:21 2014 by user: | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== <code>sfTest</code> - критерий Шапиро - Франчия ==== | ||
+ | |||
+ | <syntaxhighlight lang="rsplus"> | ||
+ | > sfTest(x) | ||
+ | |||
+ | Title: | ||
+ | Shapiro - Francia Normality Test | ||
+ | |||
+ | Test Results: | ||
+ | STATISTIC: | ||
+ | W: 0.9781 | ||
+ | P VALUE: | ||
+ | 0.08574 | ||
+ | |||
+ | Description: | ||
+ | Fri Feb 14 19:02:45 2014 by user: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 15:11, 14 февраля 2014
|
Материал «R:Статистическая проверка принадлежности нормальному распределения», созданный автором Артём Клевцов, публикуется на условиях лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная. | |
|
Предположение о принадлежности случайной величины нормальному закону распределения лежит в основе многих статистических методов и критериев. В ряде случаев соблюдение данного требования является критичным для применения того или иного метода.
На практике мы встречаемся с двумя вариантами задач по проверке принадлежности распределения нормальному закону: для одномерного и многомерного распределения.
Содержание
- 1 Одномерное нормальное распределение
- 1.1 Пакет stats
- 1.2 Пакет nortest
- 1.3 Пакет moments
- 1.4 Пакет fBasics
- 1.4.1 normalTest
- 1.4.2 shapiroTest - критерий Шапиро - Уилка
- 1.4.3 ksnormTest - критерий Колмогорова - Смирнова
- 1.4.4 jarqueberaTest - критерий Жарка-Бера
- 1.4.5 dagoTest - критерий Д'Агостино
- 1.4.6 adTest - критерий Андерсона - Дарлинга
- 1.4.7 cvmTest - критерий Крамера - фон Мизеса
- 1.4.8 lillieTest - критерий Лиллиефорса
- 1.4.9 pchiTest - критерий Пирсона
- 1.4.10 sfTest - критерий Шапиро - Франчия
- 2 Многомерное нормальное распределение
Одномерное нормальное распределение
В качестве [math]H_0[/math] для всех нижеприведённых критериев является предположение, что «случайная величина [math]X[/math] распределена нормально».
Для демонстрации работы функций, реализующий различные критерий проверки принадлежности распределения нормальному закону сгенерируем вектор случайных чисел, имеющих стандартное нормальное распределение:
<syntaxhighlight lang="rsplus"> > x <- rnorm(n = 100) </syntaxhighlight>
Пакет stats
shapiro.test
- критерий Шапиро - Уилка
<syntaxhighlight lang="rsplus"> > shapiro.test(x)
Shapiro-Wilk normality test
data: x W = 0.9831, p-value = 0.2301 </syntaxhighlight>
ks.test
- критерий Колмогорова - Смирнова
<syntaxhighlight lang="rsplus"> > ks.test(x, y = "pnorm")
One-sample Kolmogorov-Smirnov test
data: x D = 0.0534, p-value = 0.938 alternative hypothesis: two-sided </syntaxhighlight>
Пакет nortest
Перед использованием функций из данного пакета, его необходимо предварительно установить и загрузить:
<syntaxhighlight lang="rsplus"> > install.packages(pkgs = "nortest") > library(package = "nortest") </syntaxhighlight>
ad.test
- критерий Андерсона - Дарлинга
<syntaxhighlight lang="rsplus"> > ad.test(x)
Anderson-Darling normality test
data: x A = 0.4181, p-value = 0.323 </syntaxhighlight>
cvm.test
- критерий Крамера - фон Мизеса
<syntaxhighlight lang="rsplus"> > cvm.test(x)
Cramer-von Mises normality test
data: x W = 0.048, p-value = 0.5359 </syntaxhighlight>
lillie.test
- критерий Лиллиефорса
<syntaxhighlight lang="rsplus"> > lillie.test(x)
Lilliefors (Kolmogorov-Smirnov) normality test
data: x D = 0.0521, p-value = 0.7258 </syntaxhighlight>
pearson.test
- критерий [math]\chi^2[/math] Пирсона
<syntaxhighlight lang="rsplus"> > pearson.test(x)
Pearson chi-square normality test
data: x P = 17.78, p-value = 0.05879 </syntaxhighlight>
sf.test
- критерий Шапиро - Франчия
<syntaxhighlight lang="rsplus"> > sf.test(x)
Shapiro-Francia normality test
data: x W = 0.9781, p-value = 0.08574 </syntaxhighlight>
Пакет moments
Перед использованием функций из данного пакета, его необходимо предварительно установить и загрузить:
<syntaxhighlight lang="rsplus"> > install.packages(pkgs = "moments") > library(package = "moments") </syntaxhighlight>
agostino.test
- критерий Д'Агостино
<syntaxhighlight lang="rsplus"> > agostino.test(x)
D'Agostino skewness test
data: x skew = 0.1087, z = 0.3106, p-value = 0.7561 alternative hypothesis: data have a skewness </syntaxhighlight>
bonett.test
- критерий Бонетта – Сайера
<syntaxhighlight lang="rsplus"> > bonett.test(x)
Bonett-Seier test for Geary kurtosis
data: x tau = 0.8158, z = -0.6097, p-value = 0.5421 alternative hypothesis: kurtosis is not equal to sqrt(2/pi) </syntaxhighlight>
jarque.test
- критерий Жарка-Бера
<syntaxhighlight lang="rsplus"> > jarque.test(x)
Jarque-Bera Normality Test
data: x JB = 1.356, p-value = 0.5076 alternative hypothesis: greater </syntaxhighlight>
Пакет fBasics
В данном пакете не предлагается никакой оригинальной реализации критериев - код в основном заимствован из пакетов stats
, nortest
, moments
. Данный пакет предлагает альтернативный вывод результатов в виде объекта S4-класса fHTEST
, в том время как все предыдущие функции использовали S3-класс htest
.
Перед использованием функций из данного пакета, его необходимо предварительно установить и загрузить:
<syntaxhighlight lang="rsplus"> > install.packages(pkgs = "fBasics") > library(package = "fBasics") </syntaxhighlight>
normalTest
Функция normalTest()
является «обёрктой» для ряда функций из пакета fBasics
. Задать необходимый критерий можно задать с помощью аргумента method
. Доступны следующие критерии:
-
sw
- критерий Шапиро - Уилка -
jb
- критерий Жарка-Бера -
ks
- критерий Колмогорова - Смирнова -
da
- критерий Д'Агостино -
ad
- критерий Андерсона - Дарлинга.
shapiroTest
- критерий Шапиро - Уилка
<syntaxhighlight lang="rsplus"> > shapiroTest(x)
Title:
Shapiro - Wilk Normality Test
Test Results:
STATISTIC: W: 0.9831 P VALUE: 0.2301
Description:
Fri Feb 14 17:27:33 2014 by user:
</syntaxhighlight>
ksnormTest
- критерий Колмогорова - Смирнова
Данная функция вызывает ks.test(x, "pnorm")
для трёх альтернативных гипотез - двусторонней и двух односторонних.
<syntaxhighlight lang="rsplus"> > ksnormTest(x)
Title:
One-sample Kolmogorov-Smirnov test
Test Results:
STATISTIC: D: 0.0534 P VALUE: Alternative Two-Sided: 0.938 Alternative Less: 0.7049 Alternative Greater: 0.5654
Description:
Fri Feb 14 18:52:37 2014 by user:
</syntaxhighlight>
jarqueberaTest
- критерий Жарка-Бера
<syntaxhighlight lang="rsplus"> > jarqueberaTest(x)
Title:
Jarque - Bera Normalality Test
Test Results:
STATISTIC: X-squared: 1.356 P VALUE: Asymptotic p Value: 0.5076
Description:
Fri Feb 14 18:58:29 2014 by user:
</syntaxhighlight>
dagoTest
- критерий Д'Агостино
<syntaxhighlight lang="rsplus"> > dagoTest(x)
Title:
D'Agostino Normality Test
Test Results:
STATISTIC: Chi2 | Omnibus: 1.8673 Z3 | Skewness: 0.4713 Z4 | Kurtosis: 1.2826 P VALUE: Omnibus Test: 0.3931 Skewness Test: 0.6374 Kurtosis Test: 0.1996
Description:
Fri Feb 14 18:59:31 2014 by user:
</syntaxhighlight>
adTest
- критерий Андерсона - Дарлинга
<syntaxhighlight lang="rsplus"> > adTest(x)
Title:
Anderson - Darling Normality Test
Test Results:
STATISTIC: A: 0.4181 P VALUE: 0.323
Description:
Fri Feb 14 19:00:49 2014 by user:
</syntaxhighlight>
cvmTest
- критерий Крамера - фон Мизеса
<syntaxhighlight lang="rsplus"> > cvmTest(x)
Title:
Cramer - von Mises Normality Test
Test Results:
STATISTIC: W: 0.048 P VALUE: 0.5359
Description:
Fri Feb 14 19:01:34 2014 by user:
</syntaxhighlight>
lillieTest
- критерий Лиллиефорса
<syntaxhighlight lang="rsplus"> > lillieTest(x)
Title:
Lilliefors (KS) Normality Test
Test Results:
STATISTIC: D: 0.0521 P VALUE: 0.7258
Description:
Fri Feb 14 19:01:58 2014 by user:
</syntaxhighlight>
pchiTest
- критерий Пирсона
<syntaxhighlight lang="rsplus"> > pchiTest(x)
Title:
Pearson Chi-Square Normality Test
Test Results:
PARAMETER: Number of Classes: 13 STATISTIC: P: 17.78 P VALUE: Adhusted: 0.05879 Not adjusted: 0.1225
Description:
Fri Feb 14 19:02:21 2014 by user:
</syntaxhighlight>
sfTest
- критерий Шапиро - Франчия
<syntaxhighlight lang="rsplus"> > sfTest(x)
Title:
Shapiro - Francia Normality Test
Test Results:
STATISTIC: W: 0.9781 P VALUE: 0.08574
Description:
Fri Feb 14 19:02:45 2014 by user:
</syntaxhighlight>