Bayesci Model Ortalamasının (BMA) avantajlarını gösteren basit örnek


12

Araştırmamda bir Bayesci Model Ortalaması (BMA) yaklaşımı kullanıyorum ve yakında meslektaşlarıma çalışmalarım hakkında bir sunum yapacağım. Bununla birlikte, BMA benim alanımda gerçekten iyi bilinmemektedir, bu yüzden onları tüm teori ile sunduktan ve gerçekten problemime uygulamadan önce, BMA'nın neden işe yaradığına dair basit ama öğretici bir örnek sunmak istiyorum.

Birinin seçebileceği iki model ile basit bir örnek düşünüyordum, ancak gerçek veri üreten model (DGM) arasında bir yer var ve kanıtlar gerçekten bunlardan birini desteklemiyor. Dolayısıyla, birini seçip onlardan devam ederseniz, model belirsizliğini görmezden gelir ve bir hata yaparsınız, ancak BMA, gerçek model model setinin bir parçası olmasa da, en azından ilgili parametrenin doğru arka yoğunluğunu verir. Örneğin, her gün iki hava tahmini (A ve B) vardır ve biri hava durumunu en iyi tahmin etmek ister, bu nedenle klasik istatistiklerde önce ikisi arasında en iyi tahminciyi bulmaya çalışırsınız, ancak gerçek aradaki bir yerdeyse (yani bazen A doğrudur, bazen B). Ama resmileştiremedim. Böyle bir şey ama fikirlere çok açığım. Umarım bu soru yeterince spesifiktir!

Literatürde şimdiye kadar okuduğum şeylerden güzel örnekler bulamadım:

  • Kruschke (2011) , Bayesci istatistiklere harika bir giriş yaparken, BMA'ya gerçekten odaklanmıyor ve 4. bölümde sahip olduğu para atma örneği Bayesci istatistikleri tanıtmak için harika, ancak bir araştırmacıyı BMA'yı kullanmaya ikna etmiyor. ("Neden yine üç modelim var, biri madalyonun adil ve iki tanesi her iki yönde de taraflı olduğunu söylüyor?")
  • Okuduğum diğer tüm şeyler ( Koop 2003 , Koop / Poirier / Tobias (2007) , Hoeting ve diğerleri (1999) ve tonlarca diğerleri) harika referanslardır, ancak bunlarda basit bir oyuncak örneği bulamadım.

Ama belki de burada iyi bir kaynağı kaçırdım.

Yani BMA tanıtmak için kullandığı iyi bir örneği var mı? Belki de olasılıkları ve posteriorları bile göstererek, bunun oldukça öğretici olacağını düşünüyorum.


Kısa bir güncelleme: Freedman'ın 2. bölümdeki paradoksuna atıfta bulunan bu sunumla yeni karşılaştım. 39 rasgele eş değişkenin simüle edildiği ve birinin en iyi modeli ararsa, sonunda önemli eş değişkenler bulduğu kısa bir örnek var. Model ortalamasının görünüşe göre bu sorun için bir çare olduğu görülüyor. Burada kod ile bir çözüm göndermiyorum çünkü açıkçası, orada rakamlar nasıl türetildiğini bilmiyorum.
Christoph_J

(Devam ediyor) Tam olarak neyi ortalıyorlar? En iyi parametre? Tüm parametreler (bunun sadece bu özel örnekte anlamlı olacağını düşünüyorum). Yine de, grafiklerin Freedman'ın paradoksunun ipucu ile birlikte oldukça yararlı olduğunu düşünüyorum. Belki biraz yardımcı olur.
Christoph_J

Yanıtlar:


8

Son zamanlarda benzer bir şey yaptım. Başkalarını ikna etmeye çalışmak değil, küçük bir proje yapmak, BMA'nın tadına bakmamı sağlıyor. Yaptığım şey, ikili yanıtı, yanıtı etkileyen üç bağımsız değişkeni ve yanıtı etkilemeyen yedi değişkeni içeren bir veri kümesi oluşturmaktı. Daha sonra BMA sonuçlarını lojistik regresyondaki sık tahminlerle karşılaştırdım. En azından bu durumda BMA yaklaşımının oldukça iyi göründüğünü düşünüyorum. Daha erişilebilir hale getirmek istiyorsanız, değişkenleri ya da bir şeyi genel ve olarak adlandırmak yerine her zaman adlandırabilirsiniz .yXy

Bunun için kullandığım R kodu aşağıda sunulmuştur. Umarım size ilham verebilir!

# The sample size
n <- 100

# The 'true' coefficient vector
Beta <- cbind(c(-1.5, 0.45, -3))

# Generate the explanatory variables which have an effect on the outcome
set.seed(1)
X <- cbind(rnorm(n, 0, 1), rnorm(n, 4, 2), rnorm(n, 0.5, 1))

# Convert this into probabilities
prob <- 1/(1+exp(-X %*% Beta))

# Generate some uniform numbers. If the elements are smaller than the corresponding elements in the prob vector, then return 1.
set.seed(2)
runis <- runif(n, 0, 1)
y <- ifelse(runis < prob, 1, 0)

# Add the nonsense variables
X <- cbind(X, rpois(n, 3))        # Redundant variable 1 (x4)
X <- cbind(X, rexp(n, 10))        # Redundant variable 2 (x5)
X <- cbind(X, rbeta(n, 3, 10))    # Redundant variable 3 (x6)
X <- cbind(X, rbinom(n, 10, 0.5)) # Redundant variable 4 (x7)
X <- cbind(X, rpois(n, 40))       # Redundant variable 5 (x8)
X <- cbind(X, rgamma(n, 10, 20))  # Redundant variable 6 (x9)
X <- cbind(X, runif(n, 0, 1))     # Redundant variable 7 (x10)


# The BMA
library(BMA)
model <- bic.glm(X, y,  glm.family="binomial", factor.type=FALSE, thresProbne0 = 5, strict = FALSE)

# The frequentist model
model2 <- glm(y~X, family = "binomial")

old.par <- par()
par(mar=c(3,2,3,1.5))
plot(model, mfrow=c(2,5))
par(old.par)

summary(model)
summary(model2)

2
Bu güzel bir örnek, bunun için +1. Ancak, daha önce de belirttiğiniz gibi, başkalarını BMA kullanmaya ikna etmede gerçekten yardımcı olmuyor. Aslında, onu çalıştırıyorum ve BMA'nın burada klasik yaklaşımdan daha iyi olduğuna ikna etmek biraz zaman aldı: en iyi model gerçek model değil (en iyi model sadece x2 ve x3 içerir) ve model2 için parametreler değil en azından ilgili parametreler için. Bununla birlikte, orada olmaması gereken bazı önemli x5 ve x6 parametreleri gösterir ve BMA, bunun önemli olmadığını söylemekte iyi bir iş çıkarır, bu nedenle bu BMA için bir artıdır.
Christoph_J

2

Bunun için harika bir kaynak:
Stefan Zeugner'dan BMS ile Ortalama Bayes Modeli Ortalaması (2012)

R-paketi BMS kullanıyor , daha fazla bilgi burada bulunabilir:
http://bms.zeugner.eu/

Paketle gerçek dünyadaki örnekleri çoğaltmak için iki uygulamalı öğretici burada bulunabilir:

Bayesian yöntemlerine daha genel bir motivasyon ve güncel giriş şu makaledir:

Zaman Geldi: Örgütsel Bilimlerde Veri Analizi için Bayesci Yöntemler John K. Kruschke, Herman Aguinis ve Harry Joo


Linkler için teşekkürler, ama onlar gerçekten benim peşimde değil. Aslında paketi daha önce biliyordum ve kullandım (harika) ve belgelerinin gerçekten öğretici olduğunu kabul ediyorum. Ancak yine, yazarların amacı birisini (umarım 5 dakikadan az bir sürede) neden BMA kullanmaları gerektiğine ikna etmek değil, onu kullanmak istedikleri için paketleriyle nasıl yapmaları gerektiği. Bu yüzden attitudeörnekle başlıyorlar ve ilk bağlantınızı kaydırırsanız, çığlık atacağınız herhangi bir tablo veya şekil yok: "Tanrım, BMA kullandığım için mutluyum!"
Christoph_J

Devam: Açıkçası, bu elbette hiçbir şekilde belgelerinin eleştirisi değildir: ilk etapta niyetleri değildir. Belki peşinde olduğum bir örnek vermek gerekirse. Diyelim ki, aykırılık problemini doğrusal bir regresyonda açıklamak istiyorsunuz. Muhtemelen çizelgeleri gibi somethink ile başlamak istiyorum burada . Tabii ki, gerçek verilerdeki sorun hiç bu kadar kolay olmayacak. Bir aykırı değeri nasıl tanımlayacağınız zor olacaktır. Fakat böyle bir tablo ile herkes neler olduğunu bilir.
Christoph_J

3
@Christoph_J : Bu makaleyi biliyor musunuz: indiana.edu/~kruschke/articles/KruschkeAJ2012.pdf - bu BMA hakkında değil, birisini Bayesian yöntemlerini ilk etapta kullanmaya ikna etmekle ilgili - belki de bunun için yararlı bir şey you :-)
vonjd

1
Ben bunu bilmiyordum ve Bayesian yöntemleri için gerçekten iyi bir tanıtım kağıdı, bu yüzden +1 bağlantı için. Teşekkürler.
Christoph_J

@Christoph_J: Ben buna göre yazı düzenlendi: Sizin 1 cevap için çalışma yoktu, hala 0 yüzden Tekrar yapabilir misiniz - Teşekkür ederim :-) (?!?)
vonjd
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.