Почему «dnorm» не суммирует до одного как вероятность? - PullRequest
0 голосов
/ 30 сентября 2018

Это может быть некоторый базовый / фундаментальный вопрос о функции 'dnorm' в R. Допустим, я создаю несколько z-оценок с помощью преобразования z и пытаюсь получить сумму из 'dnorm'.

 data=c(232323,4444,22,2220929,22323,13)
 z=(data-mean(data))/sd(data)
 result=dnorm(z,0,1)
 sum(result)
 [1] 1.879131

Как и выше, сумма «dnorm» не равна ни 1, ни 0.

Тогда, скажем, я использую нулевое среднее значение и одно стандартное отклонение даже в своем преобразовании z.

 data=c(232323,4444,22,2220929,22323,13)
 z=(data-0)/1
 result=dnorm(z,0,1)
 sum(result)
 [1] 7.998828e-38

Я все еще делаюне получить ни 0, ни 1 в сумме.

Если моя цель - получить сумму вероятности, равную единице, как мне потребуется для моего дальнейшего использования, какой метод вы порекомендуете использовать 'dnorm' или даже использовать другиеФункции PDF?

1 Ответ

0 голосов
/ 30 сентября 2018

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

Интегрирование dnorm дает вероятность.Интегрирование dnorm по всей поддержке случайной величины дает вероятность, равную единице:

integrate(dnorm, -Inf, Inf)
#1 with absolute error < 9.4e-05 

Фактически, integrate(dnorm, -Inf, x) концептуально равен pnorm(x) для всех x.

Редактировать: В свете вашего комментария.

То же относится и к другим непрерывным распределениям вероятности (PDF):

integrate(dexp, 0, Inf, rate = 57)
1 with absolute error < 1.3e-05

Обратите внимание, что... аргумент (ы) из ?integrate передается подынтегральному выражению.

Напомним также, что распределение Пуассона, скажем, является дискретным распределением вероятности и, следовательно, интегрирует его (вобщепринятый смысл) смысла нет.Дискретные распределения вероятностей имеют функцию массы вероятности (PMF), а не PDF, которые фактически возвращают вероятности.В этом случае он должен сумма к одному.

Рассмотрим:

dpois(0.5, lambda = 2)
#[1] 0
#Warning message:
#In dpois(0.5, lambda = 2) : non-integer x = 0.500000

Суммирование от 0 до «очень» большого числа (т.е. через поддержку распределения Пуассона):

sum(dpois(0:1000000, lambda = 2)) 
#[1] 1
...