Existe una serie de estimadores robustos de escala . Un ejemplo notable es la mediana de la desviación absoluta que se relaciona con la desviación estándar como . En un marco bayesiano, existen varias formas de estimar de manera sólida la ubicación de una distribución más o menos normal (por ejemplo, una Normal contaminada por valores atípicos), por ejemplo, se podría suponer que los datos se distribuyen como en distribución o distribución de Laplace. Ahora mi pregunta:
¿Cuál sería un modelo bayesiano para medir la escala de una distribución más o menos normal de una manera robusta, robusta en el mismo sentido que el MAD o estimadores robustos similares?
Como es el caso con MAD, sería genial si el modelo bayesiano pudiera acercarse al SD de una distribución normal en el caso en que la distribución de los datos en realidad se distribuye normalmente.
editar 1:
Un ejemplo típico de un modelo que es robusto contra la contaminación / valores atípicos al asumir los datos es más o menos normal es usar en la distribución como:
Donde es la media, es la escala y es el grado de libertad. Con priors adecuados en y , será una estimación de la media de que va a ser robusto frente a valores atípicos. Sin embargo, no será una estimación consistente de la SD de ya que depende de . Por ejemplo, si se fijaría en 4.0 y el modelo anterior se ajustaría a una gran cantidad de muestras de un distribución entonces s estaría alrededor de 0.82. Lo que estoy buscando es un modelo que sea robusto, como el modelo t, pero para el SD en lugar de (o además de) la media.
editar 2:
Aquí sigue un ejemplo codificado en R y JAGS de cómo el modelo t mencionado anteriormente es más robusto con respecto a la media.
# generating some contaminated data
y <- c( rnorm(100, mean=10, sd=10),
rnorm(10, mean=100, sd= 100))
#### A "standard" normal model ####
model_string <- "model{
for(i in 1:length(y)) {
y[i] ~ dnorm(mu, inv_sigma2)
}
mu ~ dnorm(0, 0.00001)
inv_sigma2 ~ dgamma(0.0001, 0.0001)
sigma <- 1 / sqrt(inv_sigma2)
}"
model <- jags.model(textConnection(model_string), list(y = y))
mcmc_samples <- coda.samples(model, "mu", n.iter=10000)
summary(mcmc_samples)
### The quantiles of the posterior of mu
## 2.5% 25% 50% 75% 97.5%
## 9.8 14.3 16.8 19.2 24.1
#### A (more) robust t-model ####
library(rjags)
model_string <- "model{
for(i in 1:length(y)) {
y[i] ~ dt(mu, inv_s2, nu)
}
mu ~ dnorm(0, 0.00001)
inv_s2 ~ dgamma(0.0001,0.0001)
s <- 1 / sqrt(inv_s2)
nu ~ dexp(1/30)
}"
model <- jags.model(textConnection(model_string), list(y = y))
mcmc_samples <- coda.samples(model, "mu", n.iter=1000)
summary(mcmc_samples)
### The quantiles of the posterior of mu
## 2.5% 25% 50% 75% 97.5%
##8.03 9.35 9.99 10.71 12.14
fuente
Respuestas:
La inferencia bayesiana en un modelo de ruido T con un previo apropiado dará una estimación sólida de ubicación y escala. Las condiciones precisas que la probabilidad y la necesidad previa de satisfacer se dan en el documento modelo de robustez bayesiano de los parámetros de ubicación y escala de Andrade y O'Hagan (2011). Las estimaciones son sólidas en el sentido de que una sola observación no puede hacer que las estimaciones sean arbitrariamente grandes, como se demuestra en la figura 2 del documento.
Cuando los datos se distribuyen normalmente, la SD de la distribución T ajustada (para fijo ) no coincide con la SD de la distribución generadora. Pero esto es fácil de arreglar. Sea σ la desviación estándar de la distribución generadora y s sea la desviación estándar de la distribución T ajustada. Si los datos se escalan en 2, entonces, por la forma de la probabilidad, sabemos que s debe escalar en 2. Esto implica que s = σ f ( ν ) para alguna función fija f . Esta función se puede calcular numéricamente mediante simulación a partir de una normal estándar. Aquí está el código para hacer esto:ν σ s s s=σf(ν) f
Por ejemplo, en obtengo f ( ν ) = 1.18 . El estimador deseado es entonces σ = s / f ( ν ) .ν=4 f(ν)=1.18 σ^=s/f(ν)
fuente
Cuando haga una pregunta sobre un problema muy preciso (estimación sólida), le ofreceré una respuesta igualmente precisa. Primero, sin embargo, comenzaré a tratar de disipar una suposición injustificada. No es cierto que haya una estimación bayesiana robusta de la ubicación (hay estimadores bayesianos de ubicaciones, pero como ilustraré a continuación no son robustos y, aparentemente , incluso el estimador robusto de ubicación más simple no es bayesiano). En mi opinión, las razones de la ausencia de superposición entre el paradigma 'bayesiano' y el 'robusto' en el caso de la ubicación explica en gran medida por qué tampoco hay estimadores de dispersión que sean robustos y bayesianos.
En realidad no. Las estimaciones resultantes solo serán sólidas en un sentido muy débil de la palabra robusto. Sin embargo, cuando decimos que la mediana es robusta para los valores atípicos, nos referimos a la palabra robusta en un sentido mucho más fuerte. Es decir, en estadísticas sólidas, la solidez de la mediana se refiere a la propiedad de que si calcula la mediana en un conjunto de datos de observaciones extraídas de un modelo continuo unimodal y luego reemplaza menos de la mitad de estas observaciones por valores arbitrarios , el valor de la mediana calculada en los datos contaminados está cerca del valor que hubiera tenido si lo hubiera calculado en el conjunto de datos original (no contaminado). Entonces, es fácil demostrar que la estrategia de estimación que propone en el párrafo que cité anteriormente definitivamente no es robusto en el sentido de cómo la palabra se entiende típicamente para la mediana.
No estoy completamente familiarizado con el análisis bayesiano. Sin embargo, me preguntaba qué hay de malo en la siguiente estrategia, ya que parece simple, eficaz y, sin embargo, no se ha considerado en las otras respuestas. Lo anterior es que la buena parte de los datos se extrae de una distribución simétrica y que la tasa de contaminación es inferior a la mitad. Entonces, una estrategia simple sería:F
EDITAR:
Gracias al OP por proporcionar un código R autónomo para realizar un análisis bayesiano bonna fide del problema.
El siguiente código compara el enfoque bayesiano sugerido por el OP con su alternativa de la literatura estadística robusta (por ejemplo, el método de ajuste propuesto por Gauss para el caso donde los datos pueden contener tanto comon/2−2
valores atípicos y la distribución de buena parte de los datos es gaussiana).
La parte central de los datos es :N(1000,1)
Agregue una cierta cantidad de contaminantes:
el índice w toma el valor 1 para los valores atípicos. Comienzo con el enfoque sugerido por el OP:
Yo obtengo:
y:
(silencioso lejos de los valores objetivo)
Para el método robusto,
uno obtiene:
(muy cerca de los valores objetivo)
th
fuente
En el análisis bayesiano, el uso de la distribución inversa de Gamma como prioridad para la precisión (el inverso de la varianza) es una opción común. O la distribución inversa de Wishart para modelos multivariados. Agregar un previo a la variación mejora la robustez frente a los valores atípicos.
Hay un buen artículo de Andrew Gelman: "Distribuciones previas para parámetros de varianza en modelos jerárquicos" en el que discute qué buenas elecciones pueden ser para los previos en las varianzas.
fuente
Un estimador robusto para el parámetro de ubicaciónμ de algún conjunto de datos de tamaño norte se obtiene cuando se asigna un Jeffreys antes de la varianza σ2 de la distribución normal, y calcula el marginal para μ , produciendo un t distribución con norte grados de libertad.
Del mismo modo, si desea un estimador robusto para la desviación estándarσ de algunos datos re , podemos hacer lo siguiente:
Primero, suponemos que los datos se distribuyen normalmente cuando se conocen su media y la desviación estándar. Por lo tanto,
fuente
I have followed the discussion from the original question. Rasmus when you say robustness I am sure you mean in the data (outliers, not miss-specification of distributions). I will take the distribution of the data to be Laplace distribution instead of a t-distribution, then as in normal regression where we model the mean, here we will model the median (very robust) aka median regression (we all know). Let the model be:
Of course our goal is to estimate model parameters. We expect our priors to be vague to have an objective model. The model at hand has a posterior of the formf(β,σ,Y,X) . Giving β a normal prior with large variance makes such a prior vague and a chis-squared prior with small degrees of freedom to mimic a jeffrey's prior(vague prior) is given to to σ2 . With a Gibbs sampler what happens? normal prior+laplace likehood=???? we do know. Also chi-square prior +laplace likelihood=??? we do not know the distribution. Fortunately for us there is a theorem in (Aslan,2010) that transforms a laplace likelihood to a scale mixture of normal distributions which then enable us to enjoy the conjugate properties of our priors. I think the whole process described is fully robust in terms of outliers. In a multivariate setting chi-square becomes a a wishart distribution, and we use multivariate laplace and normal distributions.
fuente
Suppose that you haveK groups and you want to model the distribution of their sample variances, perhaps in relation to some covariates x . That is, suppose that your data point for group k∈1…K is Var(yk)∈[0,∞) . The question here is, "What is a robust model for the likelihood of the sample variance?" One way to approach this is to model the transformed data ln[Var(yk)] as coming from a t distribution, which as you have already mentioned is a robust version of the normal distribution. If you don't feel like assuming that the transformed variance is approximately normal as n→∞ , then you could choose a probability distribution with positive real support that is known to have heavy tails compared to another distribution with the same location. For example, there is a recent answer to a question on Cross Validated about whether the lognormal or gamma distribution has heavier tails, and it turns out that the lognormal distribution does (thanks to @Glen_b for that contribution). In addition, you could explore the half-Cauchy family.
Similar reasoning applies if instead you are assigning a prior distribution over a scale parameter for a normal distribution. Tangentially, the lognormal and inverse-gamma distributions are not advisable if you want to form a boundary avoiding prior for the purposes of posterior mode approximation because they peak sharply if you parameterize them so that the mode is near zero. See BDA3 chapter 13 for discussion. So in addition to identifying a robust model in terms of tail thickness, keep in mind that kurtosis may matter to your inference, too.
I hope this helps you as much as your answer to one of my recent questions helped me.
fuente