Преобразование вектора в вектор плотности в R

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

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

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

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


person OverFlow Police    schedule 19.02.2019    source источник


Ответы (1)


"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; поскольку вы не предоставляете образцы данных, я оставляю это на ваше усмотрение.

person Maurits Evers    schedule 19.02.2019
comment
Спасибо :D Я понял это тем временем. Именно одержимые люди делают мир интересным. Ваше здоровье - person OverFlow Police; 20.02.2019