Тест брауна–форсайта в r: покроковий приклад


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

Одне з припущень одностороннього дисперсійного аналізу полягає в тому, що дисперсії популяцій, з яких відбираються зразки, рівні.

Одним із найпоширеніших способів перевірити це є використання тесту Брауна-Форсайта , який є статистичним тестом, який використовує такі припущення :

  • H 0 : дисперсії між популяціями рівні.
  • H A : Відмінності між популяціями неоднакові.

Якщо p-значення тесту нижче певного рівня значущості (наприклад, α = 0,05), тоді ми відхиляємо нульову гіпотезу та робимо висновок, що дисперсії не однакові між різними сукупностями.

Цей підручник надає покроковий приклад того, як виконати тест Брауна-Форсайта в R.

Крок 1: Введіть дані

Припустімо, ми хотіли б знати, чи призводять три різні програми тренувань до різних рівнів втрати ваги.

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

Наступний набір даних містить інформацію про кількість втраченої ваги за кожною програмою:

 #make this example reproducible
set.seed(0)

#create data frame
data <- data.frame(program = as . factor ( rep (c(" A ", " B ", " C "), each = 30)),
                   weight_loss = c( runif (30, 0, 3),
                                   runif (30, 0, 5),
                                   runif (30, 1, 7)))

#view first six rows of data frame
head(data)

# program weight_loss
#1 A 2.6900916
#2 A 0.7965260
#3 A 1.1163717
#4 A 1.7185601
#5 A 2.7246234
#6 A 0.6050458

Крок 2: підсумуйте та візуалізуйте дані

Перед виконанням тесту Брауна-Форсайта ми можемо створити коробкові діаграми, щоб візуалізувати дисперсію втрати ваги для кожної групи:

 boxplot(weight_loss ~ program, data = data)

Ми також можемо розрахувати дисперсію втрати ваги в кожній групі:

 #load dplyr package
library (dplyr)

#calculate variance of weight loss by group
data %>%
group_by (program) %>%
  summarize (var=var(weight_loss))

# A tibble: 3 x 2
  program var
     
1 A 0.819
2 B 1.53 
3 C 2.46

Ми бачимо, що дисперсії між групами відрізняються, але щоб визначити, чи ці відмінності є статистично значущими , ми можемо виконати тест Брауна-Форсайта.

Крок 3: Виконайте тест Брауна-Форсайта

Щоб виконати тест Брауна-Форсайта в R, ми можемо використати функцію bf.test() з пакету onewaytests :

 #load onewaytests package
library (onewaytests)

#perform Brown-Forsythe test
bf.test(weight_loss ~ program, data = data)

  Brown-Forsythe Test (alpha = 0.05) 
-------------------------------------------------- ----------- 
  data: weight_loss and program 

  statistic: 30.83304 
  num df: 2 
  name df: 74.0272 
  p.value: 1.816529e-10 

  Result: Difference is statistically significant. 
-------------------------------------------------- -----------

P-значення тесту виявляється меншим за 0,000, і, як показує результат, відмінності в дисперсіях між трьома групами є статистично значущими.

Наступні кроки

Якщо ви не можете відхилити нульову гіпотезу тесту Брауна-Форсайта, ви можете виконати односторонній дисперсійний аналіз даних.

Однак якщо відкинути нульову гіпотезу, це означає, що припущення про рівність дисперсій порушується. У цьому випадку у вас є два варіанти:

1. Все одно виконайте односторонній дисперсійний аналіз.

Виявляється, односторонній дисперсійний аналіз фактично стійкий до нерівних дисперсій, якщо найбільша дисперсія не перевищує найменшу дисперсію в 4 рази.

На кроці 2 прикладу вище ми виявили, що найменша дисперсія становила 0,819, а найбільша – 2,46. Отже, відношення найбільшої дисперсії до найменшої становить 2,46/0,819 = 3,003 .

Оскільки це значення менше 4, ми могли б просто виконати односторонній дисперсійний аналіз.

2. Виконайте тест Крускала-Уолліса

Якщо відношення найбільшої дисперсії до найменшої дисперсії перевищує 4, замість цього можна вибрати тест Краскела-Уолліса . Це вважається непараметричним еквівалентом одностороннього дисперсійного аналізу.

Ви можете знайти покроковий приклад тесту Крускала-Уолліса в R тут .

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

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