本文的所有信息均来源于王斌会老师在大学慕课的课件,在这里写个笔记记录一下。
变量间的关系及分析方法
两变量线性相关分析
步骤:计算样本相关系数,然后做检验假设。
变量X,Y
R语言使用
求相关系数cor(X,Y,,method=(“pearson”,"kendall","spearman")
统计方法默认为pearson。
做假设检验cor.test(X,Y)#相关系数的假设检验
两变量线性回归分析
步骤:建立回归模型,求解回归模型的参数,对回归模型进行检验。
变量X,Y,X为自变量
R语言使用
拟合模型:lm(Y~X,data=所用的数据)
检验模型:anova(fm)#模型方差分析
summary(fm)#回归系数t检验
广义与一般线性模型
模型选择方式:根据x,y的取值类型来选择模型
广义线性模型
概述:在广义线性模型中,均假定观察值y具有指数族。
R语言使用
glm(formula,family=gaussian,data,..)
formula为公式,即为要拟合的模型,family为分布族,包括正态分布(gaussian)、二项分布(binomial)、泊松分布(poission)和伽马分布(gamma),分布族还可以通过选项link=来指定使用的连接函数,data为可选择的数据框。
实例:对45名驾驶员的调查结果,其中四个变量的含义为
x1:表示视力状况,分类变量,1表示好,0表示有问题
x2:年龄,数值型
x3:驾车教育,分类变量,1参加过驾车教育,0我驾车教育。
y:分类变量,去年是否出过事故,1有,0无。
>dat=read.table()#读取数据
>glm(y~x1+x2+x3,family=binomial,data=dat)#logistic模型
>summary(logit)#logistic模型结果
得出的结果中没有对整体结果做出检验,只对某个回归系数做出检验。如何对整体做检验?待查
在做logistic检验中通过需要筛选出那些有统计意义的变量,那么就可以用下面的函数进行筛选了。
>logit.step=step(logit)#逐步筛选法变量选择
》summary(logit.step)#筛选后结果展示,只保留有统计意义的变量
一般线性模型
实例:设有3台机器,用来生产规格相同的铝合金薄板,现从3台机器生产出的薄板个随机抽取6块,测出厚度,见下表,是分析各机器生产的薄板厚度有无显著差异。
对表格的数据进行处理,y代表各个测量值,A表示各个机器
R语言使用:
>dat=read.table()#读取数据
>anova(lm(y~factor(A),data=dat))#完全随机设计方差分析,若p<0.05,则表示各个机器间生产的薄板厚度有差别。
实例:
使用4种燃料,3中推荐器做火箭射程实验,每一种组合情况做一个实验,试分析各种燃料A与各种推进器B对火箭射程有无显著影响。
对数据进行处理
R语言使用
>dat=read.table()
>anova(lm(y~factor(A)+factor(B),data+dat))
对数线性模型
poisson分布族模型和拟poisson分布族模型的使用方法
glm(formula,family=poisson,data,...)
glm(formula,family=poisson(link=log),data,...)
欲了解顾客对其产品是否满意,同时还想了解不同收入的人群对其产品的满意程度是否相同。
y表示频数,x1表示收入人群,x2表示满意程度
建立poisson对数模型
>d=rea.table()#读取数据
>log=glm(y~x1+x2,family=poisson,data=d)#对数线性模型
summary(log)#检验结果