搜索
查看: 2069|回复: 0

用R语言来实现逻辑回归

[复制链接]

633

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2016-11-26 10:56:21 | 显示全部楼层 |阅读模式
这是我以前学习rmarkdown的时候顺便写的一个教程,觉得还不错:http://www.bio-info-trainee.com/ ... gical_analysis.html
回归的本质是建立一个模型用来预测,而逻辑回归的独特性在于,预测的结果是只能有两种,true or false
在R里面做逻辑回归也很简单,只需要构造好数据集,然后用glm函数(广义线性模型(generalized linear model))建模即可,预测用predict函数。
可以看到这个数据集是关于申请学校是否被录取的,根据学生的GRE成绩,GPA和排名来预测该学生是否被录取。

其中GRE成绩是连续性的变量,学生可以考取任意正常分数。

而GPA也是连续性的变量,任意正常GPA均可。

最后的排名虽然也是连续性变量,但是一般前几名才有资格申请,所以这里把它当做因子,只考虑前四名!

而我们想做这个逻辑回归分析的目的也很简单,就是想根据学生的成绩排名,绩点信息,托福或者GRE成绩来预测它被录取的概率是多少!
根据对这个模型的summary结果可知:

GRE成绩每增加1分,被录取的优势对数(log odds)增加0.002

而GPA每增加1单位,被录取的优势对数(log odds)增加0.804,不过一般GPA相差都是零点几。

最后第二名的同学比第一名同学在其它同等条件下被录取的优势对数(log odds)小了0.675,看来排名非常重要啊!!!

这里必须解释一下这个优势对数(log odds)是什么意思了,如果预测这个学生被录取的概率是p,那么优势对数(log odds)就是log2(p/(1-p)),一般是以自然对数为底

可以看到,排名越高,被录取的概率越大!!!

log(0.5166016/(1-0.5166016)) ## 第一名的优势对数0.06643082

log((0.3522846/(1-0.3522846))) ##第二名的优势对数-0.609012

两者的差值正好是0.675,就是模型里面预测的!




上一篇:BAF复合物及 SWI/SNF complex 的生物学基础知识
下一篇:请问在做siRNA试验的时候,为什么要做三个试验
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-11-23 08:26 , Processed in 0.030379 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.