Как рассчитать вероятность точки с помощью объекта распределения вероятностей?

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

Я подогнал в Matlab нормальное распределение к моему вектору данных: PD = fitdist(data,'normal'). Теперь у меня есть новая точка данных (например, x = 0,5), и я хотел бы рассчитать ее вероятность.

Использование cdf(PD,x) не сработает, поскольку дает вероятность того, что точка меньше или равна x (но не точно x). Использование pdf(PD,x) дает только плотность, но не вероятность, поэтому она может быть больше единицы.

Как я могу рассчитать вероятность?


person machinery    schedule 07.04.2016    source источник


Ответы (2)


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

Пусть F будет кумулятивной функцией распределения для нормального распределения со средним значением mu и стандартным отклонением s. Вероятность того, что случайная величинаX находится между a и b, то есть P(a ‹ X ‹= b) = F(b) - F(a).

В коде Matlab:

P_a_b = normcdf(b, mu, s) - normcdf(a, mu, s);

Примечание: обратите внимание, что вероятность X точно равна 0,5 (или любому конкретному значению) равна нулю! Ряд исходов будет иметь положительную вероятность, но недостаточная сумма отдельных исходов будет иметь нулевую вероятность.

person Matthew Gunn    schedule 07.04.2016
comment
Большое спасибо, но то, что я изначально хотел, это P (X = a), что означает a = b, что даст F (b) - F (a) = F (a) - F (a) = 0 - person machinery; 07.04.2016
comment
@machinery да, это правильно. И именно поэтому никто никогда не спрашивает P(X=a) для нормального распределения или большинства других непрерывных распределений (за возможным исключением во время тестов или домашних заданий, чтобы проверить понимание). P(X=a) = 0 для любой случайной величины X с непрерывной функцией плотности вероятности. - person Matthew Gunn; 07.04.2016
comment
Хорошо, но в (гауссовском) наивном байесовском классификаторе вы подбираете нормальное распределение для каждой функции, а затем вам нужно вычислить P (X = a) для новой поступающей точки данных... Могу ли я просто использовать значение PDF в таком кейс? Конечно, PDF может быть больше единицы, но более высокое значение PDF означает более высокую вероятность (плотность). - person machinery; 07.04.2016
comment
@machinery Если вы пытаетесь сравнить, что более или менее вероятно, вы, вероятно, захотите использовать pdf. Было бы действительно полезно потратить несколько дней на самостоятельное изучение или обучение основам непрерывной вероятности, чтобы вы действительно были уверены в этом... это сэкономит много времени в долгосрочная перспектива. - person Matthew Gunn; 07.04.2016
comment
Итак, скажем, я использую pdf, чтобы судить, является ли наблюдение более или менее вероятным. Кроме того, я оцениваю несколько значений, то есть probA = pdf(PD,x1), probB = pdf(PD,x2), ProbC = pdf(PD,x3). x1, x2 и x3 — точки данных. Теперь я хотел бы взять probA * probB * probC, чтобы получить общую вероятность, но поскольку она может быть очень маленькой, я хотел бы взять отрицательную логарифмическую вероятность, которая равна -(log(probA) + log(probB) + log(probC) ). Является ли это действительным, то есть имеет ли это смысл? - person machinery; 07.04.2016

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

cdf(PD,x) - cdf(PD,x-1)

В более общем смысле, для любой случайной величины X, которая принимает целые значения, функция массы вероятности f(x) и кумулятивное распределение F(x) связаны соотношением

f(x) = F(x) - F(x-1)

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

Я не уверен, что у Matlab есть более прямой способ получить функцию массы вероятности в вашей ситуации, чем через такой cdf.

В непрерывном случае ваш вопрос не имеет большого смысла, поскольку, как я сказал выше, вероятность равна 0. Ненулевая вероятность в этом случае относится к интервалам, а не к отдельным точкам. Вы по-прежнему можете запрашивать вероятность получения значения near x, но тогда вам нужно решить, что вы подразумеваете под словом "near". Например, если x является целым числом, вам может понадобиться узнать вероятность получения значения, которое округляется до x. Это было бы:

cdf(PD, x + 0.5) - cdf(PD, x - 0.5)
person John Coleman    schedule 07.04.2016
comment
Спасибо за ваш ответ. Теория вероятностей не моя сильная сторона. ;) Распределение в моем случае непрерывное (нормальное распределение). Что означают RHS и PMF? Я думаю, что ваше объяснение относится к дискретным распределениям, но как я могу адаптировать его для непрерывных распределений? - person machinery; 07.04.2016
comment
@machinery Вам действительно следует прочитать о том, как рассчитать вероятность различных результатов, используя функцию плотности вероятности и / или кумулятивную функцию распределения. При дискретном распределении вы суммируете вероятности различных более мелких составных событий, чтобы получить вероятность более крупного события. (например, вероятность того, что бросок кости X равен 3 или меньше, представляет собой вероятность P(X=1) + P(X=2) + P(X=3).) Для непрерывного распределения аналог суммирования вероятностной массы функция интегрирует функцию плотности вероятности. Интеграция — это, по сути, суммирование. - person Matthew Gunn; 07.04.2016
comment
@MatthewGunn Интеграция функции плотности вероятности - это именно то, что, как мне кажется, делает функция PDF в Matlab, но она может стать больше, чем та, которая больше не является реальной вероятностью. - person machinery; 07.04.2016
comment
@machinery то, что вы только что написали, неверно. Функция PDF оценивает функцию плотности вероятности нескольких хорошо известных распределений по значениям, переданным в функцию. Чтобы вычислить вероятность, эта функция плотности вероятности должна быть интегрирована или должна использоваться кумулятивная функция распределения (которая представляет собой PDF, интегрированный от -бесконечности до заданного значения). - person Matthew Gunn; 07.04.2016
comment
@MatthewGunn Спасибо за объяснение. Я все еще в замешательстве. Как я могу интегрировать функцию плотности вероятности в Matlab? Если я использую кумулятивную функцию распределения (cdf), я получу вероятность того, что X меньше или равно определенному значению, а это не то, что мне нужно. - person machinery; 07.04.2016