应用岭回归的场景有很多。
本文介绍的是 在应用多元线性回归时 遇到多重共线性问题,且无法删除变量或者增加样本量的情况下,应用岭回归的情况。
#加载程序包与数据
library(MASS)
library(xlsx)
library(car)
y <- read.xlsx("D:/RData/sets/Y.xlsx",1,encoding = "UTF-8")
l <- read.xlsx("D:/RData/sets/L.xlsx",1,encoding = "UTF-8")
a <- read.xlsx("D:/RData/sets/A.xlsx",1,encoding = "UTF-8")
k <- read.xlsx("D:/RData/sets/K.xlsx",1,encoding = "UTF-8")
dataY <-(y,a,l,k)
#得到相关系数矩阵:变量之间呈同向变动的关系,符合经济发展的规律
scatterplotMatrix(dataY,spread=FALSE,smoother.args=list(lty=2),main="Scatter Plot Matrix")
#数据对数化
ly <- log(y)
la <- log(a)
ll <- log(l)
lk <- log(k)
dY <-data.frame(ly,la,ll,lk)
#做最小二乘回归
fit <- lm(gdp~a+l+k,data=dataY)
fit
summary(fit)
#应用vif值的开方来判断是否存在多重共线性
library(car)
vif(fit)
sqrt(vif(fit))>2
#vif值开方远大于2,存在多重共线性。
#首先用岭迹图判断k值区间并使用GCV值来进行岭回归估计
plot(lm.ridge(dY[,1]~dY[,2]+dY[,3]+dY[,4],data = dY,lambda = seq(0,0.5,0.001)))
#确定k至的估计区间在0-0.5间
#确定k值并选择GCV值=0.127.做岭回归。
select(lm.ridge(dY[,1]~dY[,2]+dY[,3]+dY[,4],data = dY,lambda = seq(0,0.5,0.001)))
ridge1 <- lm.ridge(dY[,1]~dY[,2]+dY[,3]+dY[,4],data = dY,lambda =0.127)
ridge1 <- lm.ridge(gdp~a+l+k,data = dY,lambda =0.127)
ridge1
从系数符号看,符合我们前面对本模型的系数估计。即弹性系数之和大于1,互联网技术弹性系数大于1,劳动力弹性系数和资本弹性系数小于1。从整体来看,α+β+γ大于1,表明了边际产量递增的趋势,符合当前经济发展的现状,当国家投入劳动力和资本和技术时,经济发展水平总量增加。
(分别具体的每个系数分析在这里不做过多讲述)
本文结论为:我国正处于技术推动经济发展的新时代,应以互联网技术为核心,结合信息与知识,对我国经济发展做出贡献。
本文以具体案例为例子,讲解了岭回归模型的r语言实现过程,并对案例进行一定程度的分析。希望可以对大家有帮助。
在本文中对互联网综合发展指数的因子分析求解可以看该连接:
http://t.csdn.cn/q3q9O