Размер выборки для критерия независимости хи-квадрат Пирсона

Aug 17 2020

Я пытаюсь сделать $\chi^2$проверка независимости двух переменных. У меня проблема в том, что я борюсь с размером выборки для теста. У меня всегда получается несколько ячеек с 0 образцами.

У меня есть данные по всей популяции, но я не могу использовать их для проверки гипотез, поэтому я пробовал использовать разные размеры с заменой и без нее. Кроме того, население довольно небольшое - всего 162 человека.

При меньших размерах выборки chisq()функция в R продолжала выдавать сообщения об ошибках, что оценка может быть неверной.

> chisq = chisq.test(tbl)
Warning message:
In chisq.test(tbl) : Chi-squared approximation may be incorrect

Теперь я увеличил размер выборки до 100% населения с заменой. Ошибка исчезла, но меня беспокоит:

а) У меня в некоторых ячейках осталось 0 образцов :

                       var2_high    var2_low    var2_medium    var2_very_high
  var1_high                12           0             10                 3
  var1_low                 10          20              9                 1
  var1_medium               5          23             19                 0
  var1_very_high            9           0              0                41

И б) я не уверен, приемлем ли такой размер выборки .

Кто-нибудь может мне помочь с этими вопросами?

Ответы

1 nwaldo Aug 18 2020 at 05:08

Вы видите сообщение выше, потому что приближение хи-квадрат ненадежно при небольшом размере выборки. Я бы рекомендовал вам использовать исходные данные и выполнить точный тест Фишера. Ниже приводится пример того, когда может возникнуть эта проблема, и как мы можем решить ее с помощью вышеупомянутого теста.

Предположим, у нас есть следующие образцы данных ниже. Кроме того, точный тест Фишера был создан на основе эксперимента с дегустацией чая .

 Truth
Guess  Milk Tea
  Milk    3   1
  Tea     1   3

Мы хотим проверить гипотезу о том, что две переменные независимы. Используя критерий хи-квадрат, мы получаем предупреждение ниже:

Code:
TeaTasting <- matrix(c(3, 1, 1, 3), 
                     nrow = 2, 
                     dimnames = list(Guess = c("Milk", "Tea"), Truth = c("Milk", "Tea")))

chiSqTest= chisq.test(TeaTasting)
Warning message:
In chisq.test(TeaTasting) : Chi-squared approximation may be incorrect

Это неудивительно, поскольку размер выборки относительно невелик. Кроме того, мы видим, что все ожидаемые значения меньше 5.

chiSqTest$expected
      Truth
Guess  Milk Tea
  Milk    2   2
  Tea     2   2

В этом случае мы можем использовать точный критерий Фишера для проверки нашей гипотезы.

fisher.test(TeaTasting)

Учитывая, что наше значение p намного больше 0,05, мы можем сделать вывод об отсутствии статистических данных, свидетельствующих о том, что две переменные независимы.

Fisher's Exact Test for Count Data

data:  TeaTasting
p-value = 0.4857
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
   0.2117329 621.9337505
sample estimates:
odds ratio 
  6.408309