Всем добрый день.
Недавно Николай пригласил меня в этот блог и я решил написать свой первый пост. Сразу оговорюсь, что я не использую на данный момент SAS в своей работе (зато раньше использовал, несколько лет). Но тем не менее, продолжаю интересоваться новосятми о том, что делает SAS в области аналитики и data mining. В своих экспериментах я буду использовать язык R, который бесплатен и Open Source. Надеюсь про него будет интересно почитать и SAS программистам, тем более что в некоторых своих продуктах SAS предоставляет возможность вызова функций написанных на R.
Итак, в первом своем коротком сообщении я расскажу про необычное, на первый взгляд, поведение функции, вычисляющей Гауссову плотность вероятности в точке, при заданных значениях среднего и стандартного отклонения. Как известно, общий вид этой функции:
[ f( x | mu, sigma^2 ) = frac{1}{sigma sqrt{2 pi}} exp(-frac{1}{2} (frac{x-mu}{sigma})^2 ) ]
Интуитивно я все время думал, что раз уж речь идет о вероятности, то значение ну никак не может быть больше 1. Изначально, первый пост я хотел написать про Байесовые классификаторы, но он еще не окончен. Так вот, вычисляя условные вероятности, во время имплементации классификатора, я столкнулся с этим явлением, и стал искать ошибку, ну а потом провел простой эксперимент.
Чтобы посчитать плотность вероятность в точке, запишем функцию:
probability <- function(x, mu, sigma) {
p <- (1/(sigma * sqrt(2 * pi))) * exp(-0.5 * ((x - mu)/sigma)^2)
return(p)
}
probability(5.1, 5.06, 0.35)
## [1] 1.132
То же самое можно сделать проще, используя встроенную функцию:
dnorm(5.1, 5.06, 0.35)
## [1] 1.132
Оказывается это совсем не ошибка, а хорошо известная вещь. Картина проясняется, если вспомнить, что речь идет именно о плотности веротности, которая действительно может принимать значения больше единицы. На просторах интернета я нашел следующий поясняющий пример. Рассмотрим непрерывное равноемерное распределение на интервале ( [0, frac{1}{2}] ) с плотностью вероятности в каждой точке интервала равным ( 2 ) и ( 0 ) во всех остальных точках. Тогда интеграл от ( 0 ) до ( 2 ) равен ( 1 ), как того и требует определение.