R:Статистическая проверка принадлежности нормальному распределения — различия между версиями

Материал Psylab.info - энциклопедии психодиагностики
Перейти к: навигация, поиск
(Новая страница: «Предположение о принадлежности случайной величины нормальному закону распределения ле…»)
(нет различий)

Версия 14:24, 14 февраля 2014

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

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

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

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

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

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

Пакет base

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() является «обёрктой» для остальных функций из пакета 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 - критерий Колмогорова - Смирнова

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

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