700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > predict函数 R_R-广义线性模型-logistic回归及模型预测

predict函数 R_R-广义线性模型-logistic回归及模型预测

时间:2020-06-19 15:15:29

相关推荐

predict函数 R_R-广义线性模型-logistic回归及模型预测

一般回归采用的模型主要是线性模型,即通过一系列连续型和/或类别型预测变量来预测正态分布的响应变量。但在许多情况下,假设因变量为正态分布(甚至连续型变量)并不合理,比如:

结果变量可能是类别型的。01型的变量(比如:是/否、通过/失败、活着/死亡)结果变量可能是计数型的非负的有限值(比如,一周交通事故的数目,每日酒水消耗的数量),而且它们的均值和方差通常都是相关的(正态分布变量间不是如此,而是相互独立)。

广义线性模型,就是为了解决这个问题,对因变量不是正态分布的情况,做回归模型的分析。常用的广义线性模型有,logistic回归,泊松回归等。

1. logistic回归

适用于因变量是01型的回归(比如,是否,流产和不流产,生病和不生病等)。假设因变量(即Y)服从二项分布

二项分布是由伯努利提出的概念,指的是重复n次独立的伯努利试验。在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立,并且相互独立,与其它各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验,当试验次数为1时,二项分布服从0-1分布。

二项分布_百度百科

这时候我们可以使用logistic回归来进行模型的拟合和预测。使用SPSS同样可以进行logistic回归。参考:

/article/e4511cf36ea42f2b845eaf3a.html

但是在这里,我们准备使用R来进行logistic回归分析。

#使用AER包的Affairs数据集,若没有AER包,可先进行安装和调用aff <- Affairshead(aff)affairs gender age yearsmarried children religiousness education occupation rating4 0 male 37 10.00 no 3 18745 0 female 27 4.00 no 4 146411 0 female 32 15.00yes 1 121416 0 male 57 15.00yes 5 186523 0 male 22 0.75 no 2 176329 0 female 32 1.50 no 2 1755###构造因变量是01型的affair01变量aff_data <- Affairsaff_data$affair01[aff_data$affairs > 0] <- 1aff_data$affair01[aff_data$affairs == 0] <- 0aff_data$affair01 <- factor(aff_data$affair01, levels = c(0, 1), labels = c("no", "yes"))head(aff_data)##拟合模型fitmod <- glm(affair01 ~ yearsmarried + religiousness+ rating,data = aff_data, family = binomial())#构造预测数据集testing <- data.frame(rating = 1:5, age = mean(aff_data$age), yearsmarried = mean(aff_data$yearsmarried), religiousness = mean(aff_data$religiousness))

#将x带入,预测m2 <- predict(fitmod, newdata = testing, type = "response")m2

也就是说,在age,yearsmarried,religiousness等协变量都不变的情况下,当rating从1变成5时,affair的概率从0.526变成了0.153. 基本上模型的预测就是这样,可以用predict函数,推广到其它的模型,如线性模型等,预测在某一自变量变化(如从分位浓度1变成分位浓度3时,因变量的变化)

2. 泊松回归等其它回归

连用的函数

参考:R语言实战

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。