Изменения

Новая страница: «Предположение о принадлежности случайной величины нормальному закону распределения ле…»
Предположение о принадлежности случайной величины нормальному закону распределения лежит в основе многих статистических методов и критериев. В ряде случаев соблюдение данного требования является критичным для применения того или иного метода.

На практике мы встречаемся с двумя вариантами задач по проверке принадлежности распределения нормальному закону: для одномерного и многомерного распределения.

== Одномерное нормальное распределение ==

В качестве <math>H_0</math> для всех нижеприведённых критериев является предположение, что «случайная величина <math>X</math> распределена нормально».

Для демонстрации работы функций, реализующий различные критерий проверки принадлежности распределения нормальному закону сгенерируем вектор случайных чисел, имеющих стандартное нормальное распределение:

<syntaxhighlight lang="rsplus">
> x <- rnorm(n = 100)
</syntaxhighlight>

=== Пакет <code>base</code> ===

==== <code>shapiro.test</code> - критерий Шапиро - Уилка ====

<syntaxhighlight lang="rsplus">
> shapiro.test(x)

Shapiro-Wilk normality test

data: x
W = 0.9831, p-value = 0.2301
</syntaxhighlight>


==== <code>ks.test</code> - критерий Колмогорова - Смирнова ====

<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>

=== Пакет <code>nortest</code> ===

Перед использованием функций из данного пакета, его необходимо предварительно установить и загрузить:

<syntaxhighlight lang="rsplus">
> install.packages(pkgs = "nortest")
> library(package = "nortest")
</syntaxhighlight>

==== <code>ad.test</code> - критерий Андерсона - Дарлинга ====

<syntaxhighlight lang="rsplus">
> ad.test(x)

Anderson-Darling normality test

data: x
A = 0.4181, p-value = 0.323
</syntaxhighlight>

==== <code>cvm.test</code> - критерий Крамера - фон Мизеса ====

<syntaxhighlight lang="rsplus">
> cvm.test(x)

Cramer-von Mises normality test

data: x
W = 0.048, p-value = 0.5359
</syntaxhighlight>

==== <code>lillie.test</code> - критерий Лиллиефорса ====

<syntaxhighlight lang="rsplus">
> lillie.test(x)

Lilliefors (Kolmogorov-Smirnov) normality test

data: x
D = 0.0521, p-value = 0.7258
</syntaxhighlight>


==== <code>pearson.test</code> - критерий <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>

==== <code>sf.test</code> - критерий Шапиро - Франчия ====

<syntaxhighlight lang="rsplus">
> sf.test(x)

Shapiro-Francia normality test

data: x
W = 0.9781, p-value = 0.08574
</syntaxhighlight>


=== Пакет <code>moments</code> ===

Перед использованием функций из данного пакета, его необходимо предварительно установить и загрузить:

<syntaxhighlight lang="rsplus">
> install.packages(pkgs = "moments")
> library(package = "moments")
</syntaxhighlight>

==== <code>agostino.test</code> - критерий Д'Агостино ====

<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>

==== <code>bonett.test</code> - критерий Бонетта – Сайера ====

<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>

==== <code>jarque.test</code> - критерий Жарка-Бера ====

<syntaxhighlight lang="rsplus">
> jarque.test(x)

Jarque-Bera Normality Test

data: x
JB = 1.356, p-value = 0.5076
alternative hypothesis: greater
</syntaxhighlight>

=== Пакет <code>fBasics</code> ===

В данном пакете не предлагается никакой оригинальной реализации критериев - код в основном заимствован из пакетов <code>stats</code>, <code>nortest</code>, <code>moments</code>. Данный пакет предлагает альтернативный вывод результатов в виде объектов S4-класса <code>fHTEST</code>, в том время как все предыдущие функции использовал S3-класс <code>htest</code>.

Перед использованием функций из данного пакета, его необходимо предварительно установить и загрузить:

<syntaxhighlight lang="rsplus">
> install.packages(pkgs = "fBasics")
> library(package = "fBasics")
</syntaxhighlight>

Функция <code>normalTest()</code> является «обёрктой» для остальных функций из пакета <code>fBasics</code>. Задать необходимый критерий моно с помощью аргумента <code>method</code>. Доступны следующие критерии:

* <code>sw</code> - критерий Шапиро - Уилка
* <code>jb</code> - критерий Жарка-Бера
* <code>ks</code> - критерий Колмогорова - Смирнова
* <code>da</code> - критерий Д'Агостино
* <code>ad</code> - критерий Андерсона - Дарлинга.

==== <code>shapiroTest</code> - критерий Шапиро - Уилка ====

<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>

==== <code>ksnormTest</code> - критерий Колмогорова - Смирнова ====

<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 17:25:27 2014 by user:
</syntaxhighlight>

== Многомерное нормальное распределение ==