前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言之二项及多项分类Logistic回归分析

R语言之二项及多项分类Logistic回归分析

作者头像
一粒沙
发布2019-07-31 15:31:01
10.3K0
发布2019-07-31 15:31:01
举报
文章被收录于专栏:R语言交流中心

1. 逻辑回归概念介绍

我们经常会遇到因变量有多个取值而且无大小顺序的情况,比如职业、婚姻情况等等,这时一般的线性回归分析无法准确地刻画变量之间的因果关系,需要用其逻辑回归分析方法来进行拟合模型。

逻辑回归,可以说是在线性回归的基础上加上一个sigmoid函数,将线性回归产生的值归一化到[0-1]区间内。sigmoid函数如下:

然而,逻辑回归只适用于二分类问题。为了使它能扩展到多分类问题,我们将sigmoid函数,换成softmax函数。

2.R语言中实现函数

a. 二项式逻辑回归

R语言中提供glm()函数,又称广义线性模型

函数参数:

glm(formula,family = gaussian, data, weights, subset, na.action, start = NULL, etastart,mustart, offset, control = list(...), model = TRUE, method ="glm.fit", x = FALSE, y = TRUE, contrasts = NULL, ...)

我们主主要用到的参数:formula,family,data,weight。

Formula:展示我们函数关系(Y~X)

Family:选择适合自己的回归模型

Data:运算的数据包括因素以及结果值(数据矩阵)

Weight:相对应因素的权重值。

实例:

counts <- c(18,17,15,20,10,20,25,13,12)

outcome <- gl(3,1,9)

treatment <- gl(3,3)

print(d.AD <- data.frame(treatment,outcome, counts))

glm.D93 <- glm(counts ~ outcome +treatment, family = poisson())

anova(glm.D93)

summary(glm.D93)

b. 多项式逻辑回归模型

R语言提供包mlogit。首先安装R包:install.packages(‘mlogit’)

函数参数:

mlogit(formula,data, subset, weights, na.action, start = NULL, alt.subset = NULL, reflevel =NULL, nests = NULL, un.nest.el = FALSE, unscaled = FALSE, heterosc = FALSE,rpar = NULL, probit = FALSE, R = 40, correlation = FALSE, halton = NULL, random.nb = NULL, panel = FALSE, estimate =TRUE, seed = 10, ...)

predict(object,newdata, returnData = FALSE, ...)

实例:

Library(‘mlogit’)

data("Fishing",package = "mlogit")

Fish<- mlogit.data(Fishing, varying = c(2:9), shape = "wide", choice ="mode")

##a pure "conditional" model

summary(mlogit(mode~ price + catch, data = Fish))

欢迎大家学习交流

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言交流中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档