warning
∞
की तर्ज पर उत्पन्न आंकड़ों के साथ
x <- seq(-3, 3, by=0.1)
y <- x > 0
summary(glm(y ~ x, family=binomial))
चेतावनी दी गई है:
Warning messages:
1: glm.fit: algorithm did not converge
2: glm.fit: fitted probabilities numerically 0 or 1 occurred
जो बहुत स्पष्ट रूप से इस डेटा में निर्मित निर्भरता को दर्शाता है।
आर में वाल्ड परीक्षण पैकेज में summary.glm
या उसके साथ पाया जाता है । संभावना अनुपात परीक्षण के साथ या साथ किया जाता हैwaldtest
lmtest
anova
lrtest
lmtest
पैकेज में किया जाता है। दोनों मामलों में, सूचना मैट्रिक्स असीम रूप से मूल्यवान है, और कोई भी निष्कर्ष उपलब्ध नहीं है। बल्कि, R आउटपुट का उत्पादन करता है , लेकिन आप इस पर भरोसा नहीं कर सकते। इन मामलों में आर आमतौर पर जो उत्पादन करता है, उसका पी-मान बहुत करीब है। इसका कारण यह है कि OR में परिशुद्धता का नुकसान छोटे परिमाण के आदेश हैं जो कि विचरण-कोविरियन मैट्रिक्स में परिशुद्धता का नुकसान है।
कुछ समाधान यहां दिए गए हैं:
वन-स्टेप आकलनकर्ता का उपयोग करें,
एक चरण के आकलनकर्ताओं के कम पूर्वाग्रह, दक्षता और सामान्यता का समर्थन करने वाले बहुत सारे सिद्धांत हैं। आर में एक-कदम के अनुमानक को निर्दिष्ट करना आसान है और परिणाम आमतौर पर भविष्यवाणी और अनुमान के लिए बहुत अनुकूल हैं। और यह मॉडल कभी भी विचलन नहीं करेगा, क्योंकि इट्रेटर (न्यूटन-राफसन) के पास बस ऐसा करने का मौका नहीं है!
fit.1s <- glm(y ~ x, family=binomial, control=glm.control(maxit=1))
summary(fit.1s)
देता है:
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.03987 0.29569 -0.135 0.893
x 1.19604 0.16794 7.122 1.07e-12 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
तो आप देख सकते हैं कि भविष्यवाणियां प्रवृत्ति की दिशा को दर्शाती हैं। और अनुमान बहुत रुझान के विचारोत्तेजक है जिसे हम सच मानते हैं।
एक स्कोर टेस्ट करें,
स्कोर (या राव) आंकड़ा संभावना अनुपात से अलग है और आँकड़े Wald। इसे वैकल्पिक परिकल्पना के तहत विचरण के मूल्यांकन की आवश्यकता नहीं है। हम मॉडल को नल के नीचे फिट करते हैं:
mm <- model.matrix( ~ x)
fit0 <- glm(y ~ 1, family=binomial)
pred0 <- predict(fit0, type='response')
inf.null <- t(mm) %*% diag(binomial()$variance(mu=pred0)) %*% mm
sc.null <- t(mm) %*% c(y - pred0)
score.stat <- t(sc.null) %*% solve(inf.null) %*% sc.null ## compare to chisq
pchisq(score.stat, 1, lower.tail=F)
χ2
> pchisq(scstat, df=1, lower.tail=F)
[,1]
[1,] 1.343494e-11
दोनों मामलों में आपको OR के अनंत के लिए अनुमान है।
, और एक विश्वास अंतराल के लिए मंझला निष्पक्ष अनुमानों का उपयोग करें।
आप माध्य निष्पक्ष अनुमान का उपयोग करके अनंत बाधाओं अनुपात के लिए एक माध्य निष्पक्ष, गैर-विलक्षण 95% सीआई का उत्पादन कर सकते हैं। epitools
R में पैकेज यह कर सकता है। और मैं इस अनुमानक को यहां लागू करने का एक उदाहरण देता हूं: बर्नौली नमूने के लिए आत्मविश्वास अंतराल