逻辑回归-二分类问题

linear regression 因为会违反同方差性而不适用于二分类问题,因此我们引入逻辑回归。

sigmoid函数什么的我就不介绍了,直接上公式
logistic regression.png

p - the probability of event Y occurring

是不是很像线性回归,是的。但是他的要求比线性回归少得多。解释变量和预测变量可以为分类变量或者连续变量(线性回归中预测变量一定是连续变量)

MLE (maximum likelihood estimate) 最大似然估计

在线性回归中我们使用最小二乘估计使残差平方和最小,而在逻辑回归中我们使用最大似然估计是决定conditional probability使得sample data发生的可能性最大。

Likelihood function (L)
假设有100次observation,50次撞车,50次没撞车,那么撞车的可能性(L)就是0.5的100次方,数值很小,于是我们给L加一个log,这样他的值(LL)就会变大但是这个值仍然是负的。我们需要将它变为(-2LL)使他变正,为什么是负2呢?因为-2LL大致符合卡方分布。

好的,我们的目的是使L尽可能的大,那么-2LL就要尽可能的小,-2LL越大模型拟合的就越不好。

模型解释

模型结果主要看三个值

deviance 用于衡量拟合的有多差,越大越差
AIC: Akaike Information Criterion用于对比不同模型,大小无意义,但是我们希望模型的AIC尽量小

#clarify what the levels are for Vision and DriverEd
DataC$Vision <- factor (DataC$Vision , levels=c("0" ,"1") , labels=c("No" ,"Yes"))
DataC$DriverEd <- actor (DataC$Vision , levels=c("0" ,"1") , labels=c("No" ,"Yes"))

结果如下:


image.png

从系数的正负中我们可以看出,若司机视野若出现问题,他将会更有可能陷入车祸。相反,如果司机参加了车前教育,那么他将有很小的概率陷入车祸。

接下来是两个很容易混淆的概念odds ratio and relative risk,两者在小概率事件发生时相差很小,所以真的很容易混

Odds

odds = p / (1-p)
p = odds / (1+odds)
odds ratio = odds of event with X / odds of event without X

Relative Risk(rr)

RR = p(crash| have influence) / p(crash| no influence)
举个例子更清晰


image.png

Odds ratio: ratio of two odds
Relative Risk (risk ratio): ratio of two probabilities

logit_mt<−glm(vs~wt+am, family=binomial , data=mtcars) 
summary(logit_mt)
predict(logit_mt) #log odds
#creating additional datapoints for plotting
plot_data <− expand . grid (wt=seq (0 ,6 ,0.1) ,am=(0:1)) plot_data$preds <− plogis(predict(logit_mt, newdata=plot_data))
ggplot()+
  geom_line (data=plot_data, aes(x=wt, y=preds, color=as.factor(am)))+ 
  geom_point(data=mtcars ,aes(x=wt,y=vs))+
  ggtitle ("Predicted␣engine␣type␣by␣weight␣and␣transmission")+ 
  ggplot2 :: ylab("Predicted␣VS")
image.png

你可能感兴趣的:(逻辑回归-二分类问题)