Logistic回归模型(R语言)

1.分组数据的Logistic回归模型

下面我们以一道例题来说明,R软件中实现分组数据的logistics回归模型:
在这里插入图片描述
在这里插入图片描述
代码实现如下:

data10.4<-read.csv("C:/Users/Administrator/Desktop/data10.4.csv",head=TRUE)
# data10.4中保留的p1变量为逻辑变换后的变量
lm10.4<-lm(p1~x,weights=w,data10.4)
summary(lm10.4)

输出结果为:
在这里插入图片描述
  通过加权最小二乘法得到的logistics回归方程为:
  
   p ^ = e x p ( − 0.849 + 0.149 x ) 1 + e x p ( − 0.849 + 0.149 x ) \hat{p}=\frac{exp(-0.849+0.149x)}{1+exp(-0.849+0.149x)} p^=1+exp(0.849+0.149x)exp(0.849+0.149x)
  
  这里需要说明的是分组数据的logistics回归只适用于样本量大的分组数据,对样本量小的未分组数据不适用,并且以组数 c c c为回归拟合的样本量,拟合的精度低。
  实际上,我们可以用最大似然估计直接拟合未分组数据的logistics回归模型,下面将介绍这种方法。

2.未分组数据的Logistics回归模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码实现如下:

library(DAAG)
fm<-glm(nomove~conc,family=binomial(link="logit"),data=anesthetic)
# nomove为上表中的y,conc为x
summary(fm)
p=predict(fm,type="response")  # 计算y=1的概率的预测值

输出结果为:
在这里插入图片描述
  输出结果中的z value的计算公式类似于线性回归中的t value,即
  
   Z = β j ^ D ( β j ^ ) Z=\frac{\hat{\beta _{j}}}{\sqrt{D(\hat{\beta _{j}})}} Z=D(βj^) βj^

其中, β j ^ \hat{\beta _{j}} βj^是参数的估计值, D ( β j ^ ) \sqrt{D(\hat{\beta _{j}})} D(βj^) 是估计参数的标准差,并且在假设 β j ^ = 0 \hat{\beta _{j}}=0 βj^=0成立时, Z Z Z近似服从标准正态分布,因此检验的 P P P值为 P ( ∣ Z ∣ &gt; ∣ z ∣ ) = 2 − 2 Φ ( z ) P(\left | Z \right |&gt;\left | z \right |)=2-2\Phi (z) P(Z>z)=22Φ(z) Φ ( z ) \Phi (z) Φ(z)为标准正态分布的分布函数。
  由此可知,该实例中回归系数是显著的,回归方程为:
  
   p ^ = e x p ( − 6.469 + 5.567 x ) 1 + e x p ( − 6.469 + 5.567 x ) \hat{p}=\frac{exp(-6.469+5.567x)}{1+exp(-6.469+5.567x)} p^=1+exp(6.469+5.567x)exp(6.469+5.567x)

因此,易知麻醉剂的浓度超过 6.469 / 5.567 = 1.162 6.469/5.567=1.162 6.469/5.567=1.162时,患者保持静止的概率大于0.5。另外,对应于30个样本自变量样本的 p ^ \hat{p} p^,如果令 p ^ &gt; 0.5 \hat{p}&gt;0.5 p^>0.5时, y ^ = 1 \hat{y}=1 y^=1 p ^ ≤ 0.5 \hat{p}\leq0.5 p^0.5时, y ^ = 0 \hat{y}=0 y^=0,将会发现有6个样本被误判,此时误判率为0.2,说明回归模型较理想。

Probit回归模型

在这里插入图片描述
在这里插入图片描述
代码实现如下:

data10.4<-read.csv("C:/Users/Administrator/Desktop/data10.4.csv",head=TRUE)
glm10.6<-glm(p~x,weight=n,family=binomial(link="probit"),data=data10.4)
# 变量p为实际购房比例,变量n为签订意向书的人数
summary(glm10.6)

输出结果为:
在这里插入图片描述
  由输出结果得到回归方程:
  
   Φ − 1 ( p ^ ) = − 0.532 + 0.0935 x \Phi ^{-1}(\hat{p})=-0.532+0.0935x Φ1(p^)=0.532+0.0935x

3.多类别Logistic回归

在这里插入图片描述
代码实现如下:

library(mlogit)
data("Fishing",package="mlogit")
Fish<-mlogit.data(Fishing,varying=c(2:9),shape="wide",choice="mode")
m<-mlogit(mode~0|income,data=Fish)
summary(m)

输出结果为:
在这里插入图片描述
  由以上结果可知,4类别的频率分别为0.113,0.354,0.382和0.151,而且第一个类别beach的回归系数均取了0,因此回归系数(Coefficients)中没有beach这一类别。
  另外,由似然比检验结果可知,回归模型整体是显著的,但是对应于自变量income的charter类别的回归系数是不显著的。

  • 39
    点赞
  • 404
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值