岭回归和套索回归

岭回归
优点:有显式的解
缺点:对于影响很小的因子的值不能趋近到0

Lasso回归
优点:可以将影响很小的因子的值减到0,更加便于筛选
缺点:没有真实的解,只能逼近和估计解

Stata的使用
在 Stata 中,我们可以安装 lassopack 命令来实现 Lasso 回归,Lassopack 包含三个与 Lasso 相关的子命令(输入 help lassopack 可以查看详情): ‐ 子命令 lasso2 可进行 Lasso 估 计; ‐ 子命令 cvlasso 可进行 K 折交叉验证(k‐fold cross validation); ‐ 子命令 rlasso 可以估计惩罚项由数据决定或者高维情形(变量维度超过样本数)

K 折交叉验证
我们使用 K 折交叉验证的方法来选择最佳的调整参数。

所谓的 K 折交叉验证,是说将样本数据随机分为 K 个等分。将第 1 个子样本作为 “验证集”(validation set)而保留不用,而使用其余 K-1 个子样本作为 “训练集”(training set)来估计此模型,再以此预测第 1 个子样本,并计算第1个子样本的 “均方预测误差”(Mean Squared Prediction Error)。

其次,将第 2 个子样本作为验证集,而使用其余 K-1 个子样本作为训练集来预测第2个子样本,并计算第 2 个子样本的 MSPE。

以此类推,将所有子样本的 MSPE 加总,即可得整个样本的 MSPE。最后,选择调整参数 ,使得整个样本的 MSPE 最小,故具有最佳的预测能力。

案例


cvlasso 单产 种子费 化肥费 农药费 机械费 灌溉费, lopt seed(520)
1


上表右边第 1 列即为 Lasso 所估计的变量系数。

其中,除常数项外,只有 3 个变量的系数为非零,而其余变量(未出现在表中)的系数则为 0。

考虑到作为收缩估计量的 Lasso 存在偏差(bias),上表右边第 2 列汇报了 “Post Lasso” 估计量的结果,即仅使用 Lasso 进行变量筛选,然后扔掉 Lasso 的回归系数,再对筛选出来的变量进行 OLS 回归。

注意:以上结果可能随着我们之前设置的随机数种子变化,因为lasso回归的估计是近似算法,且剔除的多重共线性变量是相对的。

总结
何时使用lasso回归
我们首先使用最一般的OLS对数据进行回归,然后计算方差膨胀因子VIF,如果VIF>10则说明存在多重共线性的问题,此时我们需要对变量进
行筛选。

在第七讲时我们提到可以使用逐步回归法来筛选自变量,让回归中仅留下显著的自变量来抵消多重共线性的影响,学完本讲后,大家完全可以把lasso回归视为逐步回归法的进阶版,我们可以使用lasso回归来帮我们筛选出不重要的变量,步骤如下:

(1)判断自变量的量纲是否一样,如果不一样则首先进行标准化的预处理;
(2)对变量使用lasso回归,记录下lasso回归结果表中回归系数不为0的变量,这些变量就是最终我们要留下来的重要变量,其余未出现在表中的变量可视为引起多重共线性的不重要变量。

在得到了重要变量后,我们实际上就完成了变量筛选,此时我们只将这些重要变量视为自变量,然后进行回归,并分析回归结果即可。(注意:此时的变量可以是标准化前的,也可以是标准化后的,因为lasso只起到变量筛选的目的)

总结:
(1)不是所有多元线性回归都需要这两种回归方式,如果变量较少,且相互独立没有变量间影响,就不要做这些操作
(2)两种操作核心就是为了消除多变量带来的多重共线性问题
(3)一般优先使用Lasso回归,更加便捷
(4)且不要忘记数据的预处理和变量的标准化
 

你可能感兴趣的:(机器学习,人工智能)