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

係数をゼロに向かって縮小し、それらの一部をゼロに等しくする回帰モデルの正則化方法。したがって、投げ縄は特徴選択を実行します。

3
LASSO(正則化)がどのように機能するかを本当に理解していないと統計学者がどういう意味ですか?
Lasso(正規化)に関する最近のいくつかの統計話に行ったことがありますが、ここで浮かび上がってくるポイントは、なぜLassoが機能するのか、なぜLassoがうまく機能するのかがよくわからないということです。この声明が何を指しているのかと思います。Lassoがパラメーターの縮小による過剰適合を防止することによって技術的に機能する理由は明らかですが、そのようなステートメントの背後に深い意味があるのではないかと思います。誰かアイデアはありますか?ありがとう!

2
Lassoロジスティック回帰における係数の有意性のテスト
[同様の質問がここで行われ、回答はありませんでした] L1正則化(Lassoロジスティック回帰)を使用してロジスティック回帰モデルを適合させ、適合した係数の有意性をテストし、p値を取得したいと考えています。Waldのテスト(たとえば)が正則化なしの完全回帰で個々の係数の有意性をテストするオプションであることは知っていますが、Lassoでは、通常のWaldの公式を適用できない問題がさらに発生すると思います。たとえば、検定に必要な分散推定は、通常の式に従いません。元のなげなわ紙 http://statweb.stanford.edu/~tibs/lasso/lasso.pdf 係数の分散を推定するためのブートストラップベースの手順を提案します。これも(やはり、私は)テストに必要になる可能性があります(セクション2.5、ページ272の最後の段落と273の最初): 1つのアプローチは、ブートストラップを使用することですを修正するか、ブートストラップサンプルごとにを最適化することができます。修正することは、(機能の)最良のサブセットを選択し、そのサブセットの最小二乗標準誤差を使用することに類似していますt tttttttttt 私が理解していることは、正則化パラメーターの最適値(これはブートストラップの一部ではない)が見つかるまでLasso回帰をデータセット全体に繰り返し当てはめ、次にLassoによって選択された機能のみを使用してOLS回帰をサブサンプルに当てはめるデータの計算を行い、通常の式を適用して、それらの各回帰からの分散を計算します。(そして、各係数の最終的な分散の推定値を取得するために、各係数のそれらすべての分散をどうすればよいですか?) さらに、通常の有意性検定(たとえば、推定されたベータと分散を使用するWaldの検定)を、係数のLasso推定とブートストラップ推定の分散で使用することは正しいですか?私はそれがそうではないと確信していますが、どんな助け(別のテストを使うか、もっと簡単なアプローチを使うか、何でも...)は歓迎以上のものです。 ここでの回答によると、推論とp値が得られないのではないかと思います。私の場合、p値は外部要件です(ただし、L1正則化の使用が私の選択でした)。 どうもありがとう 編集 以前のLassoロジスティック回帰の実行で選択された変数のみを使用してOLSロジスティック回帰を近似するとどうなりますか?どうやら(こちらをご覧ください)、 交差検証を行った後、モデルを再度実行する必要はありません(cv.glmnetの出力から係数を取得するだけです)。実際、ペナルティなしで新しいロジスティック回帰モデルを当てはめると、使用する目的が無効になります。なげなわ しかし、変数の数を低く抑えながらp値を計算できるようにすることを唯一の目的としてこれを行うとどうなりますか?それは非常に汚いアプローチですか?:-)

4
LASSOで機能を選択するためのデータを準備するために欠損値を処理する方法は?
私の状況: 小さなサンプルサイズ:116 バイナリ結果変数 説明変数の長いリスト:44 説明変数は私の頭の上から来ていませんでした。彼らの選択は文献に基づいていた。 サンプルのほとんどの場合とほとんどの変数には欠損値があります。 選択した機能選択へのアプローチ:LASSO Rのglmnetパッケージではglmnetルーチンを実行できません。これは、明らかにデータセットに欠損値が存在するためです。欠落しているデータを処理するにはさまざまな方法があるようですので、知りたいのですが。 LASSOは、使用できる補完の方法に関して何らかの制限を課していますか? 補完法の最善策は何でしょうか?理想的には、SPSS(できれば)またはRで実行できるメソッドが必要です。 UPDATE1:以下の回答のいくつかから、補完法を検討する前に、より基本的な問題に対処していることが明らかになりました。それについてここに新しい質問を追加したいと思います。「該当なし」の値とグループラッソの使用法を処理するための定数値としてのコーディングと新しい変数の作成を示唆する答えについて: グループLASSOを使用すると、連続予測子に提案されたアプローチをカテゴリカル予測子にも使用できると思いますか?もしそうなら、私はそれが新しいカテゴリーを作成することと同等であると思います-これはバイアスを導入するかもしれないと警戒しています。 RのglmnetパッケージがグループLASSOをサポートしているかどうか誰かが知っていますか?そうでない場合、誰かがロジスティック回帰と組み合わせてそれを行う別のものを提案しますか?LASSOグループについて言及しているいくつかのオプションがCRANリポジトリにあります。私の場合に最も適切な提案はありますか?たぶんSGL? これは私の以前の質問に対するフォローアップです(ロジスティック回帰分析を実行するために、元の長いリストから変数のサブセットを選択する方法は?)。 OBS:私は統計学者ではありません。

2
モデルの相互検証予測エラーの観点から見た、前方選択/後方除去に対するLASSOの優位性
を使用して、元のフルモデルから3つの縮小モデルを取得しました 前方選択 後方消去 L1ペナルティテクニック(LASSO) 順方向選択/逆方向除去を使用して取得したモデルの場合、で利用可能なCVlmパッケージのをDAAG使用して、予測誤差のクロス検証された推定値を取得しましたR。LASSOで選択したモデルにはを使用しましたcv.glm。 LASSOの予測誤差は、他の誤差よりも少なかった。したがって、LASSOを介して取得したモデルは、予測能力と変動性の点で優れているようです。これは常に発生する一般的な現象ですか、それとも問題固有ですか?これが一般的な現象である場合、これの理論的な理由は何ですか?

3
弾性ネットに関連する混乱
エラスティックネットに関する記事を読んでいました。Lassoのみを使用する場合、相関性の高い予測子の中から1つだけを選択する傾向があるため、弾性ネットを使用すると彼らは言います。しかし、これは私たちが望んでいることではありません。つまり、多重共線性の問題から私たちを救ってくれるのではありません。 提案/説明はありますか?

1
LASSOは共線予測子の中からどのように選択するのですか?
GLM LASSOモデルが相関性の高い予測子のグループから特定の予測子を選択する理由と、最良のサブセット機能選択とは異なる方法で予測する理由を直感的に探しています。 Tibshirani 1996の図2に示されているLASSOの形状から、LASSO がより大きな分散を持つ予測子を選択すると信じています。 ここで、ロジスティック回帰モデルの2つの予測子を取得するために10倍のCVで最良のサブセット選択を使用し、これらの2つの予測子が最適(0-1損失の意味)であるという合理的な事前知識があるとします。 LASSOソリューションは、予測誤差が大きい、あまり簡潔ではない(5つの予測子)ソリューションを優先します。直感的に、違いが生じる原因は何ですか?LASSOが相関予測子の中から選択する方法が原因ですか?

1
Rでは、「glmnet」は切片に適合しますか?
を使用してRで線形モデルをフィッティングしていglmnetます。元の(正規化されてlmいない)モデルはを使用してフィットされ、定数項がありませんでした(つまり、の形式でしたlm(y~0+x1+x2,data))。 glmnet予測子の行列と応答のベクトルを取ります。私はglmnetドキュメントを読んでいますが、一定の用語についての言及はありません。 それで、glmnet原点を通して線形適合を強制するように依頼する方法はありますか?
10 r  regression  lasso 

1
Lassoは、設計行列のサイズにどのように比例しますか?
私はデザイン行列がある場合、N次元の観測の数であり、Dが、について解くの複雑さは何であるβ = argmin β 1X∈Rn×dX∈Rn×dX\in\mathcal{R}^{n\times d}nnndddLASSO、wrtnおよびd?答えは、特に感じない限り、反復数(収束)のスケーリング方法ではなく、1つのLASSO反復がこれらのパラメーターでスケーリングする方法を参照する必要があると思います。β^=argminβ12n||Xβ−y||2+λ||β||1β^=argminβ12n||Xβ−y||2+λ||β||1\hat{\beta}=\text{argmin}_{\beta}\frac{1}{2n} ||X\beta-y||^{2} + \lambda||\beta||_{1}nnnddd 私は以前のLASSOの複雑さに関する質問を読みましたが、こことここでの glmnetについての議論とは奇妙に思えます。glmnetのGLMアプローチを含む多くのアルゴリズムがあることは承知していますが、LASSOコンポーネントを親アルゴリズムに置き換えることに関する論文を書いており、特におよびnを使用したLASSOの複雑さに関する議論を含めたいと思います。基本的な非スパースの場合のglmnetの複雑さも知りたいのですが、参照されている論文は、アルゴリズム全体の複雑さが明確ではないため、少し混乱しています。dddnnn

1
cv.glmnet(RでのLASSO回帰)との相互検証を行う方法は?
Rでglmnetを使用してLASSOモデルを適切にトレーニングおよびテストする方法を知りたいのですが? 具体的には、外部テストデータセットがないために交差検証(または他の同様のアプローチ)を使用してLASSOモデルをテストする必要がある場合に、どうすればよいのかと思います。 私のシナリオを分解してみましょう: glmnetモデルに通知してトレーニングするデータセットは1つだけです。その結果、モデルをテストする方法を生成するために、データを分割するために交差検証を使用する必要があります。 私はすでに使用cv.glmnetしていますが、パッケージの詳細によると: glmnetのk分割交差検証を実行し、プロットを生成して、ラムダの値を返します。 交差検証はcv.glmnet、最良のラムダを選択するためだけに実行されますか、それともより一般的な交差検証手順としても機能していますか? 言い換えれば、モデルを「テスト」するために別の相互検証ステップを実行する必要がありますか? 私は「そうです」という前提で作業しています。 その場合、モデルをクロス検証する方法はありcv.glmnetますか? 手動で行う必要がありますか、それともこのcaret関数はglmnetモデルに役立ちますか? ?私は、クロスバリデーションの二つの同心「ループ」を使用しています...ドゥ私は経由CVの「内部ループ」を使用してcv.glmnet最良のラムダ値を決定するために内の各k個のk倍クロスバリデーション処理の「外部ループ」のひだ? すでに相互検証しているcv.glmnetモデルの相互検証を行う場合cv.glmnet、交差検証のその他の「外部ループ」の各フォールド内の各モデルから(「最良の」ラムダ値から)「最良の」モデルを分離するにはどうすればよいですか? 注:「最良の」モデルは、最小値の1 SE以内のMSEを生成するラムダに関連付けられたモデルとして定義しています。これはモデル$lambda.1se内のcv.glmnetです。 環境: 木の直径( "D")、D ^ 2、および種( "factor(SPEC)")に基づいて樹齢( "age")を予測しようとしています。[結果の方程式:Age ~ D + factor(SPEC) + D^2]。私は約5万行のデータを持っていますが、データは縦方向であり(時間を通じて個人を追跡します)、約65種で構成されています。

2
機能選択にのみLASSOを使用する
l1l1l_1 私の質問:人々は通常、機能選択を行うためだけにLASSOモデルを使用しますか(そして、それらの機能を別の機械学習モデルにダンプします)、または通常、機能選択と実際の回帰の両方を実行するためにLASSOを使用しますか? l1l1l_1l2l2l_2l1l1l_1l2l2l_2 回帰とは別に、これは分類タスク(SVM、ニューラルネットワーク、ランダムフォレストなどを使用)を実行する際の賢明な戦略ですか?

3
非負のリッジ回帰を実行するにはどうすればよいですか?
非負のリッジ回帰を実行するにはどうすればよいですか?非負の投げ縄はで利用できますscikit-learnが、リッジの場合、ベータの非負を強制できません。実際、負の係数を取得しています。これがなぜか誰か知っていますか? また、通常の最小二乗法でリッジを実装できますか?これを別の質問に移動しました:OLS回帰の観点からリッジ回帰を実装できますか?

2
LASSOを使用して変数を選択し、次にLogitを使用する
これで統計的推論が混乱することはわかっていますが、私は本当に正確なモデルにできるだけ近づくことにのみ関心があります。 私は二分予測変数の大きなセットで、二分結果変数を持っています。LASSOを使用してモデルに含める必要のある変数を選択し、選択した変数をLogit回帰に入力したいと考えています。 このアプローチの実用性に関して私が見落としていることはありますか?

1
高次元の相関データと上位の特徴/共変量が発見されました。複数の仮説検定?
約5,000の相関関係のある特徴/共変量とバイナリ応答のデータセットがあります。データは私に与えられました、私はそれを集めませんでした。ラッソとグラディエントブースティングを使用してモデルを構築しています。私は反復されたネストされた相互検証を使用しています。Lassoの最大(絶対)40係数と、勾配ブーストツリーの40の最も重要な機能を報告します(40について特別なことは何もありませんでした。これは、妥当な量の情報であるように思われました)。また、CVのフォールドと反復におけるこれらの量の分散についても報告します。 私は「重要な」機能について少し考え、p値や因果関係などについては何も述べていませんが、代わりにこのプロセスをある種の---不完全でランダムなものである-何らかの現象への洞察と見なしています。 私がこれをすべて正しく行ったと仮定すると(たとえば、相互検証を正しく実行し、投げ縄用にスケーリングした)、このアプローチは妥当ですか?たとえば、複数の仮説検定、事後分析、誤った発見などの問題はありますか?または他の問題? 目的 有害事象の確率を予測する まず、正確に確率を推定する よりマイナー-健全性チェックとしてだけでなく、さらに調査できるいくつかの新しい予測子を明らかにするために、上記のように係数と重要性を検査します。 消費者 このイベントの予測に関心のある研究者、およびイベントが発生した場合にイベントを修正する必要のある人々 彼らがそれから抜け出してほしいもの 説明されているように、独自のデータを使用してモデリングプロセスを繰り返したい場合は、イベントを予測する機能を提供します。 予想外の予測因子に光を当てる。たとえば、完全に予期しないことが最良の予測因子であることが判明する場合があります。したがって、他の場所のモデラーは、この予測子をより真剣に検討するかもしれません。


1
Rのなげなわによる多変量線形回帰
高度に相関している多くの従属変数(DV)(〜450)を予測するための縮小モデルを作成しようとしています。 私の独立変数(IV)も非常に多く(〜2000)、非常に相関しています。 なげなわを使用して各出力の縮小モデルを個別に選択した場合、各従属変数をループするときに、独立変数の同じサブセットを取得することが保証されません。 Rの投げ縄を使用する多変量線形回帰はありますか? これはグループなげなわではありません。グループラッソはIVをグループ化します。lassoも実装する多変量線形回帰(DVがスカラーのベクトルではなく行列であることを意味します)が必要です。(注:NRHが指摘するように、これは真実ではありません。グループラッソは、IVをグループ化する戦略を含むが、DVなどの他のパラメーターをグループ化する戦略も含む一般的な用語です) スパースオーバーラップセットラッソと呼ばれるものに入るこのペーパーを見つけました 多変量線形回帰を行うコードは次のとおりです > dim(target) [1] 6060 441 > dim(dictionary) [1] 6060 2030 > fit = lm(target~dictionary) これは、単一のDVで投げ縄を行ういくつかのコードです > fit = glmnet(dictionary, target[,1]) そして、これは私がやりたいことです: > fit = glmnet(dictionary, target) Error in weighted.mean.default(y, weights) : 'x' and 'w' must have the same length 一度にすべてのターゲットに適合する機能を選択する

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