岭回归分析实际上是一种改良的最小二乘法,是一种专门用于共线性数据分析的有偏估计回归方法。想法的提出也比较自然,当
时,我们设想给
加上一个正常数矩阵
,那么
接近奇异的可能性就会比
接近奇异的可能性小得多,因此用
为
的估计应比最小二乘估计
稳定,我们称(7.29)式为
的岭回归估计,
称为岭参数。显然当
时,(3-14)就是普通的最小二乘估计。
首先对解释变量数据进行Z分数标准化得
,解方程得到的
就是标准化后的解释变量对被解释变量的岭估计,其中
为
(解释变量个数)单位阵,
为
阶0向量。
Regress_Ridge(y:array,x:array,k:array,constant:bool,alpha:real):array;
说明:岭回归,程序中对x进行了标准化,再结合岭回归系数去计算回归方程的系数,程序返回的结果,每一行为一组回归系数。k是一个实数,输出x对y的岭回归,k是一个长度大于1的数组,输出x对y的岭迹
参数:
y : 被解释变量序列,为一维数组类型;
x : 解释变量矩阵,为二维数组类型,每一列为一个解释变量;
k : 岭回归系数,0到1之间的实数,可为整数或一维数组类型;缺省使用方差扩大因子选取
constant:是否包含常数项,为布尔类型,缺省为1
alpha:显著性水平,缺省为0.05
岭回归函数使用(参见平台下的Regress_Ridge_Demo函数)
y:=array(49.00,50.2,50.5,48.5,47.5,44.5,28.00,31.5,34.5,35.00,38.00,38.5,15.00,17.00,20.5,29.5);
x:=array(
(1300.00,7.5,0.012,9750.00,15.6,0.09),
(1300.00,9.00,0.012,11700.00,15.6,0.108),
(1300.00,11.00,0.0115,14300.00,14.95,0.1265),
(1300.00,13.5,0.013,17550.00,16.9,0.1755),
(1300.00,17.00,0.0135,22100.00,17.55,0.2295),
(1300.00,23.00,0.012,29900.00,15.6,0.276),
(1200.00,5.3,0.04,6360.00,48.00,0.212),
(1200.00,7.5,0.038,9000.00,45.6,0.285),
(1200.00,11.00,0.032,13200.00,38.4,0.352),
(1200.00,13.5,0.026,16200.00,31.2,0.351),
(1200.00,17.00,0.034,20400.00,40.8,0.578),
(1200.00,23.00,0.041,27600.00,49.2,0.943),
(1100.00,5.3,0.084,5830.00,92.4,0.4452),
(1100.00,7.5,0.098,8250.00,107.8,0.735),
(1100.00,11.00,0.092,12100.00,101.2,1.012),
(1100.00,17.00,0.086,18700.00,94.6,1.462));
//ret:= Regress_Ridge(y,x,1.03265);
k:=array();
i:=0;
for nI:= 0 to 5e-3 step 1e-5 do
k[i++]:=nI;
constant:=false;
return ret:= Regress_Ridge(y,x,k,constant);//输出岭迹
return ret;
结果如下: