主要内容

正规化泊松回归

此示例显示了如何从广义线性模型中识别和删除冗余预测变量。

使用20个预测变量创建数据,并仅使用三个预测变量,以及一个常数来创建泊松响应。

rng('默认'%可再现性x = randn(100,20);mu = exp(x(:,[5 10 15]))*[。4; .2; .3] + 1);y = poissrnd(mu);

构建数据的泊松回归模型的交叉验证拉索正则化。

[b,fitinfo] = lassoglm(x,y,“泊松”,,,,'简历',10);

检查交叉验证图,以查看兰姆达正则化参数。

Lassoplot(B,Fitinfo,“ plottype',,,,'简历');传奇('节目'%显示传奇

图包含一个轴对象。拉索拟合的标题交叉验证偏差的轴对象包含5个类型errorbar,Line的对象。这些对象代表错误栏,lambdamindeviance,lambda1se的偏差。

绿色圆圈和虚线定位兰姆达带有最小的交叉验证误差。蓝色圆圈和虚线以最小的交叉验证误差以及一个标准偏差定位。

找到与两个识别点相对应的非零模型系数。

nimpts = find(b(:,fitinfo.indexmindeviance))
分子=7×13 5 6 10 11 15 16
min1pts = find(b(:,fitinfo.index1se))
min1pts =3×15 10 15

最小值加一个标准误差点的系数正是用于创建数据的系数。

在最小值加一个标准误差点处找到模型系数的值。

b(Min1pts,fitinfo.index1se)
ans =3×10.2903 0.0789 0.2081

如预期的那样,系数的值小于原始[0.4,0.2,0.3]。拉索(Lasso)通过“收缩”作用,它偏向于零的预测系数。

恒定术语在fitinfo.thercept向量。

fitinfo.intercept(fitinfo.index1se)
ANS = 1.0879

常数项接近1,这是用于生成数据的值。