多元线性回归模型通常用来研究一个应变量依赖多个自变量的变化关系,如果二者的以来关系可以用线性形式来刻画,则可以建立多元线性模型来进行分析。
1.模型简介
1.1模型的结构
多元线性回归模型通常用来描述变量y和x之间的随机线性关系,即:
如果对y和x进行了x次观测,得到n组观察值yi,x1i,…,xki(i=1,2,…,n),他们满足一下关系式:
1.2模型参数的检验
在正态假定下,如果X是列满秩的,则普通线性回归模型的参数最小二乘估计为:
于是y的估计值为:
(1)回归方程的显著性检验
(2)回归系数的显著性检验
2.建模步骤
(1)根据数据建立回归模型
(2)对模型进行显著性检验
(3) 对模型进行回归诊断
3.建模
library(car) a=read.table("C:/Users/MrDavid/data_TS/reg.csv",sep=",",header=T)
a lm.salary=lm(锘縴~x1+x2+x3+x4,data=a) summary(lm.salary) #注:锘縴是y乱码之后的结果
发现x2,x3,x4系数不显著。
(2)对变量进行选择
lm.step=step(lm.salary,direction="both")
如果去掉变量x2,AIC的值为648.49,如果去掉变量x3,AIC的值为650.85,如果去掉变量x1,AIC的值为715.19,所以在这里去掉x2.
进行下一轮的计算:
lm.salary=lm(锘縴~x1+x3+x4,data=a) lm.step=step(lm.salary,direction="both")
发现去掉x3,AIC 的值为647.64,所以去掉x3.
单独对x1和x4,进行拟合。
lm.salary=lm(锘縴~x1+x4,data=a) summary(lm.salary)
可以看出F检验P值小于0.05显著,各个参数系数也是显著的。
(3)对上述回归模型进行回归残差诊断
算出模型的标准化残差
library(TSA) y.rst=rstandard(lm.step) y.rst
画出其残差散点图:
很明显发现4和35号点异常,将这两个点去除。
lm.salary=lm(log(锘縴)~x1+x2+x3+x4,data=a[-c(4,35),])
lm.step=step(lm.salary,direction="both") y.rst=rstandard(lm.step)
y.fit=predict(lm.step) plot(y.rst~y.fit)
去除两点后的结果:
绘制模型诊断图:
par(mfrow=c(2,2)) plot(lm.step) influence.measures(lm.step)
残差拟合图基本上呈现随机分布模式,正态Q-Q图基本落在直线上,表明残差服从正态分布;大小-位置图和残差-杠杆图以小组的形式存在并且离中心不远。这说明3,4,35号观测值可能是异常点和强影响点。