ABBA_TESTING Telegram 70
Понимаем процедуру последовательного тестирование mSPRT, часть-4

Проблему SPRT, - точное значение HA, - решила модификация за авторством Роббинса в 1970 (!) и которую применили в 2015.

В примере части-3 у нас были исторические данные. Cейчас: у нас есть исторические данные по проведенным тестам, в рамках которых мы способы подсчитать средний положительный эффект и его дисперсию. Если у вас таких данных нет, штош, "подбирайте" свой приор (бич Байеса)

Но допустим, они в наличии: у нас есть возможность аппроксимировать распределение эффекта, приора, с этим средней и отклонением τ. А где распределение (чаще нормальное), там и вероятность.

1) Тут для простоты пускай распределение будет буквально из трех значений θ_A=[1%, 2%, 3%], отклонение τ, c соотв-щими вероятностями P(θ_A)=[0.25, 0.5, 0.25]

2) Что если при получении новых данных, применяя частично Байеса, перевзвешивать P(θ_A)?
Частично это значит вот что: в примере про лето была формула, когда мы переоценивали вероятность жаркого лета при жарком мае:
P(Ж.Лето|Ж.Май) = P(Ж.Май|Ж.Лето)*P(Ж.Лето) / P(Ж.Май)

Уберем знаменатель:
P(Ж.Лето|Ж.Май) ~ P(Ж.Май|Ж.Лето)*P(Ж.Лето)
Собственно, вот.

В текущем кейсе:
P(θ_A|data) ~ L(data|θ_A)*P(θ_A)

2) Что если вместо значений только B использовать всевозможные разницы между А и B?
A = [100]
B = [101]
B - A = [1]
Эффект = 1%
(более сложный пример далее)

3) При этом для знаменателя θ_0 = 0, нет эффекта

4) То есть у нас в числителе будет L(data|θ_A)*P(θ_A), а в знаменателе только L(data|θ_0 = 0)
L(data|θ_A)*P(θ_A)/L(data|θ_0 = 0)

Пока забудем про *P(θ_A) ->
подсчитаем L(data|θ_A)/L(data|θ_0 = 0), где θ_A=[1%, 2%, 3%]

5) Полученное значение разницы B-А в процентом виде = 1%, считаем L-ки:
5.1. θ_A_1 = 1% - строит распределение со средним = 1% с отклонением τ и смотрим
L(data=1|θ_A=1) = 0.5 (тут и далее данные из головы)

Рассмотрим cо стороны знаменателя:
L(data=1|θ_A=0) = 0.2

Поделим, как это было в SPRT:
L(data=1|θ_A=1)/L(data=1|θ_A=0) = 0.5/0.2 = 2.5

5.2. По аналогии для θ_A_2 = 2%:
L(1|θ_A=2) = 0.2 - тут у нас среднее = 2% с отклонением τ
L(1|θ_A=2)/L(data=1|θ_A=0) = 0.2/0.2 = 1

5.3. По аналогии для θ_A_3 = 3%:
L(1|θ_A=3) = 0.1
L(1|θ_A=3)/L(data=1|θ_A=0) = 0.1/0.2 = 0.5

6) вспоминаем про *P(θ_A)
= [результат 5.1*P(θ_A=1), результат 5.2*P(θ_A=2), результат 5.3*P(θ_A=3)]
= [2.5*0.25, 1*0.5, 0.5*0.25] = [0.625, 0.5, 0.125] -> тут НЕ обязательно должно равно быть единице, переходим в п.7

—-
Для любознательных, если бы не было бы деления и нам надо было бы пересчитать постериор (редко показывают в учебниках):
P(θ_A|data) ~ L(data|θ_A)*P(θ_A)

P(θ_A|data) = [ L(data|θ_A=1)*P(θ_A=1), L(data|θ_A=2)*P(θ_A=2), L(data|θ_A=3)*P(θ_A=3) ] =
= [0.5*0.25, 0.2*0.5, 0.1*0.25] = [0.125, 0.1, 0.025] -> в сумме нет 1 и вот тут это проблема

Чтобы у нас получились корректные вероятности с суммой 1, нужно нормализовать каждое значение на их сумму 0.125+0.1+0.025 =0.25 -> [0.125/0.25, 0.1/0.25, 0.025/0.25] = [0.5, 0.4, 0.1] ~ наш новый P(θ_A), помним, что считали приблизительно.
—-

7) Дальше суммируем [0.625, 0.5, 0.125] = 1.25 -> это мы с вами получили оценку для Λ
Нам бы знак суммы в формуле: L(data|θ_A)*P(θ_A)/L(data|θ_0 = 0), но так как на самом деле θ_A распределяется не так [1%, 2%, 3%], а так [1%, 1.00001%, .... 3%] (так как величина непрерывная), то мы делаем по сути суммирование по бесконечно малому приращению, а это, - ВНЕЗАПНО, - интеграл:

Отсюда полная формула это:
∫ П[ L(all_data|θ_A) / L(all_data|θ_0]*P( θ_A) dθ_A

Обратите внимание: сначала мы считаем поддержку, - L(all_data|θ_A) / L(all_data|θ_0, - в пользу альтернативной гипотезы, заданной распределением, а после делаем умножение с P(θ_A).

Последнее важно сделать, так как в сущности это смягчение оценки поддержки HA с учетом приора этого же HA. Без этого это было бы тоже самое, что, подкинув пару раз монетку, сделать уверенный вывод, что она честная/нечестная; приорные знания оттормаживают наши скороспелые выводы. Без них алгоритм работал бы не лучше правила "вижу значимость - останавливаю". Ну, в целом, это к вопросу, как mSPRT контролирует ошибку 1-го рода



tgoop.com/abba_testing/70
Create:
Last Update:

Понимаем процедуру последовательного тестирование mSPRT, часть-4

Проблему SPRT, - точное значение HA, - решила модификация за авторством Роббинса в 1970 (!) и которую применили в 2015.

В примере части-3 у нас были исторические данные. Cейчас: у нас есть исторические данные по проведенным тестам, в рамках которых мы способы подсчитать средний положительный эффект и его дисперсию. Если у вас таких данных нет, штош, "подбирайте" свой приор (бич Байеса)

Но допустим, они в наличии: у нас есть возможность аппроксимировать распределение эффекта, приора, с этим средней и отклонением τ. А где распределение (чаще нормальное), там и вероятность.

1) Тут для простоты пускай распределение будет буквально из трех значений θ_A=[1%, 2%, 3%], отклонение τ, c соотв-щими вероятностями P(θ_A)=[0.25, 0.5, 0.25]

2) Что если при получении новых данных, применяя частично Байеса, перевзвешивать P(θ_A)?
Частично это значит вот что: в примере про лето была формула, когда мы переоценивали вероятность жаркого лета при жарком мае:
P(Ж.Лето|Ж.Май) = P(Ж.Май|Ж.Лето)*P(Ж.Лето) / P(Ж.Май)

Уберем знаменатель:
P(Ж.Лето|Ж.Май) ~ P(Ж.Май|Ж.Лето)*P(Ж.Лето)
Собственно, вот.

В текущем кейсе:
P(θ_A|data) ~ L(data|θ_A)*P(θ_A)

2) Что если вместо значений только B использовать всевозможные разницы между А и B?
A = [100]
B = [101]
B - A = [1]
Эффект = 1%
(более сложный пример далее)

3) При этом для знаменателя θ_0 = 0, нет эффекта

4) То есть у нас в числителе будет L(data|θ_A)*P(θ_A), а в знаменателе только L(data|θ_0 = 0)
L(data|θ_A)*P(θ_A)/L(data|θ_0 = 0)

Пока забудем про *P(θ_A) ->
подсчитаем L(data|θ_A)/L(data|θ_0 = 0), где θ_A=[1%, 2%, 3%]

5) Полученное значение разницы B-А в процентом виде = 1%, считаем L-ки:
5.1. θ_A_1 = 1% - строит распределение со средним = 1% с отклонением τ и смотрим
L(data=1|θ_A=1) = 0.5 (тут и далее данные из головы)

Рассмотрим cо стороны знаменателя:
L(data=1|θ_A=0) = 0.2

Поделим, как это было в SPRT:
L(data=1|θ_A=1)/L(data=1|θ_A=0) = 0.5/0.2 = 2.5

5.2. По аналогии для θ_A_2 = 2%:
L(1|θ_A=2) = 0.2 - тут у нас среднее = 2% с отклонением τ
L(1|θ_A=2)/L(data=1|θ_A=0) = 0.2/0.2 = 1

5.3. По аналогии для θ_A_3 = 3%:
L(1|θ_A=3) = 0.1
L(1|θ_A=3)/L(data=1|θ_A=0) = 0.1/0.2 = 0.5

6) вспоминаем про *P(θ_A)
= [результат 5.1*P(θ_A=1), результат 5.2*P(θ_A=2), результат 5.3*P(θ_A=3)]
= [2.5*0.25, 1*0.5, 0.5*0.25] = [0.625, 0.5, 0.125] -> тут НЕ обязательно должно равно быть единице, переходим в п.7

—-
Для любознательных, если бы не было бы деления и нам надо было бы пересчитать постериор (редко показывают в учебниках):
P(θ_A|data) ~ L(data|θ_A)*P(θ_A)

P(θ_A|data) = [ L(data|θ_A=1)*P(θ_A=1), L(data|θ_A=2)*P(θ_A=2), L(data|θ_A=3)*P(θ_A=3) ] =
= [0.5*0.25, 0.2*0.5, 0.1*0.25] = [0.125, 0.1, 0.025] -> в сумме нет 1 и вот тут это проблема

Чтобы у нас получились корректные вероятности с суммой 1, нужно нормализовать каждое значение на их сумму 0.125+0.1+0.025 =0.25 -> [0.125/0.25, 0.1/0.25, 0.025/0.25] = [0.5, 0.4, 0.1] ~ наш новый P(θ_A), помним, что считали приблизительно.
—-

7) Дальше суммируем [0.625, 0.5, 0.125] = 1.25 -> это мы с вами получили оценку для Λ
Нам бы знак суммы в формуле: L(data|θ_A)*P(θ_A)/L(data|θ_0 = 0), но так как на самом деле θ_A распределяется не так [1%, 2%, 3%], а так [1%, 1.00001%, .... 3%] (так как величина непрерывная), то мы делаем по сути суммирование по бесконечно малому приращению, а это, - ВНЕЗАПНО, - интеграл:

Отсюда полная формула это:
∫ П[ L(all_data|θ_A) / L(all_data|θ_0]*P( θ_A) dθ_A

Обратите внимание: сначала мы считаем поддержку, - L(all_data|θ_A) / L(all_data|θ_0, - в пользу альтернативной гипотезы, заданной распределением, а после делаем умножение с P(θ_A).

Последнее важно сделать, так как в сущности это смягчение оценки поддержки HA с учетом приора этого же HA. Без этого это было бы тоже самое, что, подкинув пару раз монетку, сделать уверенный вывод, что она честная/нечестная; приорные знания оттормаживают наши скороспелые выводы. Без них алгоритм работал бы не лучше правила "вижу значимость - останавливаю". Ну, в целом, это к вопросу, как mSPRT контролирует ошибку 1-го рода

BY Не AБы какие тесты


Share with your friend now:
tgoop.com/abba_testing/70

View MORE
Open in Telegram


Telegram News

Date: |

Telegram Channels requirements & features Telegram has announced a number of measures aiming to tackle the spread of disinformation through its platform in Brazil. These features are part of an agreement between the platform and the country's authorities ahead of the elections in October. How to Create a Private or Public Channel on Telegram? Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link).
from us


Telegram Не AБы какие тесты
FROM American