simulacion - Función inversa de una función acumulativa desconocida
simulacion de variables aleatorias (1)
Estoy trabajando con un archivo de datos, las observaciones en el interior son valores aleatorios. En este caso, no sé la distribución de x (mis observaciones). Estoy usando la densidad de la función para estimar la densidad, porque debo aplicar una estimación del núcleo.
T=density(datafile[,1],bw=sj,kernel="epanechnikov")
Después de esto, debo integrar esto porque estoy buscando un cuantil (similar al VaR, 95%). Para esto tengo 2 opciones:
ecdf()
quantile()
Ahora tengo el valor del cuantil 95, pero estos son los datos estimados por kernel.
¿Hay alguna función que pueda usar para conocer el valor del cuantil 95 de los datos originales?
Destaco que esta es una distribución desconocida, para esto me gustaría imaginar un método no paramétrico como Newton, como el que está en SAS solve()
Puedes usar quantile()
para esto. Aquí hay un ejemplo usando datos aleatorios:
> data<-runif(1000)
> q<-quantile(data, .95)
> q
95%
0.9450324
Aquí, los datos se distribuyen uniformemente entre 0 y 1, por lo que el percentil 95 está cerca de 0,95.
Para realizar la transformación inversa:
> ecdf(data)(q)
[1] 0.95