Tuesday, May 26, 2009

Super armamento y munición para la generación de datos

Ajustando un modelo jerárquico bayesiano me encontré con esta perlita: ¿Cómo simular datos de una distribución horrible? Y es que, saliendo de los estándares teóricos, existen distribuciones bonitas, feas y horribles... entre las horribles está esta función de densidad con argumento $latex theta$:


$latex p(theta)propto sum_{j=1}^p left(frac{1}{sigma^2_j+tau^2}right) prod_{j=1}^p(sigma^2_j+tau^2)^{1/2}expleft( -frac{(y_j-mu)^2}{2sigma^2_j+tau^2}right)$


Sin embargo existe un arma letal para estos casos: el método de la grilla que se puede combinar con el todopoderoso R que siempre tiene herramientas para solucionar esos problemas difíciles. Haciendo clíc acá encontrará un documento que resume el método de la grilla, con el que se puede simular cualquier cosa que tenga que ver con funciones de densidad.

9 comments:

  1. Andres, una mejora con respecto a los códigos para el documento podría ser el siguiente, en el primero para generar variables aleatorias de una expo(1) podría ser el siguiente:

    theta<-5
    u<-runif(1000)
    r.exp<-log(u)/(-theta)
    1/mean(r.exp)
    hist(r.exp,breaks=100,freq=F)
    lines(density(r.exp),col=2)

    Y para el segundo el siguiente código, que me pareción bien interesante la herramienta podría ser el siguiente código

    theta<-5
    x.grid<-seq(0,100,by=0.01)
    p.x<-exp(-theta*x.grid)
    r.exp<-sample(x.grid,1000,prob=p.x,replace=T)
    1/mean(r.exp)
    hist(r.exp,breaks=100,freq=F)

    Esta bien interesante tu información me cae de perlas para la materia de simulación. Una pregunta ¿cuál es el libro de robert y casella?

    Éxitos.

    ReplyDelete
  2. hola, muy interesante el método grilla (¿de grid en inglés?) para poder simular densidades complicadas. Te agradecería si me puedes pasar alguna referencia original del método.

    muchas gracias, por cierto, muy interesante tu blog.

    ReplyDelete
  3. hmmm

    r.exp<-log(u)/(-theta)

    Por supuesto, como $1-U$ tiene distribución uniforme, entonces $U$ también...

    Gracias por la mejora !!!!

    ReplyDelete
  4. Pues en Robert y Casella (1999) aparece el método de la transformación integral de probabilidad y en Gelman (2003) aparece una paráfrasis del método de la grilla.

    Ps aunque parece que es muy evidente y obvio... para mí no lo es y por eso escribí ese reporte. Por cierto el nombre de método de la grilla no es estándar, se lo puse porque describía bn la situación.

    Gracias

    ReplyDelete
  5. Y yo te agradezco mucho que lo escribieras, así tan clarito, pues el método de la grilla no lo conocía (sí el de transformación inversa con la distribución conocida). El libro Gelman 2003 es ¿el de análisis bayesiano?. Muchas gracias!

    ReplyDelete
  6. parce gracias eso ayuda un monton !!!!!!!!!

    ReplyDelete
  7. [...] trackback Han sido varios los comentarios acerca del método de la grilla descrito en una entrada anterior… Sin embargo, he vuelto a leer lo que escribí y me di cuenta que jamás mencioné cómo simular [...]

    ReplyDelete
  8. Fisicos locos van ah acabar con la humanidad

    ReplyDelete
  9. [...] algunas entradas anteriores (ver acá y acá) se discutía un método que, a pesar de ser muy antiguo, es muy efectivo a la hora de simular [...]

    ReplyDelete