5 votos

Distribución uniforme con priores gaussianos

Digamos que tengo una distribución uniforme definida de la siguiente manera $$X \sim U[\min (\theta_1,\theta_2),\max (\theta_1,\theta_2)]$$ También tengo que $\theta_1,\theta_2$ son distribuciones normales i.i.d de media cero con varianza $\sigma^2$ . es decir $$\theta_k\sim \mathcal{N}(0,\sigma^2) \qquad k \in \lbrace 1,2 \rbrace$$

Pregunta: ¿Cuál es la distribución de $X$ es decir $f_X(x)$ ?

Esfuerzos: Sabemos que $$f_X(x) = \int\limits f_{X \vert \theta_1,\theta_2}(x \vert \theta_1,\theta_2) f(\theta_1,\theta_2) d\theta_1 d\theta_2$$ Desde $\theta_1,\theta_2$ son normales i.i.d, podemos decir $$f_X(x) = \int\limits f_{X \vert \theta_1,\theta_2}(x \vert \theta_1,\theta_2) \phi_{\sigma}(\theta_1)\phi_{\sigma}(\theta_2) d\theta_1 d\theta_2$$ donde $f_{X \vert \theta_1,\theta_2}$ es la distribución uniforme delimitada por $\theta_1,\theta_2$ y $\phi_{\sigma}(x)$ es la PDF gaussiana con media cero y desviación estándar $\sigma$ . Esta integral es realmente complicada de resolver. ¿Alguien sabe una forma de resolverla?

Spoiler: A través de simulaciones, he visto que $X$ se distribuye normalmente con media cero y desviación estándar $\sim 0.8166\sigma$ .

2 votos

En su notación, ¿algo como " $U[2,1]$ " tiene sentido y es lo mismo que " $U[1,2]$ "? Por cierto, su otra anotación corre el riesgo de confundir a los lectores porque normalmente " $\Phi$ " se refiere a la FCD normal y $\phi$ a su pdf.

0 votos

Sí $U[1,2]$ es lo mismo que $U[2,1]$ . He editado gracias por anotarlo.

0 votos

Por cierto, ¿podría su $0.8166$ sea una estimación de $\sqrt{8}/\cosh^{-1}(17)\approx 0.802278$ ?

4voto

lupor Puntos 13

Dejemos que $\psi_1$ , $\psi_2$ sean estadísticas de orden de $N(0,\sigma^2)$ .

Los utilicé en lugar de $\theta$ s, entonces $\psi_1 \leq x\leq\psi_2$ y

$$f_X(x)=\int^\infty_x \int^x_{-\infty}\frac{1}{\psi_2-\psi_1} 2! \phi_{\sigma}(\psi_1)\phi_{\sigma}(\psi_2)d\psi_1d\psi_2$$

Uso de la transformación de variables $\eta_1=\frac{1}{\sqrt2} (\psi_2+\psi_1)$ y $\eta_2=\frac{1}{\sqrt2} (\psi_2-\psi_1)$ ,

$$f_X(x)=\int^\infty_0 \frac{1}{\eta_2} \frac{2}{\sqrt{2 \pi}\sigma}e^{-\frac{\eta_2^2}{2 \sigma^2}}\int^{\sqrt2x+\eta_2}_{\sqrt2x-\eta_2}\frac{1}{\sqrt{2 \pi}\sigma}e^{-\frac{\eta_1^2}{2 \sigma^2}}d\eta_1d\eta_2$$

Diga $\Phi$ es una CDF de la distribución normal estándar,

$$f_X(x)=\int^\infty_0 \frac{1}{\eta_2} \frac{2}{\sqrt{2 \pi}\sigma}e^{-\frac{\eta_2^2}{2 \sigma^2}} \left( \Phi(s+\eta_2/\sigma) -\Phi(s-\eta_2/\sigma) \right)d\eta_2$$ donde $s=\sqrt2 x /\sigma$ .

Aquí, adoptando otra transformación de la variable $z=\eta_2/\sigma$ podemos reescribirlo como

$$f_X(x)=\frac{1}{\sigma}\int^\infty_0 \frac{1}{z} \left( \Phi(s+z) -\Phi(s-z) \right) 2\phi(z)dz$$ .

Este pdf fue la forma más simple que pude hacer (tal vez debido a la falta de mi habilidad) He simulado esta función y se ve bien. enter image description here

El histograma es la distribución simulada de x y la línea se obtiene de este pdf. Adjunto el código fuente que he ejecutado al final del post.

Traté de conseguir la forma cerrada pero no pude

Me inspiré en aquí , así que lo diferencié con respecto a x y después de hacer algunas cuentas, obtuve $$\frac{\partial f_X(x)}{\partial x}=-\frac{2\sqrt2}{\pi \sigma^2} e^{-s^2/2} \int^\infty_0 \frac{1}{z}e^{-z^2}sinh(sz)dz$$

No podía hacer esta integración por mí mismo, así que la puse wolframalpha y resulta "función de error imaginario". No lo sé, pero supongo que esto significa que sería difícil obtener la forma cerrada de esta función. Así que tal vez la forma pdf que escribí por encima de la gráfica sería la mejor, en mi opinión.

Siento haber publicado esto como respuesta mientras no he podido averiguar la forma cerrada de esta integración.

Cualquier corrección y revisión es completamente bienvenida. Gracias por leer esto.

#simulation 1
sigma<-1
n_sim=100000
theta1<-rnorm(n_sim,0,sigma)
theta2<-rnorm(n_sim,0,sigma)

x<-c()
for(i in 1:n_sim){
x[i]<-runif(1)*(max(theta1[i],theta2[i])-min(theta1[i],theta2[i]))+min(theta1[i],theta2[i])
}

#simulation2
fx<-function(x,sigma){
nsim=3000
z<-abs(rnorm(nsim)) # 2 phi(z)
s<-sqrt(2)*x/sigma

C<-c()
for(i in 1:nsim){
C[i]<-1/z[i]*(pnorm(s+z[i])-pnorm(s-z[i]))
}
return(mean(C)/sigma)
}

graph_x<-seq(-6,6,0.1)
graph_y<-c()
for(i in 1:length(graph_x)){
graph_y[i]<-fx(graph_x[i],sigma)
}

#plotting simulation datas
library(ggplot2)

df1<-data.frame(x=x)
df2<-data.frame(x=graph_x, y=graph_y)
ggplot() +geom_histogram(data=df1, aes(x=x),binwidth=.5, colour="black", fill="white") #plot simul. 1
ggplot() +geom_line(data=df2, aes(x=x,y=y),color='red') #plot simul. 2

scale_factor=24000/0.7 # ratio of approximate maximum values between the histogram and the line graph
df2<-data.frame(x=graph_x, y=graph_y*scale_factor)

#this shows combined graph.
ggplot() +geom_histogram(data=df1, aes(x=x),binwidth=.5, colour="black", fill="white")+geom_line(data=df2, aes(x=x,y=y),color='red')

0 votos

Te acabo de dar un +1 por el hermoso trabajo y el esfuerzo. Me aseguraré de leerlo detenidamente después de un tiempo gracias una vez más :)

0 votos

Gran trabajo, @KDG

0 votos

Acabo de añadir una línea de código 'graph_y<-c()'. Accidentalmente se me pasó. Cuando se utiliza este código cambiando el valor de sigma, ajustando el rango de graph_x y scale_factor mostrará un mejor gráfico.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X