Lineer regresyonda x kesişiminin güven aralığı nasıl hesaplanır?


9

Yanıt değişkeni için genellikle doğrusal bir regresyonun standart hatası verildiğinden, diğer yönde güven aralıklarının nasıl elde edileceğini merak ediyorum - örneğin bir x kesişimi için. Ne olabileceğini görselleştirebiliyorum, ama eminim bunu yapmanın basit bir yolu olmalı. Aşağıda, R'nin bunun nasıl görselleştirileceğine ilişkin bir örneği bulunmaktadır:

set.seed(1)
x <- 1:10
a <- 20
b <- -2
y <- a + b*x + rnorm(length(x), mean=0, sd=1)

fit <- lm(y ~ x)
XINT <- -coef(fit)[1]/coef(fit)[2]

plot(y ~ x, xlim=c(0, XINT*1.1), ylim=c(-2,max(y)))
abline(h=0, lty=2, col=8); abline(fit, col=2)
points(XINT, 0, col=4, pch=4)
newdat <- data.frame(x=seq(-2,12,len=1000))

# CI
pred <- predict(fit, newdata=newdat, se.fit = TRUE) 
newdat$yplus <-pred$fit + 1.96*pred$se.fit 
newdat$yminus <-pred$fit - 1.96*pred$se.fit 
lines(yplus ~ x, newdat, col=2, lty=2)
lines(yminus ~ x, newdat, col=2, lty=2)

# approximate CI of XINT
lwr <- newdat$x[which.min((newdat$yminus-0)^2)]
upr <- newdat$x[which.min((newdat$yplus-0)^2)]
abline(v=c(lwr, upr), lty=3, col=4)

resim açıklamasını buraya girin


1
Bu bootstrap olabilir: library(boot); sims <- boot(data.frame(x, y), function(d, i) { fit <- lm(y ~ x, data = d[i,]) -coef(fit)[1]/coef(fit)[2] }, R = 1e4); points(quantile(sims$t, c(0.025, 0.975)), c(0, 0)). Ters tahmin aralıkları için yardım dosyası, chemCal:::inverse.predictbir CI'nın türetilmesine de yardımcı olabilecek aşağıdaki referansı verir: Massart, LM, Vandenginste, BGM, Buydens, LMC, De Jong, S., Lewi, PJ, Smeyers-Verbeke, J. (1997 ) Chemometrics ve Qualimetrics El Kitabı: Bölüm A, s. 200
— Roland

1
Grafikte gösterdiğiniz şey, kesişim için CI değildir. Tahminlerin alt ve üst güven çizgilerinin ekseni geçtiği noktaları gösterirsiniz.
— Roland

1
Genellikle doğrusal regresyonda birinin böyle bir şey söyleyen bir modeli vardır: böylece ler rasgele gibi değerlendirilir ve , sabit s olarak. Bu s verildiğinde bir koşullu dağılım aradığınızı söyleyerek haklı olabilir . Eğer yeni bir örnek alırsak Uygulamada, bu genellikle sadece ler aynı zamanda onlar da rastgele düşünülmelidir bazı durumlarda düşündüren bu değişikliği bu. Bunun uygunluğuna sahip olup olmadığını merak ediyorum
Yi=α+βxi+εiwhere ε1,…εn∼i.i.d. N(0,σ2),
YxxYx…
— Michael Hardy


1
@AdrienRenaud - Bana öyle geliyor ki cevabım, bahsettiğim asimetrik yönleri göz önüne alındığında aşırı derecede basit ve Roland'ın çizdiği önyükleme alıştırması tarafından vurgulanıyor. Çok fazla sormuyorsam, belki de bahsettiğiniz olabilirlik yaklaşımını genişletebilirsiniz.
— Marc kutuda

Yanıtlar:


9

Lineer regresyonda x kesişiminin güven aralığı nasıl hesaplanır?

Asumptions

  • Basit regresyon modelini .yi=α+βxi+εi
  • Hataların regresörlere bağlı normal dağılımı varϵ|X∼N(0,σ2In)
  • Sıradan en az kare kullanarak sığdır

X-kesişimde güven aralığını hesaplamak için 3 prosedür

Birinci dereceden Taylor genişletmesi

Sizin modeli tahmini standart sapma ile ve üzerinde ve parametreleri ve tahmini kovaryans . Sen çözY=aX+bσaσbabσab

aX+b=0⇔X=−ba.

Sonra üzerinde standart sapma şu şekilde verilir:σXX

(σXX)2=(σbb)2+(σaa)2−2σabab.

MIB

Doğrusal bir regresyonda x-kesişiminin güven aralığını nasıl hesaplayabilirim? Bölümünde Marc koduna bakın. .

CAPITANI-POLLASTRI

CAPITANI-POLLASTRI iki ilişkili Normal rasgele değişkenin oranı için Kümülatif Dağıtım Fonksiyonu ve Yoğunluk Fonksiyonu sağlar. Lineer regresyonda x kesişiminin güven aralığını hesaplamak için kullanılabilir. Bu prosedür MIB'den hemen hemen aynı sonuçları vermektedir.

Gerçekten de, normal en küçük kareler kullanılarak ve hataların normalliğini varsayarak, (doğrulandı) ve ile ilişkilidir (doğrulanmıştır).β^∼N(β,σ2(XTX)−1)β^

Prosedür aşağıdaki gibidir:

  • ve için OLS tahmincisi alın .ab
  • varyans-kovaryans matrisini alın ve .σa,σb,σab=ρσaσb
  • Varsayalım ve bir iki değişkenli İlişkili normal dağılımını takip . Daha sonra ın yoğunluk fonksiyonu ve Kümülatif Dağılım Fonksiyonu CAPITANI-POLLASTRI tarafından verilmektedir.abN(a,b,σa,σb,ρ)xintercept=−ba
  • İstenen miktarları hesaplamak ve bir güven aralığı ayarlamak için x_ Birikimli Dağıtım Fonksiyonunu kullanın .xintercept=−ba

3 prosedürün karşılaştırılması

Yordamlar, aşağıdaki veri yapılandırması kullanılarak karşılaştırılır:

  • x <- 1:10
  • a <- 20
  • b <- -2
  • y <- a + b * x + rnorm (uzunluk (x), ortalama = 0, sd = 1)

10000 farklı numune üretilir ve 3 yöntem kullanılarak analiz edilir. Üretmek ve analiz etmek için kullanılan kodu (R) şu adreste bulabilirsiniz: https://github.com/adrienrenaud/stackExchange/blob/master/crossValidated/q221630/answer.ipynb

  • MIB ve CAPITANI-POLLASTRI eşdeğer sonuçlar verir.
  • Birinci dereceden Taylor genişlemesi diğer iki yöntemden önemli ölçüde farklıdır.
  • MIB ve CAPITANI-POLLASTRI kapsamı yetersizdir. % 68 (% 95) ci, zamanın gerçek% 63'ünü (% 92) içerdiği bulunmuştur.
  • Birinci dereceden Taylor genişlemesi aşırı kapsamdan muzdariptir. % 68'inin (% 95) ci'nin gerçek değeri% 87'sini (% 99) içerdiği bulunmuştur.

Sonuçlar

X-kesişim dağılımı asimetriktir. Asimetrik bir güven aralığını haklı çıkarır. MIB ve CAPITANI-POLLASTRI eşdeğer sonuçlar verir. CAPITANI-POLLASTRI'nin güzel bir teorik gerekçesi vardır ve MIB'ye zemin hazırlar. MIB ve CAPITANI-POLLASTRI orta derecede yetersiz kapsamdan muzdariptir ve güven aralıklarını ayarlamak için kullanılabilir.


Bu güzel cevap için teşekkürler. Bu yöntem, x kesme noktasının standart hatasının simetrik olduğunu ima ediyor mu? Şeklimdeki tahmin aralıkları, durumun böyle olmadığını ve başka bir yerde buna atıfta bulunduğumu ima ediyor.
— Marc kutuda

Evet, simetrik bir aralık anlamına geliyor. Asimetrik bir tane istiyorsanız, model parametrelerinize rahatsızlık verici parametreler olarak davranan bir profil olasılığı kullanabilirsiniz. Ama daha çok iş :)
— Adrien Renaud

için bu ifadeyi nasıl elde ettiğinizi daha ayrıntılı olarak açıklayabilir misiniz ? (σX/X)2


2

Artıkları önyükleme öneriyoruz:

library(boot)

set.seed(42)
sims <- boot(residuals(fit), function(r, i, d = data.frame(x, y), yhat = fitted(fit)) {

  d$y <- yhat + r[i]

  fitb <- lm(y ~ x, data = d)

  -coef(fitb)[1]/coef(fitb)[2]
}, R = 1e4)
lines(quantile(sims$t, c(0.025, 0.975)), c(0, 0), col = "blue")

ortaya çıkan arsa

Grafikte gösterdiğiniz, tahminlerin güven bandının alt / üst sınırının ekseni geçtiği noktalardır. Bunların kesişmenin güven sınırları olduğunu düşünmüyorum, ama belki de kabaca bir yaklaşımdır.


Harika - bu zaten yorumunuzdaki örnekten daha makul görünüyor. Tekrar teşekkürler.
— Marc kutuda
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.