变量选择算法lasso及二次规划

观测数据:(X,y),X是n*m的矩阵,其中n>m,y = 

1. 首先对数据进行中心标准化,以消除不同指标量纲的影响。此时,对于i∈{1,2,.....m}。此时,有:

matlab中的标准化函数如下:

[Z,MU,STD] = zscore(x);%Z表示标准化后的矩阵,MU表示方差,STD代表标准差。Z=(x-mean(x))/std(x)。


2.变量筛选。筛选掉影响因子比较小的变量,其本质是:加一定的约束,使影响因子晓得变量回归系数为0。lasso算法是目标函数式二次型范数的基础上加绝对值约束构成的:

即求满足下列要求的β 


二次规划知识:

要把min fval(x)中的二次函数规范化成:fval = 1/2 * X ' H X + f ‘ X(f ’ 是指 f 的转置)。

[X,fval] = quadprog(H,f,A,b);

H:二次规划中二次项矩阵

f:二次规划中一次项矩阵

A:条件的系数矩阵

b:就是常数t

3. = y ' y-2*y ' Xβ +β ' XX β


条件是绝对值的和。。。还没明白怎么写,稍后再改。。。 

你可能感兴趣的:(matlab)