2

“套索方法需要对回归变量进行初始标准化,以便惩罚方案对所有回归变量都是公平的。对于分类回归变量,可以使用虚拟变量对回归变量进行编码,然后对虚拟变量进行标准化”(第 394 页)。

Tibshirani, R. (1997)。Cox 模型中变量选择的 lasso 方法。 医学统计16 (4), 385-395。http://statweb.stanford.edu/~tibs/lasso/fulltext.pdf

水:

与包 'glmnet' 类似,h2o.glm 函数包含一个默认为 true 的 'standardize' 参数。但是,如果预测变量作为因子存储在输入 H2OFrame 中,则 H2O 似乎不会标准化自动编码的因子变量(即,生成的虚拟或单热向量)。我已经通过实验证实了这一点,但对这个决定的引用也出现在源代码中:

例如,方法 denormalizeBeta ( https://github.com/h2oai/h2o-3/blob/553321ad5c061f4831c2c603c828a45303e63d2e/h2o-algos/src/main/java/hex/DataInfo.java#L359 ) 包含注释“仅对数字进行非规范化coefs(分类未标准化)。” 看起来平均值(变量_normSub)和标准偏差(变量_normMul的倒数)仅在setTransform方法(https://github.com/h2oai/h2o-3 /blob/553321ad5c061f4831c2c603c828a45303e63d2e/h2o-algos/src/main/java/hex/DataInfo.java#L599)。

GLM网:

相比之下,“glmnet”包似乎希望在拟合模型之前使用 model.matrix 之类的函数对分类变量进行虚拟编码。然后将虚拟变量与连续变量一起标准化。避免这种情况的唯一方法似乎是仅对连续预测变量进行预标准化,将它们与虚拟变量连接起来,然后使用 standardize=FALSE 运行 glmnet。

统计考虑:

对于虚拟变量或 one-hot 向量,均值是 TRUE 值的比例,SD 与均值成正比。当 TRUE 和 FALSE 值的比例相等时(即σ = 0.5),SD 达到最大值,并且样本 SD ( s ) 在n → ∞时接近 0.5 。因此,如果连续预测变量标准化为 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) 的建议因为某种原因被修改过?

4

1 回答 1

0

就个人而言,我宁愿保持二进制特征不变,并将 0 到 1 之间的 MinMaxScalar 应用于数字特征而不是规范化。这将数字特征置于与二进制特征相似的标准偏差范围内。

于 2021-03-09T13:33:12.797 回答