베이지안 모델 평균화 (BMA)의 장점을 보여주는 간단한 예


12

나는 나의 연구에 베이지안 모델 평균화 (BMA) 접근법을 통합하고 있으며 곧 내 동료들에게 나의 작업에 대한 프리젠 테이션을 줄 것이다. 그러나 BMA는 실제로 내 분야에서 잘 알려져 있지 않으므로 모든 이론을 제시하고 실제로 내 문제에 적용하기 전에 BMA가 작동하는 이유에 대한 간단하지만 유익한 예를 제시하고자합니다.

두 가지 모델 중 하나를 선택할 수있는 간단한 예를 생각하고 있었지만 진정한 데이터 생성 모델 (DGM)은 중간에 있으며 증거는 실제로 그중 하나를 선호하지 않습니다. 따라서 하나를 선택하고 계속 선택하면 모델 불확실성을 무시하고 오류를 발생 시키지만 BMA는 실제 모델이 모델 세트의 일부가 아니지만 적어도 관심 매개 변수의 정확한 후방 밀도를 제공합니다. 예를 들어, 매일 두 개의 일기 예보 (A 및 B)가 있으며, 가장 좋은 일기 예보를 원하기 때문에, 고전 통계에서 먼저 두 일기 사이에서 가장 좋은 예측자를 찾으려고하지만 진실이 그 사이의 어딘가에 있다면 (때로는 A, 때로는 B). 그러나 나는 그것을 공식화 할 수 없었다. 그런 식이지만 아이디어에 매우 개방적입니다. 이 질문이 충분히 구체적이기를 바랍니다.

문헌에서 나는 지금까지 읽은 것에서 좋은 예를 찾지 못했습니다.

  • Kruschke (2011) 는 베이지안 통계에 대한 훌륭한 소개이지만 실제로 BMA에 중점을 두지 않으며 4 장에있는 코인 토스 예제는 베이지안 통계를 소개하는 데는 좋지만 동료 연구원이 BMA를 사용하도록 설득하는 것은 아닙니다. ( "다시 세 가지 모델이 있는데, 하나는 동전이 공정하다고 말하고 다른 하나는 어느 방향 으로든 편향되어 있습니까?")
  • 내가 읽은 다른 모든 것 ( Koop 2003 , Koop / Poirier / Tobias (2007) , Hoeting et al. (1999) 및 기타 수많은 것)은 훌륭한 참고 자료이지만 간단한 장난감 예제는 찾지 못했습니다.

그러나 나는 여기서 좋은 소스를 놓쳤다.

그렇다면 누구나 BMA를 소개하기 위해 사용하는 좋은 예가 있습니까? 어쩌면 그것은 매우 유익 할 것이라고 생각하기 때문에 가능성과 후부를 보여줌으로써.


짧은 업데이트 : 나는 2 절에서 Freedman의 역설 을 언급하는 이 프레젠테이션보았습니다 .39 개의 무작위 공변량이 시뮬레이션되는 한 예가 있습니다. 최고의 모델을 찾는다면 결국 중요한 공변량을 찾습니다. 모델 평균화는 그 문제에 대한 치료법입니다. 솔직히 말해서 그림이 어떻게 파생되는지 알 수 없기 때문에 코드가있는 솔루션을 게시하지 않습니다.
Christoph_J

(계속) 정확히 무엇을 평균화합니까? 가장 좋은 매개 변수는? 모든 매개 변수 (이 특정 예제에서만 의미가 있다고 생각합니다). 그래도 Freedman의 역설에 대한 힌트와 함께 차트가 도움이 될 것이라고 생각합니다. 아마도 도움이 될 것입니다.
Christoph_J

답변:


8

나는 최근에 비슷한 것을했다. 다른 사람들을 설득하려고 노력하는 것이 아니라 작은 프로젝트를 수행하여 BMA를 조금 맛볼 수있었습니다. 내가 한 것은 이진 응답, 응답에 영향을 미치는 3 개의 독립 변수 및 응답에 영향을 미치지 않는 7 개의 변수로 데이터 세트를 생성하는 것이 었습니다. 그런 다음 BMA 결과를 로지스틱 회귀 분석의 빈번한 추정치와 비교했습니다. 적어도이 경우에는 BMA 접근 방식이 상당히 좋은 것으로 보입니다. 접근성을 높이려면 변수를 일반적인 및 로 부르는 대신 항상 변수 또는 무언가의 이름을 지정할 수 있습니다 .yXy

내가 사용한 R 코드는 다음과 같습니다. 그것이 당신에게 영감을 줄 수 있기를 바랍니다!

# 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
좋은 예입니다. +1입니다. 그러나 이미 지적했듯이 다른 사람들이 BMA를 사용하도록 설득하는 데 실제로 도움이되지는 않습니다. 실제로, 나는 그것을 실행하고 심지어 BMA가 고전적인 접근법보다 여기에 더 낫다는 것을 확신시키는 데 시간이 걸렸습니다. 최고의 모델은 실제 모델이 아니며 (최상의 모델은 x2와 x3 만 포함) 모델 2의 매개 변수는 그렇지 않습니다 적어도 관련 매개 변수에 대해서는 그 정도입니다. 그러나 거기에 없어야 할 중요한 매개 변수 x5 및 x6이 표시되며 BMA는 이것이 중요하지 않다는 것을 알려주는 데 큰 역할을하므로 BMA의 장점입니다.
Christoph_J

2

이에 대한 훌륭한 리소스는
Stefan Zeugner (2012)의 BMS를 사용한 베이지안 모델 평균화입니다.

R- 패키지 BMS를 사용하고 있으며 자세한 정보는 http://bms.zeugner.eu/ 에서 확인할 수 있습니다.

패키지로 실제 예제를 재현하기위한 두 가지 실습 자습서는 여기에서 찾을 수 있습니다.

베이지안 방법에 대한보다 일반적인 동기 부여 및 현재 소개는 다음과 같습니다.

시대가왔다 : John K. Kruschke, Herman Aguinis 및 Harry Joo의 조직 과학 데이터 분석을위한 베이지안 방법


링크 주셔서 감사합니다,하지만 그들은 내가 실제로 무엇을하지 않습니다. 나는 실제로 패키지를 알고 사용하기 전에 (좋습니다) 설명서가 실제로 유익하다는 데 동의합니다. 그러나 저자의 의도는 BMA를 사용해야하는 이유를 누군가에게 (5 분 이내에) 설득하는 것이 아니라, BMA를 사용하려는 경우 패키지와 함께 사용하는 방법에 대한 것입니다. 따라서 그들은 attitude예제로 시작하고 첫 번째 링크를 스크롤하면 비명을 지르는 테이블이나 그림이 실제로 없습니다. "Geez, BMA를 사용하게되어 기쁩니다!"
Christoph_J

계속 : 분명히하기 위해, 이것은 문서의 비판이 아닙니다. 처음에는 의도가 아닙니다. 내가 본 후에 예를들 수도 있습니다. 선형 회귀 분석에서 특이 치 문제를 설명한다고 가정 해 봅시다. 당신은 아마 여기 차트와 같은 somethink로 시작할 것입니다 . 물론 실제 데이터의 문제는 결코 쉽지 않습니다. 특이 치 등을 정의하는 것은 어려울 것입니다. 그러나 이러한 차트를 사용하면 모든 사람이 진행 상황을 알 수 있습니다.
Christoph_J

3
@Christoph_J :이 논문을 알고 있습니까 : indiana.edu/~kruschke/articles/KruschkeAJ2012.pdf-BMA 에 관한 것이 아니라 누군가가 베이지안 방법을 사용하도록 설득하는 것에 대해-아마도 이것이 도움이 될 것입니다 you :-)
vonjd

1
나는 그것을 알지 못했고 베이지안 방법에 대한 정말 좋은 입문서이므로 링크에 대해 +1입니다. 감사.
Christoph_J

@Christoph_J : 그에 따라 게시물을 편집했습니다. 답변에 대한 귀하의 +1이 작동하지 않았습니다. 여전히 0 (?!?)이므로 다시 해주시겠습니까?-감사합니다 :-)
vonjd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.