Преобразовать вектор в вектор плотности в R - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть вектор

v = [..., -10, -10, -10, ..., 1, 2, 5, 6, 7, 9, ...]

geom_density отображает гистограмму этого вектора плавно, как функция плотности!

Как я могу использовать auc, площадь под кривой, функция библиотеки MESS, для вычисления площадей под кривой для графика плотности такого вектора в заданном интервале, скажем, (-1, 3)?

1 Ответ

0 голосов
/ 20 февраля 2019

"geom_density строит гистограмму этого вектора плавно, как функция плотности! " Ну, это потому, что geom_density выполняет оценку плотности ядра !Так что это не "как функция плотности" , это это функция плотности.

Под капотом geom_density на самом деле stats::density выполняетоценка плотности.Оценки плотности ядра даны так, что они определяют правильную функцию плотности вероятности с единичной площадью под кривой.

Мы можем подтвердить это с помощью

x <- rnorm(100)
dens <- density(x)
df <- data.frame(x = dens$x, y = dens$y)
sum(df$y) * diff(df$x)[1]
#[1] 1.000952

Достаточно близко.

Интегрировать функцию плотности в определенном диапазоне просто, суммируя соответствующие значения в df;так как вы не предоставляете образцы данных, я оставляю это на ваше усмотрение.

...