아래 그림과 같이 데이터를 시뮬레이션 한 플롯을 고려하십시오. 우리는 이진 결과 를 살펴보고 , 실제 확률이 1 일 때 검은 선으로 표시됩니다. 공변량 와 사이의 기능적 관계는 로지스틱 링크가있는 3 차 다항식이므로 양방향에서는 비선형입니다.
녹색 선은 가 3 차 다항식으로 도입 되는 GLM 로지스틱 회귀 적합 입니다. 녹색 파선은 예측 주위의 95 % 신뢰 구간 이며, 여기서 는 적합 회귀 계수입니다. 내가 사용 하고 이에 대한.R
glm
predict.glm
유사하게, 프 루플 라인은 균일 한 사전을 사용하여 베이지안 로지스틱 회귀 모델의 에 대해 95 % 신뢰할 수있는 간격을 갖는 사후의 평균입니다 . 나는 이것을 위해 기능 이 있는 패키지 를 사용했다 (설정 은 정보가없는 균일 한 정보를 제공한다).MCMCpack
MCMClogit
B0=0
빨간색 점은 데이터 세트에서 인 관측치를 나타내고 검은 점은 관측치를 나타 냅니다. 분류 / 이산 분석 에서 공통적으로 는 관찰 되지 않습니다 .
몇 가지 볼 수 있습니다 :
- 나는 가 왼쪽에 희박 하다는 것을 목적으로 시뮬레이션했습니다 . 정보 부족 (관찰)으로 인해 자신감과 신뢰할 수있는 간격이 넓어지기를 바랍니다.
- 두 예측 모두 왼쪽에서 위쪽으로 바이어스됩니다. 이 편향은 관측 값을 나타내는 네 개의 빨간색 점으로 인해 발생하며 , 이는 실제 기능 형태가 여기에 올라갈 것이라고 잘못 제안합니다. 알고리즘에 정보가 충분하지 않아서 실제 기능 형태가 하향 구부러 졌다고 결론을 내릴 수 없습니다.
- 신뢰 구간은 예상대로 넓어 지지만 신뢰할 수있는 구간은 그렇지 않습니다 . 실제로 신뢰 구간은 정보 부족으로 인해 전체 매개 변수 공간을 둘러 쌉니다.
믿을만한 간격이 의 일부에 대해 잘못되었거나 너무 낙관적 인 것 같습니다 . 정보가 희박하거나 완전히 부재 할 때 신뢰할 수있는 간격이 좁아지는 것은 실제로 바람직하지 않은 동작입니다. 일반적으로 신뢰할 수있는 간격이 반응하는 방식이 아닙니다. 누군가 설명 할 수 있습니까 :
- 이것에 대한 이유는 무엇입니까?
- 더 신뢰할 수있는 간격을 갖기 위해 어떤 단계를 수행 할 수 있습니까? (즉, 최소한 실제 기능 양식을 포함하거나 신뢰 구간만큼 넓게 확장되는 것)
그래픽에서 예측 간격을 얻는 코드는 다음과 같이 인쇄됩니다.
fit <- glm(y_obs ~ x + I(x^2) + I(x^3), data=data, family=binomial)
x_pred <- seq(0, 1, by=0.01)
pred <- predict(fit, newdata = data.frame(x=x_pred), se.fit = T)
plot(plogis(pred$fit), type='l')
matlines(plogis(pred$fit + pred$se.fit %o% c(-1.96,1.96)), type='l', col='black', lty=2)
library(MCMCpack)
mcmcfit <- MCMClogit(y_obs ~ x + I(x^2) + I(x^3), data=data, family=binomial)
gibbs_samps <- as.mcmc(mcmcfit)
x_pred_dm <- model.matrix(~ x + I(x^2) + I(x^3), data=data.frame('x'=x_pred))
gibbs_preds <- apply(gibbs_samps, 1, `%*%`, t(x_pred_dm))
gibbs_pis <- plogis(apply(gibbs_preds, 1, quantile, c(0.025, 0.975)))
matlines(t(gibbs_pis), col='red', lty=2)
데이터 액세스 : https://pastebin.com/1H2iXiew 감사합니다 @DeltaIV 및 @AdamO
dput
데이터가 포함 된 데이터 프레임에서 사용할 수 있으며 dput
게시물에 출력을 코드로 포함 할 수 있습니다.