Предположим, что у меня есть переменная, как X
с неизвестным распределением. В Mathematica, используя SmoothKernelDensity
функцию, мы можем получить оценочную функцию плотности. Эту оценочную функцию плотности можно использовать вместе с PDF
функцией для вычисления функции плотности вероятности значения, например, X
в PDF[density,X]
предположении, что «плотность» является результатом SmoothKernelDensity
. Было бы хорошо, если бы такая функция была в R. Вот как она работает в Mathematica.
http://reference.wolfram.com/mathematica/ref/SmoothKernelDistribution.html
В качестве примера (на основе функций Mathematica):
data = RandomVariate[NormalDistribution[], 100]; #generates 100 values from N(0,1)
density= SmoothKernelDistribution[data]; #estimated density
PDF[density, 2.345] returns 0.0588784
Здесь вы можете найти больше информации о PDF:
http://reference.wolfram.com/mathematica/ref/PDF.html
Я знаю, что могу построить ее функцию плотности, используя density(X)
в R, и используя ее, ecdf(X)
я могу получить ее эмпирическую кумулятивную функцию распределения. Можно ли сделать то же самое в R на основе того, что я описал в Mathematica?
Любая помощь и идея приветствуется.
ecdf(X)
дает мне эквивалентный процентиль 7,5, но это не то, что я ищу.
density(x)
дает оценку PDF, как вы уже отметили, но его пригодность зависит от цели, для которой вы хотите иметь плотность. Обратите внимание, например, что дисперсия смещена вверх (при выполнении свертки вы добавляете дисперсию ядра к дисперсии данных, что само по себе является несмещенной оценкой) - такие компромиссы смещения дисперсии встречаются повсеместно. Существуют и другие альтернативы, такие как, например, оценка плотности лог-сплайнов, но, опять же, ее пригодность частично зависит от того, что вы хотите с ней делать.