Здравствуйте, гость ( Вход | Регистрация )
18.02.2023 - 15:34
Сообщение
#1
|
|
|
Группа: Пользователи Сообщений: 231 Регистрация: 27.04.2016 Пользователь №: 28223 |
Уважаемые коллеги.
Что-то я зашел в тупик, прошу помощи. Задача классическая. Требуется провести одновыборочный z-тест для пропорций. Казалось бы все понятно. В любом учебнике, и даже информации на cran.r-project.org находим: Z=(pвыб-pтеор)/SQRT(pтеор*(1-pтеор)/N) где pвыб - доля положительных результатов в выбоке, pтеор - теоретически ожидаемая доля положительных результатов N - объем выборки. И все бы хорошо. Но вот вопрос - а каково буде значение этого критерия при pтеор=0 ? То есть, мы не ожидаем появления положительных событий вообще, а они происходят? Попытка посчитать "на бумажке" говорит о том, что знаменатель превращается в ноль и на этом все должно-бы закончиться. Причем нигде, никогда никаких специально оговоренных случаев или исключений для этого теста я не встречал. Готов допустить, что это ограничение считается "очевидным" и поэтому даже не упоминается. Но тогда надо допустить, что разработчики пакетов и функций реализующих этот тест будут выполнять такую проверку внутри реализаций. Если это действительно фундаментальное исключение. Ан нет. Пробую посчитать результат на Python с помощью функции proportions_ztest из пакета statsmodels.stats.proportion. Проверяю, что-же данная функция делает: "simple normal test for proportions. It should be the same as running the mean z-test on the data encoded 1 for event and 0 for no event so that the sum corresponds to the count.mIn the one and two sample cases with two-sided alternative, this test produces the same p-value as proportions_chisquare, since the chisquare is the distribution of the square of a standard normal distribution." И никаких ограничений. И тут неожиданность. При pтеор=0 и любом положительном значении pвыб результат спокойно высчитывается. Например - при pвыб=0.2 , N=10 имеем Z=1.5811388300841895 p_value=0.11384629800665805 и никаких сообщений об исключительной ситуации (и да, это двусторонний критерий, но суть от этого не меняется). Не могу понять, что происходит, но где-то наталкиваюсь на сообщение , что proportions_ztest из пакета statsmodels.stats.proportion реализовано по подобию функции prop.test из R. Сам я снес RStudio лет пять назад, проверить не могу, но лезу читать описание. И вдруг, с глубоким удивлением вижу там (ну, например: http://www.sthda.com/english/wiki/one-prop...on-z-test-in-r) формулу, по которой происходит расчет: Z=(pвыб-pтеор)/SQRT(pвыб*(1-pвыб)/N) Как говориться, "почувствуйте разницу"! В первую очередь, с тем, что написано на cran.r-project.org (см. ссылку в первом абзаце). В знаменателе теперь не pтеор, а pвыб. Делаю пересчет вручную, и результат, как и ожидалось, совпадает с тем, что выдает proportions_ztest (и скорее всего и prop.test). И вот теперь вопрос к знатокам. А какая-же формула корректна? Возможно-ли такая замена оценки дисперсии в знаменателе, если в результате мы получаем разные - пусть даже в одной точке - результаты? И можно-ли считать результаты, которые получены по формулам, реализованным в R и statsmodels для pтеор=0 корректными и использовать их для решения исходной задачи? Допускаю, что чего-то где-то недоучитываю. Или просто запутался. Или ответ на поверхности, но я его просто не замечаю. Буду благодарен за ваше видение ситуации. |
|
|
![]() |
![]() |
![]() |
19.02.2023 - 00:16
Сообщение
#2
|
|
|
Группа: Пользователи Сообщений: 231 Регистрация: 27.04.2016 Пользователь №: 28223 |
Вторая. Патамушта, если исследователь "лет 5 назад снес RStudio", ему ничто не мешает убедиться в том же Excel'е, что при p0=0 расчет все равно идет по второй формуле. Да, я тоже первое, что сделал - проверил на EXCEL, функция Z.ТЕСТ(...0). Сначала даже вставил абзац в свой вопрос, но потом, что-бы не делать его слишком длинным убрал. Но вообще-то это доказательством считать нельзя. Тем более, что там считается еще более специфично, чем в Python и R. 1). По поводу формул. Правильная первая. В авторитетной книге Флейса на стр. 26-27 даётся эта же формула, правда с поправкой на непрерывность в числителе, использование которой оговаривается: https://disk.yandex.ru/i/lyP2bDEO1R26bA Почему программы меняют её не знаю, может авторы считают, что это мы напутали. Но есть и другое соображение. Спасибо, обязательно гляну. 2). Возможно задача с теоретической вероятностью 0 или 1 не является статистической, а может и вообще вероятностной. Вообще-то задачу мне задали маркетологи, но я приведу "медицинский" пример (в меру моих крайне скудных представлений в этой области). Есть неизлечимая болезнь. Есть длинная выборка больных, ни один из которых не выжил. Я понимаю, что считать это генеральной совокупностью нельзя, но тем не менее. И есть препарат, после употребления которого появилась некоторая доля больных, которые выжили. Но выборка существенно (во много десятков раз) короче первой. И вот вопрос можно-ли считать, что препарат действенный? Особенно, если доля выживших очень мала? Появилась идея. Если рассматривать задачу с точки зрения двух независимых выборок, которая сводитьс к анализу равенства разности двух доль нулю, и использовать соответствующий тест, то там для оценки дисперсии этой разности двух доль используется SQRT(p1*(1-p1)/N1+p2*(1-p2)/N2 ). И тогда, если p2=0, то как бы мы возвращаемся к оценке, которая применяется в пакетах. Но вот корректна-ли такая подмена? Сообщение отредактировал passant - 19.02.2023 - 00:20 |
|
|
![]() |
![]() |
passant Одновыборочный z-тест для пропорций 18.02.2023 - 15:34
100$ ЦитатаИ вот теперь вопрос к знатокам. А какая-же ф... 18.02.2023 - 17:27
Игорь Покажите исходные данные и ссылку на источник. 18.02.2023 - 18:26
nokh Цитата(passant @ 18.02.2023 - 17:34)... 18.02.2023 - 18:41
ИНО Не подскажу насчет корректности и эквивалентности ... 19.02.2023 - 00:49
passant Цитата(ИНО @ 19.02.2023 - 00:49) , н... 19.02.2023 - 20:35
DoctorStat Цитата(passant @ 19.02.2023 - 20:35)... 19.02.2023 - 21:35

passant Цитата(DoctorStat @ 19.02.2023 - 21... 20.02.2023 - 00:35
ИНО Цитата(passant @ 19.02.2023 - 20:35)... 19.02.2023 - 23:53
DoctorStat Цитата(passant @ 18.02.2023 - 15:34)... 19.02.2023 - 19:08
Игорь Цитата(passant @ 18.02.2023 - 16:34)... 20.02.2023 - 09:10
passant Цитата(Игорь @ 20.02.2023 - 09:10) В... 20.02.2023 - 13:11
ИНО Цитата(passant @ 20.02.2023 - 13:11)... 20.02.2023 - 23:15
passant Цитата(ИНО @ 20.02.2023 - 23:15) ... 21.02.2023 - 13:57
comisora 2 passant
Добрый день. Мой ответ не касается Ваше... 20.02.2023 - 13:57
passant Цитата(comisora @ 20.02.2023 - 13:57... 20.02.2023 - 14:45
100$ ЦитатаПо поводу формул. Правильная первая.
ЦитатаК... 20.02.2023 - 16:06
Игорь Посмотрел русское издание Флейса (перевод первого ... 20.02.2023 - 19:18
ИНО Извините за резкость, но Вы упорно гоните какую-то... 21.02.2023 - 14:34
passant Цитата(ИНО @ 21.02.2023 - 14:34) Изв... 21.02.2023 - 19:12
ИНО Как же тебя помнешь, если ты ничего не говоришь(С)... 22.02.2023 - 05:06
Игорь Спешу поделиться ссылкой о мерах против "нуля... 26.02.2023 - 14:05
nokh Цитата(Игорь @ 26.02.2023 - 16:05) С... 26.02.2023 - 20:39
Игорь Цитата(nokh @ 26.02.2023 - 21:39) ве... 26.02.2023 - 21:50
100$ Ответил на свой вопрос устами проф. Агрести.
В об... 27.02.2023 - 14:06![]() ![]() |