Załóżmy, że mam zmienną X
o nieznanym rozkładzie. W Mathematica, używając SmoothKernelDensity
funkcji, możemy mieć funkcję szacowanej gęstości. Ta szacowana funkcja gęstości może być używana wraz z PDF
funkcją do obliczania funkcji gęstości prawdopodobieństwa wartości takiej jak X
w postaci PDF[density,X]
założenia, że „gęstość” jest wynikiem SmoothKernelDensity
. Byłoby dobrze, gdyby w R. była taka funkcja. Tak to działa w Mathematica
http://reference.wolfram.com/mathematica/ref/SmoothKernelDistribution.html
Jako przykład (na podstawie funkcji Mathematica):
data = RandomVariate[NormalDistribution[], 100]; #generates 100 values from N(0,1)
density= SmoothKernelDistribution[data]; #estimated density
PDF[density, 2.345] returns 0.0588784
Tutaj możesz znaleźć więcej informacji o PDF:
http://reference.wolfram.com/mathematica/ref/PDF.html
Wiem, że mogę wykreślić jego funkcję gęstości za pomocą density(X)
w R i za pomocą ecdf(X)
mogę uzyskać jej empiryczną funkcję rozkładu skumulowanego. Czy można zrobić to samo w R na podstawie tego, co opisałem o Mathematica?
Każda pomoc i pomysł są mile widziane.
ecdf(X)
daje mi to równowartość percentyla 7,5, ale nie tego szukam.
density(x)
daje oszacowanie pdf, jak już zauważyłeś, ale jego przydatność zależy od celu, dla którego chcesz mieć gęstość. Zauważ na przykład, że wariancja jest tendencyjna (wykonując splot, dodajesz wariancję jądra do wariancji danych, co samo w sobie jest obiektywnym oszacowaniem) - takie kompromisy wariancji odchylenia są wszechobecne. Istnieją inne alternatywy, takie jak na przykład szacowanie gęstości log-splajn - ale znowu, jego przydatność częściowo zależy od tego, co chcesz z tym zrobić.