Opened 12 years ago
Closed 12 years ago
#1608 closed defect (fixed)
Ejemplo de modelos multiplicativos con efectos aditivos
Reported by: | cescalonilla | Owned by: | Víctor de Buen Remiro |
---|---|---|---|
Priority: | normal | Milestone: | BSR Documentation |
Component: | Kernel | Version: | 3.1 |
Severity: | normal | Keywords: | |
Cc: | pgea@…, jsperez@… |
Description (last modified by )
Hola,
Queremos documentar la estimación de un efecto aditivo en un modelo multiplicativo. Es un modelo con la transformación Log del output y en el cual tenemos además de los efectos multiplicativos un efecto aditivo en las observaciones originales.
Log(y+a*x) =beta*other_X + noise
Esto puede estimarse como un efecto multiplicativo aproximado
Log(y-a*x) = Log(y(1-a*(x/y)))= Log(y)+Log(1-a*(x/y))~Log(y)-a*(x/y) cuando |x/y| proximo a cero
o mediante un bloque no lineal de BSR.
El ejercicio que queremos hacer consiste en simular un modelo controlado que contenga un efecto del tipo anterior y estimar ambas variantes (aproximada y no lineal). Con ello se quiere tratar también las condiciones sobre las cuales la estimación aproximada es válida.
Attachments (2)
Change History (12)
comment:1 Changed 12 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 12 years ago by
Owner: | changed from vdbuen to Víctor de Buen Remiro |
---|---|
Status: | new → assigned |
Changed 12 years ago by
Attachment: | ejemplo1.tol added |
---|
comment:3 Changed 12 years ago by
comment:6 Changed 12 years ago by
He estado haciendo pruebas utilizando BysMcmc a pelo (sin MMS), sustituyendo el filtro no lineal que proporciona MMS por el que desarrollé yo inicialmente, ya que con el de MMS no puedo depurar pues no tengo acceso al código por el momento.
Efectivamente el parámetro sale muy distinto, pues sale -1.657 cuando debería estar en torno a 2, mientras que el resto de parámetros salen bastante razonables.
Obsérvese que aunque pueda dar la impresión de ser una diferencia muy grande, pues es casi el efecto opuesto del esperado, no lo es tanto en términos de la desviación típica del parámetro que se sitúa en unas 3 sigmas, lo cual es bastante significativo pero no tan catastrófico como pudiera parecer a primera vista.
A la hora de comparar un modelo estimado con el real, las diferencias halladas entre los parámetros no suelen ser una buena medida de la calidad, y menos aún si se trata de modelos no lineales o con otras complicaciones.
La única medida incuestionable para comparar modelos es la verosimilitud, que en este caso viene determinada por los residuos y eso es lo que yo suelo comparar para construir métodos de contraste fiables en simulación masiva de modelos por ingeniería inversa.
En un modelo bayesiano, los residuos del modelo son en puridad variables aleatorias, por lo que habría que evaluarlos para cada realización de la cadena de Markov, pero como primera aproximación suele ser suficiente con calcular los residuos generados usando en la fórmula del modelo las esperanzas estimadas para los parámetros.
Si comparamos los residuos reales R
con los estimados de esta forma R_
vemos que en realidad son muy semejantes
De hecho, la desviación típica de los residuos reales (0.2016) es ligeramente mayor que la de los estimados (0.1926), así que en ningún caso se puede decir que la estimación sea mala, sino más bien que el modelo es malo, es decir, que no se trata de un buen ejemplo de la clase de modelos que se quiere analizar.
Lo que está ocurriendo es que la variable aditiva resulta mucho menos explicativa del output de lo que cabría esperar, por lo que la verosimilitud condicionada al resto de parámetros es muy plana y básicamente da lo mismo poner un valor que otro pues siempre se obtienen más o menos los mismos residuos.
Se trata de una clase de modelos muy poco estudiada con lo cual no me extraña en absoluto que sucedan estas cosas. En cuanto saque un rato trataré de ver qué es exactamente lo que no cuadra e intentaré generar un diseño congruente.
comment:7 Changed 12 years ago by
Estoy empezando a ver el problema. Si la variable input aditiva tiene media 0 entonces la estimación es correcta a nivel de parámetros, no sólo de residuos, y lo mismo pasa si las dos variables multiplicativas tiene media nula.
En cambio, si existe al menos una variable aditiva y una multiplicativa con media no nula, entonces los residuos siguen saliendo bien pero los parámetros divergen.
Así pues, en el diseño del modelo mixto aditivo-multiplicativo hay que elegir si los parámetros de nivel están en la parte aditiva o en la multiplicativa pues no pueden estar en los dos a la vez.
Intuitivamente me parece totalmente razonable pero aún no tengo una explicación formal de porqué ocurre así.
Changed 12 years ago by
Attachment: | Mixto_EstimateBSR2__1.0.bsr.zip added |
---|
Estimación de un modelo mixto con BSR exacto
comment:8 Changed 12 years ago by
Hola,
hemos probado modelos mixtos en los cuales se impone media cero en los inputs, ruido normal con una desviación muy pequeña, que las estimaciones con los tres métodos distintos salen resultados buenos.
Pero, en otros ejemplos, sin embargo, no es así, en los métodos de estimación aproximando el efecto aditivo salen correctamente, sin embargo, con el método BSR con bloque no lineal salen resultados raritos. No entiendo porque pasa eso.
Adjunto al ticket el zip de la estimación que te digo, para que le eches un vistazo, cuando haya tiempo claro.
comment:9 Changed 12 years ago by
Yo no consigo ejecutar este modelo. Me dice cosas como
Error: compensacion no es un objeto valido para el tipo Serie.
comment:10 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Añado un archivo .tol con un ejemplo que muestra lo que se comenta en el ticket.