Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Байесовский анализ на Python

Покупка
Артикул: 739791.01.99
Доступ онлайн
899 ₽
В корзину
В книге представлены основные концепции байесовской статистики и ее практическая реализация на языке Python с использованием современной библиотеки вероятностного программирования РуМСЗ и новой библиотеки исследовательского анализа байесовских моделей ArviZ. Полученные знания о вероятностном моделировании позволят вам самостоятельно проектировать и реализовать байесовские модели для собственных задач научной обработки данных. Издание будет полезно всем специалистам по анализу данных, использующих в своей работе байесовское моделирование.
Мартин, О. Байесовский анализ на Python : практическое пособие / О. Мартин ; пер. с анг. А. В. Снастина. - Москва : ДМК Пресс, 2020. - 340 с. - ISBN 978-5-97060-768-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/1094942 (дата обращения: 30.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Освальдо Мартин

Байесовский анализ  
на Python

Osvaldo Martin

Bayesian Analysis 
with Python

Introduction to statistical modeling  
and probabilistic programming  
using PyMC3 and ArviZ

 
BIRMINGHAM - MUMBAI

Освальдо Мартин

Байесовский анализ  
на Python

Введение в статистическое моделирование  
и вероятностное программирование  
с использованием PyMC3 и ArviZ

Москва, 2020

УДК 004.021
ББК 32.973.3
М29

Мартин О.
М29 Байесовский анализ на Python / пер. с анг. А. В. Снастина. – М.: ДМК Пресс, 
2020. – 340 с.: ил. 

ISBN 978-5-97060-768-8

В книге представлены основные концепции байесовской статистики и ее практическая 
реализация на языке Python с использованием современной библиотеки вероятностного 
программирования PyMC3 и новой библиотеки исследовательского анализа байесовских 
моделей ArviZ.
Полученные знания о вероятностном моделировании позволят вам самостоятельно 
проектировать и реализовать байесовские модели для собственных задач научной обработки данных.
Издание будет полезно всем специалистам по анализу данных, использующих в своей 
работе байесовское моделирование.

УДК 004.021
ББК 32.973.3

Authorized Russian translation of the English edition of Bayesian Analysis with Python ISBN 
9781789341652 © 2018 Packt Publishing.
This translation is published and sold by permission of Packt Publishing, which owns or 
controls all rights to publish and sell the same.

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

ISBN 978-1-78934-165-2 (анг.) 
© 2018 Packt Publishing
ISBN 978-5-97060-768-8 (рус.) 
© Оформление, издание, перевод, ДМК Пресс, 2020

Я посвящаю эту книгу Эйбрил

Содержание

Вступительное слово ........................................................................................10

Об авторе ............................................................................................................12

О рецензентах ....................................................................................................13

Предисловие ......................................................................................................14

Глава 1. Вероятностное мышление ..............................................................19
Статистика, модели и подход, принятый в этой книге ......................................19
Работа с данными .............................................................................................21
Байесовское моделирование ...........................................................................22
Теория вероятностей ............................................................................................23
Объяснение смысла вероятностей ..................................................................23
Определение вероятности ...............................................................................25
Байесовский вывод с одним параметром ...........................................................34
Задача о подбрасывании монеты ....................................................................35
Взаимодействие с байесовским анализом ..........................................................46
Нотация и визуализация модели ....................................................................46
Обобщение апостериорного распределения ..................................................47
Проверки апостериорного прогнозируемого распределения ...........................49
Резюме ...................................................................................................................50
Упражнения...........................................................................................................52

Глава 2. Вероятностное программирование ..............................................54
Вероятностное программирование.....................................................................55
Основы использования библиотеки PyMC3 .......................................................56
Решение задачи о подбрасывании монет с использованием  
библиотеки PyMC3 ............................................................................................57
Обобщение апостериорного распределения ......................................................59
Решения на основе апостериорного распределения .....................................61
Гауссова модель в подробном изложении ..........................................................67
Гауссовы статистические выводы ...................................................................68
Надежные статистические выводы .................................................................73
Сравнение групп ...................................................................................................79
d-мера Коэна .....................................................................................................81
Вероятность превосходства .............................................................................82
Набор данных tips .............................................................................................82
Иерархические модели ........................................................................................86

Содержание  7

Редуцирование ..................................................................................................91
Еще один пример ..............................................................................................94
Резюме ...................................................................................................................96
Упражнения...........................................................................................................99

Глава 3. Моделирование с использованием линейной регрессии .....101
Простая линейная регрессия .............................................................................102
Связь с машинным обучением ......................................................................102
Сущность моделей линейной регрессии .......................................................103
Линейные модели и сильная автокорреляция .............................................108
Интерпретация и визуальное представление апостериорного  
распределения ................................................................................................111
Коэффициент корреляции Пирсона ..............................................................114
Робастная линейная регрессия ..........................................................................118
Иерархическая линейная регрессия ..................................................................122
Корреляция, причинно-следственная связь и беспорядочность жизни ....128
Полиномиальная регрессия ...............................................................................130
Интерпретация параметров полиномиальной регрессии...........................131
Является ли полиномиальная регрессия конечной моделью......................132
Множественная линейная регрессия ................................................................133
Спутывающие переменные и избыточные переменные ............................137
Мультиколлинеарность или слишком сильная корреляция ........................140
Маскировочный эффект переменных ...........................................................144
Добавление взаимодействий .........................................................................146
Дисперсия переменной ......................................................................................147
Резюме .................................................................................................................150
Упражнения.........................................................................................................151

Глава 4. Обобщение линейных моделей ..................................................154
Обобщенные линейные модели ........................................................................154
Логистическая регрессия ...................................................................................156
Логистическая модель ....................................................................................157
Набор данных iris ............................................................................................157
Множественная логистическая регрессия ........................................................163
Граница решения ............................................................................................163
Реализация модели .........................................................................................164
Интерпретация коэффициентов логистической регрессии ........................165
Обработка коррелирующих переменных .....................................................167
Работа с несбалансированными классами ...................................................169
Регрессия с использованием функции softmax ............................................171
Дискриминативные и порождающие модели ..............................................173
Регрессия Пуассона .............................................................................................176
Распределение Пуассона ................................................................................176
Модель Пуассона с дополнением нулевыми значениями ...........................178

 Содержание

Регрессия Пуассона и модель Пуассона с дополнением нулевыми  
значениями .....................................................................................................179
Робастная логистическая регрессия ..................................................................181
Модуль GLM .........................................................................................................183
Резюме .................................................................................................................184
Упражнения.........................................................................................................185

Глава 5. Сравнение моделей ........................................................................188
Проверки прогнозируемого апостериорного распределения .........................188
Лезвие Оккама – простота и точность ..............................................................194
Лишние параметры приводят к переподгонке ............................................196
Недостаточное количество параметров приводит к недоподгонке ...........197
Баланс между простотой и точностью ..........................................................197
Измерения прогнозируемой точности .........................................................198
Информационные критерии .............................................................................200
Логарифмическая функция правдоподобия и отклонение .........................201
Информационный критерий Акаике ............................................................202
Часто применяемый информационный критерий ......................................202
Парето-сглаженная выборка по значимости для перекрестной  
проверки LOOCV .............................................................................................203
Другие информационные критерии .............................................................203
Сравнение моделей с помощью библиотеки PyMC3 ...................................204
Усреднение моделей .......................................................................................207
Коэффициенты Байеса .......................................................................................210
Некоторые дополнительные замечания .......................................................212
Коэффициенты Байеса и информационные критерии ...............................216
Регуляризация априорных распределений ......................................................220
Более подробно об информационном критерии WAIC ...................................222
Энтропия .........................................................................................................222
Расхождение Кульбака–Лейблера ..................................................................224
Резюме .................................................................................................................227
Упражнения.........................................................................................................228

Глава 6. Смешанные модели ........................................................................230
Смешанные модели ............................................................................................231
Конечные смешанные модели ...........................................................................232
Категориальное распределение ....................................................................234
Распределение Дирихле .................................................................................235
Неидентифицируемость смешанных моделей.............................................238
Как правильно выбрать число K ....................................................................241
Смешанные модели и кластеризация ...........................................................245
Смешанные модели с бесконечной размерностью ..........................................246
Процесс Дирихле ............................................................................................246
Непрерывные смешанные модели ....................................................................253

Содержание  9

Биномиальное бета-распределение и отрицательное биномиальное  
распределение ................................................................................................254
t-распределение Стьюдента...........................................................................255
Резюме .................................................................................................................255
Упражнения.........................................................................................................257

Глава 7. Гауссовы процессы ...........................................................................258
Линейные модели и нелинейные данные ........................................................258
Функции моделирования ...................................................................................259
Многомерные гауссовы распределения и функции .....................................261
Ковариационные функции и ядра .................................................................261
Гауссовы процессы .........................................................................................264
Регрессия на основе гауссовых процессов ........................................................265
Регрессия с пространственной автокорреляцией ............................................270
Классификация с использованием гауссова процесса .....................................277
Процессы Кокса ...................................................................................................283
Модель катастроф в угледобывающей промышленности ...........................284
Набор данных redwood ...................................................................................286
Резюме .................................................................................................................289
Упражнения.........................................................................................................289

Глава 8. Механизмы статистического вывода .........................................291
Механизмы статистического вывода ................................................................292
Немарковские методы ........................................................................................293
Грид-вычисления ............................................................................................293
Метод квадратической аппроксимации .......................................................296
Вариационные методы ..................................................................................298
Марковские методы............................................................................................301
Метод Монте-Карло ........................................................................................303
Цепи Маркова .................................................................................................305
Алгоритм Метрополиса–Гастингса ...............................................................305
Метод Монте-Карло с использованием механики Гамильтона ..................310
Последовательный метод Монте-Карло .......................................................312
Диагностирование выборок ...............................................................................314
Сходимость......................................................................................................316
Ошибка метода Монте-Карло ........................................................................319
Автокорреляция ..............................................................................................320
Эффективный размер выборки .....................................................................321
Расхождения ...................................................................................................322
Резюме .................................................................................................................326
Упражнения.........................................................................................................326

Глава 9. Что дальше? ......................................................................................328

Предметный указатель ..................................................................................332

Вступительное слово

Вероятностное программирование – это программная среда, которая позволяет создавать гибкие байесовские статистические модели в программном коде. 
После создания такой модели для обработки в ней данных могут быть использованы мощные алгоритмы логического вывода, работающие независимо. 
Такое сочетание гибкого определения модели и механизма автоматического 
логического вывода предоставляет исследователю мощный инструмент для 
быстрого создания, анализа и постепенного усовершенствования новых статистических моделей. Подобный итеративный подход абсолютно противоположен ранее применявшемуся способу подгонки байесовских моделей к данным: ранее используемые алгоритмы логического вывода обычно работали 
только с одной конкретной моделью. При этом требовались глубокие и прочные математические знания и навыки для формирования модели и разработки схемы логического вывода, что существенно замедляло итеративный цикл: 
изменение модели, модификация процесса логического вывода. Таким образом, вероятностное программирование делает статистическое моделирование 
доступным практически для всех, значительно снижая требования к уровню 
математической подготовки и сокращая время, требуемое для успешного создания новых моделей и нового, ранее недоступного, глубокого понимания исследуемых данных.
Сама идея вероятностного программирования не нова: BUGS, самый первый инструмент такого типа, появился в 1989 году. Количество моделей, для 
которых этот инструмент успешно применялся, было крайне ограниченным, 
а логический вывод выполнялся медленно, поэтому первое поколение языков 
этого типа не получило широкого распространения на практике. В наши дни 
существует множество специализированных языков вероятностного программирования, которые широко используются как для академических научных 
исследований, так и в компаниях Google, Microsoft, Amazon, Facebook и Uber 
для решения крупномасштабных и сложных задач. Что же изменилось? Главным фактором роста значимости вероятностного программирования и эволюции от состояния занимательной игрушки до мощного механизма, способного 
решать сложнейшие крупномасштабные задачи, стало появление алгоритма 
выборки на основе гамильтонова метода Монте-Карло, на несколько порядков 
более мощного, чем предыдущие алгоритмы выборки. Несмотря на то что этот 
алгоритм был разработан в 1987 году, только в последнее время системы вероятностного программирования Stan и PyMC3 сделали эту методику выборки 
широко доступной и удобной в практическом применении.
Предлагаемая книга представляет собой практический вводный курс по 
использованию этого чрезвычайно мощного и гибкого инструментального 
средства. Она, несомненно, окажет большое воздействие на ваш образ мыш
Вступительное слово  11

ления и на понимание путей решения сложных аналитических задач. Лишь 
немногие люди подошли бы для написания такой книги лучше, чем один из 
основных разработчиков системы PyMC3 Освальдо Мартин (Osvaldo Martin). 
Освальдо обладает редким талантом  подробного постепенного объяснения 
сложных тем, упрощая их понимание. Его глубокое знание и понимание этих 
тем, основанное на солидном практическом опыте, позволяет вести читателя 
по наиболее эффективному пути освоения этой области, которая иначе могла 
бы показаться недоступной. Наглядные иллюстрации и схемы, примеры программного кода делают эту книгу в высшей степени полезным практическим 
ресурсом, с помощью которого вы сможете в полной мере овладеть всеми необходимыми теоретическими основами.
Читатели, которые приобрели данную книгу, сделали правильный выбор. 
Это не простой и не быстрый путь. В наше время, когда широко рекламируется 
глубокое обучение, как методика решения всех текущих и будущих аналитических задач, более осмотрительный и взвешенный подход к созданию специализированных моделей для конкретной цели, возможно, не выглядит столь 
привлекательным. Но вы сможете решать задачи, которые трудно решаются 
любыми другими способами.
Это не говорит о том, что глубокое обучение не является весьма перспективной методикой. В действительности само по себе вероятностное программирование не ограничено классическими статистическими моделями. Изучая 
современную литературу по машинному обучению, вы наверняка обнаружите, что байесовская статистика определяется как мощный инструментальный 
комплекс для формирования и исследования следующего поколения глубоких 
нейронных сетей. Таким образом, эта книга вооружит читателя не только знаниями и навыками решения трудных аналитических задач, но также позволит 
создать более широкомасштабную основу для одного из самых великих достижений человечества: разработки искусственного интеллекта. Желаю успеха.

Томас Виецки (Thomas Wiecki),  
д-р философии (PhD),
руководитель отдела исследований  
в компании Quantopian (Бостон, США)

Об авторе

Освальдо Мартин (Osvaldo Martin) – ученый-исследователь агентства The 
National Scientific and Technical Research Council (CONICET) (Аргентина), занимающийся разработками в области структурной биоинформатики протеина, 
полисахаридов и молекул РНК. Обладает большим опытом использования цепей Маркова с применением метода Монте-Карло для имитации молекулярных систем, предпочитает пользоваться языком программирования Python 
для решения задач анализа данных.
Освальдо являлся преподавателем курсов по структурной биоинформатике, 
науке о данных и байесовскому анализу данных. Также возглавлял организационный комитет PyData в Сан-Луисе (Аргентина) в 2017 году. Освальдо – один 
из основных разработчиков программных систем PyMC3 и ArviZ.

«Я благодарен Ромине за ее постоянную поддержку. Также хочу поблагодарить Уолтера Лападула (Walter Lapadula), Билла Энгелса (Bill Engels), 
Эрика Х Ма (Eric J Ma) и Остина Рошфора (Austin Rochford) за бесценные 
замечания, поправки, комментарии и предложения к черновому варианту 
книги. Особая благодарность основным разработчикам и всем участникам проектов PyMC3 и ArviZ. Создание этой книги стало возможным благодаря поддержке, позитивному отношению и упорному труду, который 
все они вложили и вкладывают в эти библиотеки, а также в формирование великолепного сообщества пользователей».

О рецензентах

Эрик Х Ма (Eric J Ma) – ученый в области обработки данных в институте биомедицинских исследований корпорации Novartis. Занимается исследованиями 
биомедицинских данных с применением в основном байесовских статистических методов с целью улучшения качества медицинского обслуживания пациентов. До работы в корпорации Novartis был действительным членом научного 
общества Insight Health Data летом 2017 года, защитил докторскую диссертацию весной 2017 года.
Кроме того, Эрик является разработчиком ПО с открытым исходным кодом, ранее возглавлял разработку nxviz, пакета визуализации для NetworkX, 
и pujanitor, открытого API для очистки данных на языке Python. Также участвовал в разработке ряда инструментальных средств с открытым исходным кодом, включая PyMC3, Matplotlib, bokeh и CuPy.
Основной жизненный принцип (девиз) Эрика можно найти в Евангелии от 
Луки 12:48.

Остин Рошфор (Austin Rochford) – главный научный сотрудник в Monetate 
Labs, где он занимается разработкой продуктов, позволяющих розничным продавцам персонализировать свой рынок с учетом миллиардов событий, происходящих ежегодно. По образованию Остин математик, являющийся активным 
пропагандистом байесовских методов.

Предисловие

Методы байесовской статистики разрабатываются уже более 250 лет. Не только признание и одобрение, но не меньшее пренебрежение и даже неприятие 
постоянно сопровождали эту ветвь математики. На протяжении нескольких 
последних десятилетий байесовская статистика стала привлекать все большее 
внимание специалистов, занимающихся статистикой, и почти всех других ученых, инженеров и даже людей, не принадлежащих к миру науки. Подобный 
рост интереса стал возможным благодаря теоретическим и вычислительным 
разработкам, выполненным в основном во второй половине XX века. Разумеется, современная байесовская статистика является главным образом вычислительной статистикой. Необходимость в создании гибких и прозрачных моделей и более глубокая и подробная интерпретация статистических моделей 
и методов анализа также внесли свой вклад в тенденцию роста.
В предлагаемой книге применяется прагматический подход к изучению 
байесовской статистики, здесь не уделяется слишком много внимания другим 
статистическим парадигмам и их взаимосвязям с байесовской статистикой. 
Главная цель книги – научить практическому выполнению байесовского анализа данных. Философские теоретические дискуссии интересны, но на страницах этой книги вы их не обнаружите, попробуйте поискать в других, более 
подходящих местах.
В книге излагается методический подход моделирования в статистике, она 
поможет научиться мыслить в терминах вероятностных моделей и применять 
теорему Байеса для вывода логических следствий из используемых моделей 
и данных. Такой подход также является вычислительным, модели кодируются 
с использованием PyMC3, библиотеки поддержки байесовской статистики, которая скрывает от конечного пользователя большинство математических подробностей и вспомогательных вычислений, и ArviZ, пакета языка Python для 
исследовательского анализа байесовских моделей.
Байесовские методы с теоретической точки зрения основаны на теории вероятностей, поэтому неудивительно, что многие книги по байесовской статистике содержат множество математических формул, требующих определенного уровня математической подготовки. Изучение математических основ 
статистики может оказать немалую помощь при создании более качественных 
моделей и улучшить интуитивное понимание задач, моделей и результатов. 
Тем не менее такие библиотеки, как PyMC3, позволяют изучать и применять 
методы байесовской статистики даже при скромном объеме математических 
знаний, в чем вы сможете убедиться сами, читая эту книгу.

Доступ онлайн
899 ₽
В корзину