Попередження в R - наближення Chi-квадрата може бути неправильним


40

У мене є дані, що показують результати вступного іспиту з пожежника. Я перевіряю гіпотезу про те, що результати іспитів та етнічна приналежність не є взаємно незалежними. Щоб перевірити це, я провів тест-квадрат Пірсона в Р. Результати показують, що я очікував, але він дав попередження, що "" In chisq.test(a) : Chi-squared approximation may be incorrect.

> a
       white black asian hispanic
pass       5     2     2        0
noShow     0     1     0        0
fail       0     2     3        4
> chisq.test(a)

    Pearson's Chi-squared test

data:  a
X-squared = 12.6667, df = 6, p-value = 0.04865

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

Хтось знає, чому це дало попередження? Це тому, що я використовую неправильний метод?


2
Ніколи не довіряйте результату з такою кількістю вимірювань. Коли у кожному стовпчику сотні людей, то ви можете мати певну впевненість у своїх результатах. Все-таки результат може бути більшим завдяки сусідству чи багатству, ніж самій гонці.
Родріго

Відповіді:


41

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

У Rви можете використовувати chisq.test(a, simulate.p.value = TRUE)для використання імітації значень p.

Однак при таких невеликих розмірах комірок всі оцінки будуть поганими. Було б добре просто перевірити пропуск проти відмови (видалення "не показувати") чи з квадратним чи логістичним регресом. Дійсно, оскільки цілком зрозуміло, що ступінь пропуску / відмови є залежною змінною, логістична регресія може бути кращою.


Що насправді simulate.p.value = TRUEробить, коли додається chisq.test?
Al14

1
Він використовує симуляції, щоб знайти значення р
Пітер Флом - Відновити Моніку

1
Зауважте, що simulate.p.value = TRUEвикористання імітації умовно визначається маргіналами , тому це справді версія точного тесту Фішера.
kjetil b halvorsen

23

Проблема полягає в тому, що наближення хі-квадрата до розподілу тестової статистики покладається на підрахунки, які приблизно розподіляються. Якщо багато очікуваних підрахунків дуже малі, наближення може бути поганим.

Зауважимо, що фактичний розподіл статистики чи-квадрата для незалежності в таблицях на випадок надзвичайних ситуацій дискретний, не безперервний.

Категорія ноушоу стане великим фактором для вирішення проблеми; одне, що слід враховувати - це злиття ноу-хау і провал. Ви все одно отримаєте попередження, але це майже не вплине на результати, і розповсюдження має бути цілком розумним (правило, яке застосовується до надання попередження, є надто суворим).

Але в будь-якому випадку, якщо ви готові умови на полях (як ви робите при виконанні точного критерію Фішера) , ви можете впоратися з проблемою дуже легко в R; встановити simulate.p.valueаргумент на TRUE; то ви не покладаєтесь на наближення хі-квадрата до розподілу тестової статистики.


чи можете ви мені пояснити, чому ".. наближення хі-квадрата до розподілу тестової статистики покладається на те, що підрахунки приблизно нормально розподіляються"? Я не розумію, як це може бути правдою, якщо один, наприклад, має таблицю на випадок 2х2. Як підрахунки можуть бути (приблизно) нормально розподілені? Як можливий нормальний розподіл білого, чорного, латиноамериканського та азіатського рахунків? Ви маєте на увазі просто трохи рівний? І як це стосується цього питання? : stats.stackexchange.com/questions/141407/…
Еросеннін

Багатоваріантне розподіл випадкових змінних має бути приблизно нормальним (хоча воно буде виродженим). Набір спостережуваних підрахунків - це лише одне векторне спостереження з цієї багатоваріантної норми - ви не можете судити про розподіл з одного спостереження. Щоб зробити оцінку, про яку я говорю, вам потрібно покластися на припущення; зробити це досить просто для окремих клітин (тобто граничний розподіл для даної комірки під нулем). Ви, здається, поєднуєте підрахунки по клітинках, але це не має сенсу, оскільки всі вони походять з різних розподілів
Glen_b

По-перше, дякую, що знайшли час! Отже, ви говорите, що підрахунок "вниз" таблиці непередбачених ситуацій повинен бути (уродженим) багатоваріантним нормальним, якщо ми розглянули багато спостережень? Чи це не означає, що підрахунок кожної окремої комірки також повинен бути нормальним, а також підраховує "набік" таблиці непередбачених ситуацій (я припускаю, що це ви маєте на увазі під "через")? F.ex клітинку з очікуваним значенням 5, як правило, слід розподілити близько 5, правда? Отже, якщо клітинка поперек має очікуване значення 40, ця клітина повинна бути нормально розподілена приблизно 40, а разом багатовимірна норма середнього значення 5 і 40, ні?
Еросеннін

1
У загальному випадку з фіксованими полями (про що я мав на увазі), ми би розміщували всі змінні в межах таблиці у вектор довжини , але вони лежать у гіперплощині розмірності - ось виродження. У випадку 2х2 це 1 ступінь свободи, і 4 рахунки комірок лежать уздовж лінії в 4D просторі. Але насправді немає місця для надання належних деталей. Ви все ще не зовсім зрозуміли це (хоча ви, здається, ближче). Можливо, ви хочете перезаписати щось на зразок свого першого питання (про сенс, у якому значення приблизно є нормальними) як запитання. r c ( r - 1 ) ( c - 1 )r×crc(r1)(c1)
Glen_b

Це важко і дуже цікаво. Якщо у вас є час, я переписав своє перше запитання тут: stats.stackexchange.com/questions/142429/… .
Еросеннін

12

Для таких невеликих підрахунків ви можете використовувати точний тест Фішера:

> fisher.test(a)

        Fisher's Exact Test for Count Data

data:  a 
p-value = 0.02618
alternative hypothesis: two.sided 

3

Перегляньте розділ «Припущення» статті про тестування у квадраті Пірсона .

Якщо у двох словах, коли кількість будь-яких клітин у вашій таблиці менше 5, то одне з припущень порушено. Я думаю, що саме на це посилається повідомлення про помилку. У пов'язаній статті ви також можете дізнатися про виправлення, яке можна застосувати.


6
Існує дві проблеми з вашим правилом рахунку менше ніж п’ять. Перший полягає в тому, що правильне твердження стосується очікуваних підрахунків, а не фактичних підрахунків. Друге - це занадто суворо. наближення часто працює добре , навіть якщо невелика частина очікуваних відліків складає менше п'ять. У цьому випадку, коли всі граничні стовпці складають п'ять чи менше, очевидно, що кожен очікуваний підрахунок невеликий, і тому ми радимо бути обережними. Також виправлення, зазначене у статті Вікіпедії, застосовується лише в одному випадку DF; у цьому випадку є 6 ДФ. χ2
whuber

0

Ваше основне питання стосується розміру вибірки, але я бачу, що порівняно більше двох груп. Якщо значення р у тесті дорівнює 0,05 або менше, було б важко інтерпретувати результати. Тому я ділюсь коротким сценарієм, який використовую в таких ситуаціях:

# Load the required packages:
library(MASS) # for chisq
library(descr) # for crosstable

CrossTable(a$exam_result, a$ethnicity
       fisher = T, chisq = T, expected = T,
       prop.c = F, prop.t = F, prop.chisq = F, 
       sresid = T, format = 'SPSS')

Цей код генерує чи-квадрат Пірсона, так і квадрат Фі-Фі. Він створює підрахунки, а також пропорції кожного з записів таблиці. На основі стандартизованих показників залишків або z-значень, тобто

sresid

Якщо він знаходиться поза діапазоном | 1.96 | тобто менше -1,96 або більше 1,96, то це значення p <0,05. Потім знак буде вказувати, чи є вони позитивно чи негативно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.