原文链接:http://tecdat.cn/?p=20828
最近咱们被客户要求撰写对于非凸惩办函数回归的钻研报告,包含一些图形和统计输入。
本文应用lasso或非凸惩办拟合线性回归,GLM和Cox回归模型的正则化,特地是最小最大凹度惩办函数 (MCP) 和润滑切片相对偏差惩办(SCAD),以及其余L2惩办的选项( “弹性网络”)。还提供了用于执行穿插验证以及拟合后可视化,摘要,推断和预测的实用程序。
咱们钻研 前列腺数据,它具备8个变量和一个间断因变量,行将进行根治性前列腺切除术的男性的PSA程度(按对数尺度):
X <- data$Xy <- data$y
要将惩办回归模型拟合到此数据,执行以下操作:
reg(X, y)
此处的默认惩办是最小最大凹度惩办函数 (MCP) ,但也能够应用SCAD和lasso惩办。这将产生一个系数门路,咱们能够绘制
plot(fit)
留神,变量一次输出一个模型,并且在的任何给定值下,几个系数均为零。要查看系数是多少,咱们能够应用以下 coef
函数:
coef(fit, lambda=0.05)# (Intercept) lcavol lweight age lbph svi # 0.35121089 0.53178994 0.60389694 -0.01530917 0.08874563 0.67256096 # lcp gleason pgg45 # 0.00000000 0.00000000 0.00168038
该 summary
办法可用于后抉择推断:
summary(fit # MCP-penalized linear regression with n=97, p=8# At lambda=0.0500:# -------------------------------------------------# Nonzero coefficients : 6# Expected nonzero coefficients: 2.54# Average mfdr (6 features) : 0.424# # Estimate z mfdr Selected# lcavol 0.53179 8.880 < 1e-04 *# svi 0.67256 3.945 0.010189 *# lweight 0.60390 3.666 0.027894 *# lbph 0.08875 1.928 0.773014 *# age -0.01531 -1.788 0.815269 *# pgg45 0.00168 1.160 0.917570 *
在这种状况下, 即便调整了模型中的其余变量之后,lcavol
, svi
以及 lweight
显然与因变量关联,同时 lbph
, age
和 pgg45
可能只是偶尔包含。通常,为了评估模型在的各种值下的预测准确性,将执行穿插验证:
plot(cvfit)
使穿插验证误差最小的的值由 cvfit$lambda.min
给出,在这种状况下为0.017。将coef
在return的输入 利用于 cv.ncvreg
的值的系数:
coef # (Intercept) lcavol lweight age lbph svi # 0.494154801 0.569546027 0.614419811 -0.020913467 0.097352536 0.752397339 # lcp gleason pgg45 # -0.104959403 0.000000000 0.005324465
能够通过predict
来取得预测值 ,该选项有多种抉择:
predict(cvfit# 预测新观测后果的响应# 1 2 3 4 5 6 # 0.8304040 0.7650906 0.4262072 0.6230117 1.7449492 0.8449595 # 非零系数的数量# 0.01695 # 7 # 非零系数的个性# lcavol lweight age lbph svi lcp pgg45 # 1 2 3 4 5 6 8
请留神,原始拟合(至残缺数据集)的后果为 cvfit$fit
;不用同时调用两者 ncvreg
和 cv.ncvreg
剖析数据集。
如, plot(cvfit$fit)
将产生与上述雷同的系数门路图 plot(fit)
。
最受欢迎的见解
1.R语言多元Logistic逻辑回归 利用案例
2.面板平滑转移回归(PSTR)剖析案例实现
3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)
4.R语言泊松Poisson回归模型剖析案例
5.R语言回归中的Hosmer-Lemeshow拟合优度测验
6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
7.在R语言中实现Logistic逻辑回归
8.python用线性回归预测股票价格
9.R语言如何在生存剖析与Cox回归中计算IDI,NRI指标