Я использую пакет ks
для оценки плотности ядра. Вот простой пример:
n <- 70
x <- rnorm(n)
library(ks)
f_kde <- kde(x)
На самом деле меня интересуют соответствующие вероятности превышения моих входных данных, которые могут быть легко возвращены ks с f_kde:
p_kde <- pkde(x, f_kde)
Это делается в ks
с числовым интегрированием по правилу Симпсона. К сожалению, они реализовали это только для случая 1d. В двумерном случае в ks
нет реализации какого-либо метода для возврата вероятностей:
y <- rnorm(n)
f_kde <- kde(data.frame(x,y))
# does not work, but it's what I am looking for:
p_kde <- pkde(data.frane(x,y), f_kde)
Я не смог найти какой-либо пакет или помощь в поиске в stackoverflow для решения этой проблемы в R (существуют некоторые предложения для Python, но я хотел бы сохранить его в R). Приветствуется любая строка кода или рекомендация по пакету. Несмотря на то, что меня в основном интересует двумерный случай, любые идеи для многомерного случая также приветствуются.
pracma::simpson2d
делает то, что я ищу, но для этого требуется функция в качестве входных данных, и я не знаю, как самостоятельно кодировать двумерную плотность ядра, а также понятия не имею, с чего начать. - person Felix Phl   schedule 19.07.2020