Kabaca normal bir dağılımın ölçeğini tahmin etmek için sağlam bir Bayesian modeli ne olurdu?


32

Bir dizi sağlam tahmin edici vardır . Kayda değer bir örnek, olarak standart sapma ile ilgili olan medyan mutlak sapmadır . Bir Bayesian çerçevesinde , kabaca normal bir dağılımın konumunu (örneğin, aykırıklar tarafından kontamine olmuş bir Normal)) sağlam bir şekilde tahmin etmenin çeşitli yolları vardır; Şimdi benim sorum:σ=MAD1.4826

Kabaca normal bir dağılımın ölçeğini sağlam bir şekilde ölçmek için bir Bayesian modeli , MAD veya benzer sağlam tahmin ediciler ile aynı anlamda sağlam olacaktır.

MAD'de olduğu gibi, Bayesian modelinin normalde veri dağılımının normalde dağıtıldığı durumlarda SD'ye yaklaşıp ulaşamayacağı iyi olacaktır.

düzenleme 1:

Veri varsayılarak kontaminasyon / aşın karşı sağlam bir modeli tipik bir örneği olan kabaca normal gibi dağılımına kullanıyor:yi

yit(m,s,ν)

Burada m ortalamasıdır, s ölçektir ve ν derecesi serbestlik olup. Üzerinde uygun olaya karışan m,s ve ν , m ortalama bir tahmin olacak yi aykırı karşı sağlam olacaktır. Ancak, s SD tutarlı bir tahmin olmayacaktır yi olarak s bağlıdır ν . Örneğin, ν 4.0 sabitlenir ve olacak bir örneklerin çok sayıda takılabilir olur yukarıdaki model Norm(μ=0,σ=1) dağılımı, daha sonra s0,82 civarında olurdu. Aradığım şey, t modeli gibi sağlam ancak ortalama yerine (veya ek olarak) SD için olan bir model.

düzenleme 2:

Yukarıda R ve JAGS’ta yukarıda belirtilen t modelinin ortalamaya göre nasıl daha sağlam olduğuna dair kodlanmış bir örnek var.

# 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 

Belki de yeterince sağlam değildir, ancak ki-kare dağılımı, varyansın tersi için genellikle seçilen konjugattır.
Mike Dunlavey,

Bu sorunun ilk yanıtının istatistik.stackexchange.com/questions/6493/… sizin için yeterli olup olmadığını görmek isteyebilirsiniz ; iyi olmayabilir, ama belki de.
Jbowman

Kirlenmenin seviyesi için önceden ne düşünüyorsunuz? Kirlenme sistematik olacak mı? Rastgele? Tek bir dağıtım mı, yoksa birden fazla dağıtım mı oluşturulacak? Gürültü dağılımı hakkında bir şey biliyor muyuz? Yukarıdakilerin en azından bir kısmı biliniyorsa, o zaman bir çeşit karışım modeline uyabiliriz. Aksi halde, bu sorunla ilgili inançlarınızın gerçekte ne olduğundan emin değilim ve eğer bunlardan birine sahip değilseniz, çok belirsiz bir ortam gibi görünüyor. Bir şeyi düzeltmeniz gerekir, aksi takdirde rastgele bir nokta seçebilir ve onu Gaussian tarafından oluşturulan tek nokta olarak ilan edebilirsiniz.
anlamı

Ancak genel olarak, aykırı değerlere karşı daha dirençli olan bir t-dağılımına veya t-dağılımlarının bir karışımına uyabilirsiniz. Çok sayıda makale olduğundan eminim, burada bir Bishop araştırma yazıyor.microsoft.com/en
anlamı

1
Sizin normal dağılıma sahip nüfus için de geçerlidir, ancak diğer birçok dağılımlar içinσ=MAD1.4826
Henry

Yanıtlar:


10

Bir T gürültü modelinde uygun bir önceliğe sahip olan Bayesian çıkarımı, konum ve ölçeğin sağlam bir tahminini verecektir. Olabilirliği ve önceden karşılanması gereken kesin koşullar, Bayesian'nin yer ve ölçek parametrelerinin sağlamlık modellemesi, Andrade ve O'Hagan (2011) tarafından verilmektedir. Tahminler, tek bir gözlemin, tahminleri Şekil 2'de gösterildiği gibi, keyfi olarak büyük yapamadığı anlamında güçlüdür.

Veriler normal olarak dağıtıldığında, takılan T dağılımının (sabit ) üretici dağılımının eşleşmiyor. Ancak bunu düzeltmek kolaydır. Let üreten dağılımının standart sapması ve izin donatılmış T dağılımının standart sapması. Veriler 2'ye ölçeklendiyse, o zaman olasılıkların 2'ye ölçeklenmesi gerektiğini biliyoruz . Bu, bazı sabit işlevler için anlamına gelir . Bu fonksiyon standart bir normalden simülasyonla sayısal olarak hesaplanabilir. İşte bunu yapmak için kod:σ s s s = σ f ( ν ) fνσsss=σf(ν)f

library(stats)
library(stats4)
y = rnorm(100000, mean=0,sd=1)
nu = 4
nLL = function(s) -sum(stats::dt(y/s,nu,log=TRUE)-log(s))
fit = mle(nLL, start=list(s=1), method="Brent", lower=0.5, upper=2)
# the variance of a standard T is nu/(nu-2)
print(coef(fit)*sqrt(nu/(nu-2)))

Örneğin, en Elde . Ardından istenen tahminci .f ( ν ) = 1.18 σ = s / f ( ν )ν=4f(ν)=1.18σ^=s/f(ν)


1
Güzel cevap (+1). “Tek bir gözlemin tahminleri keyfi olarak büyük yapamayacağı anlamında”, bu yüzden kırılma noktası 2 / n'dir (bunu merak ediyordum) .... Bir karşılaştırma noktası olarak, cevabımda gösterilen prosedür n / 2.
user603

Vay, teşekkürler! Bulanık takip sorusu. O zaman aslında misiniz mantıklı o Normal durumda SD ile tutarlı yüzden "doğru" ölçeğine? Düşündüğüm kullanım durumu, bir yayılma ölçütü bildirirken. Raporlama ölçeği ile bir sorunum olmazdı, ancak en yaygın yayılma ölçütü (en azından psikolojide) olduğu için, SD ile tutarlı olacak bir şeyi rapor etmek güzel olurdu. Bu düzeltmenin tuhaf ve tutarsız tahminlere neden olacağı bir durum görüyor musunuz?
Rasmus Bååth

6

Çok kesin bir problem hakkında bir soru sorduğunuzda (sağlam tahmin), size eşit derecede kesin bir cevap sunacağım. İlk önce, haksız bir varsayımı ortadan kaldırmaya çalışacağım. Konumun sağlam bir bayezyen tahmini olduğu doğru değildir (konumların bayesyen tahmin edicileri vardır, ancak aşağıda gösterdiğim gibi, sağlam değillerdir ve görünüşe göre , en basit konumlar bile tahmin edicileri bayesyen değildir). Benim görüşüme göre, konum örneğindeki 'bayesli' ve 'sağlam' paradigma arasındaki örtüşmenin olmamasının nedenleri, hem sağlam hem de bayesli olan saçılma tahmin edicilerinin olmadığını açıklamakta uzun bir yol kat etmektedir.

Üzerinde uygun olaya karışan ve , ortalama bir tahmin olacak aykırı karşı sağlam olacaktır.ν m y benm,sνmyi

Aslında hayır. Sonuçta ortaya çıkan tahminler, yalnızca sağlam kelimesini çok zayıf anlamda sağlam olacaktır. Biz medyan olduğunu söylemek Ancak, sağlam aykırı biz kelimenin anlamı sağlam daha güçlü bir anlamda. Diğer bir deyişle, sağlam istatistiklerde, medyanın sağlamlığı, medyanı tek yönlü, sürekli bir modelden çizilen bir veri kümesi veri seti üzerinde hesaplarsanız ve bu gözlemlerin yarısından daha azını rasgele değerlerle değiştiriyorsanız, bu özelliği belirtir. kirli verilerde hesaplanan medyanın değeri, orijinal (kontamine olmayan) veri setinde hesaplamış olmanız gereken değere yakındır. O zaman, yukarıda alıntı yaptığım paragrafta önerdiğin tahmin stratejisinin kesin olmadığını göstermek kolaydır. kelimenin ortanca için tipik olarak nasıl anlaşıldığı anlamında sağlamdır.

Bayesian analizine tamamen aşina değilim. Bununla birlikte, aşağıdaki stratejide neyin yanlış olduğunu merak ediyorum, basit, etkili görünüyor, ancak diğer cevaplarda dikkate alınmadı. Birincisi, verilerin iyi bir kısmının bir simetrik dağılımından çekilmesi ve kirlenme oranının yarıdan daha az olmasıdır. O zaman basit bir strateji şöyle olacaktır:F

  1. Veri setinizin ortancasını / deliğini hesaplayın. Ardından hesaplayın:
    zi=|ximed(x)|mad(x)
  2. olan gözlemleri hariç (bu, olduğunda dağılımının nicelikleridir ). Bu miktar birçok seçeneği için temin edilebilir ve diğerleri için önyüklenebilir .α z x F Fzi>qα(z|xF)αzxFF
  3. Reddedilmemiş gözlemler üzerine (her zamanki gibi, sağlam olmayan) bir Bayesian analizi yapın.

DÜZENLE:

Sorunun bir bonna fide bayesian analizini yürütmek için kendi kendine yeten R kodu sağladığı için OP sayesinde

Aşağıdaki kod OP'nin önerdiği bayesyen yaklaşımı, sağlam istatistik literatüründen alternatifine benzetmektedir (örneğin, Gauss tarafından verilerin aykırı değerler kadar içerebileceği durumlar için önerilen uydurma yöntemi ve Verinin iyi bir kısmı Gauss'dur).n/22

Verinin orta kısmı: :N(1000,1)

n<-100
set.seed(123)
y<-rnorm(n,1000,1)

Bir miktar kirletici ekleyin:

y[1:30]<-y[1:30]/100-1000 
w<-rep(0,n)
w[1:30]<-1

w indeksi aykırı değerler için 1 değerini alır. OP'nin önerdiği yaklaşımla başlıyorum:

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)
print(summary(mcmc_samples)$statistics[1:2])
summary(mcmc_samples)

Alırım:

     Mean        SD 
384.2283  97.0445 

ve:

2. Quantiles for each variable:

 2.5%   25%   50%   75% 97.5% 
184.6 324.3 384.7 448.4 577.7 

(bu nedenle hedef değerlerden uzakta sessiz)

Sağlam yöntem için

z<-abs(y-median(y))/mad(y)
th<-max(abs(rnorm(length(y))))
print(c(mean(y[which(z<=th)]),sd(y[which(z<=th)])))

biri alır:

 1000.149 0.8827613

(hedef değerlere çok yakın)

İkinci sonuç gerçek değerlere çok daha yakın. Ama daha da kötüleşiyor. Tahmini skorunun daha büyük olduğu gözlemleri outliers olarak sınıflandırırsak ( öncekilerin Gauss olduğunu unutmayın ), o zaman bayesyen yaklaşım tüm gözlemlerin outliers olduğunu bulur (bunun aksine, sağlam prosedür, aksine, tüm bayrakları işaretler). Sadece outliers gibi). Bu aynı zamanda, eğer sağlam prosedürle aykırı olarak sınıflandırılmayan veriler üzerinde normal (sağlam olmayan) bir bayes analizi gerçekleştirecekseniz, para cezası yapmanız gerektiğini (örneğin sorunuzda belirtilen hedefleri yerine getirmeniz) anlamına gelir.FzthF
t

  • [1] Ricardo A. Maronna, Douglas R. Martin, Victor J. Yohai (2006). Sağlam İstatistikler: Kuram ve Yöntemler (Olasılık ve İstatistikte Wiley Serisi).
  • Huber, PJ (1981). Sağlam İstatistikler. New York: John Wiley ve Oğulları.

1
Eh, t genellikle normal dağılım için sağlam bir alternatif olarak önerilmiştir. Bunun zayıf anlamda olup olmadığını bilmiyorum. Örneğin bakınız: Lange, KL, Little, RJ ve Taylor, JM (1989). T dağılımını kullanarak sağlam istatistiksel modelleme. Amerikan İstatistik Kurumu Dergisi , 84 (408), 881-896. pdf
Rasmus Bååth

1
Bu zayıf anlamda. Önerdiğiniz prosedürü uygulayan bir R kodunuz varsa, cevabımı bir örnekle göstermekten mutlu olurum. Aksi halde, bu ders kitabının 2. bölümünde daha fazla açıklama alabilirsiniz .
kullanıcı603

Önerdiğim prosedür temelde burada açıklanmaktadır: indiana.edu/~kruschke/BEST, R kodu dahil. Çözümün hakkında düşünmem gerekecek! Bununla birlikte, tüm verileri modellemediği anlamında Bayesian görünmüyor, sadece 2. adımda "hayatta kalan" altküme
Rasmus Bååth


1
Ben şimdi yaptım!
Rasmus Bååth

1

Bayes analizinde, ters Gama dağılımının hassasiyet için bir öncelik olarak kullanılması (varyansın tersi) ortak bir seçimdir. Veya çok değişkenli modeller için ters Wishart dağılımı. Varyansa bir öncelik eklemek, aykırı değerlere karşı sağlamlığı artırır.

Andrew Gelman'ın güzel bir makalesi var: “Hiyerarşik modellerde varyans parametreleri için önceki dağılımlar”, burada varyanslardaki öncelikler için hangi iyi seçimlerin yapılabileceğini tartışıyor.


4
Üzgünüm ama bunun soruyu nasıl cevapladığını göremiyorum. Sağlam bir öncelik için değil, sağlam bir model istemiştim .
Rasmus Bååth

0

μNσ2μtN

σD

D|μ,σN(μ,σ2)
D(d1,,dN)
p(D|μ,σ2)=1(2πσ)Nexp(N2σ2((mμ2)+s2))
ms2
m=1Ni=1Ndis2=1Ni=1Ndi2m2
p(μ,σ2|D)p(D|μ,σ2)p(μ,σ2)
(μ,σ2)p(μ,σ2|D)p(σ2|D)
σ2|DIG(α+N/2,2β+Ns2)α,β>0
σ2αβtμ

1
σ2

1
Her şey sağlam derken ne demek istediğine bağlı. Şu an söylediğin şey sağlamlık wrt verileri istiyorsun. Önerdiğim şey, modelin yanlış tanımlaması olan sağlamlıktı. İkisi de farklı sağlamlık türleridir.
yannick

2
Verdiğim, MAD ve dağıtımda verinin dağıtımı olarak kullandığım örneklerin verilere göre sağlamlık örnekleri olduğunu söyleyebilirim .
Rasmus Bååth

Rasmus'in haklı olduğunu ve BDA3'teki Gelman'ın, aynı konum parametresi için normalden daha keskin kuyruklara sahip olduğuna dair temel bir anlayış olduğunu söyleyebilirim
Brash Dengesi,

0

Tartışmayı orijinal sorudan izledim. Sağlam derken Rasmus, veride demek istediğine eminim (aykırı değerler, dağılımların yanlış tanımlanması değil). Verilerin dağılımını t-dağıtımı yerine Laplace dağıtımı olarak alacağım, o zaman ortalamayı modellediğimiz normal regresyonda olduğu gibi, burada medyan (çok sağlam) aka medyan regresyonunu modelleyeceğiz (hepimiz biliyoruz). Model şöyle olsun:

Y=βX+ϵε(0,σ2)

f(β,σ,Y,X)βσ2. Gibbs örnekleyici ile ne olur? normal önceki + laplace benzerliği = ???? Biliyoruz. Ayrıca Ki-kare öncesi + laplace olabilirliği = ??? dağılımını bilmiyoruz. Neyse ki, bizim için (Aslan, 2010) bir laplace olasılığını, normal dağılımların ölçekli bir karışımına dönüştüren bir teorem var, bu da öncekilerimizin eşlenik özelliklerinden yararlanmamızı sağlıyor. Açıklanan tüm sürecin aykırı değerler açısından tamamen sağlam olduğunu düşünüyorum. Çok değişkenli bir ortamda ki-kare bir wishart dağılımı haline gelir ve biz çok değişkenli laplace ve normal dağılımları kullanırız.


2
Çözümünüz, yerin sağlam bir şekilde tahmin edilmesine odaklanmış gibi görünüyor (ortalama / medyan). Benim sorum daha doğrusu veri üreten dağılım gerçekten normal olduğunda, SD'nin alınmasıyla ilgili olarak tutarlılık özelliğine sahip bir ölçek tahmini yapmaktı.
Rasmus Bååth

Konumun sağlam bir tahminiyle, konumun işlevi olarak ölçek hemen konumun sağlamlığından yararlanır. Ölçeği sağlamlaştırmanın başka bir yolu yoktur.
Chamberlain Foncha

Her neyse, şunu söylemeliyim ki, özellikle de vurguladığınız gibi normal bir dağılımla bu sorunun nasıl çözüleceğini görmek için sabırsızlanıyorum.
Chamberlain Foncha

0

Kxk1...Kvar(yk)[0,)ln[var(yk)]tn

Normal bir dağıtım için bir ölçek parametresi üzerinden önceki bir dağıtım atadığınız için de benzer bir akıl yürütme uygulanır. Teğetsel olarak, posterior mod yaklaşımı için kaçınarak bir sınır oluşturmak istiyorsanız, mod sıfıra yakın olacak şekilde parametrelediğinizde keskin bir şekilde zirve yaptıkları için lognormal ve ters-gama dağılımları tavsiye edilmez. Tartışma için BDA3 bölüm 13'e bakınız. Bu nedenle kuyruk kalınlığı açısından sağlam bir model belirlemeye ek olarak, kurtosisin sizin çıkarımınız için de önemli olabileceğini unutmayın.

Umarım bu, size en son sorduğum sorulardan birinin cevabının bana yardımcı olduğu kadar yardımcı olur.


1
Sorum şu ki, bir grubun olduğu durum ve bu grubun ölçeğini nasıl sağlam bir şekilde tahmin edebileceğin hakkında. Aykırı değerler durumunda, örneklem varyansının sağlam olarak kabul edildiğine inanmıyorum.
Rasmus Bååth

Bir grubunuz varsa ve normal dağılımını tahmin ediyorsanız, sorunuz ölçek parametresi üzerinde önceki form için geçerlidir. Cevabımın belirttiği gibi, logosunun dönüşümü boyunca dağıtımda kullanabilir ya da kurtosisi gibi dağıtımın diğer yönlerine dikkat ederek, pozitif gerçek desteği olan yağ kuyruklu bir dağılım seçebilirsiniz. Alt satırda, bir ölçek parametresi için sağlam bir model kullanıyorsanız, log dönüşümü veya diğer bazı kuyruklu dağıtımları üzerinden dağıtımda kullanın.
Brash Dengesi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.