До сих пор мы были сосредоточены на стандартных блоках нормального распределения и их использовании при оценке параметров. В этой главе мы еще немного углубимся в изучение математических инструментов, которые можно использовать, чтобы лучше давать оценки параметров. Возьмем задачу из реального мира и посмотрим, как по-разному подойти к ней, используя различные метрики, функции и визуализации.
В этой главе поговорим о функции плотности вероятности (probability density function, PDF) и накопительной функции распределения (cumulative distribution function, CDF), которая помогает легче определять вероятность диапазонов значений. Также затронем квантили, которые делят распределения вероятностей на части с равными вероятностями. Например, процентиль — это 100-я квантиль, то есть он делит распределение вероятностей на 100 равных частей.
Предположим, вы ведете блог и хотите знать вероятность того, что посетитель блога подпишется на вашу рассылку. В маркетинге побуждение пользователя выполнить желаемое действие называется событием конверсии, или просто конверсией, а вероятность того, что пользователь подпишется, называется коэффициентом конверсии.
Мы будем использовать бета-распределение для оценки p, вероятности подписки, при наличии k, количества подписавшихся людей, и n, общего количества посетителей. Двумя параметрами, необходимыми для бета-распределения, являются α, которая в этом случае представляет общее количество подписавшихся (k), и β, представляющая общее количество неподписавшихся людей (n – k).
В главе про бета-распределение вы узнали вводную информацию: как оно выглядит и как себя ведет. Теперь вы увидите, как использовать его в качестве основы для оценки параметров. Мы хотим не только создать единую оценку для коэффициента конверсии, но и предложить диапазон возможных значений, в котором, как мы можем быть уверены, располагается реальный коэффициент конверсии.
Первым инструментом станет функция плотности вероятности. Мы уже встречались с PDF в этой книге: в главе 5, когда говорили о бета-распределении; в главе 9, когда использовали PDF для объединения байесовских априорных значений; и еще раз в главе 12, когда обсуждали нормальное распределение. PDF — это функция, которая принимает значение и возвращает вероятность этого значения.
В случае оценки истинного коэффициента конверсии для вашего списка рассылки, скажем, для первых 40 000 посетителей, вы получите 300 подписчиков. PDF в этом примере — это бета-распределение, где α= 300 и β= 39 700:
Мы потратили много времени, обсуждая среднее значение в качестве хорошей оценки для измерения, учитывая некоторую неопределенность. У большинства PDF есть среднее значение, которое специально рассчитывается для бета-распределения следующим образом:
.
Эта формула интуитивно понятна: разделите число результатов, которые нас интересуют (300), на общее количество результатов (40 000). Это то же самое среднее значение, которое получилось бы, если бы мы просто считали каждое письмо наблюдением 1, а все остальные наблюдения — 0, а затем усредняли их.
Среднее значение — это первая попытка оценить параметр для истинного коэффициента конверсии. Но нужно узнать и другие возможные значения коэффициента конверсии.
PDF — это обычно полезная функция для понимания распределения вероятностей. На рис. 13.1 показано PDF для бета-распределения коэффициента конверсии блога.
Рис. 13.1. Визуализация бета-PDF для наших убеждений об истинном коэффициенте конверсии
Что представляет собой PDF? Учитывая данные, мы знаем, что средний коэффициент конверсии блога:
,
или является средним показателем нашего распространения. Кажется маловероятным, что коэффициент конверсии составляет ровно 0,0075, а не 0,00751. Мы знаем, что общая площадь области под кривой PDF должна составлять до 1, поскольку эта PDF представляет вероятность всех возможных оценок. Мы можем оценить диапазоны значений для истинного коэффициента конверсии, посмотрев на область под кривой для диапазонов, которые нас интересуют. В математике эта область под кривой является интегралом и говорит о том, сколько общей вероятности находится в интересующей нас области PDF. Это то же самое, что и использование интегрирования с нормальным распределением в предыдущей главе.
У нас есть неопределенность в измерениях и есть среднее значение. Теперь было бы полезно выяснить, насколько более вероятно, что истинный коэффициент конверсии на 0,001 выше или ниже, чем среднее значение 0,0075, которое мы наблюдали. Это даст нам приемлемый предел погрешности (то есть мы будем рады любым значениям в этом диапазоне). Для этого можно рассчитать вероятность того, что фактический коэффициент будет ниже 0,0065, и вероятность того, что он будет выше 0,0085, а затем сравнить их. Вероятность того, что коэффициент конверсии на самом деле намного ниже, чем наблюдения, вычисляется следующим образом:
.
Помните, что при взятии интеграла функции мы просто складываем все маленькие части нашей функции. Итак, если взять интеграл от 0 до 0,0065 для бета-распределения с α 300 и β 39 700, то, сложив все вероятности для значений в этом диапазоне, мы определим вероятность того, что истинный коэффициент конверсии расположен где-то в диапазоне от 0 до 0,0065.
Мы можем задавать вопросы и о других экстремумах: какова вероятность того, что на самом деле была получена необычно плохая выборка и наш истинный коэффициент конверсии намного выше? Например, значение больше, чем, скажем, 0,0085 (что означает лучший коэффициент конверсии, чем мы надеялись)?
.
Здесь мы интегрируем от 0,0085 до максимально возможного значения, равного 1, чтобы определить вероятность того, что истинное значение находится где-то в этом диапазоне. Коэффициент конверсии выше на 0,001 или больше наблюдаемого — вероятность этого исхода выше, чем вероятность того, что он на 0,001 меньше или ниже наблюдаемого. Если бы пришлось принимать решение с ограниченными имеющимися у нас данными, то все равно можно было бы подсчитать, насколько один экстремум вероятнее, чем другой:
Таким образом, вероятность того, что истинный коэффициент конверсии превысит 0,0085, на 50 % выше, чем вероятность того, что он ниже 0,0065.
В этой книге мы уже использовали две функции R для работы с PDF: dnorm() и dbeta(). Для большинства известных распределений вероятности R поддерживает эквивалентную функцию dfunction() для вычисления PDF.
Такие функции, как dbeta(), полезны и для аппроксимации непрерывного PDF, например, когда нужно быстро получить такие значения:
xs <- seq(0.005,0.01,by=0.00001)
xs.all <- seq(0,1,by=0.0001)
plot(xs,dbeta(xs,300,40000-300),type='l',lwd=3,
ylab="плотность",
xlab="вероятность подписки",
main="Бета PDF (300,39700)").
Примечание
Чтобы понять код построения графика, см. приложение A.
В этом примере кода мы создаем последовательность значений, каждое из которых равно 0,00001 — маленькое, но не бесконечно малое, как это действительно было бы в непрерывном распределении. При нанесении этих значений на график мы видим нечто, достаточно близкое к действительно непрерывному распределению (см. рис. 13.1).
Наиболее распространенное математическое использование PDF — это интегрирование для определения вероятностей, связанных с различными диапазонами. Тем не менее можно сэкономить много усилий с помощью кумулятивной функции распределения (CDF), которая суммирует все части распределения, заменяя большую часть вычислений.
CDF принимает значение и возвращает вероятность получения этого или меньшего значения. Например, CDF для Beta (300, 397 000) при x= 0,0065 составляет приблизительно 0,008. Это означает, что вероятность действительного коэффициента конверсии, равного 0,0065 или менее, равна 0,008.
CDF получает эту вероятность, принимая совокупную площадь области под кривой для PDF (для тех, кто знаком с высшей математикой, CDF является антипроизводной PDF). Этот процесс можно объединить в два этапа: (1) определить совокупную площадь области под кривой для каждого значения PDF и (2) построить эти значения. Это и будет наша CDF. Значение кривой при любом данном значении x представляет собой вероятность получения значения x или меньшего. При 0,0065 значение кривой будет равно 0,008, как мы рассчитывали ранее.
Чтобы понять, как все работает, разберем PDF для нашей задачи на части по 0,0005 и сосредоточимся на области PDF, которая имеет наибольшую плотность вероятности: области от 0,006 до 0,009.
На рис. 13.2 показана совокупная область под кривой для бета-PDF (300,39700). Как видите, кумулятивная область под кривой учитывает все области в частях слева.
Говоря математически, на рис. 13.2 представлена следующая последовательность интегралов:
,
,
(и так далее).
Рис. 13.2. Визуализация кумулятивной области под кривой
Используя этот подход, по мере продвижения по PDF мы учитываем все более высокую вероятность, пока кумулятивная область не станет 1, или полной уверенностью. Чтобы превратить это в CDF, можно представить функцию, которая просматривает только эти области под кривой. На рис. 13.3 показано, что произойдет, если мы нанесем область под кривой для каждой из наших точек, которые находятся на расстоянии 0,0005.
Рис. 13.3. Построение только кумулятивной вероятности из рис. 13.2
Теперь есть способ визуализировать то, как изменяется кумулятивная область под кривой при перемещении по значениям для нашей PDF. Конечно, проблема в том, что мы используем эти отдельные фрагменты. В действительности CDF просто использует бесконечно маленькие фрагменты PDF, поэтому мы получаем красивую плавную линию (рис. 13.4).
В нашем примере мы вывели CDF визуально и интуитивно. Математически получить CDF намного сложнее, и расчет часто приводит к очень сложным уравнениям. К счастью, обычно для работы с CDF используется код, что будет показано в следующих разделах.
Рис. 13.4. CDF для нашей проблемы
PDF наиболее полезна визуально для быстрой оценки того, где находится пик распределения, и для получения ширины (дисперсии) и формы распределения. Но с PDF очень сложно рассуждать о вероятности различных диапазонов, основываясь на визуальном представлении. CDF — намного более подходящий для этого инструмент. Например, можно использовать CDF (рис. 13.4), чтобы визуально обосновать гораздо более широкий диапазон вероятностных оценок для задачи, чем при использовании только PDF. Рассмотрим несколько примеров того, как можно использовать этот удивительный математический инструмент.
Медиана — это точка в данных, в которой половина значений приходится на одну сторону, а половина на другую. Это точное серединное значение наших данных. Другими словами, вероятность того, что значение больше медианы, и вероятность того, что оно меньше медианы, равна 0,5. Медиана особенно полезна для суммирования данных в тех случаях, когда они содержат экстремальные значения.
В отличие от среднего значения вычисление медианы может быть довольно сложным. Для небольших дискретных случаев это так же просто, как упорядочить свои наблюдения и выбрать значение в середине. Но для непрерывного распределения вроде бета-распределения это немного сложнее. К счастью, можно легко определить медиану по визуализации CDF. Просто проведите линию от точки, где совокупная вероятность равна 0,5; это означает, что 50 % значений располагается ниже этой точки, а 50 % — выше. Как показано на рис. 13.5, точка, где эта линия пересекает ось X, дает медиану!
Рис. 13.5. Визуальная оценка медианы с помощью CDF
Можно заметить, что медиана для наших данных находится где-то между 0,007 и 0,008 (это очень близко к среднему значению 0,0075 и означает, что данные не особенно искажены).
При работе с диапазонами вероятностей часто нужно знать вероятность того, что истинное значение находится где-то между некоторым значением y и некоторым значением x.
Можно решить такого рода проблемы с помощью интегрирования, но даже если R и упрощает решение интегралов, на понимание данных и постоянное использование R для вычисления интегралов уходит очень много времени. Нам нужно, чтобы приблизительная оценка вероятности подписки посетителя на блог попадала в определенный диапазон, и поэтому использовать интегрирование не требуется. CDF позволяет очень легко узнать, имеет ли определенный диапазон значений очень высокую или очень низкую вероятность появления.
Чтобы оценить вероятность того, что коэффициент конверсии находится между 0,0075 и 0,0085, можно отследить линии от оси X в этих точках, а затем посмотреть, где они встречаются с осью Y. Расстояние между двумя точками является приблизительным интегралом (рис. 13.6).
Рис. 13.6. Визуальное выполнение интегрирования с использованием CDF
Мы видим, что по оси Y эти значения находятся в диапазоне от 0,5 до 0,99, это означает, что имеется приблизительно 49 %-ная вероятность того, что истинный коэффициент конверсии находится где-то между этими двумя значениями. Самое приятное, что нам не нужно было заниматься интегрированием, потому что CDF представляет собой интеграл от минимума нашей функции до всех возможных значений.
Поскольку почти все вероятностные вопросы об оценке параметров включают знание вероятности, связанной с определенными диапазонами убеждений, CDF часто является гораздо более полезным визуальным инструментом, чем PDF.
Анализ вероятности диапазонов значений приводит нас к очень важной концепции вероятности: доверительному интервалу. Доверительный интервал — это нижняя и верхняя границы значений, обычно центрированных по среднему значению, описывающих диапазон высокой вероятности, как правило, 95, 99 или 99,9 %. Когда мы говорим что-то вроде «95 %-ный доверительный интервал составляет от 12 до 20», мы имеем в виду, что существует 95 %-ная вероятность того, что наше истинное измерение находится где-то между 12 и 20. Доверительные интервалы — хороший способ описания диапазона возможностей, когда мы имеем дело с неопределенной информацией.
Примечание
То, что мы называем доверительным интервалом, в байесовской статистике может называться по-другому, например «критическая область» или «критический интервал». В некоторых традиционных школах статистики «доверительный интервал» имеет несколько другое значение. Но эта тема выходит за рамки данной книги.
Оценить доверительные интервалы можно с помощью CDF. Допустим, нужно узнать диапазон, который охватывает 80 % возможных значений для истинного коэффициента конверсии. Решим эту задачу, комбинируя предыдущие подходы: рисуем линии на оси Y от 0,1 до 0,9, чтобы покрыть 80 %, а затем смотрим, где на оси X они пересекаются с CDF (рис. 13.7).
Ось X пересекается примерно с 0,007 и 0,008, это означает, что существует 80 %-ная вероятность того, что истинный коэффициент конверсии окажется где-то между этими двумя значениями.
Рис. 13.7. Оценка доверительных интервалов визуально с использованием CDF
Подобно тому как почти во всех основных PDF есть функция, начинающаяся с d, например dnorm(), функции CDF начинаются с p, например pnorm(). Чтобы вычислить вероятность того, что Beta(300,39700) меньше 0,0065, в R можно просто вызвать pbeta():
pbeta(0.0065,300,39700)
> 0.007978686
Для вычисления истинной вероятности того, что коэффициент конверсии больше 0,0085, можно сделать следующее:
pbeta(1,300,39700) — pbeta(0.0085,300,39700)
> 0.01248151
Самое замечательное в CDF то, что не имеет значения, является ли ваше распределение дискретным или непрерывным. Например, если бы нужно было определить вероятность получения трех или менее орлов в бросках пяти монеток, мы бы использовали CDF для биномиального распределения так:
pbinom(3,5,0.5)
> 0.8125
Возможно, вы заметили, что средние и доверительные интервалы, взятые визуально с CDF, определить математически нелегко. С помощью визуализаций мы просто рисовали линии от оси Y и использовали их, чтобы найти точку на оси X.
Математически CDF похожа на любую другую функцию тем, что она принимает x, часто представляющее значение, которое нужно оценить, и дает значение y, которое представляет совокупную вероятность. Но нет очевидного способа сделать это в обратном порядке; то есть нельзя передать в одну и ту же функцию y, чтобы получить x. Представим, что есть функция, которая возводит значения в квадрат. Мы знаем, что square (3) = 9, но понадобится совершенно новая функция — функция квадратного корня, — чтобы узнать, что корень квадратный из 9 равен 3.
Однако обращение функции — это именно то, что мы сделали в предыдущем разделе для оценки медианы: выбрали 0,5 на оси Y, а затем проследили ее обратно до оси X. То, что мы сделали визуально, — вычислили инверсию CDF.
Хотя вычисление инверсии CDF визуально просто для получения оценок, нужна отдельная математическая функция для вычисления точных значений. Инверсия CDF — невероятно распространенный и полезный инструмент, называемый квантильной функцией. Чтобы вычислить точное значение для медианы и доверительного интервала, нужно использовать квантильную функцию для бета-распределения. Как и CDF, квантильную функцию часто очень сложно получить и использовать математически, поэтому призовем в помощь язык R, который сделает всю грязную работу.
Поскольку квантильная функция является инверсией CDF, она выглядит как CDF, повернутая на 90 градусов (рис. 13.8).
Всякий раз, когда вы слышите такие фразы, как:
«Лучшие 10 % студентов…»,
«Наименее обеспеченные 20 % работников зарабатывают меньше, чем…»,
«Верхний квартиль имеет заметно лучшую производительность, чем…» —
речь идет о значениях, которые находятся с помощью квантильной функции. Чтобы визуально найти квантиль, найдите интересующую вас величину по оси X и посмотрите, где она встречается с осью Y. Значение на оси Y является значением для этого квантиля. Имейте в виду, что если речь идет о «верхних 10 %», то нужен квантиль 0,9.
Рис. 13.8. Визуально квантильная функция — это повернутая CDF
В R есть функция qnorm() для вычисления квантилей. Эта функция очень полезна, чтобы узнать, какие значения являются границами распределения вероятностей. Например, если требуется найти значение, которое меньше 99,9 % распределения, можно использовать qbeta() с квантилем, который требуется вычислить, в качестве первого аргумента, а также с параметрами альфа и бета нашего бета-распределения в качестве второго и третьего аргументов:
qbeta(0.999,300,39700)
> 0.008903462
Результат равен 0,0089, это означает, что мы можем быть на 99,9 % уверены, что истинный коэффициент конверсии для рассылки составляет менее 0,0089. Затем можно использовать квантильную функцию для быстрого вычисления точных значений доверительных интервалов наших оценок. Чтобы найти 95 %-ный доверительный интервал, мы можем найти значения, превышающие нижний квантиль на 2,5 %, и значения ниже, чем верхний квантиль, на 97,5 %, а интервал между ними — 95 %-ный доверительный интервал (неучтенная область составляет 5 % от плотности вероятности в обеих крайностях). Можно легко рассчитать их для наших данных с помощью qbeta():
Наша нижняя граница — qbeta(0,025,300,39700)=0,0066781
Наша верхняя граница — qbeta (0,975,300,39700)=0,0083686
Теперь мы на 95 % уверены, что реальный коэффициент конверсии для посетителей блогов находится где-то между 0,67 и 0,84 %.
Можно, конечно, увеличить или уменьшить эти пороговые значения в зависимости от того, насколько велика должна быть уверенность. Теперь можем легко определить точный диапазон коэффициента конверсии с помощью этих инструментов. Хорошая новость в том, что их можно использовать и для прогнозирования диапазонов значений будущих событий.
Предположим, что статья в вашем блоге становится вирусной и привлекает 100 000 посетителей. Исходя из расчетов, мы знаем, что следует ожидать от 670 до 840 новых подписчиков на рассылку по электронной почте.
Мы рассмотрели множество вопросов и затронули интересную взаимосвязь между функцией плотности вероятности (PDF), кумулятивной функцией распределения (CDF) и квантильной функцией. Это базовые инструменты для оценки параметров и расчета уверенности в этих оценках. Можно не только сделать правильное предположение о том, каким может быть неизвестное значение, но и определить доверительные интервалы, которые с высокой точностью представляют возможные значения для параметра.
Чтобы убедиться, что вы понимаете инструменты оценки параметров, попробуйте ответить на эти вопросы.
1. Используя пример кода для построения PDF на с. 155, постройте функции CDF и квантильную.
2. Возвращаясь к задаче измерения снежного покрова из главы 10, скажем, что у вас есть следующие измерения (в дюймах) снежного покрова:
7,8, 9,4, 10,0, 7,9, 9,4, 7,0, 7,0, 7,1, 8,9, 7,4.
Каков 99,9 %-ный доверительный интервал для истинного значения снежного покрова?
3. Девочка продает конфеты. Пока она посетила 30 домов и продала 10 конфет. Сегодня она посетит еще 40 домов. Каков 95 %-ный доверительный интервал для того, сколько конфет она продаст за остаток дня?