主要内容

正常化逻辑回归

此示例显示了如何正常化二项式回归。用于二项式回归的默认(规范)链接函数是逻辑函数。

步骤1.准备数据。

加载电离层数据。响应y是一个细胞阵列'G'或者'B'人物。将单元格转换为逻辑值真的代表'G'。删除前两列X因为它们具有一些尴尬的统计属性,这超出了本次讨论的范围。

加载电离层YBool = Strcmp(Y,'G');x = x(:,3:结束);

步骤2.创建交叉验证的拟合。

使用25构建正则化二项式回归lambda.值和10倍交叉验证。这个过程可能需要几分钟。

RNG('默认'重复性的%[b,fitinfo] = lassoglm(x,ybool,'二重子'......'numlambda',25,'简历',10);

步骤3.检查绘图以找到适当的正则化。

Lassoplot.可以给出标准跟踪绘图和交叉验证的偏差图。检查两个图。

Lassoplot(B,FitInfo,'plottype''简历');传奇('表演''地点''最好的'%显示传奇

该图标识了具有绿色圆圈和虚线的最小偏差点作为正则化参数的函数lambda.。蓝色圆圈点具有最小偏差加不超过一个标准偏差。

Lassoplot(B,FitInfo,'plottype''lambda''xscale''日志');

跟踪绘图显示非零模型系数作为正则化参数的函数lambda.。因为有32个预测器和线性模型,有32条曲线。作为lambda.向左增加,lassoglm.将各种系数设置为零,从模型中删除它们。

微量曲线有点压缩。放大以查看更多细节。

XLIM([01 .1])ylim([ -  3 3])

作为lambda.朝向绘图的左侧增加,仍然较少的非零系数。

找到非零模型系数的数量lambda.具有最小偏差的值加上一个标准偏差点。正则化模型系数位于列中fitinfo.index1se.B.矩阵。

Indx = fitinfo.index1se;B0 = B(:,Indx);非安利斯= SUM(B0〜= 0)
非安利奥斯= 14.

当你设置时lambda.fitinfo.index1se.lassoglm.删除32个原始预测因子的一半。

步骤4.创建正则化模型。

恒定的术语在于fitinfo.index1se.进入fitinfo.intercept.向量。称这个价值叫CNST.

该模型是Logit(mu)= log(mu /(1 - mu))=X * B0 + CNST。因此,对于预测,mu =exp(x * b0 + cnst)/(1 + exp(x * b0 + cnst))

glmval.函数评估模型预测。它假设第一模型系数涉及恒定术语。因此,创建与恒定术语的系数矢量。

cnst = fitinfo.intercept(indx);b1 = [cnst; b0];

步骤5.检查残差。

绘制针对正规化的模型预测的培训数据lassoglm.模型。

preds = glmval(b1,x,'logit');直方图(Ybool  -  preds)%绘图残差标题('来自Lassoglm Model的残差'

步骤6.替代:在最小二乘广义线性模型中使用识别的预测器。

您可以仅使用所识别的预测器使用识别的预测器来制作一个非偏见的模型而不是使用模型中的偏见预测。

预测器=查找(b0);非零预测器的%指数mdl = fitglm(x,ybool,'线性'......'分配''二重子''predictorvars',预测器)
MDL =通用线性回归模型:Y〜[线性配方15个术语,14个预测器中的15个术语]分布=二项式估计系数:估计SE TSTAT pvalue _________ ________________________________________________________________5.766 8.092 0.60795 4.099 4.1502E-05×3 2.5501 0.63304 4.0284 5.616e-05 X4 0.48816 0.50336 0.9698 0.33215 0.6158 X5 0.62192 0.99015 0.3221 5233 2.294 0.5421 4.2317 2.3198e-05 X7 0.77842 0.57765 1.3476 0.1778 1.7808 X12 0.54316 3.2786 0.0010432 -0.070993 X16 0.50515 -0.14054 0.88823×20 -2.7767 0.55131-5.0365 4.7402e-07 X24 2.0212 0.57639 3.5067 0.00045372 X25 -2.3796 0.58274 -4.0835 4.4363e-05 X27 0.79564 0.55904 1.4232 0.15467 1.2689 X29 0.55468 2.2876 0.022162×32 -1.5681 0.54336 -2.8859 0.0039035 351观察,336个错误自由度分散体:1蚩^ 2  - 统计与常量型号:262,p值= 1e-47

绘制模型的残差。

plotresids(MDL)

正如预期的那样,来自最小二乘模型的残差略小于正则化模型的残留物。但是,这并不意味着MDL.是新数据的更好预测因素。