H2O 不应该标准化正则化 GLM 模型(套索、岭、弹性网)的分类预测变量吗?
Posted
技术标签:
【中文标题】H2O 不应该标准化正则化 GLM 模型(套索、岭、弹性网)的分类预测变量吗?【英文标题】:Shouldn't H2O standardize categorical predictors for regularized GLM models (lasso, ridge, elastic net)? 【发布时间】:2020-03-19 00:38:00 【问题描述】:“套索方法需要对回归量进行初始标准化, 这样惩罚方案对所有回归者都是公平的。为了 分类回归器,一个用虚拟变量编码回归器 然后标准化虚拟变量”(第 394 页)。
Tibshirani, R. (1997)。 Cox 模型中变量选择的 lasso 方法。 医学统计学,16(4),385-395。 http://statweb.stanford.edu/~tibs/lasso/fulltext.pdf
H2O:
与封装“glmnet”类似,h2o.glm 函数包含一个默认为 true 的“standardize”参数。但是,如果预测变量存储为输入 H2OFrame 中的因子,则 H2O 似乎不会标准化自动编码的因子变量(即,生成的虚拟向量或 one-hot 向量)。我已经通过实验证实了这一点,但对这个决定的引用也出现在源代码中:
例如,方法 denormalizeBeta (https://github.com/h2oai/h2o-3/blob/553321ad5c061f4831c2c603c828a45303e63d2e/h2o-algos/src/main/java/hex/DataInfo.java#L359) 包含注释“仅对数字系数进行非规范化(分类未规范化)”。看起来在 setTransform 方法 (https://github.com/h2oai/h2o-3/blob/553321ad5c061f4831c2c603c828a45303e63d2e/h2o-algos/src/main/java/hex/DataInfo.java#L599) 中,平均值(变量 _normSub)和标准差(变量 _normMul 的倒数)仅针对数值变量计算,而不是分类变量。
GLMnet:
相比之下,'glmnet' 包似乎希望在拟合模型之前使用 model.matrix 之类的函数对分类变量进行虚拟编码。然后将虚拟变量与连续变量一起标准化。避免这种情况的唯一方法似乎是仅对连续预测变量进行预标准化,将它们与虚拟变量连接起来,然后使用 standardize=FALSE 运行 glmnet。
统计考虑:
对于虚拟变量或one-hot向量,均值是TRUE值的比例,SD与均值成正比。当TRUE和FALSE值的比例相等(即σ = 0.5)时SD达到最大值,并且样本SD(s)随着接近0.5 n → ∞。因此,如果连续预测变量标准化为 SD = 1,但虚拟变量未标准化,则连续预测变量的 SD 至少是虚拟预测变量的两倍,而对于不平衡虚拟变量,连续预测变量的 SD 会超过两倍。
这似乎是正则化(LASSO、岭、弹性网)的一个问题,因为预计预测变量的尺度/方差是相等的,因此正则化惩罚 (λ) 可以均匀地应用于预测变量。如果两个预测变量 A 和 B 具有相同的标准化效应大小,但 A 的 SD 比 B 小,则 A 必然具有比 B 更大的非标准化系数。这意味着,如果不进行标准化,正则化惩罚将错误地对A 比 B。在混合了标准化连续预测变量和非标准化分类预测变量的正则化回归中,这似乎可能导致分类预测变量的系统过度惩罚。
一个普遍表达的担忧是标准化虚拟变量会消除它们的正常解释。为了避免这个问题,Gelman (2008) 建议在将连续预测变量和分类预测变量置于同等地位的同时,通过除以 2 SD 而不是 1 来标准化连续预测变量,从而得到 SD = 0.5 的标准化预测变量。但是,对于类别不平衡的虚拟变量,这似乎仍然存在偏差,其 SD 可能远小于 0.5。
格尔曼,A.(2008 年)。通过除以二来缩放回归输入 标准偏差。医学统计,27(15),2865-2873。 http://www.stat.columbia.edu/~gelman/research/published/standardizing7.pdf
问题:
H2O 没有为正则化回归标准化 one-hot 向量的方法是否正确?这会导致过度惩罚虚拟变量/单热向量的偏见吗?还是 Tibshirani (1997) 的建议因为某种原因被修改过?
【问题讨论】:
【参考方案1】:就个人而言,我宁愿保持二进制特征不变,并将 0 到 1 之间的 MinMaxScalar 应用于数值特征而不是标准化。这将数字特征置于与二进制特征相似的标准偏差范围内。
【讨论】:
以上是关于H2O 不应该标准化正则化 GLM 模型(套索、岭、弹性网)的分类预测变量吗?的主要内容,如果未能解决你的问题,请参考以下文章
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现