আপনি ঠিক বলেছেন যে আর এর আউটপুটে সাধারণত কেবলমাত্র প্রয়োজনীয় তথ্য থাকে এবং আরও আলাদাভাবে গণনা করা দরকার।
N <- 100 # generate some data
X1 <- rnorm(N, 175, 7)
X2 <- rnorm(N, 30, 8)
X3 <- abs(rnorm(N, 60, 30))
Y <- 0.5*X1 - 0.3*X2 - 0.4*X3 + 10 + rnorm(N, 0, 12)
# dichotomize Y and do logistic regression
Yfac <- cut(Y, breaks=c(-Inf, median(Y), Inf), labels=c("lo", "hi"))
glmFit <- glm(Yfac ~ X1 + X2 + X3, family=binomial(link="logit"))
coefficients()
আপনি অনুমান রিগ্রেশন পরামিতি দেয় । ব্যাখ্যা করা আরও সহজ যদিও (ইন্টারসেপ্ট ব্যতীত)। ই এক্স পি ( বি জ )B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষরঞe এক্স পি ( খ)ঞ)
> exp(coefficients(glmFit))
(Intercept) X1 X2 X3
5.811655e-06 1.098665e+00 9.511785e-01 9.528930e-01
বিজোড় অনুপাত পেতে, আমাদের প্রথম দ্বিধাত্বিক ডিভির শ্রেণিবদ্ধকরণ ক্রস-টেবিল এবং কিছু সম্ভাবনার প্রান্তিকতা অনুসারে পূর্বাভাসীকৃত শ্রেণিবিন্যাস প্রয়োজন যা প্রথমে চয়ন করা প্রয়োজন। আপনি ClassLog()
প্যাকেজে ফাংশনটিও দেখতে পারেন QuantPsyc
(যেমন সম্পর্কিত প্রশ্নে chl উল্লেখ করা হয়েছে )।
# predicted probabilities or: predict(glmFit, type="response")
> Yhat <- fitted(glmFit)
> thresh <- 0.5 # threshold for dichotomizing according to predicted probability
> YhatFac <- cut(Yhat, breaks=c(-Inf, thresh, Inf), labels=c("lo", "hi"))
> cTab <- table(Yfac, YhatFac) # contingency table
> addmargins(cTab) # marginal sums
YhatFac
Yfac lo hi Sum
lo 41 9 50
hi 14 36 50
Sum 55 45 100
> sum(diag(cTab)) / sum(cTab) # percentage correct for training data
[1] 0.77
বিজোড় অনুপাতের জন্য, আপনি হয় প্যাকেজ ব্যবহার করতে পারেন vcd
বা ম্যানুয়ালি গণনা করতে পারেন ।
> library(vcd) # for oddsratio()
> (OR <- oddsratio(cTab, log=FALSE)) # odds ratio
[1] 11.71429
> (cTab[1, 1] / cTab[1, 2]) / (cTab[2, 1] / cTab[2, 2])
[1] 11.71429
> summary(glmFit) # test for regression parameters ...
# test for the full model against the 0-model
> glm0 <- glm(Yfac ~ 1, family=binomial(link="logit"))
> anova(glm0, glmFit, test="Chisq")
Analysis of Deviance Table
Model 1: Yfac ~ 1
Model 2: Yfac ~ X1 + X2 + X3
Resid. Df Resid. Dev Df Deviance P(>|Chi|)
1 99 138.63
2 96 110.58 3 28.045 3.554e-06 ***
cbind( exp(coef(x)), exp(summary(x)$coefficients[,1] - 1.96*summary(x)$coefficients[,2]), exp(summary(x)$coefficients[,1] + 1.96*summary(x)$coefficients[,2]) )
। ডেল্টা পদ্ধতিটিও রয়েছে: ats.ucla.edu/stat/r/faq/deltamethod.htm