在上一篇文章中,我使用了广义回归 (Genreg) 平台JMP 专业版至分析我和女儿玩棋盘游戏时收集的数据. 由于我的模型(播放器)中只有一个效果,因此我无法展示 Genreg 中可用的变量选择方法。
当您的响应是非数字的(如红色/蓝色/绿色或小/中/大)时,访问变量选择方法(如套索或前向选择)尤其重要,因为序数和名义逻辑回归模型很容易过拟合。 在这里,我们将看一个示例,在该示例中,我们考虑了更多影响来模拟响应。
数据
我们将使用 Diabetes.jmp 文件,该文件可在JMP样本数据文件夹。 该数据集测量了一年中糖尿病的进展情况,包括 442 名患者样本中每个人的年龄、性别和胆固醇水平等属性。 我们想使用这些属性来模拟“Y Ordinal”,它标记了每个患者糖尿病的严重程度:低、中或高。 正如响应列的名称所暗示的那样,我们将使用序数逻辑回归模型对其进行建模,该模型是 Genreg 版本 14 中的新模型。 有理由怀疑我们的解释变量之间存在交互作用,因此我们将在模型中包含主效应和两因素交互作用。 使用“Factor to Degree”宏可以轻松地在“拟合模型”对话框中指定此模型。
Launching an ordinal logistic model for the Diabetes data启动糖尿病数据的序数逻辑模型
在指定我们的模型并点击运行按钮后,我们进入广义回归平台。 Genreg 自动为我们在训练数据上进行最大似然拟合(完整模型,无变量选择)。 但我担心过度拟合,所以我不想要 MLE。 我想改用 Lasso,因为它将为我们提供一个更简洁的模型,该模型应该更好地适应新数据。
Doing a Lasso fit in Genreg在 Genreg 中进行套索拟合
Lasso output for the Diabetes data糖尿病数据的套索输出
正如我们在输出中看到的那样,套索产生的模型只使用了原始 57 个候选参数中的 15 个参数。 所以我们有一个比 MLE 更容易解释/解释的模型。 套索模型在新观测值上的表现比完整的 57 项模型好多少? 使用模型比较平台最容易看到这一点。 我们可以看到,完整的模型非常适合训练数据,但非常适合验证数据(验证 R^2 为负,总是一个坏信号)。 这是一个经典案例过拟合. 同时,lasso 模型在验证数据上具有更好的 R^2 和误分类率。 所以套索模型显然是这里的最爱。
Lasso vs MLE using the Model Comparison platform使用模型比较平台的 Lasso 与 MLE
多项式案例
如在我以前的帖子,我们的反应有一个自然的顺序。 但是现在让我们忽略它,以便我们可以对多项问题进行变量选择。 在这种情况下,变量选择尤其重要,因为多项式模型很容易过度参数化或过度拟合。
为什么这个模型这么容易过拟合? 如果我们有 p 个预测变量并且我们的响应采用 k 个级别,那么我们正在拟合的模型具有 p*(k-1) 个参数。 对于我们的糖尿病数据,我们有 56 个预测因子和三个响应水平,因此我们需要考虑 56*(3-1) = 112 个参数。 这会很快失控! 有关此型号的更多信息,请查看JMP 帮助.
我们以与之前完全相同的方式启动 Genreg。 我们只是将分布切换到多项式。
Launching the Multinomial in Genreg在 Genreg 中启动多项式
我们将再次使用套索进行估计和变量选择。 这一次,套索生成的模型只有 25 个变量,这意味着它从我们的模型中删除了近 90 个参数。 虽然看起来 lasso 模型在验证数据上的广义 R^2 似乎并不大(大约 0.35),但完整模型在验证集上的广义 R^2 比 -2 差!
Lasso summary套索摘要
Lasso beats the MLE even worse in the Multinomial caseLasso 在多项式情况下比 MLE 更差
自己试试吧!
我很高兴支持 Genreg 中的序数和多项式响应JMP 专业版14. 这种类型的数据在实践中非常常见,但正如我们在糖尿病数据中看到的那样,我们必须小心构建模型。 Genreg 中的交互式变量选择工具可以帮助您构建更适合且更易于解释的模型。 让我知道你的想法。