r - R:使用相对重要性(relaimpo 包)构建预测的线性模型?
问题描述
我有一个庞大的数据集,我正在尝试使用 relaimpo 包构建一个良好的预测线性模型。
使用calc.relimp
带有 的函数type="lmg
,我得到了相对重要的变量的输出。虽然模型解释的方差比例只有 52%,但我想用这些变量建立一个线性模型。
有没有办法lm
使用这些变量建立模型,并以某种方式考虑模型中的相对重要性值?
我对此不太熟悉,并且正在考虑根据每个变量的相对重要性值对每个变量进行加权...?
解决方案
我不是统计学家,所以我不会给你任何希腊符号,但我认为你混淆了一些事情。
- 正如您所说的那样,在相关预测变量的情况下,基于 LMG 方法的相对重要性或多或少是某种方差分解,即它告诉您模型中的方差有多少是由哪个预测变量解释的。
lm
但是,这与函数及其估计本身没有任何关系。事实上,您的lm
模型的 R² 与您通过将 的相对重要性相加得到的结果完全相同calc.relimp
。- 没有办法告诉
lm
函数在预测/估计期间更加关注某个预测变量。 - 您可能想要做的是一个弹性网络(它是 LASSO 和 RIDGE 回归的组合),它基本上可以满足您的需求,即它缩小“不重要”/小预测变量的影响并强调重要/大预测变量的影响:https ://en.wikipedia.org/wiki/Elastic_net_regularization (Lasso 和 Ridge 回归在 Wikipedia 文章中链接)。
- 我认为这里的这个是 Jerome Friedman、Trevor Hastie、Rob Tibshirani 等人的原始包:https ://cran.r-project.org/web/packages/glmnet/index.html
推荐阅读
- python - 使用 np.einsum 计算普通最小二乘系数
- lucene - 如何在顶级 GraphDB lucene 索引上计算 lucene FuzzyQuery?
- javascript - 在任何文本之前隐藏帖子内的第一张图片(没有可用的段落)
- tensorflow - 在 windows 上安装 tensorflow 扩展 python 3
- angular - 如何摆脱 VSCode 智能感知中 Angular 依赖项的“project/app_name/src/public-api”路径?
- node.js - 基于 d3 中其他值的不同半径的圆
- python - Python中的动态多维列表
- cocoa - 获取 NSPasteboardTypeFileURL 的 UTI
- c# - 在触发对撞机中使用 IsTouching()
- ruby-on-rails - 耙中止!PG::ConnectionBad: fe_sendauth: 未提供密码