5.1 数据的分类与模型选择
- 变量的取值类型
因变量的取值类型通常包括:连续变量、“0-1”变量或称二分类变量、有序变量(等级变量)、多分类变量和连续伴有删失变量,解释变量则可分为连续变量、分类变量和等级变量。
- 模型选择方式:基本公式
若不是正态分布,则该模型为广义线性模型,而若不是连续或正态分布,则该模型为一般线性模型。下表为不同变量类型可选用的模型分类:
1582793257442.jpg5.2 广义线性模型
广义线性模型(generalized linear model)是一般线性模型的直接推广,它使因变量的总体均值通过一个非线性连接函数(link function)而依赖于线性预测值,同时还允许响应概率分布为指数分布族中的任何一员,在广义线性模型中常用的分布族如下所示:
分布 | 函数 | 模型 |
---|---|---|
正态(Gaussian) | 普通线性模型 | |
二项(Binomial) | logistic模型和概率模型单位(probit)模型 | |
泊松(Poission) | 对数线性模型 |
广义线性模型函数glm()
的用法:
glm(formula,family = gaussian, data,...)
formula为公式,即为要拟合的模型;
family为分布族,包括正态分布、二项分布、泊松分布和 伽玛分布,分布族还可以通过选项link=来指定使用的连接函数;
data为可选择的数据框。
说明与举例
1、Logistic模型
-
函数形式:
其中参数估计采用极大似然估计。
-
举例:
对45名驾驶员的调查结果,其中4个变量的含义为:- x1:表示视力状况,1好,0则为有问题;
- x2:年龄,数值型;
- x3:驾车教育,1表示参加过驾车教育,0表示无;
- y:分类变量(去年是否出过事故,1出过,0没有)
#(1)建立全变量logistic回归模型
d5.1 <- xlsx::read.xlsx("msaD.xlsx",sheetIndex=5)
logit.glm <- glm(y~x1+x2+x3,family=binomial,data=d5.1)#logistic回归模型
#summary(logit.glm) #可查看初步的Logistic回归结果
#(2)逐步筛选变量logistic回归模型
logit.step <- step(logit.glm,direction="both")#逐步筛选法变量选择
#summary(logit.step)#可查看变量选择结果
#(3)预测发生交通事故的概率
pre <- predict(logit.step,data.frame(x1=1))#预测视力正常司机Logistic回归结果
p <- exp(pre)/(1+exp(pre))#预测视力正常司机发生事故概率
2、对数线性模型:
- 函数形式:
其中,式2含有交叉项。
- 举例:
某企业想了解顾客对其产品是否满意,同时还想了解不同收入的人群对其产品的满意程度是否相同。
d5.2 <- read.xlsx("msaD.xlsx",sheetName="d5.2")
head(d5.2)
##y表示频数,x1表示收入人群,x2表示满意程度
# y x1 x2
#1 53 1 1
#2 434 2 1
#3 111 3 1
#4 38 1 2
#5 108 2 2
#6 48 3 2
poi <- glm(y~x1+x2,family=poisson(link=log),data=d5.2)
summary(poi)
#Call:
#glm(formula = y ~ x1 + x2, family = poisson(link = log), data = d5.2)
#
#Deviance Residuals:
# 1 2 3 4 5 6
#-10.784 14.444 -8.468 -2.620 4.960 -3.142
#
#Coefficients:
# Estimate Std. Error z value Pr(>|z|)
#(Intercept) 6.15687 0.14196 43.371 < 2e-16 ***
#x1 0.12915 0.04370 2.955 0.00312 **
#x2 -1.12573 0.08262 -13.625 < 2e-16 ***
#---
#Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
#(Dispersion parameter for poisson family taken to be 1)
#
# Null deviance: 662.84 on 5 degrees of freedom
#Residual deviance: 437.97 on 3 degrees of freedom
#AIC: 481.96
#
#Number of Fisher Scoring iterations: 5
从检验结果可以看出,p1和p2都<0.01,说明收入和满意程度对产品有重要影响。
5.3 一般线性模型
1、完全随机设计模型
-
函数形式:
其中,表示观察结果的总体均值,是哑变量的系数,称为A因素各水平的主效应,是误差项。哑变量:也叫虚拟变量,引入哑变量的目的是,想不能够定量处理的变量量化,如职业、性别对收入的影响等,这种“量化”通常是通过引入“哑变量”来完成的,根据这些因素的属性类型,构造只取“0”或“1”的人工变量,通常称为哑变量,记为D。
-
举例:
设有3台机器,用来生产规格相同的铝合金薄板。现从3台机器生产出的薄板中各 随机抽取5块,测出厚度值,试分析各机器生产的薄板厚度有无显著差异?
d5.3 <- read.xlsx("msaD.xlsx",sheetName="d5.3")
head(d5.3)
# Y A
#1 2.36 1
#2 2.38 1
#3 2.48 1
#4 2.45 1
#5 2.47 1
#6 2.43 1
#完全随机设计模型方差分析
anova(lm(Y~factor(A),data=d5.3))
#Analysis of Variance Table
#
#Response: Y
# Df Sum Sq Mean Sq F value Pr(>F)
#factor(A) 2 0.122233 0.061117 40.534 8.94e-07 ***
#Residuals 15 0.022617 0.001508
#---
#Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
P<0.05,说明各机器生产的薄板厚度有显著差异。
2、随机单位组设计模型
- 函数形式:
其中,为总体均数,为处理因素A的第i个水平的效应;为第j个单位组的效应,为误差项。
- 举例:
使用4种燃料,3种推进器作火箭射程试验,每一种组合情况做一次试验,则得火箭 射程列在下表中,试分析各种燃料A与各种推进器B对火箭射程有无显著影响?
d5.4 <- read.xlsx("msaD.xlsx",sheetName="d5.4")
head(d5.4)
##A是燃料,B是推进器,Y是射程
# Y A B
#1 582 1 1
#2 491 2 1
#3 601 3 1
#4 758 4 1
#5 562 1 2
#6 541 2 2
anova(lm(Y~factor(A)+factor(B),data=d5.4))
#Analysis of Variance Table
#
#Response: Y
# Df Sum Sq Mean Sq F value Pr(>F)
#factor(A) 3 15759 5253 0.4306 0.7387
#factor(B) 2 22385 11192 0.9174 0.4491
#Residuals 6 73198 12200
P(A)和P(B)均>0.05,说明各种燃料和各种推进器对火箭射程都无显著影响。
网友评论