岭回归(RR)模型的建立---R语言实现(3)附代码

一、岭回归定义及作用

当解释变量矩阵出现严重的多重共线性是,用普通的最小二乘法估计效果将会不理想。为了解决这一问题,统计学家从模型和数据的角度考虑,采用回归诊断和自变量选择来克服多重共线性的影响。

二、岭回归的定义

四、岭迹回归

五、岭参数k的选择

六、代码展示

##第一步:收集数据,对数据进行预处理
data_3 <- read_excel("D:/桌面/应用回归分析/XXX.xls",sheet = 3)#读取表格中第3组数据集
#异常值、异方差、自相关性分析
lm3.1 <- lm(Y~.,data_3)#对原始数据进行初步拟合
rstudent(lm3.1)>3#异常值分析,分析其大于3倍方差的值
abse <- abs(resid(lm3.1))#计算残差
plot(x=1:19,abse,xlab='序列值',ylab='残差','o')
for (i in 1:6){
  ct <- cor.test(as.numeric(as.character(data_3[[i]])),abse,method = 'spearman')
  print(ct)}#进行等级相关性检验,p都大于0.05,不存在异方差
#岭回归分析
data3 <- data.frame(scale(data_3)) 
library(MASS)
ridge3 <- lm.ridge(Y~.-1,data=data3,lambda = seq(0,2,0.1))   #做岭回归,其中lamdas为岭回归参数k的所有取值
beta <- coef(ridge3) #将回归系数结果赋予beta
beta
k <- ridge3$lambda
plot(k,k,type = 'n',xlab='岭回归参数k',ylab = '岭回归系数',ylim = c(-1,1))
linetype <- c(1:5)
char <- c(18:24)
for ( i in 1:5) {
  lines(k,beta[,i],type = 'o',lty = linetype[i],pch = char[i],cex = 0.75)}

legend(locator(1),inset = 0.5,legend = c("x1","x2","x3","x4","x5"),cex = 0.8,pch = char,lty = linetype)
#x3,x4不稳定

ridge2 <- lm.ridge(Y~.-X3-X4-1,data=data_3,lambda = seq(0,2,0.1))   #做岭回归,其中lamdas为岭回归参数k的所有取值
beta <- coef(ridge2) #将回归系数结果赋予beta
beta
k <- ridge2$lambda
plot(k,k,type = 'n',xlab='岭回归参数k',ylab = '岭回归系数',ylim = c(0,7))
linetype <- c(1:3)
char <- c(18:21)
for ( i in 1:3) {
  lines(k,beta[,i],type = 'o',lty = linetype[i],pch = char[i],cex = 0.75)}

legend(locator(1),inset = 0.5,legend = c("x2","X3","x4","x6","7"),cex = 0.8,pch = char,lty = linetype)

七、结果展示

参数选择发现X3,X4存在多重共线性(即两线之间岭回归系数变化幅度较大),故选择删去,删去结果如下:

(标注有误,应为X1,X2,X5)

参考文献
应用回归分析(R语言版)电子工业出版社
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值