Існує ряд надійних оцінювачів масштабу . Помітним прикладом є середнє абсолютне відхилення, яке відноситься до стандартного відхилення як . У байєсівській системі існує ряд способів чітко оцінити розташування приблизно нормального розподілу (скажімо, нормального зараження сторонніми людьми), наприклад, можна припустити, що дані поширюються як при розподілі, так і по розподілу Лапласа. Тепер моє запитання:
Якою може бути байєсівська модель для вимірювання масштабу приблизно нормального розподілу надійним способом, надійною в тому ж сенсі, що і MAD або подібні надійні оцінки?
Як і у випадку з MAD, було б акуратно, якби байєсівська модель могла наблизитись до SD звичайного розподілу у випадку, коли розподіл даних насправді нормально розподіляється.
редагувати 1:
Типовий приклад моделі, яка є надійною щодо забруднення / перешкоджання, якщо припускати, що дані є приблизно нормальними, використовується при розподілі на зразок:
Де - середнє значення, - шкала, а - ступінь свободи. З відповідними пріорами на та , буде оцінкою середнього значення яке буде надійним щодо інших людей. Однак не буде послідовною оцінкою SD оскільки залежить від . Наприклад, якщо було б зафіксовано до 4.0, а модель, розміщена вище, підходила б до величезної кількості зразків з розподілу тодібуло б близько 0,82. Що я шукаю - це модель, яка є надійною, як модель t, але для SD замість (або додатково до цього) середнього.
редагувати 2:
Тут подано кодований приклад в R та JAGS про те, як згадана вище t-модель є більш надійною щодо середнього.
# 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