Lasso 算法与AIC、BIC、Stepw ise 算法比较 一、变量选择 回归分析中如果有很多个变量,但不进行变量选择,会使回归系数的精度下降,模型的准确率降低,还会造成统计研究的成本较大。所以变量选择在回归分析中是一个重点问题。 在回归方程中,预测精度和可解释性是评估回归模型的两个重要指标。传统的变量选择方法有 forward 法,toward 法,逐步回归法,全子集法。结合的变量选择的标准有 AIC、BIC、CP 准则等。 Robert 提出的 Lasso 回归是一种收缩估计方法,基本思想是在一个回归系数的绝对值之和小于一个常数的条件下,使残差平方和最小化,从而较严格地使系数本该为零化为零,相应的变量被删除,实现变量选择。 二、模拟实验 生成 200 个独立同分布的随机变量 X,服从Xi~N(0,I6),残差εi~N(0,4), 令β = [1,0.8,0.6,0,0,0]。然后由Yi = Xiβ + εi得到因变量 Y,现已知自变量 X 和因变量 Y,要求做变量选择, 重复模拟实验 1000 次,统计 1000 次结果中β1,β2,β3三个系数为零的个数和的平均值,记为 incorrect,它是指惩罚过重将把不该估为零的系数估为零的可能性,即错误率; β4,β5,β6三个系数为零的个数和的平均值,记为 correct,它是指通过惩罚函数把该估为零的系数估为零的可能性,即正确率。 最后比较四种算法的 incorrect 和 correct. 1、LASSO 算法的编程实现: LASSO 的选择标准是使1n∑ (yi − xiβi)2 +niλ∑ |βj|pj达到最小。 为满足上面这一标准,现在用得较普遍的是 LASSO 的 lars 算法,在本报告我们采用 LASSO中的 LQA 算法,主要体现了迭代的思想。迭代的步骤是: 第一步:设参数 β估计的初值为β0 ,固定 λ ,选取最小二乘估计 βLS作为 β的初值, 第二步:由 估计的初值为 和下面的迭代公式得出固定 时的 ,记为 βλ β(1)= β(0)− [∇2QLSβ(0) + n ∑ β(0)λ]−1[∇QLSβ(0) + nUλβ(0)] 其中, ∇2QLSβ(0) = X′X ∇QLSβ(0) = −X(Y − Xβ(0)) ∑ β(0)λ= diag ( 1|β0| ,… ,1|βp|) 如果βj = 0,那么取1|βj|为某个很大的值 Uλβ(0) = ∑ β(0)λβ(0) 在我的程序中,当|βj|<0.0001时,令1|βj|=100000 第三步:如果某个βj很小时,直接令βj = 0. 在我的程序中,经过反复试验,发现取小于0.1 时,另βj=0 效果理想。 重复上述第二步和第三步,直到β收敛,即|...