R与数据分析旧笔记(⑨)广义线性回归模型
广义线性回归模型
广义线性回归模型
例题1 R.Norell实验
为研究高压电线对牲畜的影响,R.Norell研究小的电流对农场动物的影响。他在实验中,选择了7头,6种电击强度, 0,1,2,3,4,5毫安,每头牛被电击30下,每种强度5下,按随机的次序进行,然后重复整个实验,每头牛总共被电击60下。对每次电击,相应变量——嘴巴运动,或者出现,或者未出现。下表中的数据给出每种电击强度70次试验中响应的总次数。试分析电击对牛的影响
| 电流(毫安) | 试验次数 | 响应次数 | 响应的比例 |
|---|---|---|---|
| 0 | 70 | 0 | 0.000 |
| 1 | 70 | 9 | 0.129 |
| 2 | 70 | 21 | 0.300 |
| 3 | 70 | 47 | 0.671 |
| 4 | 70 | 60 | 0.857 |
| 5 | 70 | 63 | 0.900 |
解:用数据框形式输入数据,再构造矩阵,一列是成功(响应)的次数,另一列是失败(不响应)的次数,然后再作logistic回归。其程序如下(程序名:exam0619.R)
> norell<-data.frame(
+ x=0:5, n=rep(70,6), success=c(0,9,21,47,60,63)
+ )
> norell$Ymat<-cbind(norell$success, norell$n-norell$success)
> glm.sol<-glm(Ymat~x, family=binomial, data=norell)
> summary(glm.sol)
Call:
glm(formula = Ymat ~ x, family = binomial, data = norell)
Deviance Residuals:
1 2 3 4 5 6
-2.2507 0.3892 -0.1466 1.1080 0.3234 -1.6679
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.3010 0.3238 -10.20 <2e-16 ***
x 1.2459 0.1119 11.13 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 250.4866 on 5 degrees of freedom
Residual deviance: 9.3526 on 4 degrees of freedom
AIC: 34.093
Number of Fisher Scoring iterations: 4
即。并且回归方程通过了检验,因此回归模型为
其中是电流强度(单位:毫安)
与线性回归模型相同,在得到回归模型后,可以作预测,例如,当电流强度为3.5毫安时,有响应的牛的概率为多少?
> pre<-predict(glm.sol,data.frame(x=3.5))
> p<-exp(pre)/(1+exp(pre));p
1
0.742642
即74.26%
可以作控制,如有50%的牛有响应,其电流强度是多少?当P=0.5时,,所以
> X<--glm.sol$coefficients[[1]]/glm.sol$coefficients[[2]]
> X
[1] 2.649439
即2.65毫安的电流强度,可以使50%的牛有响应
最后画出响应的比例与logistic回归曲线。
> d<-seq(0,5,len=100)#给出曲线横坐标的点
> pre<-predict(glm.sol,data.frame(x=d))#计算预测值
> p<-exp(pre)/(1+exp(pre))#相应的预测概率
> norell$y<-norell$success/norell$n
> plot(norell$x,norell$y);lines(d,p)
广义线性模型建模函数qlm()
用法如下
> norell<-data.frame(
+ x=0:5, n=rep(70,6), success=c(0,9,21,47,60,63)
+ )
> norell$Ymat<-cbind(norell$success, norell$n-norell$success)
> glm.sol<-glm(Ymat~x, family=binomial, data=norell)
> summary(glm.sol)
R与数据分析旧笔记(⑨)广义线性回归模型的更多相关文章
- R与数据分析旧笔记(⑦)回归诊断
回归诊断 回归诊断 1.样本是否符合正态分布假设? 2.是否存在离群值导致模型发生较大误差? 3.线性模型是否合理? 4.误差是否满足独立性.等方差.正态分布等假设条件? 5.是否存在多重共线性 正态 ...
- R与数据分析旧笔记(八)多重共线性
多重共线性(线性代数叫线性相关) 多重共线性(线性代数叫线性相关) 1.什么是多重共线性 2.多重共线性对回归模型的影响 3.利用计算特征根发现多重共线性 4.Kappa()函数 例题1 考虑一个有六 ...
- R与数据分析旧笔记(六)多元线性分析 下
逐步回归 向前引入法:从一元回归开始,逐步加快变量,使指标值达到最优为止 向后剔除法:从全变量回归方程开始,逐步删去某个变量,使指标值达到最优为止 逐步筛选法:综合上述两种方法 多元线性回归的核心问题 ...
- R与数据分析旧笔记(六)多元线性分析 上
> x=iris[which(iris$Species=="setosa"),1:4] > plot(x) 首先是简单的肉眼观察数据之间相关性 多元回归相较于一元回归的 ...
- R与数据分析旧笔记(五)数学分析基本
R语言的各种分布函数 rnorm(n,mean=0,sd=1)#高斯(正态) rexp(n,rate=1)#指数 rgamma(n,shape,scale=1)#γ分布 rpois(n,lambda) ...
- R与数据分析旧笔记(十八完结) 因子分析
因子分析 因子分析 降维的一种方法,是主成分分析的推广和发展 是用于分析隐藏在表面现象背后的因子作用的统计模型.试图用最少的个数的不可测的公共因子的线性函数与特殊因子之和来描述原来观测的每一分量 因子 ...
- R与数据分析旧笔记(十一)数据挖掘初步
PART 1 PART 1 传统回归模型的困难 1.为什么一定是线性的?或某种非线性模型? 2.过分依赖于分析者的经验 3.对于非连续的离散数据难以处理 网格方法 <Science>上的文 ...
- R与数据分析旧笔记(三)不知道取什么题目
连线图 > a=c(2,3,4,5,6) > b=c(4,7,8,9,12) > plot(a,b,type="l") 多条曲线效果 plot(rain$Toky ...
- R与数据分析旧笔记(一)基本数学函数的使用
创建向量矩阵 > x1=c(2,3,6,8) > x2=c(1,2,3,4) > a1=(1:100) > length(a1) [1] 100 > length(x1) ...
随机推荐
- 关于在用Swift开发iOS时如何隐藏NavigationBar和TabBar
举个例子:如果我有一个页面需要进入时同时隐藏NavigationBar和TabBar,那么我就在那个页面的ViewController的代码里加上下面的代码.就可以实现了.接下来告诉大家每一块要注意的 ...
- 【数据库】SQL优化方法汇总
最近在研究SQL语句的优化问题. 下面是从网上搜集的,有的地方有点老了,可是还是有很多可以借鉴的地方的. 如何加快查询速度? 1.升级硬件. 2.根据查询条件,建立索引,优化索引.优化访问方式,限制结 ...
- JAVA责任链设计模式
<JAVA与模式>之责任链模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述责任链(Chain of Responsibility)模式的: 责任链模式是一种对象的行为模 ...
- Java并发编程实践(读书笔记) 任务执行(未完)
任务的定义 大多数并发程序都是围绕任务进行管理的.任务就是抽象和离散的工作单元. 任务的执行策略 1.顺序的执行任务 这种策略的特点是一般只有按顺序处理到来的任务.一次只能处理一个任务,后来其它任 ...
- 加密传输SSL协议5_Hash Function
怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...
- Constructor JavaScript构造器模式。
构造器模式 : Constructor模式中, 通过在构造器前面加 new 关键字, 告诉JavaScript 像使用构造器一样实例化一个新对象,并且对象成员由该函数定义. 构造器内, 使用this ...
- Android android:clickable 问题
android:clickable继承自View的xml属性,其值必须是boolean值,即true.false.该标签目的是设置button是否可以被点击. <View android:cli ...
- python退格、方向键无法正常使用解决方法
CentOS 6.5 自带的Python 2.6.6 箭头以及退格键(Backspace)可正常使用: 自定义所安装的Python 2.7.6却发现箭头以及退格键(Backspace)在使用的时候出现 ...
- Web自动化基础分享
一.Selenium 简介 Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具. 与其他测试工具相比,使用 Selenium 的最大好处是: Seleniu ...
- 製程能力介紹(SPC introduction) ─ 製程能力改善及評估
如何改善製程能力 參考下面常態分配圖,原製程能力不足,其製成品有一定比率超出下限規格,其改善對策有二: 縮小製程變異,也就是改善Cp,提高Cp的值. 移動製程中心,也就是改善Ck,減小Ck的值. 就技 ...