Трансформировать информационный кадр вероятностей заданных c периодов для взаимоисключающих событий, чтобы быть вероятностями, по крайней мере, один раз за n периодов? - PullRequest
0 голосов
/ 15 апреля 2020

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

Существуют различные события, которые могут иметь место в течение последовательных периодов. Может произойти только один тип события. Я пытаюсь показать вероятность того, что событие произойдет, по крайней мере, один раз за n периодов, если не происходит никакого другого события. Обратите внимание, что события определяются через несколько столбцов, не показанных в этом примере. Это df у меня сейчас, который будет n = 1:

event    | period   | probability
A        | period 1 | 0.10
A        | period 2 | 0.11
A        | period 3 | 0.12
A        | period 4 | 0.13
A        | period 5 | 0.14
... rows of other events ...
no_event | period 1 | 0.85
no_event | period 2 | 0.83
no_event | period 3 | 0.81
no_event | period 4 | 0.79
no_event | period 5 | 0.75

df = DataFrame({'event': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'no_event', 'no_event', 'no_event', 'no_event', 'no_event'],
                'period': [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5],
                'probability': [.1, .11, .12, .13, .14, .05, .06, .07, .08, .11, .85, .83, .81, .79, .75]})

И я думаю (моя математика может быть неправильной) n = 2 будет:

Pr (заданное событие в 1-м периоде) + Pr (отсутствие события в 1-м периоде) * Pr (заданное событие в 1-м периоде)

event | period   | probability
A     | period 1 | 0.10 + 0.85*0.11 , or P(A1) + no_event1 * P(A2)
A     | period 2 | 0.11 + 0.83*0.12
A     | period 3 | 0.12 + 0.81*0.13 
A     | period 4 | 0.13 + 0.79*0.14 
... rows of other events ...

И n = 3:

event | period   | probability
A     | period 1 | 0.10 + 0.85*0.11 + 0.85*0.83*0.12
A     | period 2 | 0.11 + 0.83*0.12 + 0.83*0.81*0.13
A     | period 3 | 0.12 + 0.81*0.13 + 0.81*0.79*0.13
... rows of other events ...

Возможно ли это в Pandas / Python?

...