glmnetを使用すると、ユーザはweights
引数を使用して観測加重ベクトルを入力できます。また、glmnetは、平均値と単位分散がゼロになるように(デフォルトで)プレディクタ変数を標準化しています。私の質問は、weights
が提供されている場合、glmnetは各列の加重平均(および標準偏差)または加重平均(および標準偏差)を使用して予測子を標準化していますか?重量が存在する場合、glmnetはどのように変数を標準化しますか?
0
A
答えて
2
標準化を計算のソース「あなたはglmnet
のFortranの-CODE-スニペットを見ることができますLink
での標準化」glmnet
の説明があります。 (「証明」段落、第2の箇条書き)。
私はFortranに精通していませんが、実際には重み付け平均とsdを使用しているように見えます。
編集:glmnetビネットから:
"
weights
が観測重みのためのものであるデフォルトでは、各 観察のために1である(注:glmnetはN、 サンプルサイズに合計する重みを再スケール。w
付き)」
Fortranコードを再スケーリングの重みであることで、これは加重平均の標準化と一致しているようです。
1
受け入れられた答えと一致して、glmnet
の重みは、逆分散の重みではなく、サンプリング重みです。あなたはユニーク観測よりも多くの観測を持っている場合たとえば、あなたはあなたのデータセットを圧縮し、同じ係数の推定値を得ることができます。
n <- 50
m <- 5
y_norm <- rnorm(n)
y_bool <- rbinom(n,1,.5)
x <- matrix(rnorm(n*m),n)
w <- rpois(n,3) + 1 # weights
w_indx <- rep(1:n,times=w) # weights index
m1 = glmnet(x, y_norm, weights = w)
m2 = glmnet(x[w_indx,] ,y_norm[w_indx])
all.equal(coef(m1,s=.1),
coef(m2,s=.1))
>>> TRUE
M1 = glmnet(x,y_bool,weights = w,family = "binomial")
M2 = glmnet(x[w_indx,],y_bool[w_indx],family = "binomial")
all.equal(coef(M1,s=.1),
coef(M2,s=.1))
>>> TRUE
は、もう少し注意がCVと重みを使用するときに使用する必要があります。集約されたレコードの重みは、多項分布を使用して折り返しに分散される必要があるため、glmnetを使用します。
関連する問題
- 1. glmnetの標準化引数はダミー変数をどのように扱いますか?
- 2. オーディオファイルの音量を標準化する
- 3. グローバル変数がPythonに存在しない場合はどのように作成するのですか?
- 4. SQL変数が存在する場合
- 5. Matlabベクトル化二変量標準CDF
- 6. 変数のメンバが変数を削除しようとしている場合はどうなりますか?メンバーはまだ存在しますか?
- 7. Github APIはファイルが存在するかどうかをチェックし、存在する場合はGETしますか?
- 8. 重複変数falseとmutex変数が存在する場合、Rails Rufusスケジューラのジョブはスキップされますか?
- 9. インストールアプリケーションが変更されない場合の標準標準オブジェクトレイアウト
- 10. は、ファイルが存在するかどうかを判断します。ファイルが存在しない場合は、
- 11. 標準出力を複数の変数に保存するにはどうすればよいですか?
- 12. NSNotificationCenterが存在しない場合、どのように実装しますか?
- 13. 標準の呼び出し規約が存在しますか?
- 14. Python - 変数が存在する場合にのみ引数を渡します。
- 15. 列値の標準化には時間がかかります。どのようにプロセスを最適化する?
- 16. ファイルがメイクファイルのターゲットに存在するかどうかテストし、存在しない場合は終了する
- 17. C++のサーキュラーリストの標準実装は存在しますか?
- 18. 変数が存在する場合.....オブジェクト対変数、null対undefined
- 19. Pythonモジュールの場合、宣言する標準グローバル変数は何ですか?
- 20. サービスワーカーが複数いる場合、Navigator.serviceWorkerはどのように解決しますか?複数のサービス労働者が存在する場合
- 21. コーディング標準はどのように施行しますか?
- 22. jsonの配列にPHPチェック変数が存在する場合
- 23. マトリックスを標準化するにはどうすればよいですか?
- 24. 関数/メソッドがIE7に存在する場合、JSでどのように判断できますか?
- 25. Python:ヘッダーが存在する場合、変数として使用
- 26. 変数が整数の場合はどのようにテストできますか?
- 27. powershellに重複が存在する場合のCSVレポートエントリの変更
- 28. 標準アウトラインをどのように追加しますか?
- 29. pythonでオーディオファイルの音量を標準化する方法:現在利用可能なパッケージはありますか?
- 30. 2つのファイルが存在するかどうかをチェックし、1つだけ存在する場合はどうするかを確認します。 Python 2