タグ付けされた質問 「glmnet」

投げ縄および弾性ネットの正規化された一般化線形モデル用のRパッケージ。

1
LASSO変数トレースプロットの解釈
私はこのglmnetパッケージを初めて使用しますが、結果の解釈方法がまだわかりません。誰でも次のトレースプロットを読むのを手伝ってもらえますか? グラフは、次を実行して取得していました。 library(glmnet) return <- matrix(ret.ff.zoo[which(index(ret.ff.zoo)==beta.df$date[2]), ]) data <- matrix(unlist(beta.df[which(beta.df$date==beta.df$date[2]), ][ ,-1]), ncol=num.factors) model <- cv.glmnet(data, return, standardize=TRUE) op <- par(mfrow=c(1, 2)) plot(model$glmnet.fit, "norm", label=TRUE) plot(model$glmnet.fit, "lambda", label=TRUE) par(op)

3
ロジスティック回帰:Scikit Learn対glmnet
Rのパッケージをsklearn使用してロジスティック回帰ライブラリの結果を複製しようとしていglmnetます。 sklearn分w 、c12wTw + C∑i = 1Nログ(exp( − y私( XT私w + c ))+ 1 )分w、c12wTw+C∑私=1Nログ⁡(exp⁡(−y私(バツ私Tw+c))+1)\min_{w,c} \frac12 w^Tw + C\sum_{i=1}^N \log(\exp(-y_i(X_i^Tw+c)) + 1) のビネットからglmnet、その実装はわずかに異なるコスト関数を最小化します 分β、β0− [ 1N∑i = 1Ny私(β0+ xT私β)− ログ(1 + e(β0+ xT私β))] + λ [ (α - 1 )| |β| |22/ 2+α | |β| |1]分β、β0−[1N∑私=1Ny私(β0+バツ私Tβ)−ログ⁡(1+e(β0+バツ私Tβ))]+λ[(α−1)||β||22/2+α||β||1]\min_{\beta, \beta_0} -\left[\frac1N \sum_{i=1}^N y_i(\beta_0+x_i^T\beta)-\log(1+e^{(\beta_0+x_i^T\beta)})\right] …

1
glmnetロジスティック回帰は、ダミー変数を必要とせずに因子(カテゴリ)変数を直接処理できますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、話題のクロス検証済みのため。 閉じた3年前。 私は関数でLASSO法を使用してRにロジスティック回帰を構築していますcv.glmnet選択するlambdaとglmnet、最終的なモデルのため。 私はすでに自動モデル選択に関するすべての欠点を知っていますが、とにかくそれをする必要があります。 私の問題は、ファクター(カテゴリ)変数をモデルに含める必要があることです。ダミー変数を大量に作成せずにそれを行う方法はありますか?この変数はほとんどすべて文字列であり、数値ではありません。

1
キャレットglmnetとcv.glmnet
glmnetwithin caretを使用して最適なラムダを検索cv.glmnetし、同じタスクを実行するために使用することの比較には、多くの混乱があるようです。 次のような多くの質問が提起されました。 分類モデルtrain.glmnet対cv.glmnet? キャレットでglmnetを使用する適切な方法は何ですか? 「キャレット」を使用して「glmnet」を相互検証する しかし、答えはありません。これは、質問の再現性による可能性があります。最初の質問に続いて、非常に似た例を挙げますが、同じ質問があります:推定されるラムダはなぜそんなに違うのですか? library(caret) library(glmnet) set.seed(849) training <- twoClassSim(50, linearVars = 2) set.seed(849) testing <- twoClassSim(500, linearVars = 2) trainX <- training[, -ncol(training)] testX <- testing[, -ncol(testing)] trainY <- training$Class # Using glmnet to directly perform CV set.seed(849) cvob1=cv.glmnet(x=as.matrix(trainX),y=trainY,family="binomial",alpha=1, type.measure="auc", nfolds = 3,lambda = seq(0.001,0.1,by = …

1
Rでglmnetを使用した予測
glmnetR のパッケージを使用していくつかのデータをモデル化しようとしています。次のデータがあるとします training_x <- data.frame(variable1 = c(1, 2, 3, 2, 3), variable2 = c(1, 2, 3, 4, 5)) y <- c(1, 2, 3, 4, 5) (これは単純化です。私のデータはもっと複雑です。)次に、次のコードを使用してglmnetモデルを作成しました。 x <- as.matrix(training_x) library(glmnet) GLMnet_model_1 <- glmnet(x, y, family="gaussian", alpha=0.755, nlambda=1000, standardize=FALSE, maxit=100000) standardize=FALSE私の実際のデータはすでに標準化されているため、使用しています。次に、新しいデータセットを予測します。私の新しいデータは次のとおりだとしましょう: newdata <- as.matrix(data.frame(variable1 = c(2, 2, 1, 3), variable2 = …
13 r  glmnet 

1
「統計学習の要素」から表18.1を再現
統計学習の要素の表18.1は、14クラスのデータセットでのいくつかの分類器のパフォーマンスをまとめたものです。このようなマルチクラス分類問題について、新しいアルゴリズムを投げ縄およびエラスティックネットと比較しています。 glmnetバージョン1.5.3(R 2.13.0)を使用すると、テーブル内のポイント7(ペナルティ化された多項式)を再現できません。表では、使用される遺伝子の数は269で、テストエラーは13 54.使用されるデータは、この14癌マイクロアレイデータセットです。私が試したものは何でも、170-180遺伝子の近傍で使用し、54のうち16のテストエラーで最高のパフォーマンスモデルを取得します。L1L1L_1 セクション18.3の654ページの冒頭で、データの前処理について説明していることに注意してください。 私は著者に連絡しましたが、これまでのところ返答はありませんでしたが、誰かがテーブルの再現に問題があることを確認できるか、テーブルの再現方法に関する解決策を提供できるかどうかを尋ねました。

3
投げ縄vs適応投げ縄
LASSOとアダプティブLASSOは2つの異なるものですよね?(私にとっては、ペナルティは異なって見えますが、私は何かを逃したかどうかを確認しているだけです。) 一般にエラスティックネットについて話すとき、特別なケースはLASSOまたは適応型LASSOですか? alpha = 1を選択した場合、glmnetパッケージは何をしますか? Adaptive LASSOは穏やかな条件で機能しますよね?どちらも適切なデータにoracleプロパティがありますよね?

3
glmnetを使用して収縮(なげなわ)メソッドでNA値を処理する方法
GWASの投げ縄回帰に「glmnet」を使用しています。一部のバリアントと個人には欠損値があり、glmnetは欠損値を処理できないようです。 これに対する解決策はありますか?または、投げ縄回帰で欠損値を処理できる他のパッケージはありますか? これが私のスクリプトです。 > library(glmnet) > geno6<-read.table("c6sigCnt.geno") > geno6[1:10,1:10] #genotype file (0,1,2 for minor allele counts) V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 1 1 1 1 1 1 1 1 1 1 0 2 NA NA 1 1 1 1 1 1 1 1 3 0 …

2
LASSO後の複雑な調査データの相互検証
LASSOを使用して、いくつかの候補予測子でモデル選択を行い、継続的な結果を得ようとしています。目標は、最高の予測パフォーマンスを備えた最適なモデルを選択することです。これは、通常、LASSOからチューニングパラメーターのソリューションパスを取得した後、K分割交差検証によって実行できます。ここでの問題は、データがクラスターのサンプリングと層別化を伴う複雑な多段階調査計画(NHANES)からのものであることです。glmnetRではサンプリングの重みを取得できるため、推定部分は難しくありません。しかし、観測値はもはやiidではないので、相互検証部分はあまり明確ではありません。また、プロシージャは、有限母集団を表すサンプリングの重みをどのように説明できますか? だから私の質問は: 1)最適な調整パラメーターを選択するために、複雑な調査データでK分割交差検証を実行するにはどうすればよいですか?具体的には、サンプルデータをトレーニングと検証のセットに適切に分割する方法を教えてください。そして、予測誤差の推定値をどのように定義しますか? 2)最適な調整パラメーターを選択する別の方法はありますか?

1
R-Lasso Regression-リグレッサごとに異なるラムダ
次のことを実行したい: 1)ベータ係数を取得するためのOLS回帰(ペナルティ項なし) ; は、回帰に使用される変数を表します。私はこれをしますb∗jbj∗b_{j}^{*}jjj lm.model = lm(y~ 0 + x) betas = coefficients(lm.model) 2)ペナルティ項を伴うLasso回帰。選択基準は、以下によって与えられるベイジアン情報基準(BIC)とする λj=log(T)T|b∗j|λj=log⁡(T)T|bj∗|\lambda _{j} = \frac{\log (T)}{T|b_{j}^{*}|} ここで、は変数/リグレッサ番号、は観測数、はステップ1)で取得した初期ベータを表します。この特定の値の回帰結果を取得したいのですが、これは使用する各リグレッサによって異なります。したがって、3つの変数がある場合、3つの異なる値ます。jjjB * jを λ jをλ jをTTTb∗jbj∗b_{j}^{*}λjλj\lambda_jλjλj\lambda_j 次に、OLS-Lasso最適化問題は minbϵRn={∑t=1T(yt−b⊤Xt)2+T∑j=1m(λt|bj|)}minbϵRn={∑t=1T(yt−b⊤Xt)2+T∑j=1m(λt|bj|)}\underset{b\epsilon \mathbb{R}^{n} }{min} = \left \{ \sum_{t=1}^{T}(y_{t}-b^{\top} X_{t} )^{2} + T\sum_{j=1}^{m} ( \lambda_{t}|b_{j}| )\right \} Rでlarsまたはglmnetパッケージを使用してこれを行うにはどうすればよいですか?ラムダを指定する方法が見つからず、実行しても正しい結果が得られるかどうか100%わかりません lars.model <- lars(x,y,type = "lasso", intercept = FALSE) …
11 r  regression  glmnet  lars 

2
glmnet:多項式パラメーター化を理解する方法は?
次の問題:glmnet()を使用して、1つ(または複数)のカテゴリ変数でカテゴリ応答変数を予測したい。 ただし、glmnetが提供する出力を理解することはできません。 では、まず2つの関連するカテゴリ変数を生成しましょう。 データを生成する p <- 2 #number variables mu <- rep(0,p) sigma <- matrix(rep(0,p^2), ncol=p) sigma[1,2] <- .8 #some relationship .. diag(sigma) <- 1 sigma <- pmax(sigma, t(sigma)) n <- 100 set.seed(1) library(MASS) dat <- mvrnorm(n, mu, sigma) #discretize k <- 3 # number of categories d <- apply(dat, …

4
1つの係数を修正し、回帰を使用して他の係数を近似する方法
をモデルに維持したまま、特定の係数(たとえば)を手動で修正してから、係数を他のすべての予測子にます。β 1 = 1.0β1= 1.0β1=1.0\beta_1=1.0β1= 1.0β1=1.0\beta_1=1.0 Rを使用してこれをどのように達成できますか?特にglmnet可能であればLASSO()で作業したいと思います。 または、この係数を特定の範囲、たとえばに制限するにはどうすればですか?0.5 ≤ β1≤ 1.00.5≤β1≤1.00.5\le\beta_1\le1.0

1
リッジ回帰の結果がlm.ridgeとglmnetの使用で異なる
私はR. Iにおけるリッジ回帰を使用して回帰モデルの最良の変数の解決策を見つけるためにいくつかのデータを使用している適用lm.ridge及びglmnet(ときalpha=0)が、結果は、特にときに、非常に異なっていますlambda=0。両方のパラメーター推定器が同じ値を持っていると仮定します。それで、ここの問題は何ですか?宜しくお願いします

2
交差検証を使用した、glmnetパッケージの逸脱度の正確な定義?
現在の研究では、Rのglmnetパッケージを介してLassoメソッドを二項従属変数に使用しています。 glmnetでは、交差検証によって最適なラムダが見つかり、結果のモデルは、誤分類エラーや逸脱などのさまざまな測定値と比較できます。 私の質問:glmnetで逸脱はどのように正確に定義されていますか?どのように計算されますか? (フリードマン他による対応する論文「座標降下による一般化線形モデルの正規化パス」で私はcv.glmnetで使用された逸脱に関するこのコメントのみを見つけます:「平均逸脱(マイナス左の対数尤度の2倍)データ)」(p。17))。

1
scikit-learn PythonのElasticNetとRのGlmnetの違い
同じデータセットElasticNetでPythonとglmnetRのscikit-learnでElastic Netモデルをフィッティングすると、同じ算術結果が生成されるかどうかを確認しようとした人はいますか?私はパラメーターの多くの組み合わせ(2つの関数は引数に渡すデフォルト値が異なるため)を試し、データをスケーリングしましたが、2つの言語間で同じモデルを生成するものはないようです。誰かが同じ問題に直面しましたか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.