Logistic回归是通过将数据拟合到一条线上并根据简历的曲线模型预测事件发生的概率。可以通过以下等式来建立一个Logistic回归模型:
其中,x1,x2,...,xk是预测因素,y是预测目标。令
,上面的等式被转换成:
使用函数glm()并设置响应变量(被解释变量)服从二项分布(family='binomial,'link='logit')建立Logistic回归模型,更多关于Logistic回归模型的内容可以通过以下链接查阅:
· R Data Analysis Examples - Logit Regression
· 《LogisticRegression (with R)》
3、广义线性模型广义线性模型(generalizedlinear model, GLM)是简单最小二乘回归(OLS)的扩展,响应变量(即模型的因变量)可以是正整数或分类数据,其分布为某指数分布族。其次响应变量期望值的函数(连接函数)与预测变量之间的关系为线性关系。因此在进行GLM建模时,需要指定分布类型和连接函数。这个建立模型的分布参数包括binomaial(两项分布)、gaussian(正态分布)、gamma(伽马分布)、poisson(泊松分布)等。
广义线性模型可以通过glm()函数建立,使用的数据是包‘TH.data’自带的bodyfat数据集。
> data("bodyfat", package="TH.data")> myFormula <- DEXfat ~ age + waistcirc + hipcirc + elbowbreadth + kneebreadth# 设置响应变量服从正态分布,对应的连接函数服从对数分布> bodyfat.glm <- glm(myFormula, family = gaussian("log"), data = bodyfat)# 预测类型为响应变量> pred <- predict(bodyfat.glm, type="response")> plot(bodyfat$DEXfat, pred, xlab="Observed Values", ylab="Predicted Values")> abline(a=0, b=1)预测结果检验如下图所示:
由上图可知,模型虽然也有离群点,但是大部分的数据都是落在直线上或者附近的,也就说明模型建立的比较好,能较好的拟合数据。
4、非线性回归如果说线性模型是拟合拟合一条最靠近数据点的直线,那么非线性模型就是通过数据拟合一条曲线。在R中可以使用函数nls()建立一个非线性回归模型,具体的使用方法可以通过输入'?nls()'查看该函数的文档。