Я хожу на курс машинного обучения, и нам дают первое упражнение по статистике - "программирование".
Итак, упражнение выглядит так:
Вспомните историю из лекции «Два продавца на Amazon имеют одинаковую цену. У одного 90 положительных и 10 отрицательных отзывов. Другой - 2 положительных и 0 отрицательных. У кого покупать? » Запишите апостериорные вероятности надежности (как в лекции). Вычислите p (x> y | D1, D2) с помощью численного интегрирования. Вы можете создать бета-распределенные образцы с помощью функции scipy.stats.beta.rvs (a, b, size).
Из лекции мы знаем следующее:
применили две бета-биномиальные модели: p (x | D1) = Beta (x | 91, 11) и p (y | D2) = Beta (y | 3, 1)
Вычислите вероятность того, что продавец 1 более надежен, чем продавец 2:
p(x > y | D1, D2 ) = ∫∫ [x > y] Beta (x| 91, 11) Beta (y| 3, 1) dx dy
Итак, мои попытки на Python выглядят так:
In [1]: import numpy as np
from scipy import integrate, stats
In [2]: f = lambda x, y: stats.beta.rvs(91, 11, x) * stats.beta.rvs(3, 1, y)
In [3]: stats.probplot(result, x > y)
И я получаю сообщение об ошибке:
... The maximum number of subdivisions (50) has been achieved....
но в конечном итоге есть ответ на расчет, который составляет ок. 1.7. (Нам говорят, что ответ примерно 0,7)
У меня такой вопрос: как рассчитать часть [x> y], означающую: вероятность того, что продавец 1 (x) более надежен, чем продавец 2 (y)?
machine-learning
- не спамьте тег (удален). - person desertnaut   schedule 25.10.2018result
,x
иy
не определены, насколько я могу судить? и вы никогда не используетеf
- person juanpa.arrivillaga   schedule 25.10.2018