Точні дві пропорції вибірки біноміального тесту в R (і деякі дивні p-значення)


23

Я намагаюся вирішити таке питання:

Гравець A виграв 17 з 25 ігор, а гравець B виграв 8 із 20 - чи є значна різниця між обома співвідношеннями?

Що потрібно зробити в R, що спадає на думку:

> prop.test(c(17,8),c(25,20),correct=FALSE)

    2-sample test for equality of proportions without continuity correction

data:  c(17, 8) out of c(25, 20)
X-squared = 3.528, df = 1, p-value = 0.06034
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.002016956  0.562016956
sample estimates:
prop 1 prop 2 
  0.68   0.40 

Тож цей тест говорить, що різниця не є істотною на рівні 95% довіри.

Оскільки ми знаємо, що prop.test()використовуючи лише наближення, я хочу зробити більш точні речі, використовуючи точний біноміальний тест - і я роблю це обома способами:

> binom.test(x=17,n=25,p=8/20)

    Exact binomial test

data:  17 and 25
number of successes = 17, number of trials = 25, p-value = 0.006693
alternative hypothesis: true probability of success is not equal to 0.4
95 percent confidence interval:
 0.4649993 0.8505046
sample estimates:
probability of success 
                  0.68 

> binom.test(x=8,n=20,p=17/25)

    Exact binomial test

data:  8 and 20
number of successes = 8, number of trials = 20, p-value = 0.01377
alternative hypothesis: true probability of success is not equal to 0.68
95 percent confidence interval:
 0.1911901 0.6394574
sample estimates:
probability of success 
                   0.4 

Тепер це дивно, чи не так? Значення р кожного разу абсолютно різні! В обох випадках зараз результати (дуже) значущі, але значення p, схоже, стрибають навколо досить випадково.

Мої запитання

  1. Чому значення р , що кожен раз різний?
  2. Як правильно виконати двомісний тест на пропорції вибірки в R правильно?

3
Хоча функція R відрізняється ( prop.testпорівняно з chisq.test), в цьому питанні є та сама концепція . Ви проводите три різні тести з різною "нульовою гіпотезою" у кожному з ваших трьох прикладів.
Affine

Відповіді:


26

Якщо ви шукаєте «точний» тест для двох біноміальних пропорцій, я вважаю, що ви шукаєте тест Фішера . У R він застосовується так:

> fisher.test(matrix(c(17, 25-17, 8, 20-8), ncol=2))
    Fisher's Exact Test for Count Data
data:  matrix(c(17, 25 - 17, 8, 20 - 8), ncol = 2)
p-value = 0.07671
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
  0.7990888 13.0020065
sample estimates:
odds ratio 
  3.101466 

fisher.testФункція приймає матрицю об'єкт «успіхів» і «невдач» два біноміальних пропорцій. Як бачимо, проте, двостороння гіпотеза все ще не є істотною, вибачте, сказати. Тим не менш, точний тест Фішера застосовується лише тоді, коли кількість клітин є низьким (зазвичай це означає 5 або менше, але деякі кажуть 10), тому ваше початкове використання prop.testє більш доцільним.

Що стосується ваших binom.testдзвінків, ви нерозумієте виклик. Під час запуску binom.test(x=17,n=25,p=8/20)ви перевіряєте, чи значно відрізняється пропорція від населення, де вірогідність успіху становить 8/20 . Так само з binom.test(x=8,n=20,p=17/25)твердженнями, ймовірність успіху становить 17/25 , тому ці p-значення відрізняються. Тому ви взагалі не порівнюєте дві пропорції.


2
Дякую, я прийняв вашу відповідь. Коли ви говорите, що prop.test є "більш підходящим", що саме ви маєте на увазі? Більш точний результат (буквально) дає Точний тест Фішера, чи не так?
фондж

4
Це насправді те, що дискутується серед статистиків, і я не маю абсолютної відповіді. Історично ви уникали Фішера, оскільки він стає дуже обчислювально складним, але комп'ютер обійдеться цим. Взагалі кажучи, точний тест Фішера є консервативним, і якщо ваші числа досить великі, статистика хі-квадрата (саме те, що prop.testобчислюється), швидше за все, не допустить помилки типу II.
cdeterman

Найважливішим моментом для мене є різна семантика prop.testі fisher.test: Перший називається подібним prop.test(matrix(c(17, 8, 25, 20), ncol=2))(даючи кількість успіхів у першому стовпчику та кількість випробувань у другому стовпчику), тоді як останній називається подібним fisher.test(matrix(c(17, 25-17, 8, 20-8), ncol=2))(даючи кількість успіхів і невдачі ); бо fisher.test, здається, транспозиція також не змінює результату.
krlmlr

Більш потужна альтернатива також доступна для тестів 2x2 - en.wikipedia.org/wiki/Barnard%27s_test
Hamy

4

Існує різниця між двома зразками та вибіркою порівняно з відомою гіпотезою. Отже, якщо хтось перевертає монету в 100 разів і отримує голову в 55 разів, а гіпотеза - це справедлива монета, проти двох людей, які перегортають монету невідомої справедливості, а один отримує голови 55 разів, а інший 45 разів. У першому випадку ви просто намагаєтесь визначити, чи здається, що фліппер перекидає справедливу монету. В останньому ви дивитесь, чи переглядають вони монети однакової справедливості. Ви можете бачити, як, якщо ви дивитесь на кожного гравця проти відомої ймовірності (45 проти 50 та 55 проти 50), відрізняється від порівняння їх між собою (45 проти 55).


2

Синтаксис " binom.testваших" успіхів протягом декількох випробувань порівняно з оцінкою популяційного бала . Хоча ви ввели це як p = 8/20, обчислення виглядає так, ніби це була дана Богом абсолютна істина 0,4 з нульовою дисперсією навколо нього. Або це так, як якщо б ви порівнювали гравців А з 17 перемог з 25 з гіпотетичними 8 мільярдів виграшів гравця з 20 мільярдів ігор. Однак prop.testпорівнює пропорцію 17/25 з усією її потенційною дисперсією до пропорції 8/20 з усією її власною дисперсією. Іншими словами, дисперсія в межах 0,7 (оцінка 17/25) та дисперсія навколо 0,4 можуть зливатися одна з одною з отриманим р = 0,06.


Тож це означало б, що правильний спосіб вирішити оригінальне питання prop.test(c(17,8),c(25,20),correct=FALSE), правда?
фондж

1
Так, це правильно. Якщо ви хочете отримати вказівки щодо того, чи маєте ви бути correct = FALSEпроти, correct = TRUEтоді я пропоную вам прочитати наступний stats.stackexchange.com/questions/185433/…
Farrel

2

Спочатку я б запропонував вам зробити корекцію безперервності, оскільки ви оцінюєте дискретний розподіл із суцільним (чі-квадратним) розподілом.

По-друге, важливо зрозуміти, як проводився "експеримент", якщо ви хочете. Чи було визначено кількість ігор, які грала кожна людина заздалегідь (або на просторічній галузі, зафіксована дизайном)? Якщо так, і якщо припустити, що результати кожного гравця не залежать від інших, ви маєте справу з продуктом двох біноміальних розподілів. Якщо натомість кількість ігор може змінюватись (скажімо, наприклад, кількість ігор, які кожна грала людина, були змінними, виходячи з кількості ігор, які кожна змогла виконати у визначені часові рамки), то ви маєте справу з Multinomial або розповсюдження Пуассона.

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

Спершу визнайте, що головна мета будь-якого тесту гіпотез - обчислити, наскільки «рідкісний» чи незвичний конкретний результат, який ви спостерігали, порівняно з усіма іншими можливими результатами. Це обчислюється шляхом обчислення ймовірності результату, який ви спостерігали - враховуючи припущення, що нульова гіпотеза є правдивою - підсумовується разом з усіма іншими можливими результатами, що мають рівну чи меншу ймовірність.

Тепер це повторює, що те, що ми маємо на увазі під "настільки рідкісними", "наскільки низька ймовірність спостереження за отриманим результатом порівняно з усіма іншими можливими результатами?" Ну і ймовірність конкретного результату, який ми спостерігали, становить 0,0679 * 0,0793 = 0,005115. Тепер розглянемо конкретний альтернативний результат: безсумнівно можливо, що гравець А міг виграти 7 із 20 своїх ігор, а гравець В міг виграти 13 з 25 своїх ігор. Ймовірність цього результату становить 0,004959. Зауважте, що це НИЗЬКЕ, ніж ймовірність нашого спостережуваного результату, тому його слід включати до значення p. Але подивіться ще раз: якщо ви вирішите, які результати включити до вашої суми, виходячи з того, чи різниця пропорцій перевищує різницю пропорцій у нашому спостережуваному результаті, ця ймовірність буде виключена! Чому? Тому що різниця в пропорціях для цього конкретного результату менша, ніж різниця пропорцій для нашого спостережуваного результату. Але це не є належним фокусом - ми повинні перейматися ймовірністю цього конкретного результату та рівним чи меншим, ніж ймовірність результату, яку ми спостерігали!

Хороше офіційне пояснення цьому можна знайти тут:

http://data.princeton.edu/wws509/notes/c5.pdf

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


Щодо коду R, який обчислює суму спільних біноміальних ймовірностей, які мають рівну або меншу ймовірність виникнення порівняно з ймовірністю спостережуваного результату, див. Відповідь на наступний відповідний пост: stats.stackexchange.com/questions/213295/…
користувач221943
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.