Вероятностное программирование на Python: байесовский вывод и алгоритмы

Дэвидсон-Пайлон Кэмерон

Обложка:


Оглавление
Предисловие........................................................................................................14
Введение .............................................................................................................15
Благодарности.....................................................................................................17
Об авторе ............................................................................................................18
От издательства ..................................................................................................19
Глава 1. Философия байесовского вывода.......................................................... 20
1.1. Введение ................................................................................................. 20
1.1.1. Байесовское мышление................................................................ 20
1.1.2. Байесовский вывод на практике................................................... 23
1.1.3. Корректны ли фреквентистские методы? ..................................... 24
1.1.4. О проблеме больших данных ....................................................... 24
1.2. Понятийный аппарат байесовского подхода.............................................. 25
1.2.1. Пример: подбрасывание монетки (куда же без него) ................... 25
1.2.2. Пример: библиотекарь или фермер? ............................................ 27
1.3. Распределения вероятностей................................................................... 29
1.3.1. Дискретный случай ...................................................................... 30
Оглавление  7
1.3.2. Непрерывный случай ................................................................... 32
1.3.3. Но что такое λ?............................................................................ 33
1.4. Использование компьютеров для автоматического
байесовского вывода ............................................................................... 34
1.4.1. Пример: вывод поведения на основе данных по обмену
текстовыми сообщениями ............................................................ 34
1.4.2. Наш первый инструмент: PyMC .................................................... 36
1.4.3. Толкование результатов .............................................................. 40
1.4.4. Какую пользу могут принести выборки из апостериорного
распределения? ........................................................................... 41
1.5. Выводы....................................................................................................43
1.6. Приложение............................................................................................. 43
1.6.1. Статистическое определение фактического различия двух
параметров λ ............................................................................... 43
1.6.2. Обобщаем на случай двух точек ветвления.................................. 45
1.7. Упражнения............................................................................................. 47
1.7.1. Ответы......................................................................................... 47
1.8. Библиография.......................................................................................... 49
Глава 2. Еще немного о PyMC............................................................................. 50
2.1. Введение ................................................................................................. 50
2.1.1. Связи «предок — потомок».......................................................... 50
2.1.2. Переменные PyMC........................................................................ 51
2.1.3. Учет наблюдений в модели.......................................................... 55
2.1.4. И наконец... ................................................................................. 56
2.2. Подходы к моделированию ...................................................................... 57
2.2.1. Та же история, но с другой концовкой ......................................... 58
2.2.2. Пример: байесовское A/B-тестирование ....................................... 62
2.2.3. Простой случай............................................................................ 62
8  Оглавление
2.2.4. A и B вместе................................................................................. 65
2.2.5. Пример: алгоритм обнаружения мошенничества.......................... 70
2.2.6. Биномиальное распределение...................................................... 70
2.2.7. Пример: мошенничество среди студентов .................................... 71
2.2.8. Альтернативная модель PyMC ...................................................... 75
2.2.9. Еще несколько хитростей PyMC.................................................... 77
2.2.10. Пример: катастрофа космического челнока «Челленджер».......... 77
2.2.11. Нормальное распределение ......................................................... 81
2.2.12. Что произошло в день катастрофы «Челленджера»..........................87
2.3. Адекватна ли наша модель?..................................................................... 87
2.3.1. Разделительные графики ............................................................. 90
2.4. Выводы....................................................................................................94
2.5. Приложение............................................................................................. 94
2.6. Упражнения............................................................................................. 95
2.6.1. Ответы......................................................................................... 95
2.7. Библиография.......................................................................................... 96
Глава 3. Открываем «черный ящик» MCMC ........................................................ 97
3.1. Байесовский ландшафт............................................................................ 97
3.1.1. Изучаем ландшафт с помощью MCMC ........................................ 103
3.1.2. Алгоритмы для MCMC................................................................. 104
3.1.3. Другие приближенные методы поиска апостериорных
распределений........................................................................... 105
3.1.4. Пример: кластеризация без учителя с использованием смеси
распределений........................................................................... 105
3.1.5. Не смешивайте апостериорные выборки .................................... 115
3.1.6. Использование MAP для улучшения сходимости......................... 118
Оглавление  9
3.2. Диагностика проблем со сходимостью ................................................... 120
3.2.1. Автокорреляция......................................................................... 120
3.2.2. Прореживание ........................................................................... 123
3.2.3. Функция pymc.Matplot.plot()....................................................... 124
3.3. Полезные советы по поводу MCMC......................................................... 126
3.3.1. Интеллектуальный выбор начальных значений.......................... 127
3.3.2. Априорные распределения......................................................... 127
3.3.3. Народная теорема статистических расчетов............................... 127
3.4. Выводы.................................................................................................. 128
3.5. Библиография........................................................................................ 128
Глава 4. Величайшая из несформулированных теорем..................................... 129
4.1. Введение ............................................................................................... 129
4.2. Закон больших чисел............................................................................. 129
4.2.1. Интуиция ................................................................................... 129
4.2.2. Пример: сходимость пуассоновских случайных переменных....... 130
4.2.3. Как вычислить Var(Z) ................................................................. 134
4.2.4. Математические ожидания и вероятности.................................. 134
4.2.5. Какое отношение все это имеет к байесовской статистике......... 135
4.3. Некорректная работа при малых числах ................................................ 135
4.3.1. Пример: агрегированные географические данные....................... 135
4.3.2. Пример: конкурс Kaggle (перепись населения США)................... 138
4.3.3. Пример: сортировка комментариев на Reddit ............................. 139
4.3.4. Сортировка ................................................................................ 144
4.3.5. Но для режима реального времени это слишком медленно!....... 146
4.3.6. Расширение на системы оценки с присвоением звезд ................ 151
4.4. Выводы.................................................................................................. 151
10  Оглавление
4.5. Приложение........................................................................................... 152
4.5.1. Дифференцирование формулы сортировки комментариев ......... 152
4.6. Упражнения........................................................................................... 152
4.6.1. Ответы....................................................................................... 154
4.7. Библиография........................................................................................ 154
Глава 5. Что лучше: потерять руку или ногу?................................................... 155
5.1. Введение ............................................................................................... 155
5.2. Функции потерь ..................................................................................... 155
5.2.1. Функции потерь на практике...................................................... 158
5.2.2. Пример: оптимизация для раунда «Витрина» в викторине
«Справедливая цена» ................................................................ 159
5.3. Машинное обучение с помощью байесовских методов ........................... 167
5.3.1. Пример: предсказание финансовых показателей ....................... 168
5.3.2. Пример: конкурс Kaggle по поиску темной материи.................... 173
5.3.3. Данные ...................................................................................... 174
5.3.4. Априорные распределения......................................................... 176
5.3.5. Обучение и PyMC-реализация .................................................... 177
5.4. Выводы.................................................................................................. 185
5.5. Библиография........................................................................................ 185
Глава 6. Расставляем приоритеты .................................................................... 186
6.1. Введение ............................................................................................... 186
6.2. Субъективные и объективные априорные распределения ...................... 186
6.2.1. Объективные априорные распределения ................................... 186
6.2.2. Субъективные априорные распределения .................................. 187
6.2.3. Выбираем, выбираем... .............................................................. 188
6.2.4. Эмпирическая байесовская оценка............................................. 190
Оглавление  11
6.3. Некоторые полезные априорные распределения ................................... 191
6.3.1. Гамма-распределение ................................................................ 191
6.3.2. Распределение Уишарта............................................................. 192
6.3.3. Бета-распределение................................................................... 194
6.4. Пример: байесовские многорукие бандиты ............................................ 195
6.4.1. Приложения............................................................................... 196
6.4.2. Предлагаемое решение.............................................................. 196
6.4.3. Мера качества............................................................................ 201
6.4.4. Обобщения алгоритма ............................................................... 205
6.5. Сбор информации для априорных распределений у специалистов
по предметной области.......................................................................... 208
6.5.1. Метод рулетки испытаний.......................................................... 209
6.5.2. Пример: биржевая прибыль ....................................................... 210
6.5.3. Советы от профи по поводу распределения Уишарта................. 219
6.6. Сопряженные априорные распределения............................................... 220
6.7. Априорное распределение Джеффриса.................................................. 221
6.8. Влияние априорных распределений при изменении N............................ 223
6.9. Выводы.................................................................................................. 225
6.10.Приложение........................................................................................... 226
6.10.1. Байесовская точка зрения на линейную регрессию
со штрафом ............................................................................... 226
6.10.2. Выбор вырожденного априорного распределения...................... 228
6.11.Библиография........................................................................................ 230
Глава 7. A/B-тестирование ............................................................................... 231
7.1. Введение ............................................................................................... 231
7.2. Краткое резюме вышеприведенного A/B-тестирования конверсий ......... 231
12  Оглавление
7.3. Добавляем линейную функцию потерь .................................................. 234
7.3.1. Анализ ожидаемой выручки ....................................................... 234
7.3.2. Обобщение на случай A/B-эксперимента.................................... 238
7.4. Выходим за рамки конверсий: тест Стьюдента....................................... 240
7.4.1. Схема теста Стьюдента .............................................................. 241
7.5. Оценка показателя роста....................................................................... 245
7.5.1. Создание точечных оценок ........................................................ 248
7.6. Выводы.................................................................................................. 249
7.7. Библиография........................................................................................ 250
Глоссарий.......................................................................................................... 251