У меня есть данные, показывающие результаты вступительного экзамена пожарного. Я проверяю гипотезу о том, что результаты экзамена и этническая принадлежность не являются взаимно независимыми. Чтобы проверить это, я выполнил тест хи-квадрат Пирсона в R. Результаты показывают, что я ожидал, но он дал предупреждение, что " 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
Кто-нибудь знает, почему он дал предупреждение? Это потому, что я использую неправильный метод?
r
categorical-data
chi-squared
small-sample
error-message
user1883491
источник
источник
Ответы:
Это дало предупреждение, потому что многие из ожидаемых значений будут очень маленькими и, следовательно, приближения p могут быть неправильными.
В
R
вы можете использоватьchisq.test(a, simulate.p.value = TRUE)
для имитации р значения.Однако при таких малых размерах ячеек все оценки будут плохими. Возможно, было бы неплохо просто протестировать проход или провал (исключив «не показывать») с помощью хи-квадрат или логистической регрессии. Действительно, поскольку совершенно очевидно, что оценка прохождения / неудачи является зависимой переменной, логистическая регрессия может быть лучше.
источник
simulate.p.value = TRUE
делает, когда добавляетсяchisq.test
?simulate.p.value = TRUE
используется условное моделирование на маргиналах , поэтому это действительно версия точного теста Фишера.Проблема заключается в том, что приближение хи-квадрат к распределению тестовой статистики основано на том, что счетчики распределяются приблизительно нормально. Если многие из ожидаемых значений очень малы, аппроксимация может быть плохой.
Обратите внимание, что фактическое распределение статистики хи-квадрат для независимости в таблицах непредвиденных обстоятельств является дискретным, а не непрерывным.
Категория noshow будет большим вкладчиком в проблему; Единственное, что нужно учесть - это объединить noshow и потерпеть неудачу Вы все равно получите предупреждение, но оно не повлияет почти так же на результаты, и распределение должно быть достаточно разумным (правило, которое применяется перед выдачей предупреждения, слишком строго).
Но в любом случае, если вы хотите ограничить поля (как вы это делаете при выполнении точного теста Фишера), вы можете очень легко решить эту проблему в R; установить
simulate.p.value
аргумент вTRUE
; тогда вы не полагаетесь на приближение хи-квадрат к распределению статистики теста.источник
Для таких небольших подсчетов вы можете использовать точный критерий Фишера:
источник
Пожалуйста, смотрите раздел «Допущения» в тестовой статье Пирсона .
В двух словах: если в любой из ячеек таблицы меньше, чем 5, то одно из предположений нарушается. Я думаю, что это то, к чему относится сообщение об ошибке. В связанной статье вы также можете найти информацию об исправлении, которое можно применить.
источник
Ваш главный вопрос говорит о размере выборки, но я вижу, что сравниваются более двух групп. Если значение р из теста составляет 0,05 или менее, было бы трудно интерпретировать результаты. Поэтому я делюсь кратким сценарием, который я использую в таких ситуациях:
Этот код будет генерировать как хи-квадрат Пирсона, так и хи-квадрат Фишера. Он производит количество, а также пропорции каждой из записей таблицы. На основе стандартизированных оценок остатков или z-значений, т. Е.
Если это вне диапазона | 1.96 | то есть менее -1,96 или более 1,96, то значимо р <0,05. Знак будет указывать, положительно или отрицательно связаны.
источник