广义线性回归模型

广义线性回归模型

例题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与数据分析旧笔记(⑨)广义线性回归模型的更多相关文章

  1. R与数据分析旧笔记(⑦)回归诊断

    回归诊断 回归诊断 1.样本是否符合正态分布假设? 2.是否存在离群值导致模型发生较大误差? 3.线性模型是否合理? 4.误差是否满足独立性.等方差.正态分布等假设条件? 5.是否存在多重共线性 正态 ...

  2. R与数据分析旧笔记(八)多重共线性

    多重共线性(线性代数叫线性相关) 多重共线性(线性代数叫线性相关) 1.什么是多重共线性 2.多重共线性对回归模型的影响 3.利用计算特征根发现多重共线性 4.Kappa()函数 例题1 考虑一个有六 ...

  3. R与数据分析旧笔记(六)多元线性分析 下

    逐步回归 向前引入法:从一元回归开始,逐步加快变量,使指标值达到最优为止 向后剔除法:从全变量回归方程开始,逐步删去某个变量,使指标值达到最优为止 逐步筛选法:综合上述两种方法 多元线性回归的核心问题 ...

  4. R与数据分析旧笔记(六)多元线性分析 上

    > x=iris[which(iris$Species=="setosa"),1:4] > plot(x) 首先是简单的肉眼观察数据之间相关性 多元回归相较于一元回归的 ...

  5. R与数据分析旧笔记(五)数学分析基本

    R语言的各种分布函数 rnorm(n,mean=0,sd=1)#高斯(正态) rexp(n,rate=1)#指数 rgamma(n,shape,scale=1)#γ分布 rpois(n,lambda) ...

  6. R与数据分析旧笔记(十八完结) 因子分析

    因子分析 因子分析 降维的一种方法,是主成分分析的推广和发展 是用于分析隐藏在表面现象背后的因子作用的统计模型.试图用最少的个数的不可测的公共因子的线性函数与特殊因子之和来描述原来观测的每一分量 因子 ...

  7. R与数据分析旧笔记(十一)数据挖掘初步

    PART 1 PART 1 传统回归模型的困难 1.为什么一定是线性的?或某种非线性模型? 2.过分依赖于分析者的经验 3.对于非连续的离散数据难以处理 网格方法 <Science>上的文 ...

  8. R与数据分析旧笔记(三)不知道取什么题目

    连线图 > a=c(2,3,4,5,6) > b=c(4,7,8,9,12) > plot(a,b,type="l") 多条曲线效果 plot(rain$Toky ...

  9. R与数据分析旧笔记(一)基本数学函数的使用

    创建向量矩阵 > x1=c(2,3,6,8) > x2=c(1,2,3,4) > a1=(1:100) > length(a1) [1] 100 > length(x1) ...

随机推荐

  1. uva 10051 Tower of Cubes(DAG最长路)

    题目连接:10051 - Tower of Cubes 题目大意:有n个正方体,从序号1~n, 对应的每个立方体的6个面分别有它的颜色(用数字给出),现在想要将立方体堆成塔,并且上面的立方体的序号要小 ...

  2. 在vs2010中编译log4cxx-0.10.0详细方法

    本文一共包含了17个步骤,按照下面的步骤就可以完成vs2010中编译log4cxx的工作了. 1. 下载 log4cxx 以及 apr 和 apr-util 源码: a) http://www.apa ...

  3. Nodejs随笔(一):Hello World!

    声明:本人用的是Ubuntu 14.04 LTS 系统. 一.Nodejs安装: <1>直接apt-get安装,最简单:sudo apt-get install nodejs <2& ...

  4. unity读取Sqlite数据库

    using UnityEngine; using System.Collections; using Mono.Data.Sqlite; using System.Data; public enum ...

  5. CSS display属性的值及作用

    display 的属性值有:none|inline|block|inline-block|list-item|run-in|table|inline-table|table-row-group|tab ...

  6. java.util.vector中的vector的详细用法

    ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些 import java.util.*; /** * 演示Vector的使用.包括Vector的创 ...

  7. Python核心编程读笔 13:执行环境

    第14章  执行环境 一.可调用对象 python有四种可调用对象:函数.方法.类.一些类的实例 1 函数 (1)内建函数(BIF) BIF是用c/c++写的,编译后放入python解释器,然后把它们 ...

  8. juce 中的ReferenceCountedObjectPtr

    提供了对引用计数对象的管理,其实也就是操作引用计数对象,当引用计数为零的时候将对象销毁,值得学习的是juce是如果将引用计数对象和它的智能指针结合在一起的,这个后面再加分析 //=========== ...

  9. artTemplate-3.0

    https://github.com/aui/artTemplate artTemplate-3.0 新一代 javascript 模板引擎 目录 特性 快速上手 模板语法 下载 方法 NodeJS ...

  10. sql语句操作记录

    发觉一些sql语句写出来的时候不停忘记,做一个记录. mySQL .查看表的创建过程sql语句和注释,注释是在创建表的过程中增加comment,后面跟随注释的内容 SHOW CRATE TABLE T ...