БАЙЕСОВСКАЯ СТАТИСТИКА

Как статистика Байеса убедила меня пойти в спортзал

БАЙЕСОВСКАЯ СТАТИСТИКА

Интересное путешествие в теорию линейной регрессии с подходом Байеса вместе со студентом Йельского университета Tuan Doan Nguyen.

Оригинал: How Bayesian statistics convinced me to hit the gym.

Как следует из названия, Туан сделал научное исследование собственного тела. Что побудило его к этому?

Молодой человек приехал из Вьетнама, поступил в частную школу в Сингапуре, а затем в колледж в США. Его часто высмеивали за астеническое телосложение, все время советовали заняться спортом и набрать вес, чтобы выглядеть лучше. Не то чтобы Туана это очень волновало. При росте 169 см и весе 58 кг его индекс массы тела составлял 20.3, что близко к идеалу.

Но речь, конечно, шла не об ИМТ, а о конституции тела в целом.

Средний вьетнамский мужчина имеет рост 162 см при весе 58 кг. Туан чуть выше, но весит столько же. Естественно, что он выглядит более тощим. Простая логика: если растянуть что-то, сохранив его вес, оно станет заметно тоньше, чем было. Туан сформулировал следующий вопрос для дальнейшего обучения:

Насколько мало он весит для вьетнамского мужчины с ростом 169 см?

Подобное исследование требует хорошей методологии. Для начала полезно собрать как можно больше данных о параметрах других вьетнамцев.

Профиль населения Вьетнама

В интернете Туан нашел результаты исследования, собравшего демографическую информацию у 10 000 вьетнамцев. Он отобрал только мужчин в возрасте 18-29 лет. В результате получилась выборка размером 383 человека, вполне достаточная для анализа.

Сначала Туан решил определить, как он вписывается по весу в группу молодых вьетнамских мужчин.

Красная линия на графике показывает медиану выборки, а оранжевая – среднее значение.

Очевидно, что вес молодого человека оказался немного ниже среднего. Но вопрос заключается не в простом сравнении. Важно сделать выводы относительно целой популяции, учитывая рост 168 см и предполагая, что все Вьетнамское мужское население представлено этими 383 людьми. Для этого Туану пришлось обратиться к регрессионному анализу.

Молодой человек построил двумерный график рассеяния высот и весов и отметил на нем себя:

Он обнаружил, что находится где-то в центре. Если провести вертикальную линию через все точки, соответствующие 168 см роста, то красная окажется чуть ниже середины.

График выявил положительную линейную зависимость между высотой и весом вьетнамского мужчины. Чтобы разобраться в этом отношении, Туан решил провести количественный анализ. Сперва он добавил линию «наименьших квадратов». Подробнее об этом будет рассказано ниже.

Линия соответствует формуле y = -86.32 + 0.879x и определяет зависимость веса среднего вьетнамского мужчины от его роста. При увеличении высоты на 1 см будет наблюдаться прибавка в весе 0.88 кг.

Однако это не отвечает на первоначальный вопрос. Считается ли вес 58 кг для человека с ростом 168 см слишком большим/слишком маленьким/примерно средним. Если есть распределение всех людей, имеющих рост 168 см, то какова вероятность того, что вес Туана попадет в 25, 50 или 75-й процентиль? Чтобы понять это, нужно немного углубиться в теорию регрессии.

Теория линейной регрессии

В линейной регрессионной модели ожидаемое значение переменной Y (вес человека) является линейной функцией от переменной x (рост). Назовем пересечение (свободный член) и наклон этой линейной зависимости β0 и β1 соответственно,  то есть предположим, что E (Y | X = x) = β0 + β1*x. β0 и β1 здесь неизвестны.

В большинстве стандартных моделей линейной регрессии мы также предполагаем, что условное распределение Y при X = x является нормальным распределением.

Это означает, что простую модель линейной регрессии

можно переписать так:

Обратите внимание, что во многих моделях параметр дисперсии σ можно заменить параметром точности τ, где τ = 1 / σ.

В итоге получается, что зависимая переменная Y имеет нормальное распределение, параметризованное средним значением μi и точностью τ. При этом μi – линейная функция X, параметризованная значениями β0 и β1.

Наконец, мы также предполагаем, что неизвестная дисперсия не зависит от x. Это называется гомоскедастичностью.

Все эти рассуждения довольно сложны. Возможно, график, составленный Joseph Chang из Йельского университета, поможет разобраться лучше.

В реальности при анализе все, что мы имеем, – это черные точки данных на графике. Цель состоит в том, чтобы с их помощью сделать вывод о вещах, которые нам неизвестны, включая β0, β1 (таинственная синяя пунктирная линия) и σ (ширина красных нормальных плотностей). Обратите внимание, что нормальные распределения вокруг каждой точки идентичны. В этом суть гомоскедастичности.

Оценка параметров

Есть два способа оценить β0 и β1. Метод наименьших квадратов позволяет не беспокоиться о вероятностной формулировке. В этом случае оптимальные значения подбираются путем минимизации квадратичных погрешностей известных значений относительно прогнозируемых.

С другой стороны, можно оценить модель, используя метод максимального правдоподобия. В нем оптимальные значения параметров вычисляются путем максимизации функции правдоподобия:

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

Линейная регрессия с подходом Байеса

В байесовском подходе используются предварительные (априорные) распределения и теорема Байеса:

Функция правдоподобия такая же, как и выше. Если включить в уравнение априорные распределения для параметров β0, β1, τо оно примет следующий вид:

что это за априорная штука, и почему она делает формулу в 10 раз сложнее?

Априорные распределения кажутся странными, но на самом деле они интуитивно понятны. Существуют очень глубокие философские рассуждения о том, почему неизвестным параметрам (в данном случае β0, β1, τ) могут быть назначены, казалось бы, произвольные распределения.

По сути, они предназначены для того, чтобы зафиксировать представления исследователя о ситуации до поступления данных. После ознакомления с новой информацией применяется правило Байеса. Оно позволяет получить апостериорное распределение, которое учитывает как априорное ожидание, так и поступившие данные.

Это распределение, в свою очередь, может стать априорным для будущих наблюдений.

В подходе Байеса окончательная оценка зависит от информации, которая поступает из данных и предварительных предположений. Чем больше информации содержится в данных, тем менее влиятельными являются предположения.

Выбор априорного распределения

Значит, можно выбрать любое предварительное распределение?

Это хороший вопрос, так как существует неограниченное количество вариантов. Теоретически есть только одна правильная априорная вероятность. Однако на практике выбор предварительного распределения для формулы Байеса может быть довольно субъективным, а иногда и произвольным.

Можно просто выбрать нормальное распределение с большим стандартным отклонением и, следовательно, небольшой точностью.

Например, предположим, что β0 и β1 исходят из нормального распределения со средним значением 0 и стандартным отклонением 10000 или что-то вроде этого. Такое априорное распределение называется неинформативным.

По существу оно довольно плоское, то есть присваивает почти равное распределение любому значению в определенном диапазоне.

Если выбран этот тип, можно не беспокоиться о том, какое распределение лучше. Все они почти плоские в области большой вероятности, а области малой вероятности на апостериорное распределение не влияют.

Для точности τ известно, что она должна быть неотрицательной, поэтому имеет смысл выбрать распределение, ограниченное неотрицательными значениями. Например, можно использовать гамма-распределение с низкими параметрами формы и масштаба.

Другим полезным неинформативным выбором для формулы Байеса является равномерное распределение. Если выбрать его для σ или τ, можно получить модель, которая проиллюстрирована Джоном К. Крушке:

Моделирование с помощью R и JAGS

До сих пор все было хорошо в теории. Проблема в том, что решение уравнения, составленного по формуле Байеса является математически сложным. Нормальное и гамма-распределения сложны сами по себе, а для решения придется умножать их целыми сериями. В подавляющем большинстве случаев результат не будет доступен напрямую.

Для оценки параметров модели часто используются методы Монте-Карло по схеме Марковских цепей. Тут в дело вступает JAGS.

Неужели есть инструмент, который решает эти чудовищные уравнения?

Принцип работы JAGS состоит в том, что в процессе моделирования, основанном на Марковской цепочке Монте-Карло (MCMC), будет сгенерировано много итераций пространства параметров θ = (β0; β1; τ). Распределение для каждого образца будет аппроксимировать распределение для параметра в целом.

Почему так? Объяснение сложное и не поместится в рамки этой статьи. Очень упрощенно можно сказать, что MCMC строит Марковскую цепь, обладающую целевым апостериорным распределением. В результате получается выборка большого количества образцов из этого распределения.

Другими словами, вместо аналитически невозможного решения уравнения можно сделать некоторую интеллектуальную выборку с математическим доказательством того, что ее распределение является реальным распределением β0, β1, τ.

Магия JAGS

Чтобы запустить работу JAGS в R, сначала нужно описать модель в текстовом формате:

n

Источник: https://proglib.io/p/bayesian-statistics/

Как применять теорему Байеса для решения реальных задач

БАЙЕСОВСКАЯ СТАТИСТИКА

Возможно, вы никогда не слышали про теорему Байеса, но пользовались ей постоянно. Например, изначально вы оценили вероятность получения прибавки к зарплате как 50%.

Получив положительные отзывы от менеджера, вы скорректировали оценку в лучшую сторону, и, наоборот, уменьшили ее, если сломали кофеварку на работе.

Так происходит уточнение значения вероятности по мере аккумулирования информации.

Основная идея теоремы Байеса состоит в том, чтобы получить большую точность оценки вероятности события путем учета дополнительных данных.

Принцип прост: есть первоначальная основная оценка вероятности, которую уточняют c получением большего количества информации.

Формула Байеса

Интуитивные действия формализуются в простом, но мощном уравнении (формула вероятности Байеса):

Левая часть уравнения — апостериорная оценка вероятности события А при условии наступления события В (т. н. условная вероятность).

  • P(A)  — вероятность события А (основная, априорная оценка);
  • P(B|A) — вероятность (также условная), которую мы получаем из наших данных;
  • а P(B) — константа нормировки, которая ограничивает вероятность значением 1.

Это короткое уравнение является основой байесовского метода.

Абстрактность событий А и В не позволяет четко осознать смысл этой формулы. Для понимания сути теоремы Байеса рассмотрим реальную задачу.

Пример

Одной из тем, над которой я работаю, является изучение моделей сна. У меня есть данные за два месяца, записанные с помощью моих часов Garmin Vivosmart, показывающие, во сколько я засыпаю и просыпаюсь. Окончательная модель, показывающая наиболее вероятное распределение вероятности сна как функцию времени (MCMC — приблизительный метод), приведена ниже.

На графике приведена вероятность того, что я сплю, в зависимости лишь от времени. Как она изменится, если учесть время, в течение которого включен свет в спальне? Для уточнения оценки и нужна теорема Байеса. Уточненная оценка основана на априорной и имеет вид:

Выражение слева — вероятность того, что я сплю, при условии, что известно, включен ли свет в моей спальне. Априорная оценка в данный момент времени (приведена на графике выше) обозначена как P(sleep). Например, в 10:00 вечера априорная вероятность того, что я сплю, равна 27,34%.

Добавим больше информации, используя вероятность P(bedroom light|sleep), полученную из наблюдаемых данных.

Из собственных наблюдений мне известно следующее: вероятность того, что я сплю, когда свет включен, равна 1%.

Вероятность того, что свет выключен во время сна, равна 1-0,01 = 0,99 (знак «-» в формуле означает противоположное событие), потому что сумма вероятностей противоположных событий равна 1. Когда я сплю, то свет в спальне либо включен, либо выключен.

Наконец, уравнение также включает в себя константу нормировки P(light) — вероятность того, что свет включен. Свет бывает включен и когда я сплю, и когда бодрствую. Поэтому, зная априорную вероятность сна, вычислим константу нормировки так:

Вероятность того, что свет включен, учтена в обоих вариантах: либо я сплю, либо нет (P (-sleep) = 1 — P (sleep) — это вероятность того, что я не сплю.)

Вероятность того, что свет включен в тот момент, когда я не сплю, равна P(light|-sleep), и определяется путем наблюдения. Мне известно, что свет горит, когда я бодрствую, с вероятностью 80% (это означает, что есть 20% вероятность того, что свет не включен, если я бодрствую).

Окончательное уравнение Байеса принимает вид:

Оно позволяет вычислить вероятность того, что я сплю, при условии, что свет включен. Если нас интересует вероятность того, что свет выключен, нужно каждую конструкцию P(light|… заменить на P(-light|….

Давайте посмотрим, как используют полученные символьные уравнения на практике.

Применим формулу к моменту времени 22:30 и учтем, что свет включен. Мы знаем, вероятность того, что я спал, равна 73,90%. Это число — отправная точка для нашей оценки.

Уточним его, учтя информацию об освещении. Зная, что свет включен, подставим числа в формулу Байеса:

Дополнительные данные резко изменили оценку вероятности: от более 70% до 3,42%. Это показывает силу теоремы Байеса: мы смогли уточнить нашу первоначальную оценку ситуации, включив в нее больше информации. Возможно, мы уже интуитивно делали это раньше, но теперь, рассуждая об этом в терминах формальных уравнений, мы смогли подтвердить наши прогнозы.

Python

Рассмотрим еще один пример. Что если на часах 21:45 и свет выключен? Попытайте рассчитать вероятность самостоятельно, считая априорную оценку равной 0.1206.

Вместо того, чтобы каждый раз считать вручную, я написал простой код на Python для выполнения этих вычислений, который вы можете попробовать в Jupyter Notebook. Вы получите следующий ответ:

Time: 09:45:00 PM            Light is OFF.

The prior probability of sleep: 12.06%
The updated probability of sleep: 40.44%

И снова дополнительная информация меняет нашу оценку. Теперь, если моя сестра захочет позвонить мне в 21:45 зная, что мой свет включен, она может воспользоваться этим уравнением, чтобы определить, смогу ли я взять трубку (предполагая, что я беру трубку только бодрствующим)! Кто говорит, что статистика неприменима повседневной жизни?

Визуализация вероятности

Наблюдение за вычислениями полезно, но визуализация помогает добиться более глубокого понимания результата. Я всегда стараюсь использовать графики, чтобы генерировать идеи, если они сами не приходят при простом изучении уравнений. Мы можем визуализировать априорное и апостериорное распределения вероятности сна с использованием дополнительных данных:

Когда свет включен, график смещается вправо, указывая на то, что я с меньшей вероятностью сплю в данный момент времени. Аналогично, график смещается влево, если мой свет выключен. Понять смысл теоремы Байеса непросто, но эта иллюстрация наглядно демонстрирует, зачем ее нужно использовать. Формула Байеса — инструмент для уточнения прогнозов с помощью дополнительных данных.

Что, если есть еще больше данных?

Зачем останавливаться на освещении в спальне? Мы можем использовать еще больше данных в нашей модели для дальнейшего уточнения оценки (пока данные остаются полезными для рассматриваемого случая). Например, я знаю, что если мой телефон заряжается, то я сплю с вероятностью 95%. Этот факт можно учесть в нашей модели.

Предположим, что вероятность того, что мой телефон заряжается, не зависит от освещения в спальне (независимость событий — это достаточно сильное упрощение, но оно позволит сильно облегчить задачу). Составим новое, еще более точное выражение для вероятности:

Получившаяся формула выглядит громоздко, но, используя код на Python, мы можем написать функцию, которая будет производить расчет. Для любого момента времени и любой комбинации наличия освещения/зарядки телефона эта функция возвращает уточненную вероятность того, что я сплю.

Пропустим математику (все равно считать будет компьютер) и перейдем к результатам:

Time is 11:00:00           PM Light is ON           Phone IS NOT charging.

The prior probability of sleep: 95.52%
The updated probability of sleep: 1.74%

В 23:00 без дополнительной информации мы могли почти с полной вероятностью сказать, что я сплю. Однако, как только у нас будет дополнительная информация о том, что свет включен, а телефон не заряжается, мы заключаем, что вероятность того, что я сплю, практически равна нулю. Вот еще один пример:

Time is 10:15:00 PM           Light is OFF           Phone IS charging.

The prior probability of sleep: 50.79%
The updated probability of sleep: 95.10%

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

На этом графике представлено много информации, но главный смысл состоит в том, что кривая вероятности изменяется в зависимости от дополнительных факторов. По мере добавления других данных мы будем  получать более точную оценку.

Заключение

Теорема Байеса и другие статистические понятия могут быть трудными для понимания, когда они представлены абстрактными уравнениями, использующими только буквы или выдуманные ситуации. Настоящее обучение приходит, когда мы применяем абстрактные понятия в реальных задачах.

Успех в области data science — это непрерывное обучение, добавление новых методов в набор навыков и поиск оптимального метода для решения задач.

Теорема Байеса позволяет уточнять наши оценки вероятности с помощью дополнительной информации для более качественного моделирования реальности.

Увеличение количества информации позволяет получать более точные прогнозы, и метод Байеса оказывается полезным инструментом для решения этой задачи.

Я приветствую обратную связь, дискуссию и конструктивную критику. Связаться со мной можно в : @koehrsen_will.

Оригинал

Может быть интересно:

Источник: https://neurohive.io/ru/osnovy-data-science/kak-primenjat-teoremu-bajesa-dlja-reshenija-realnyh-zadach/

Байесовский подход в анализе данных (2019)

БАЙЕСОВСКАЯ СТАТИСТИКА

Лектор: Никита Волков

Курс проходит по субботам 16:20-19:10 в 432 ГК. По некоторым неделям занятия проводиться не будут. Начало 21 сентября.

Требования к слушателям: 4 курс и старше; знания теории вероятностей, математической статистики, основ машинного обучения.

Кафедра дискретной математики.

Байесовские методы основаны на теореме Байеса, опубликованной в 1763 году. Несмотря на это, методы анализа данных, использующие ее, получили широкое распространение только к концу 20 века.

Зачастую расчеты в подобных методах требуют больших вычислительных затрат, что стало возможным с развитием компьютерных технологий.Курс посвящен рассмотрению основных методов байесовского подхода в статистике и машинном обучении.

Рассматриваются байесовские аналоги основных подходов и методов, их преимущества и недостатки. Также в курсе изучается иерархия приближенных процедур для оценки параметров в байесовском подходе.

  • Занятия
  • Семинары
  • Домашние задания
  • Литература и полезные ссылки

Занятия

Занятие 1 (21.09). Повторение частотного подхода к статистике: оценки и их свойства, метод максимального правдоподобия, доверительные интервалы.

Байесовский подход к статистике, теорема Байеса, апостериорное распределение, примеры. Сопряженное распределение, примеры.

Занятие 2 (28.09). Постулат Байеса, равномерный априор для параметров сдвига и масштаба, примеры для моделей на основе нормального распределение для равномерного априора и сопряженных распределений.

Напоминание частотного подхода к проверке статистических гипотез. Байеосовский подход к проверке статистических гипотез, случаи простых и сложных гипотез, пример, связь с p-value.

Занятие 3. Гамма-нормальное распределение. Маргинальные распределения компонент.

Точечные нулевые гипотезы в байесовском подходе. Метод модификации гипотез, метод Линдли, метод априора с атомом. Влияение достаточных статистик. Вывод формул для нормального распределения с известной дисперсией, результаты для случая неизвестной дисперсии.

Занятие 4. Постановка задачи дисперсионного анализа. Напоминание критериев для нормальных и бернуллиевских выборок.

Решение задачи байесовским подходом для нормальных выборок в случаях, если известны дисперсии или же известно их равенство. Формулы для общего случая, распределение Беренца-Фишера.

Байесовский подход в случае бернуллиевских выборок. Апостериорное распределение для коэффциента корреляции.

Презентация

Bayesian First Aid

Занятие 5. Линейная регрессия. Напоминание метода наименьших квадратов и его основных свойств. Введение регуляризации в виде априорного распределения на вектор параметров, получение апостериорного распределения (Ridge-регрессия), предиктивное распределение, сравнение в оптимизационным подходом.

Байесовский выбор модели, принцип максимальной обоснованности, примеры. Выбор параметра регуляризации в ridge-регрессии.

Занятие 6. Метод релевантных векторов для задачи регрессии, свойства, вывод итерационных формул. Логистическая регрессия, регуляризация. Метод релевантных векторов для классификации.

Байесовская регрессия в sklearn: ipynb, pdf

Занятие 7. Вариационный байесовский вывод. Напоминание классической задачи байесовского подхода и его проблемы. Постановка аппроксимационной задачи, ее сведение к максимизации нижней оценки обоснованности.

Решение задачи в классе факторизованных распределений. Пример для нормальной выборки с неизвестными параметрами, сравнение результата с гамма-нормальным распределением.

Решение байесовского варианта ридж-регрессии с помощью вариационного вывода.

Вариационный вывод для параметров нормального распределения: ipynb, pdf

Занятие 8. Модель смеси распределений, латентные величины. Вывод EM-алгоритма в общем виде, его свойства, байесовский EM-алгоритм. Пример для смеси распределений и для заполнения пропусков в данных.

Гауссовский EM-алгоритм в sklearn: ipynb, pdf

Занятие 9. Дата занятия 7 декабря.

Домашние задания

Практические задания нужно выполнять в Jupyter Notebook на языке Python или R. При оформлении решений обратите внимание на правила по курсу статистики.

Задание 1. Дедлайн 5 октября 16:00.

Задание 2. Дедлайн 12 октября 16:00.

Задание 3. Дедлайн 02 ноября 23:59.

Задание 4, ice_cream.txt. Дедлайн 16 ноября 23:59.

Задание 5. Дедлайн 23 ноября 16:00.

Задание 6. Дедлайн 14 декабря 16:00.

Литература и полезные ссылки

Источник: https://mipt-stats.gitlab.io/jekyll/update/2019/09/02/bayes.html

Все термины
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: