岭回归(Ridgeregression)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。
Ridge回归通过对系数的大小施加惩罚来解决普通最小二乘法的一些问题。岭系数最小化的是带罚项的残差平方和。
其中,α>=0 是控制系数收缩量的复杂性参数: α 的值越大,收缩量越大,模型对共线性的鲁棒性也更强。
与其他线性模型一样,Ridge用fit方法完成拟合,并将模型系数存储在其coef_成员中:
RidgeCV通过内置的关于的 alpha 参数的交叉验证来实现岭回归。该对象与 GridSearchCV 的使用方法相同,只是它默认为 Generalized Cross-Validation(广义交叉验证 GCV),这是一种有效的留一验证方法(LOO-CV):
指定 cv 属性的值将触发(通过GridSearchCV的)交叉验证。例如,cv=10将触发10折的交叉验证,而不是广义交叉验证(GCV)。
Python示例
可视化结果:
小概念
病态矩阵:对于有些矩阵,矩阵中某个元素的一个很小的变动,会引起最后计算结果误差很大,这种矩阵称为“病态矩阵”。
交叉验证:在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。例如10折交叉验证(10-fold cross validation),将数据集分成十份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的估计,一般还需要进行多次10折交叉验证求均值,例如:10次10折交叉验证,以求更精确一点。
-END-
与AlphaKnow一起进步
领取专属 10元无门槛券
私享最新 技术干货