Як виконати тест крамера-фон мізеса в 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 ')
Ми бачимо, що розподіл має досить дзвоноподібну форму з піком у центрі розподілу, що є типовим для нормально розподілених даних.
Приклад 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 ')
Ми бачимо, що розподіл має правий перекіс і не має типової «форми дзвона», пов’язаної з нормальним розподілом.
Таким чином, наша гістограма відповідає результатам тесту Крамера-фон Мізеса та підтверджує, що наші вибіркові дані не походять із нормального розподілу.
Що робити з нестандартними даними
Якщо заданий набір даних розподілений ненормально , ми часто можемо виконати одне з наступних перетворень, щоб зробити його більш нормальним:
1. Перетворення журналу: перетворення змінної відповіді з y на log(y) .
2. Перетворення квадратного кореня: перетворення змінної відповіді з y на √y .
3. Перетворення кубічного кореня: перетворення змінної відповіді з y на y 1/3 .
Виконуючи ці перетворення, змінна відповіді загалом наближається до нормального розподілу.
Зверніться до цього посібника , щоб побачити, як виконати ці перетворення на практиці.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші тести нормальності в R:
Як виконати тест Шапіро-Вілка в R
Як виконати тест Андерсона-Дарлінга в R
Як виконати пробу Колмогорова-Смирнова в Р