![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#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 корректными и использовать их для решения исходной задачи? Допускаю, что чего-то где-то недоучитываю. Или просто запутался. Или ответ на поверхности, но я его просто не замечаю. Буду благодарен за ваше видение ситуации. |
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 262 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 ![]() |
Как же тебя помнешь, если ты ничего не говоришь(С). Приходится додумывать, в связи с чем превратное понимание закономерно.
Пока что я понял только один вопрос: можно ли использовать одновыборочный критерий в двухвыборочной задаче, где одна из выборок - "нулевая"? Ответ - нельзя, поскольку эта "нулевость" - не параметр распределения, а его точечная выборочная оценка. Не исключено, что если б выборку еще увеличении, то в ней таки попалась бы парочка единиц. Поэтому надо использовать двухвыборочный критерий. Посмотрел на формулу двухвыборочного z-критерия - ноль в одной из выборок никак не мешает. Ноль в знаменателе появляется лишь в одном случае - если в обеих выборках одни только нули или одни только единицы. Вот только со сходимостью распределения статистики к нормальному закону в случае с нулевыми долями, сильно подозреваю, что все плохо. Сообщение отредактировал ИНО - 22.02.2023 - 05:13 |
|
![]() |
![]() |
![]() ![]() |