Як виконати тест крамера-фон мізеса в r (з прикладами)


Тест Крамера-фон Мізеса використовується для визначення того, чи походить вибірка з нормального розподілу .

Цей тип перевірки корисний для визначення того, чи походить даний набір даних із нормального розподілу, що є загальноприйнятим припущенням у багатьох статистичних тестах, включаючи регресію , дисперсійний аналіз , t-тести та багато інших. ‘інші.

Ми можемо легко виконати тест Крамера-фон Мізеса за допомогою функції cvm.test() із пакета goftest у R.

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад 1: Тест Крамера-фон Мізеса на нормальних даних

У наступному коді показано, як виконати тест Крамера-фон Мізеса на наборі даних із розміром вибірки n=100:

 library (goftest)

#make this example reproducible
set. seeds (0)

#create dataset of 100 random values generated from a normal distribution
data <- rnorm(100)

#perform Cramer-Von Mises test for normality
cvm. test (data, ' pnorm ')

	Cramer-von Mises test of goodness-of-fit
	Null hypothesis: Normal distribution
	Parameters assumed to be fixed

data:data
omega2 = 0.078666, p-value = 0.7007

P-значення тесту виявляється рівним 0,7007 .

Оскільки це значення не менше 0,05, ми можемо припустити, що дані вибірки надходять із нормально розподіленої сукупності.

Цей результат не повинен бути несподіваним, оскільки ми згенерували вибіркові дані за допомогою функції rnorm() , яка генерує випадкові значення зі стандартного нормального розподілу .

Пов’язане: посібник із dnorm, pnorm, qnorm і rnorm у R

Ми також можемо створити гістограму, щоб візуально перевірити, що вибіркові дані розподілені нормально:

 hist(data, col=' steelblue ') 

Тест Шапіро-Вілка на нормальність R

Ми бачимо, що розподіл має досить дзвоноподібну форму з піком у центрі розподілу, що є типовим для нормально розподілених даних.

Приклад 2: тест Крамера-фон Мізеса на ненормальних даних

У наведеному нижче коді показано, як виконати тест Крамера-фон Мізеса на наборі даних із розміром вибірки 100, у якому значення випадково генеруються з розподілу Пуассона :

 library (goftest)

#make this example reproducible
set. seeds (0)

#create dataset of 100 random values generated from a Poisson distribution
data <- rpois(n=100, lambda=3)

#perform Cramer-Von Mises test for normality
cvm. test (data, ' pnorm ')

	Cramer-von Mises test of goodness-of-fit
	Null hypothesis: Normal distribution
	Parameters assumed to be fixed

data:data
omega2 = 27.96, p-value < 2.2e-16

P-значення тесту виявляється надзвичайно низьким.

Оскільки це значення менше 0,05, ми маємо достатньо доказів, щоб стверджувати, що дані вибірки не походять із нормально розподіленої сукупності.

Цей результат не повинен дивувати, оскільки ми згенерували вибіркові дані за допомогою функції rpois() , яка генерує випадкові значення з розподілу Пуассона.

Пов’язане: посібник із dpois, ppois, qpois і rpois у R

Ми також можемо створити гістограму, щоб візуально побачити, що вибіркові дані не розподілені нормально:

 hist(data, col=' coral2 ') 

Тестова гістограма Шапіро-Вілка в R

Ми бачимо, що розподіл має правий перекіс і не має типової «форми дзвона», пов’язаної з нормальним розподілом.

Таким чином, наша гістограма відповідає результатам тесту Крамера-фон Мізеса та підтверджує, що наші вибіркові дані не походять із нормального розподілу.

Що робити з нестандартними даними

Якщо заданий набір даних розподілений ненормально , ми часто можемо виконати одне з наступних перетворень, щоб зробити його більш нормальним:

1. Перетворення журналу: перетворення змінної відповіді з y на log(y) .

2. Перетворення квадратного кореня: перетворення змінної відповіді з y на √y .

3. Перетворення кубічного кореня: перетворення змінної відповіді з y на y 1/3 .

Виконуючи ці перетворення, змінна відповіді загалом наближається до нормального розподілу.

Зверніться до цього посібника , щоб побачити, як виконати ці перетворення на практиці.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші тести нормальності в R:

Як виконати тест Шапіро-Вілка в R
Як виконати тест Андерсона-Дарлінга в R
Як виконати пробу Колмогорова-Смирнова в Р

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *