🍏Байесовская статистика с PyMC3: краткий ликбез
Частотная статистика опирается на долгосрочную частоту событий (точки данных) для вычисления нужной переменной. Байесовский метод также может работать без большого количества событий, даже с одной точкой данных. Частотный анализ дает точечную оценку, тогда как байесовский анализ дает распределение, которое можно интерпретировать как уверенность в том, что среднее значение распределения является хорошей оценкой для переменной. Однако, существует неопределенность в форме стандартного отклонения.
Байесовский подход полезен в ML-задачах, где важны оценки и достоверность. Например, сегодня может пойти дождь с вероятностью 60%». Основной формулой, лежащей в основе байесовского подхода, является теорема Байеса, которая позволяет вычислить апостериорную вероятность P(A|B) события А в зависимости от события B.
• P(B|A) называется вероятностью того, что если событие A произошло, насколько вероятно, что произойдет событие B?
• P(A) – вероятность события А, априорное (начальное) предположение об интересующей переменной.
• P(B) вероятность события B (свидетельство), которое обычно это трудно вычислить при оценке апостериорной вероятности.
Быстро вычислить баейсовскую вероятность можно с помощью Python-библиотеки PyMC3 https://docs.pymc.io/en/v3/. Она позволяет записывать модели, используя интуитивно понятный синтаксис для описания процесса генерации данных. PyMC3 позволяет настроить ML-модель с помощью алгоритмов MCMC на основе градиента, таких как NUTS, с помощью ADVI для быстрого приближенного вывода, включая мини-пакетный ADVI для масштабирования до больших наборов данных, или с помощью гауссовых процессов для построения байесовских непараметрических моделей. PyMC3 включает полный набор предопределенных статистических распределений, которые можно использовать в качестве строительных блоков байесовской модели.
Этот пакет вероятностного программирования для Python позволяет пользователям подбирать байесовские модели с использованием различных численных методов, в первую очередь метода Монте-Карло с использованием цепи Маркова (MCMC) и вариационного вывода (VI). Вместо с базовой спецификацией модели и функциями подбора, PyMC3 включает функции для суммирования выходных данных и диагностики модели.
PyMC3 стремится сделать байесовское моделирование максимально простым и безболезненным, позволяя пользователям сосредоточиться на своей научной проблеме, а не на методах, используемых для ее решения. Пакет использует Theano в качестве вычислительного бэкэнда, чтобы быстро оценивать выражение, автоматически вычислять градиент и выполнять вычисления на графическом процессоре.
Также PyMC3 имеют встроенную поддержку моделирования гауссовых процессов, позволяя обобщать модели и строить графики. Есть проверка модели и обнаружение сходимости, пользовательские пошаговые методы и необычные распределения вероятностей. Полученные с помощью PyMC3 байесовские модели можно встраивать в более крупные программы, а результаты анализировать любыми средствами Python.
https://medium.com/@akashkadel94/bayesian-statistics-overview-and-your-first-bayesian-linear-regression-model-ba566676c5a7
Post #191
646