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
එය පැහැදිලිවම මෙම දත්ත තුළ ගොඩනගා ඇති පරායත්තතාවය පිළිබිඹු කරයි.
R හි වෝල්ඩ් පරීක්ෂණය පැකේජය සමඟ summary.glm
හෝ සමඟ waldtest
ඇත lmtest
. සම්භාවිතා අනුපාත පරීක්ෂණය පැකේජය සමඟ anova
හෝ සමඟ සිදු lrtest
කරනු ලැබේ lmtest
. මෙම අවස්ථා දෙකෙහිම, තොරතුරු අනුකෘතිය අනන්ත ලෙස අගය කර ඇති අතර කිසිදු අනුමාන කිරීමක් නොමැත. ඒ වෙනුවට, ආර් කරන්නේ නිෂ්පාදන ප්රතිදාන, එහෙත් ඔබ එය විශ්වාස කළ නොහැක. මෙම අවස්ථා වලදී R සාමාන්යයෙන් නිපදවන අනුමානය p- අගයන් එකකට ඉතා ආසන්න වේ. මෙයට හේතුව OR හි නිරවද්යතාවය නැතිවීම විශාලත්වයේ අනුපිළිවෙලක් වන අතර විචල්ය-සහසංයුජ අනුකෘතියේ නිරවද්යතාව නැති වීමයි.
මෙහි දක්වා ඇති විසඳුම් කිහිපයක්:
එක්-පියවර ඇස්තමේන්තුවක් භාවිතා කරන්න,
එක් පියවරක් තක්සේරු කරන්නන්ගේ අඩු නැඹුරුව, කාර්යක්ෂමතාව සහ සාමාන්යකරණය කිරීමේ හැකියාව පිළිබඳ න්යායන් රාශියක් ඇත. R හි එක්-පියවර ඇස්තමේන්තුවක් නියම කිරීම පහසු වන අතර ප්රති results ල සාමාන්යයෙන් අනාවැකි සහ අනුමාන කිරීම් සඳහා ඉතා හිතකර වේ. මෙම ආකෘතිය කිසි විටෙකත් අපසරනය නොවනු ඇත, මන්ද යත්, අනුකාරකයට (නිව්ටන්-රැප්සන්) සරලවම එසේ කිරීමට අවස්ථාවක් නොමැති නිසා!
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% CI නිපදවිය හැකිය. epitools
R හි ඇති පැකේජයට මෙය කළ හැකිය. මෙම ඇස්තමේන්තුව ක්රියාත්මක කිරීම සඳහා මම මෙහි උදාහරණයක් දෙන්නෙමි: බර්නූලි නියැදීම සඳහා විශ්වාසනීය පරතරය