Байесовский анализ на Python
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Мартин Освальдо
Перевод:
Снастин А. В.
Год издания: 2020
Кол-во страниц: 340
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-768-8
Артикул: 739791.01.99
Доступ онлайн
В корзину
В книге представлены основные концепции байесовской статистики и ее практическая реализация на языке Python с использованием современной библиотеки вероятностного программирования РуМСЗ и новой библиотеки исследовательского анализа байесовских моделей ArviZ. Полученные знания о вероятностном моделировании позволят вам самостоятельно проектировать и реализовать байесовские модели для собственных задач научной обработки данных. Издание будет полезно всем специалистам по анализу данных, использующих в своей работе байесовское моделирование.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Освальдо Мартин Байесовский анализ на 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, позволяют изучать и применять методы байесовской статистики даже при скромном объеме математических знаний, в чем вы сможете убедиться сами, читая эту книгу.
Доступ онлайн
В корзину