Задачи на ошибки первого и второго рода

Ошибки первого и второго рода

Выдвинутая гипотеза
может быть правильной или неправильной,
поэтому возникает необходимость её
проверки. Поскольку проверку производят
статистическими методами, её называют
статистической. В итоге статистической
проверки гипотезы в двух случаях может
быть принято неправильное решение, т.
е. могут быть допущены ошибки двух родов.

Ошибка первого
рода состоит в том, что будет отвергнута
правильная гипотеза.

Ошибка второго
рода состоит в том, что будет принята
неправильная гипотеза.

Подчеркнём, что
последствия этих ошибок могут оказаться
весьма различными. Например, если
отвергнуто правильное решение «продолжать
строительство жилого дома», то эта
ошибка первого рода повлечёт материальный
ущерб: если же принято неправильное
решение «продолжать строительство»,
несмотря на опасность обвала стройки,
то эта ошибка второго рода может повлечь
гибель людей. Можно привести примеры,
когда ошибка первого рода влечёт более
тяжёлые последствия, чем ошибка второго
рода.

Замечание 1.
Правильное решение может быть принято
также в двух случаях:

  1. гипотеза принимается,
    причём и в действительности она
    правильная;

  2. гипотеза отвергается,
    причём и в действительности она неверна.

Замечание 2.
Вероятность совершить ошибку первого
рода принято обозначать через
;
её называют уровнем значимости. Наиболее
часто уровень значимости принимают
равным 0,05 или 0,01. Если, например, принят
уровень значимости, равный 0,05, то это
означает, что в пяти случаях из ста
имеется риск допустить ошибку первого
рода (отвергнуть правильную гипотезу).

Статистический
критерий проверки нулевой гипотезы.
Наблюдаемое значение критерия

Для проверки
нулевой гипотезы используют специально
подобранную случайную величину, точное
или приближённое распределение которой
известно. Обозначим эту величину в целях
общности через
.

Статистическим
критерием

(или просто критерием) называют случайную
величину
,
которая служит для проверки нулевой
гипотезы.

Например, если
проверяют гипотезу о равенстве дисперсий
двух нормальных генеральных совокупностей,
то в качестве критерия
принимают отношение исправленных
выборочных дисперсий:.

Эта величина
случайная, потому что в различных опытах
дисперсии принимают различные, наперёд
неизвестные значения, и распределена
по закону Фишера – Снедекора.

Для проверки
гипотезы по данным выборок вычисляют
частные значения входящих в критерий
величин и таким образом получают частное
(наблюдаемое) значение критерия.

Наблюдаемым
значением
называют значение критерия, вычисленное
по выборкам. Например, если по двум
выборкам найдены исправленные выборочные
дисперсиии,
то наблюдаемое значение критерия.

Критическая
область. Область принятия гипотезы.
Критические точки

После выбора
определённого критерия множество всех
его возможных значений разбивают на
два непересекающихся подмножества:
одно из них содержит значения критерия,
при которых нулевая гипотеза отвергается,
а другая – при которых она принимается.

Критической
областью называют совокупность значений
критерия, при которых нулевую гипотезу
отвергают.

Областью принятия
гипотезы (областью допустимых значений)
называют совокупность значений критерия,
при которых гипотезу принимают.

Основной принцип
проверки статистических гипотез можно
сформулировать так: если наблюдаемое
значение критерия принадлежит критической
области – гипотезу отвергают, если
наблюдаемое значение критерия принадлежит
области принятия гипотезы – гипотезу
принимают.

Поскольку критерий
— одномерная случайная величина, все её
возможные значения принадлежат некоторому
интервалу. Поэтому критическая область
и область принятия гипотезы также
являются интервалами и, следовательно,
существуют точки, которые их разделяют.

Критическими
точками (границами)
называют точки, отделяющие критическую
область от области принятия гипотезы.

Различают
одностороннюю (правостороннюю или
левостороннюю) и двустороннюю критические
области.

Правосторонней
называют критическую область, определяемую
неравенством
>,
где— положительное число.

Левосторонней
называют критическую область, определяемую
неравенством
<,
где— отрицательное число.

Односторонней
называют правостороннюю или левостороннюю
критическую область.

Двусторонней
называют критическую область, определяемую
неравенствами
где.

В частности, если
критические точки симметричны относительно
нуля, двусторонняя критическая область
определяется неравенствами ( в
предположении, что
>0):

,
или равносильным неравенством
.

Отыскание
правосторонней критической области

Как найти критическую
область? Обоснованный ответ на этот
вопрос требует привлечения довольно
сложной теории. Ограничимся её элементами.
Для определённости начнём с нахождения
правосторонней критической области,
которая определяется неравенством
>,
где>0.
Видим, что для отыскания правосторонней
критической области достаточно найти
критическую точку. Следовательно,
возникает новый вопрос: как её найти?

Для её нахождения
задаются достаточной малой вероятностью
– уровнем значимости
.
Затем ищут критическую точку,
исходя из требования, чтобы при условии
справедливости нулевой гипотезы
вероятность того, критерийпримет значение, большее,
была равна принятому уровню значимости:
Р(>)=.

Для каждого критерия
имеются соответствующие таблицы, по
которым и находят критическую точку,
удовлетворяющую этому требованию.

Замечание 1.
Когда
критическая точка уже найдена, вычисляют
по данным выборок наблюдаемое значение
критерия и, если окажется, что
>,
то нулевую гипотезу отвергают; если же<,
то нет оснований, чтобы отвергнуть
нулевую гипотезу.

Пояснение. Почему
правосторонняя критическая область
была определена, исходя из требования,
чтобы при справедливости нулевой
гипотезы выполнялось соотношение

Р(>)=?
(*)

Поскольку вероятность
события
>мала (— малая вероятность), такое событие при
справедливости нулевой гипотезы, в силу
принципа практической невозможности
маловероятных событий, в единичном
испытании не должно наступить. Если всё
же оно произошло, т.е. наблюдаемое
значение критерия оказалось больше,
то это можно объяснить тем, что нулевая
гипотеза ложна и, следовательно, должна
быть отвергнута. Таким образом, требование
(*) определяет такие значения критерия,
при которых нулевая гипотеза отвергается,
а они и составляют правостороннюю
критическую область.

Замечание 2.
Наблюдаемое значение критерия может
оказаться большим
не потому, что нулевая гипотеза ложна,
а по другим причинам (малый объём выборки,
недостатки методики эксперимента и
др.). В этом случае, отвергнув правильную
нулевую гипотезу, совершают ошибку
первого рода. Вероятность этой ошибки
равна уровню значимости.
Итак, пользуясь требованием (*), мы с
вероятностьюрискуем совершить ошибку первого рода.

Замечание 3. Пусть
нулевая гипотеза принята; ошибочно
думать, что тем самым она доказана.
Действительно, известно, что один пример,
подтверждающий справедливость некоторого
общего утверждения, ещё не доказывает
его. Поэтому более правильно говорить,
«данные наблюдений согласуются с нулевой
гипотезой и, следовательно, не дают
оснований её отвергнуть».

На практике для
большей уверенности принятия гипотезы
её проверяют другими способами или
повторяют эксперимент, увеличив объём
выборки.

Отвергают гипотезу
более категорично, чем принимают.
Действительно, известно, что достаточно
привести один пример, противоречащий
некоторому общему утверждению, чтобы
это утверждение отвергнуть. Если
оказалось, что наблюдаемое значение
критерия принадлежит критической
области, то этот факт и служит примером,
противоречащим нулевой гипотезе, что
позволяет её отклонить.

Отыскание
левосторонней и двусторонней критических
областей***

Отыскание
левосторонней и двусторонней критических
областей сводится (так же, как и для
правосторонней) к нахождению соответствующих
критических точек. Левосторонняя
критическая область определяется
неравенством
<(<0).
Критическую точку находят, исходя из
требования, чтобы при справедливости
нулевой гипотезы вероятность того, что
критерий примет значение, меньшее,
была равна принятому уровню значимости:
Р(<)=.

Двусторонняя
критическая область определяется
неравенствами
Критические
точки находят, исходя из требования,
чтобы при справедливости нулевой
гипотезы сумма вероятностей того, что
критерий примет значение, меньшееили большее,
была равна принятому уровню значимости:

.
(*)

Ясно, что критические
точки могут быть выбраны бесчисленным
множеством способов. Если же распределение
критерия симметрично относительно нуля
и имеются основания (например, для
увеличения мощности) выбрать симметричные
относительно нуля точки (-
(>0),
то

Учитывая (*), получим
.

Это соотношение
и служит для отыскания критических
точек двусторонней критической области.
Критические точки находят по соответствующим
таблицам.

Дополнительные
сведения о выборе критической области.
Мощность критерия

Мы строили
критическую область, исходя из требования,
чтобы вероятность попадания в неё
критерия была равна
при условии, что нулевая гипотеза
справедлива. Оказывается целесообразным
ввести в рассмотрение вероятность
попадания критерия в критическую область
при условии, что нулевая гипотеза неверна
и, следовательно, справедлива конкурирующая.

Мощностью критерия
называют вероятность попадания критерия
в критическую область при условии, что
справедлива конкурирующая гипотеза.
Другими словами, мощность критерия есть
вероятность того, что нулевая гипотеза
будет отвергнута, если верна конкурирующая
гипотеза.

Пусть для проверки
гипотезы принят определённый уровень
значимости и выборка имеет фиксированный
объём. Остаётся произвол в выборе
критической области. Покажем, что её
целесообразно построить так, чтобы
мощность критерия была максимальной.
Предварительно убедимся, что если
вероятность ошибки второго рода (принять
неправильную гипотезу) равна
,
то мощность равна 1-.
Действительно, если— вероятность ошибки второго рода, т.е.
события «принята нулевая гипотеза,
причём справедливо конкурирующая», то
мощность критерия равна 1 —.

Пусть мощность 1

возрастает; следовательно, уменьшается
вероятностьсовершить ошибку второго рода. Таким
образом, чем мощность больше, тем
вероятность ошибки второго рода меньше.

Итак, если уровень
значимости уже выбран, то критическую
область следует строить так, чтобы
мощность критерия была максимальной.
Выполнение этого требования должно
обеспечить минимальную ошибку второго
рода, что, конечно, желательно.

Замечание 1.
Поскольку вероятность события «ошибка
второго рода допущена» равна
,
то вероятность противоположного события
«ошибка второго рода не допущена» равна
1 —,
т.е. мощности критерия. Отсюда следует,
что мощность критерия есть вероятность
того, что не будет допущена ошибка
второго рода.

Замечание 2. Ясно,
что чем меньше вероятности ошибок
первого и второго рода, тем критическая
область «лучше». Однако при заданном
объёме выборки уменьшить одновременно
иневозможно; если уменьшить,
тобудет возрастать. Например, если принять=0,
то будут приниматься все гипотезы, в
том числе и неправильные, т.е. возрастает
вероятностьошибки второго рода.

Как же выбрать
наиболее целесообразно? Ответ на этот
вопрос зависит от «тяжести последствий»
ошибок для каждой конкретной задачи.
Например, если ошибка первого рода
повлечёт большие потери, а второго рода
– малые, то следует принять возможно
меньшее.

Если
уже выбрано, то, пользуясь теоремой Ю.
Неймана и Э.Пирсона, можно построить
критическую область, для которойбудет минимальным и, следовательно,
мощность критерия максимальной.

Замечание 3.
Единственный способ одновременного
уменьшения вероятностей ошибок первого
и второго рода состоит в увеличении
объёма выборок.

Соседние файлы в папке Лекции 2 семестр

  • #
  • #
  • #
  • #

Пример 1

При исследовании качества выпускаемой предприятием продукции проведено обследование 100
случайно отобранных изделий. Оказалось, что 6 из них имеют брак. Пусть случайная величина X – число бракованных
изделий в партии из 1000 изделий, выпущенных тем же предприятием. Относительно случайной величины X могут быть
сформулированы, например, следующие предположения.

1)
Случайная величина X имеет биномиальное распределение B(1000; 0,06).

2)
Случайная величина X имеет биномиальное распределение B(1000, p), где 0,04 < p < 0,08.

3)
Математическое ожидание случайной величины X равно 70.

4)
Дисперсия случайной величины X не более 2,3.

5)
Вероятность того, что во всей партии будет более 80 бракованных изделий, не превосходит 90%.

6)
Вероятность того, что во всей партии будет равно 60 бракованных изделий, не менее 95%.

Определить, какие из сформулированных гипотез являются статистическими, какие
статистические гипотезы являются простыми, а какие сложными?

Решение

Запишем эти гипотезы формально.

1) ${{H}_{0}}:Xsim{ }B(1000;0,6)$.

2) ${{H}_{0}}:Xsim{ }B(1000;p), 0,04le ple 0,08$.

3) ${{H}_{0}}:{{m}_{X}}=70$.

4) ${{H}_{0}}:{{d}_{X}}le 2,3$.

5) ${{H}_{0}}:P(X>80)le 0,9$.

6) ${{H}_{0}}:P(X=60)ge 0,95$.

Все приведённые гипотезы являются параметрическими, поскольку распределение случайной величины X известно априорно
из условий эксперимента, а все гипотезы связаны так или иначе с неизвестным параметром p биномиального распределения.
Гипотезы 1) и 3) являются простыми, поскольку содержат утверждения, однозначно определяющие значение оцениваемого
параметра.


Пример 2

Исследуется качество производства элемента интегральной микросхемы на двух технологических линиях. Мерой качества
производства является дисперсия размера элементов. Результаты выборочного наблюдения размеров выпущенных
интегральных микросхем на двух технологических линиях приведены в
Примере 2*.
Пусть случайные величины X1 и X2 – размеры элементов микросхем на первой и второй линиях соответственно.
Относительно этих случайных величин могут быть сформулированы, например, следующие предположения.

1) Размер элементов микросхем, произведённых на первой линии, является нормально распределённой случайной величиной.

2) Размер элементов микросхем, произведённых на второй линии, распределён по закону N(0,25; 0,05).

3) Математические ожидания размеров элементов микросхем, произведённых на первой и второй линиях, равны.

4) Качество производства элементов микросхем на второй линии выше, чем на первой.

Определить, какие из сформулированных гипотез являются статистическими, какие
статистические гипотезы являются простыми, а какие сложными?

Решение

Запишем эти гипотезы формально.

1) ${{H}_{0}}:{{X}_{1}}sim{ }N({{m}_{1}},{{sigma }_{1}})$.

2) ${{H}_{0}}:{{X}_{2}}sim{ }N(0,25;0,05)$.

3) ${{H}_{0}}:{{m}_{1}}={{m}_{2}}$.

4) ${{H}_{0}}:sigma _{1}^{2}>sigma _{2}^{2}$.

Здесь гипотезы 3) и 4) являются параметрическими, 1) и 2) – непараметрическими. Гипотезы 2) и 3) – простые, 1) и 4) – сложные.


Пример 3

Наблюдаемый объект может быть либо своим, либо объектом противника. Система обнаружения
относит объект к одному из классов по результатам нескольких замеров определённых характеристик. Основная
гипотеза H0: объект свой; альтернативная гипотеза H’: объект чужой. В чём состоят ошибки
первого и второго рода?

Решение

Результат замера определённой характеристики объекта является случайной величиной
вследствие погрешности измерительного прибора, влияния на результат измерения внешних случайных факторов или вследствие
иных причин. Однако, вывод о том, является ли объект своим или чужим, должен проводиться на основе истинных значений этих
характеристик. Для этой цели выдвигается статистическая гипотеза.

Ошибка первого рода возникнет, если в результате проверки статистического критерия
будет принято решение о том, что характеристики объекта соответствуют своему объекту, в то время как на самом деле объект
является объектом противника («пропущен чужой»).

Ошибка второго рода возникнет, если в результате проверки статистического критерия будет
принято решение о том, что характеристики объекта соответствуют объекту противника, в то время как на самом деле объект
является своим («уничтожен свой»).


Пример 4

Технология производства элемента интегральной микросхемы удовлетворяет производственным нормам,
если вероятность брака в элементе не более 0,01. Соответствие производственным нормам проводится на основе выборочного
наблюдения 1000 элементов. Если не более, чем 15 элементов, имеют брак, то считается, что производственные нормы соблюдены.
В противном случае делается вывод о несоответствии технологии производства нормам.

Пусть p – вероятность брака в элементе интегральной микросхемы.
Сформулируем основную и альтернативную гипотезы:

$H_0:ple 0,01,$
$H’:p>0,01.$

Ответить на следующие вопросы.

1)
Какая статистика критерия используется в данной задаче, каковы её распределение и область значений?

2)
Какое решающее правило для проверки основной гипотезы используется в данной задаче. Какова область допустимых значений и критическая область?

3)
В чём состоят ошибки первого и второго рода?

Решение

По условию задачи статистическое решение принимается на основе значения случайной
величины Z – числа бракованных элементов в серии из 1000. Таким образом, случайная величина Z является
статистикой критерия. Очевидно, что $Zsim{ }B(1000,p)$. Возможные значения статистики Z: 0, 1, …, 1000.

Решающее правило: если z ≤ 15, то H0 принимается,
если z > 15, то H0 отвергается. Таким образом, область допустимых
значений ${{Omega }_{0}}={0,…,15}$, критическая область $Omega ‘={16,…,1000}$.

Ошибка первого рода возникнет, если число бракованных элементов в выборке из 1000 будет
более 15 (гипотеза H0 будет отвергнута), при этом вероятность брака в отдельном элементе p ≤ 0,01,
т.е. будет принято решение о несоответствии производственным нормам, в то время как на самом деле соответствие есть.

Ошибка второго рода возникнет, если число бракованных элементов в выборке из 1000 будет
не более 15 (гипотеза H0 будет принята), при этом вероятность брака в отдельном
элементе p > 0,01, т.е. будет принято решение о соответствии производственным нормам, в то время как на самом
деле соответствия нет.


Пример 5

В условиях Примера 4 выдвигаются следующие основная и альтернативная гипотезы относительно
вероятности p брака в элементе интегральной микросхемы:

$ {{H}_{0}}:p=0,01, $
$H’:p>0,01.$

Построить функцию мощности статистического критерия: если выборочное значение z
статистики критерия Z – числа бракованных изделий из n = 1000 – не более 15, то H0 принимается,
если z > 15, то H0 отвергается.

Решение

Запишем выражение для вероятности β ошибки второго рода при условии, что
вероятность p = p1, где $p_1 in (0;infty)$:

$beta ({{p}_{1}})=P(Zin {{Omega }_{0}}|p={{p}_{1}})$.

Статистика критерия Z при условии, что p = p1 имеет
биномиальное распределение B(1000, p1). Согласно теореме Муавра-Лапласа, при больших n
биномиальное распределение может быть аппроксимировано нормальным:

$Zsim{ }N({{m}_{Z}},{{sigma }_{Z}})$,

где ${{m}_{Z}}({{p}_{1}})=n{{p}_{1}}$ и ${{sigma }_{Z}}({{p}_{1}})=n{{p}_{1}}(1-{{p}_{1}})$.

Учитывая, что область допустимых значений статистики критерия ${{Omega }_{0}}={0,…,15}$,
запишем

$beta ({{p}_{1}})=P(0le Zle 15|p={{p}_{1}})=P(0le {{sigma }_{Z}}({{p}_{1}})U+{{m}_{Z}}({{p}_{1}})le 15)=Pleft( -frac{{{m}_{Z}}({{p}_{1}})}{{{sigma }_{Z}}({{p}_{1}})}le Ule frac{15-{{m}_{Z}}({{p}_{1}})}{{{sigma }_{Z}}({{p}_{1}})} right)=Pleft( -frac{1}{1-{{p}_{1}}}le Ule frac{15-n{{p}_{1}}}{n{{p}_{1}}(1-{{p}_{1}})} right)=Phi left( frac{15-n{{p}_{1}}}{n{{p}_{1}}(1-{{p}_{1}})} right)-Phi left( -frac{1}{1-{{p}_{1}}} right),$

где $ U sim N(0,1)$ – стандартизованная нормально распределённая случайная величина, а Ф – функция Лапласа.
Вычисляя с помощью таблиц математической статистики вероятность β(p1) для нескольких
значений p1, строим функцию мощности критерия $mu ({{p}_{1}})=1-beta ({{p}_{1}})$ поточечно.

Вероятность ошибки первого рода: $ alpha =P(Zin Omega ‘|{{H}_{0}})=P(Z>15|p=0,01)=1-beta (0,01)=mu (0,01)approx 0,46.$

Экспериментальное исследование

Проверка корректности А/Б тестов

Время на прочтение
8 мин

Количество просмотров 7.9K

Хабр, привет! Сегодня поговорим о том, что такое корректность статистических критериев в контексте А/Б тестирования. Узнаем, как проверить, является критерий корректным или нет. Разберём пример, в котором тест Стьюдента не работает.

Меня зовут Коля, я работаю аналитиком данных в X5 Tech. Мы с Сашей продолжаем писать серию статей по А/Б тестированию, это наша третья статья. Первые две можно посмотреть тут:

  • Стратификация. Как разбиение выборки повышает чувствительность A/Б теста

  • Бутстреп и А/Б тестирование

Корректный статистический критерий

В А/Б тестировании при проверке гипотез с помощью статистических критериев можно совершить одну из двух ошибок:

  • ошибку первого рода – отклонить нулевую гипотезу, когда на самом деле она верна. То есть сказать, что эффект есть, хотя на самом деле его нет;

  • ошибку второго рода – не отклонить нулевую гипотезу, когда на самом деле она неверна. То есть сказать, что эффекта нет, хотя на самом деле он есть.

Совсем не ошибаться нельзя. Чтобы получить на 100% достоверные результаты, нужно бесконечно много данных. На практике получить столько данных затруднительно. Если совсем не ошибаться нельзя, то хотелось бы ошибаться не слишком часто и контролировать вероятности ошибок.

В статистике ошибка первого рода считается более важной. Поэтому обычно фиксируют допустимую вероятность ошибки первого рода, а затем пытаются минимизировать вероятность ошибки второго рода.

Предположим, мы решили, что допустимые вероятности ошибок первого и второго рода равны 0.1 и 0.2 соответственно. Будем называть статистический критерий корректным, если его вероятности ошибок первого и второго рода равны допустимым вероятностям ошибок первого и второго рода соответственно.

Как сделать критерий, в котором вероятности ошибок будут равны допустимым вероятностям ошибок?

Вероятность ошибки первого рода по определению равна уровню значимости критерия. Если уровень значимости положить равным допустимой вероятности ошибки первого рода, то вероятность ошибки первого рода должна стать равной допустимой вероятности ошибки первого рода.

Вероятность ошибки второго рода можно подогнать под желаемое значение, меняя размер групп или снижая дисперсию в данных. Чем больше размер групп и чем ниже дисперсия, тем меньше вероятность ошибки второго рода. Для некоторых гипотез есть готовые формулы оценки размера групп, при которых достигаются заданные вероятности ошибок.

Например, формула оценки необходимого размера групп для гипотезы о равенстве средних:

n > frac{left[ Phi^{-1} left( 1-alpha / 2 right) + Phi^{-1} left( 1-beta right) right]^2 (sigma_A^2 + sigma_B^2)}{varepsilon^2}

где alpha и beta – допустимые вероятности ошибок первого и второго рода, varepsilon – ожидаемый эффект (на сколько изменится среднее), sigma_A и sigma_B – стандартные отклонения случайных величин в контрольной и экспериментальной группах.

Проверка корректности

Допустим, мы работаем в онлайн-магазине с доставкой. Хотим исследовать, как новый алгоритм ранжирования товаров на сайте влияет на среднюю выручку с покупателя за неделю. Продолжительность эксперимента – одна неделя. Ожидаемый эффект равен +100 рублей. Допустимая вероятность ошибки первого рода равна 0.1, второго рода – 0.2.

Оценим необходимый размер групп по формуле:

import numpy as np
from scipy import stats

alpha = 0.1                     # допустимая вероятность ошибки I рода
beta = 0.2                      # допустимая вероятность ошибки II рода
mu_control = 2500               # средняя выручка с пользователя в контрольной группе
effect = 100                    # ожидаемый размер эффекта
mu_pilot = mu_control + effect  # средняя выручка с пользователя в экспериментальной группе
std = 800                       # стандартное отклонение

# исторические данные выручки для 10000 клиентов
values = np.random.normal(mu_control, std, 10000)

def estimate_sample_size(effect, std, alpha, beta):
    """Оценка необходимого размер групп."""
    t_alpha = stats.norm.ppf(1 - alpha / 2, loc=0, scale=1)
    t_beta = stats.norm.ppf(1 - beta, loc=0, scale=1)
    var = 2 * std ** 2
    sample_size = int((t_alpha + t_beta) ** 2 * var / (effect ** 2))
    return sample_size

estimated_std = np.std(values)
sample_size = estimate_sample_size(effect, estimated_std, alpha, beta)
print(f'оценка необходимого размера групп = {sample_size}')
оценка необходимого размера групп = 784

Чтобы проверить корректность, нужно знать природу случайных величин, с которыми мы работаем. В этом нам помогут исторические данные. Представьте, что мы перенеслись в прошлое на несколько недель назад и запустили эксперимент с таким же дизайном, как мы планировали запустить его сейчас. Дизайн – это совокупность параметров эксперимента, таких как: целевая метрика, допустимые вероятности ошибок первого и второго рода, размеры групп и продолжительность эксперимента, техники снижения дисперсии и т.д.

Так как это было в прошлом, мы знаем, какие покупки совершили пользователи, можем вычислить метрики и оценить значимость отличий. Кроме того, мы знаем, что эффекта на самом деле не было, так как в то время эксперимент на самом деле не запускался. Если значимые отличия были найдены, то мы совершили ошибку первого рода. Иначе получили правильный результат.

Далее нужно повторить эту процедуру с мысленным запуском эксперимента в прошлом на разных группах и временных интервалах много раз, например, 1000.

После этого можно посчитать долю экспериментов, в которых была совершена ошибка. Это будет точечная оценка вероятности ошибки первого рода.

Оценку вероятности ошибки второго рода можно получить аналогичным способом. Единственное отличие состоит в том, что каждый раз нужно искусственно добавлять ожидаемый эффект в данные экспериментальной группы. В этих экспериментах эффект на самом деле есть, так как мы сами его добавили. Если значимых отличий не будет найдено – это ошибка второго рода. Проведя 1000 экспериментов и посчитав долю ошибок второго рода, получим точечную оценку вероятности ошибки второго рода.

Посмотрим, как оценить вероятности ошибок в коде. С помощью численных синтетических А/А и А/Б экспериментов оценим вероятности ошибок и построим доверительные интервалы:

def run_synthetic_experiments(values, sample_size, effect=0, n_iter=10000):
    """Проводим синтетические эксперименты, возвращаем список p-value."""
    pvalues = []
    for _ in range(n_iter):
        a, b = np.random.choice(values, size=(2, sample_size,), replace=False)
        b += effect
        pvalue = stats.ttest_ind(a, b).pvalue
        pvalues.append(pvalue)
    return np.array(pvalues)

def print_estimated_errors(pvalues_aa, pvalues_ab, alpha):
    """Оценивает вероятности ошибок."""
    estimated_first_type_error = np.mean(pvalues_aa < alpha)
    estimated_second_type_error = np.mean(pvalues_ab >= alpha)
    ci_first = estimate_ci_bernoulli(estimated_first_type_error, len(pvalues_aa))
    ci_second = estimate_ci_bernoulli(estimated_second_type_error, len(pvalues_ab))
    print(f'оценка вероятности ошибки I рода = {estimated_first_type_error:0.4f}')
    print(f'  доверительный интервал = [{ci_first[0]:0.4f}, {ci_first[1]:0.4f}]')
    print(f'оценка вероятности ошибки II рода = {estimated_second_type_error:0.4f}')
    print(f'  доверительный интервал = [{ci_second[0]:0.4f}, {ci_second[1]:0.4f}]')

def estimate_ci_bernoulli(p, n, alpha=0.05):
    """Доверительный интервал для Бернуллиевской случайной величины."""
    t = stats.norm.ppf(1 - alpha / 2, loc=0, scale=1)
    std_n = np.sqrt(p * (1 - p) / n)
    return p - t * std_n, p + t * std_n

pvalues_aa = run_synthetic_experiments(values, sample_size, effect=0)
pvalues_ab = run_synthetic_experiments(values, sample_size, effect=effect)
print_estimated_errors(pvalues_aa, pvalues_ab, alpha)
оценка вероятности ошибки I рода = 0.0991
  доверительный интервал = [0.0932, 0.1050]
оценка вероятности ошибки II рода = 0.1978
  доверительный интервал = [0.1900, 0.2056]

Оценки вероятностей ошибок примерно равны 0.1 и 0.2, как и должно быть. Всё верно, тест Стьюдента на этих данных работает корректно.

Распределение p-value

Выше рассмотрели случай, когда тест контролирует вероятность ошибки первого рода при фиксированном уровне значимости. Если решим изменить уровень значимости с 0.1 на 0.01, будет ли тест контролировать вероятность ошибки первого рода? Было бы хорошо, если тест контролировал вероятность ошибки первого рода при любом заданном уровне значимости. Формально это можно записать так:

Для любого alpha in [0, 1] выполняется mathbb{P}(pvalue < alpha | H_0) = alpha.

Заметим, что в левой части равенства записано выражение для функции распределения p-value. Из равенства следует, что функция распределения p-value в точке X равна X для любого X от 0 до 1. Эта функция распределения является функцией распределения равномерного распределения от 0 до 1. Мы только что показали, что статистический критерий контролирует вероятность ошибки первого рода на заданном уровне для любого уровня значимости тогда и только тогда, когда при верности нулевой гипотезы p-value распределено равномерно от 0 до 1.

При верности нулевой гипотезы p-value должно быть распределено равномерно. А как должно быть распределено p-value при верности альтернативной гипотезы? Из условия для вероятности ошибки второго рода mathbb{P}(pvalue geq alpha | H_1) = beta следует, что mathbb{P}(pvalue < alpha | H_1) = 1 - beta.

Получается, график функции распределения p-value при верности альтернативной гипотезы должен проходить через точку [alpha, 1 - beta], где alpha и beta – допустимые вероятности ошибок конкретного эксперимента.

Проверим, как распределено p-value в численном эксперименте. Построим эмпирические функции распределения p-value:

import matplotlib.pyplot as plt

def plot_pvalue_distribution(pvalues_aa, pvalues_ab, alpha, beta):
    """Рисует графики распределения p-value."""
    estimated_first_type_error = np.mean(pvalues_aa < alpha)
    estimated_second_type_error = np.mean(pvalues_ab >= alpha)
    y_one = estimated_first_type_error
    y_two = 1 - estimated_second_type_error
    X = np.linspace(0, 1, 1000)
    Y_aa = [np.mean(pvalues_aa < x) for x in X]
    Y_ab = [np.mean(pvalues_ab < x) for x in X]

    plt.plot(X, Y_aa, label='A/A')
    plt.plot(X, Y_ab, label='A/B')
    plt.plot([alpha, alpha], [0, 1], '--k', alpha=0.8)
    plt.plot([0, alpha], [y_one, y_one], '--k', alpha=0.8)
    plt.plot([0, alpha], [y_two, y_two], '--k', alpha=0.8)
    plt.plot([0, 1], [0, 1], '--k', alpha=0.8)

    plt.title('Оценка распределения p-value', size=16)
    plt.xlabel('p-value', size=12)
    plt.legend(fontsize=12)
    plt.grid()
    plt.show()

plot_pvalue_distribution(pvalues_aa, pvalues_ab, alpha, beta)

P-value для синтетических А/А тестах действительно оказалось распределено равномерно от 0 до 1, а для синтетических А/Б тестов проходит через точку [alpha, 1 - beta].

Кроме оценок распределений на графике дополнительно построены четыре пунктирные линии:

  • диагональная из точки [0, 0] в точку [1, 1] – это функция распределения равномерного распределения на отрезке от 0 до 1, по ней можно визуально оценивать равномерность распределения p-value;

  • вертикальная линия с x=alpha – пороговое значение p-value, по которому определяем отвергать нулевую гипотезу или нет. Проекция на ось ординат точки пересечения вертикальной линии с функцией распределения p-value для А/А тестов – это вероятность ошибки первого рода. Проекция точки пересечения вертикальной линии с функцией распределения p-value для А/Б тестов – это мощность теста (мощность = 1 — beta). 

  • две горизонтальные линии – проекции на ось ординат точки пересечения вертикальной линии с функцией распределения p-value для А/А и А/Б тестов.

График с оценками распределения p-value для синтетических А/А и А/Б тестов позволяет проверить корректность теста для любого значения уровня значимости.

Некорректный критерий

Выше рассмотрели пример, когда тест Стьюдента оказался корректным критерием для случайных данных из нормального распределения. Может быть, все критерии всегда работаю корректно, и нет смысла каждый раз проверять вероятности ошибок?

Покажем, что это не так. Немного изменим рассмотренный ранее пример, чтобы продемонстрировать некорректную работу критерия. Допустим, мы решили увеличить продолжительность эксперимента до 2-х недель. Для каждого пользователя будем вычислять стоимость покупок за первую неделю и стоимость покупок за второю неделю. Полученные стоимости будем передавать в тест Стьюдента для проверки значимости отличий. Положим, что поведение пользователей повторяется от недели к неделе, и стоимости покупок одного пользователя совпадают.

def run_synthetic_experiments_two(values, sample_size, effect=0, n_iter=10000):
    """Проводим синтетические эксперименты на двух неделях."""
    pvalues = []
    for _ in range(n_iter):
        a, b = np.random.choice(values, size=(2, sample_size,), replace=False)
        b += effect
        # дублируем данные
        a = np.hstack((a, a,))
        b = np.hstack((b, b,))
        pvalue = stats.ttest_ind(a, b).pvalue
        pvalues.append(pvalue)
    return np.array(pvalues)

pvalues_aa = run_synthetic_experiments_two(values, sample_size)
pvalues_ab = run_synthetic_experiments_two(values, sample_size, effect=effect)
print_estimated_errors(pvalues_aa, pvalues_ab, alpha)
plot_pvalue_distribution(pvalues_aa, pvalues_ab, alpha, beta)
оценка вероятности ошибки I рода = 0.2451
  доверительный интервал = [0.2367, 0.2535]
оценка вероятности ошибки II рода = 0.0894
  доверительный интервал = [0.0838, 0.0950]

Получили оценку вероятности ошибки первого рода около 0.25, что сильно больше уровня значимости 0.1. На графике видно, что распределение p-value для синтетических А/А тестов не равномерно, оно отклоняется от диагонали. В этом примере тест Стьюдента работает некорректно, так как данные зависимые (стоимости покупок одного человека зависимы). Если бы мы сразу не догадались про зависимость данных, то оценка вероятностей ошибок помогла бы нам понять, что такой тест некорректен.

Итоги

Мы обсудили, что такое корректность статистического теста, посмотрели, как оценить вероятности ошибок на исторических данных и привели пример некорректной работы критерия.

Таким образом:

  • корректный критерий – это критерий, у которого вероятности ошибок первого и второго рода равны допустимым вероятностям ошибок первого и второго рода соответственно;

  • чтобы критерий контролировал вероятность ошибки первого рода для любого уровня значимости, необходимо и достаточно, чтобы p-value при верности нулевой гипотезы было распределено равномерно от 0 до 1.



5.3. Ошибки первого и второго рода

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

допустить такую ошибку называют уровнем значимости и обозначают буквой  («альфа»).  

Ошибка второго рода состоит в том, что гипотеза  будет принята, но на самом деле она неправильная. Вероятность

совершить эту ошибку обозначают буквой  («бета»). Значение  называют мощностью критерия – это вероятность отвержения неправильной

гипотезы.

В практических задачах, как правило, задают уровень значимости, наиболее часто выбирают значения .

И тут возникает мысль, что чем меньше «альфа», тем вроде бы лучше. Но это только вроде: при уменьшении

вероятности

отвергнуть правильную гипотезу растёт вероятность  — принять неверную гипотезу (при прочих равных условиях).

Поэтому перед исследователем стоит задача грамотно подобрать соотношение вероятностей  и , при этом учитывается тяжесть последствий, которые

повлекут за собой та и другая ошибки.

Понятие ошибок 1-го и 2-го рода используется не только в статистике, и для лучшего понимания я приведу пару

нестатистических примеров.

Петя зарегистрировался в почтовике. По умолчанию,  – он считается добропорядочным пользователем. Так считает антиспам

фильтр. И вот Петя отправляет письмо. В большинстве случаев всё произойдёт, как должно произойти – нормальное письмо дойдёт до

адресата (правильное принятие нулевой гипотезы), а спамное – попадёт в спам (правильное отвержение). Однако фильтр может

совершить ошибку двух типов:

1) с вероятностью  ошибочно отклонить нулевую гипотезу (счесть нормальное письмо

за спам и Петю за спаммера) или
2) с вероятностью  ошибочно принять нулевую гипотезу (хотя Петя редиска).

Какая ошибка более «тяжелая»? Петино письмо может быть ОЧЕНЬ важным для адресата, и поэтому при настройке фильтра

целесообразно уменьшить уровень значимости , «пожертвовав» вероятностью  (увеличив её). В результате в основной ящик будут попадать все

«подозрительные» письма, в том числе особо талантливых спаммеров. …Такое и почитать даже можно, ведь сделано с любовью :)

Существует примеры, где наоборот – более тяжкие последствия влечёт ошибка 2-го рода, и вероятность  следует увеличить (в пользу уменьшения

вероятности ). Не хотел я

приводить подобные примеры, и даже отшутился на сайте, но по какой-то мистике через пару месяцев сам столкнулся с непростой

дилеммой. Видимо, таки, надо рассказать:

У человека появилась серьёзная болячка. В медицинской практике её принято лечить (основное «нулевое» решение). Лечение

достаточно эффективно, однако не гарантирует результата и более того опасно (иногда приводит к серьёзному пожизненному

увечью). С другой стороны, если не лечить, то возможны осложнения и долговременные функциональные нарушения.

Вопрос: что делать? И ответ не так-то прост – в разных ситуациях разные люди могут принять разные

решения (упаси вас).

Если болезнь не особо «мешает жить», то более тяжёлые последствия повлечёт ошибка 2-го рода – когда человек соглашается

на лечение, но получает фатальный результат (принимает, как оказалось, неверное «нулевое» решение). Если же…, нет, пожалуй,

достаточно, возвращаемся к теме:

5.4. Процесс проверки статистической гипотезы

5.2. Нулевая и альтернативная гипотезы

| Оглавление |



Понравилась статья? Поделить с друзьями:
  • Задача отправка сообщила об ошибке 0x800ccc78
  • Заключение договора ошибка в фамилии
  • Заключение для межевого плана об исправлению ошибки
  • Закладка силоса осуществляется в бетонированные траншеи ошибка
  • Заквашенные огурцы ошибка устранена намазанный маслом