Supongamos que tengo una variable como X
con distribución desconocida. En Mathematica, al usar la SmoothKernelDensity
función podemos tener una función de densidad estimada. Esta función de densidad estimada se puede usar junto con la PDF
función para calcular la función de densidad de probabilidad de un valor como X
en la forma de PDF[density,X]
asumir que "densidad" es el resultado de SmoothKernelDensity
. Sería bueno si existe tal característica en R. Así es como funciona en Mathematica
http://reference.wolfram.com/mathematica/ref/SmoothKernelDistribution.html
Como ejemplo (basado en las funciones de Mathematica):
data = RandomVariate[NormalDistribution[], 100]; #generates 100 values from N(0,1)
density= SmoothKernelDistribution[data]; #estimated density
PDF[density, 2.345] returns 0.0588784
Aquí puede encontrar más información sobre PDF:
http://reference.wolfram.com/mathematica/ref/PDF.html
Sé que puedo trazar su función de densidad usando density(X)
R y al usar ecdf(X)
puedo obtener su función de distribución acumulativa empírica. ¿Es posible hacer lo mismo en R con base en lo que describí sobre Mathematica?
Cualquier ayuda e idea es apreciada.
density(x)
da una estimación del pdf, como ya señaló, pero su idoneidad depende del propósito para el que desea tener la densidad. Tenga en cuenta, por ejemplo, que la varianza está sesgada (al realizar convolución, agrega la varianza del núcleo a la varianza de los datos, en sí misma una estimación imparcial), tales compensaciones de varianza de sesgo son ubicuas. Hay otras alternativas, como la estimación de densidad de spline de registro, por ejemplo, pero una vez más, su idoneidad depende en parte de lo que desee hacer con ella.ecdf(X)
me da el percentil equivalente de 7.5 pero no es lo que estoy buscando.ecdf(b)-ecdf(a)
Respuestas:
?density
señala que yaapprox
hace interpolación lineal;?approx
señala queapproxfun
genera una función adecuada:Por uso de
integrate
comenzar desde una distancia apropiada por debajo del mínimo en la muestra (un múltiplo, digamos 4 o 5, tal vez, del ancho de banda utilizadodf
generalmente lo haría para una distancia apropiada), se puede obtener una buena aproximación del cdf correspondiente adf
.fuente
df(2.3)
da el valor de la función de densidad estimada en,x=2.3
pero lo quePDF
hace en Mathematica es dar el área bajo la curva de arribax=2.3
. No estoy muy seguro de esto. Esto es solo mi suposición. ¿Puedes volver a producir lo que hice en Mathematica?PDF
en Mathematica hace lo que describió en su respuesta (es decir, encontrar el valor de la función de densidad para el valor X dado), entonces creo que obtuve mi respuesta. ¡Solo hay mucha confusión al usar palabras!PDF
página dice que hace, devuelve el mismo tipo de cosas que yo hago, pero los métodos que utiliza en su cálculo en este caso probablemente sean algo más precisos (sin embargo, para tal propósito, la precisión adicional tiene poco valor). Para una discusión sobre la distinción probabilidad / densidad, vea aquí y aquí .