「LASSO 法では、最初にリグレッサーを標準化する必要があるため、ペナルティ スキームがすべてのリグレッサーに公平になります。カテゴリリグレッサーの場合、リグレッサーをダミー変数でコード化し、ダミー変数を標準化します」(p. 394)。
ティブシラニ、R. (1997)。Cox モデルにおける変数選択の投げ縄法。 医学統計、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 )。
GLMnet:
対照的に、パッケージ「glmnet」は、model.matrix のような関数を使用して、モデルを適合させる前にカテゴリ変数がダミー コード化されることを期待しているようです。ダミー変数は、連続変数とともに標準化されます。これを回避する唯一の方法は、連続予測子のみを事前に標準化し、ダミー変数と連結してから、glmnet を standardize=FALSE で実行することです。
統計上の考慮事項:
ダミー変数またはワンホット ベクトルの場合、平均は TRUE 値の割合であり、SD は平均に正比例します。TRUE 値と FALSE 値の比率が等しいとき (つまり、 σ = 0.5)、 SD は最大値に達し、サンプル SD ( s ) はn → ∞として 0.5 に近づきます。したがって、連続予測変数が SD = 1 になるように標準化されているが、ダミー変数が標準化されていない場合、連続予測変数はダミー予測変数の SD の少なくとも 2 倍、不均衡なダミー変数の SD の 2 倍以上になります。
正則化ペナルティ (λ) が予測子全体に均等に適用されるように、予測子のスケール/分散が等しいと予想されるため、これは正則化 (LASSO、リッジ、エラスティック ネット) の問題になる可能性があるようです。2 つの予測子 A と B が同じ標準化された効果サイズを持つが、A の SD が B よりも小さい場合、A は必然的に B よりも大きな非標準化係数を持つことになります。 B よりも A。標準化された連続予測変数と標準化されていないカテゴリ予測変数が混在する正規化された回帰では、これがカテゴリ予測変数の体系的な過剰ペナルティにつながる可能性があるようです。
一般的に表明されている懸念は、ダミー変数を標準化すると、通常の解釈が失われるということです。この問題を回避するために、Gelman (2008) は、連続予測変数とカテゴリ予測変数を対等な立場に置きながら、連続予測変数を 1 ではなく 2 SD で割って標準化することを提案し、標準化された予測変数は SD = 0.5 になります。ただし、SD が 0.5 を大幅に下回る可能性がある、クラスの不均衡なダミー変数に対しては、これでもバイアスがかかるようです。
Gelman、A.(2008)。2 つの標準偏差で割って回帰入力をスケーリングします。医学統計、27(15)、2865-2873。 http://www.stat.columbia.edu/~gelman/research/published/standardizing7.pdf
質問:
正規化された回帰のワンホット ベクトルを標準化しないという H2O のアプローチは正しいですか? これは、ダミー変数/ワンホット ベクトルに過度のペナルティを課す傾向につながる可能性がありますか? それとも、何らかの理由で Tibshirani (1997) の推奨が修正されたのでしょうか?