タグ付けされた質問 「feature-selection」

さらなるモデリングで使用する属性のサブセットを選択する方法と原則

8
自動モデル選択のアルゴリズム
自動モデル選択のアルゴリズムを実装したいと思います。私は段階的な回帰を行うことを考えていますが、何でもできます(ただし、線形回帰に基づいている必要があります)。 私の問題は、方法論やオープンソースの実装を見つけることができないことです(Javaで目が覚めています)。私が念頭に置いている方法論は次のようなものです。 すべての因子の相関行列を計算する 互いに相関の低い要因を選択する t-statが低い因子を削除する 他の要素を追加します(2。 いくつかの基準(AICなど)が特定のしきい値を超えるか、それ以上にならないか、より大きな値が見つからなくなるまで、何度も繰り返します。 このためのR実装(stepAIC)があることはわかっていますが、コードを理解するのは非常に困難です。また、段階的回帰を説明する記事を見つけることができませんでした。

3
例:バイナリ結果にglmnetを使用したLASSO回帰
私は興味のある結果が二分されglmnetているLASSO回帰の使用に手を出し始めています。以下に小さな模擬データフレームを作成しました。 age <- c(4, 8, 7, 12, 6, 9, 10, 14, 7) gender <- c(1, 0, 1, 1, 1, 0, 1, 0, 0) bmi_p <- c(0.86, 0.45, 0.99, 0.84, 0.85, 0.67, 0.91, 0.29, 0.88) m_edu <- c(0, 1, 1, 2, 2, 3, 2, 0, 1) p_edu <- c(0, 2, 2, …
77 r  self-study  lasso  regression  interpretation  anova  statistical-significance  survey  conditional-probability  independence  naive-bayes  graphical-model  r  time-series  forecasting  arima  r  forecasting  exponential-smoothing  bootstrap  outliers  r  regression  poisson-distribution  zero-inflation  genetic-algorithms  machine-learning  feature-selection  cart  categorical-data  interpretation  descriptive-statistics  variance  multivariate-analysis  covariance-matrix  r  data-visualization  generalized-linear-model  binomial  proportion  pca  matlab  svd  time-series  correlation  spss  arima  chi-squared  curve-fitting  text-mining  zipf  probability  categorical-data  distance  group-differences  bhattacharyya  regression  variance  mean  data-visualization  variance  clustering  r  standard-error  association-measure  somers-d  normal-distribution  integral  numerical-integration  bayesian  clustering  python  pymc  nonparametric-bayes  machine-learning  svm  kernel-trick  hyperparameter  poisson-distribution  mean  continuous-data  univariate  missing-data  dag  python  likelihood  dirichlet-distribution  r  anova  hypothesis-testing  statistical-significance  p-value  rating  data-imputation  censoring  threshold 

3
機能の選択と相互検証
私は最近、このサイト(@ Aniko、@ Dikran Marsupial、@ Erik)およびクロス検証で発生する過適合の問題について他の場所で多くのことを読んでいます-(Smialowski et al 2010 Bioinformatics、Hastie、Elements of statistics learning)。提案は、ということである任意の(クラスラベルとの相関を使用して)教師付き特徴選択は、クロスバリデーション(またはブートストラップのような他のモデルの推定方法)を使用して、モデルのパフォーマンス推定の外部で実行オーバーフィッティングをもたらすことができます。 これは私には直感的ではないようです-確かに、機能セットを選択し、クロス検証を使用して選択した機能のみを使用してモデルを評価すると、それらの機能の一般化されたモデルパフォーマンスの公平な推定が得られます(これは調査中のサンプルが代表的であると仮定しています人口の)? この手順では、もちろん最適な機能セットを要求することはできませんが、目に見えないデータで選択した機能セットのパフォーマンスを有効として報告することはできますか? データセット全体に基づいて機能を選択すると、テストセットとトレインセット間のデータリークが発生する可能性があることを受け入れます。しかし、最初の選択後に機能セットが静的であり、他の調整が行われていない場合、クロス検証されたパフォーマンスメトリックを報告することは確かに有効ですか? 私の場合、56個の機能と259個のケースがあるため、#cases> #featuresです。機能はセンサーデータから派生します。 私の質問が派生的であるように思える場合はおbutびしますが、これは明確にする重要なポイントのようです。 編集: 上記のデータセットのクロス検証で機能選択を実装すると(以下の回答のおかげで)、このデータセットでクロス検証する前に機能を選択すると、重要な要素が導入されたことを確認できますバイアス。このバイアス/オーバーフィッティングは、2クラスの定式化と比較して、3クラスの定式化で最も大きくなりました。機能選択にステップワイズ回帰を使用したことで、この過剰適合が増加したと思います。比較のために、異なるが関連するデータセットで、クロス検証前に実行された順次順方向特徴選択ルーチンを、CV内の特徴選択で以前に取得した結果と比較しました。両方の方法の結果に劇的な違いはありませんでした。これは、ステップワイズ回帰がシーケンシャルFSよりも過剰適合しやすいことを意味する場合があります。または、このデータセットの奇抜である可能性があります。

6
機械学習で相互検証を実行する際の「最終」モデルの機能選択
機能の選択と機械学習について少し混乱しているので、手伝ってくれないかと思っていました。2つのグループに分類され、1000の機能を持つマイクロアレイデータセットがあります。私の目的は、理論的に他のデータセットに適用してそれらのサンプルを最適に分類できるシグネチャで少数の遺伝子(私の特徴)(10-20)を取得することです。サンプル数が少ないため(<100)、テストとトレーニングセットを使用せず、Leave-one-outクロス検証を使用して堅牢性を判断しています。サンプルの分割ごとに特徴選択を実行する必要があることを読みました。 テストセットとして1つのサンプルを選択します 残りのサンプルで機能選択を実行します 選択した機能を使用して、機械学習アルゴリズムを残りのサンプルに適用します テストセットが正しく分類されているかどうかをテストします 1に進みます。 これを行うと、毎回異なる遺伝子を取得する可能性があります。それでは、「最終的な」最適な遺伝子分類子をどのように取得しますか。すなわち、ステップ6とは何ですか。 最適とは、今後の研究で使用すべき遺伝子のコレクションです。たとえば、癌/正常なデータセットがあり、SVMに従って腫瘍タイプを分類する上位10の遺伝子を見つけたいとします。診断テストとして使用できるかどうかを確認するために、さらなる実験で使用できる遺伝子とSVMパラメータのセットを知りたいです。

3
なげなわが変数選択を提供するのはなぜですか?
Elements of Statistics Learningを読んでいますが、なぜLassoが変数選択を提供し、リッジ回帰が提供しないのかを知りたいと思います。 どちらの方法も、残差平方和を最小化し、パラメーター可能な値に制約がありますββ\beta。投げ縄の場合、制約は||β||1≤t||β||1≤t||\beta||_1 \le t、尾根のためにそれがあるのに対し||β||2≤t||β||2≤t||\beta||_2 \le t、いくつかのためにttt。 私は本でダイヤモンド対楕円の絵を見ましたが、なぜ投げ縄が制約領域の角に当たることができるかについていくつかの直感があります。しかし、私の直感はかなり弱く、私は確信していません。見やすいはずですが、なぜそうなのかわかりません。 だから、私は数学的な正当化、または残差平方和の輪郭が角に当たる可能性が高い理由の直感的な説明を探していると思います 。| β | | 1||β||1||β||1||\beta||_1制約領域(一方、制約が場合、この状況は起こりそうにありません||β||2||β||2||\beta||_2)。

6
2016年に本当に必要な予測モデリングの変数選択?
この質問はCVで数年前に尋ねられました。1)より優れたコンピューティングテクノロジー(例:並列コンピューティング、HPCなど)と2)新しいテクニック、たとえば[3]を考慮すると、再投稿する価値があるようです。 まず、いくつかのコンテキスト。目標が仮説のテストではなく、効果の推定ではなく、見えないテストセットの予測であると仮定しましょう。したがって、解釈可能な利益に重みは与えられません。第二に、主題の検討における予測子の関連性を排除できないとしましょう。それらはすべて個別に、または他の予測因子と組み合わせてもっともらしいようです。第三に、数百(数百)の予測子に直面しています。第4に、AWSに無制限の予算でアクセスできるため、計算能力が制約にならないとします。 変数選択の通常の理由は、1)効率です。より小さなモデルをより速く適合させ、より少ない予測変数をより安価に収集する、2)解釈; 「重要な」変数を知ることで、基礎となるプロセスの洞察が得られます[1]。 現在、多くの変数選択方法が効果的でなく、しばしば完全に危険であることが広く知られています(例えば、前方段階的回帰)[2]。 次に、選択したモデルが適切であれば、予測子のリストをまったく削減する必要はありません。モデルはあなたのためにそれを行う必要があります。良い例は、すべての無関係な変数にゼロ係数を割り当てるなげなわです。 一部の人々は「象」モデルの使用を支持していることを知っています。考えられるすべての予測変数を適合に投げ込み、それで実行します[2]。 目標が予測精度である場合、変数選択を行う根本的な理由はありますか? [1] Reunanen、J.(2003)。変数選択方法を比較する際の過剰適合。Journal of Machine Learning Research、3、1371-1382。 [2] Harrell、F.(2015)。回帰モデリング戦略:線形モデル、ロジスティックおよび順序回帰、および生存分析への応用。スプリンガー。 [3] Taylor、J。、およびTibshirani、RJ(2015)。統計的学習と選択的推論。国立科学アカデミー論文集、112(25)、7629-7634。 [4] Zhou、J.、Foster、D.、Stine、R.、&Ungar、L.(2005、August)。アルファ投資を使用したスト​​リーミング機能の選択。データマイニングにおける知識の発見に関する第11回ACM SIGKDD国際会議の議事録(pp。384-393)。ACM。

9
回帰の変数選択に投げ縄を使用することの欠点は何ですか?
私が知っていることから、変数選択に投げ縄を使用すると、相関入力の問題が処理されます。また、最小角度回帰と同等であるため、計算が遅くなりません。ただし、多くの人々(たとえば、生物統計学を行うことを知っている人々)は、まだ段階的または段階的な変数選択を好むようです。投げ縄を使用することで不利になる実用的な欠点はありますか?


2
変数選択のより決定的な議論
バックグラウンド 私は医学の臨床研究を行っており、いくつかの統計コースを受講しています。私は線形/ロジスティック回帰を使用した論文を公開したことがなく、変数の選択を正しく行いたいと考えています。解釈可能性は重要なので、凝った機械学習技術はありません。変数選択についての私の理解をまとめました-誰かが誤解に光を当てることを気にしますか?私が見つかりました。2(1)と同様のこの1の(2)CVの記事、しかし、彼らは非常に完全に私の懸念に答えませんでした。どんな考えでも大歓迎です!最後に3つの主要な質問があります。 問題と議論 私の典型的な回帰/分類問題には、200-300の観測値、15%の有害事象率(分類の場合)、および文献で「統計的に有意な」効果があると主張された、またはもっともらしいと主張されている40の変数のうち25の情報がありますドメイン知識によるセンス。 「統計的に有意」を引用符で囲みます。これは、全員と母親がステップワイズ回帰を使用しているように見えますが、Harrell(3)とFlom(4)は多くの正当な理由でそれを好まないようです。これは、Gelmanブログ投稿ディスカッション(5)でさらにサポートされています。ステップワイズが受け入れられるのは、これが本当に探索的分析であるか、予測に関心があり、相互検証スキームが関係している場合のみです。特に、多くの医学的併存症は共線性に悩まされ、研究は小さなサンプルサイズに悩まされるため、私の理解では、文献には多くの偽陽性が存在するということです。また、これにより、含める可能性のある変数について文献を信頼する可能性が低くなります。 別の一般的なアプローチは、予測変数と独立変数間の一連の単変量回帰/関連付けを開始点として使用することです。特定のしきい値未満(たとえば、p <0.2)。このStackExchangeの投稿(6)で概説されている理由により、これは間違っているか、少なくとも誤解を招くように思われます。 最後に、機械学習で一般的に見られる自動化アプローチは、L1(Lasso)、L2(Ridge)、L1 + L2コンボ(Elastic Net)などのペナルティを使用することです。私の理解では、これらにはOLSやロジスティック回帰と同じ簡単な解釈はありません。 Gelman + Hillは以下を提案します。 Statsコースでは、Fテストまたは逸脱分析を使用して、完全なモデルとネストされたモデルを比較し、変数ごとにモデル/変数選択を行うことも思い出します。これは理にかなっているように思えますが、dfごとの逸脱の最大の低下を引き起こす変数を見つけるために、順番にネストされたモデルをフィッティングすることは、簡単に自動化できるように思えるので(少し心配です)、次の順序の問題に苦しんでいるようにも見えます変数の包含をテストします。私の理解では、これは多重共線性と残差プロット(残差対予測)を調べることによっても補足されるべきであるということです。 質問: ゲルマンの要約は進むべき道ですか?彼の提案した戦略で何を追加または変更しますか? 潜在的な相互作用と変換(非常に偏り/エラー/脱落が発生しやすいようです)について純粋に考える以外に、潜在的なものを発見する別の方法はありますか?多変量適応回帰スプライン(MARS)が推奨されましたが、非線形性/変換は標準回帰モデルの同じ変数に変換されないことが通知されました。 私の目標が非常に単純だとしましょう:「Y上のX1の関連付けを推定したいのですが、X2のみを考慮します」。Y〜X1 + X2を単に回帰するだけで、実際の予測能力を参照せずに結果を報告するだけで十分ですか(クロス検証RMSEまたは精度測定によって測定される場合があります)?これは、イベントレートやサンプルサイズに応じて、またはR ^ 2が非常に低い場合に変化しますか(R ^ 2はオーバーフィッティングによって常に増加させることができるため、R ^ 2は良くないことを認識しています)。一般的に、予測力を最適化するよりも推論/解釈可能性に興味があります。 結論の例: 「X2の制御、X1はX1の参照レベルと比較してYと統計的に有意に関連していませんでした。」(ロジスティック回帰係数) 「X1はYの統計的に有意な予測因子ではありませんでした。モデルではdfの変化に対して逸脱度の低下が十分ではなかったからです。」(逸脱の分析) 相互検証は常に必要ですか?その場合、SMOTE、サンプリングなどを介してクラスのバランスを取ることもできます。

3
特徴選択に主成分分析(PCA)を使用する
私は機能選択が初めてであり、PCAを使用して機能選択を実行する方法を知りたいと思っていました。PCAは、情報価値のない入力変数を除外するために使用できる各入力変数の相対スコアを計算しますか?基本的に、分散または含まれる情報の量によって、データの元の機能を順序付けできるようにしたいと考えています。


6
時系列分類の機能
可変長時系列に基づく(マルチクラス)分類の問題、つまり、関数 、に依存しない固定サイズ の選択された特徴セットによるタイムセリエのグローバル表現、 そしてこの機能セットで標準の分類方法を使用します。 予測、つまり予測に興味がないF (X T)= Y ∈ [ 1 .. K ]TTTV I D T φ (X T)= V 1、... 、vのD ∈ R、xはT + 1f(XT)=y∈[1..K]for XT=(x1,…,xT)with xt∈Rd ,f(XT)=y∈[1..K]for XT=(x1,…,xT)with xt∈Rd ,f(X_T) = y \in [1..K]\\ \text{for } X_T = (x_1, \dots, x_T)\\ \text{with } x_t \in \mathbb{R}^d ~, …

5
SVM機能の重みをどのように解釈しますか?
線形SVMを近似することで与えられる可変の重みを解釈しようとしています。 (私はscikit-learnを使用しています): from sklearn import svm svm = svm.SVC(kernel='linear') svm.fit(features, labels) svm.coef_ これらの重みがどのように計算または解釈されるかを具体的に説明するドキュメントには何も見つかりません。 体重のサインはクラスと関係がありますか?

5
変数選択のためにRのlars(またはglmnet)パッケージからLASSOを使用する
この質問が少し基本的なものに遭遇した場合は申し訳ありません。 Rの多重線形回帰モデルにLASSO変数選択を使用したいと考えています。15の予測変数があり、そのうちの1つがカテゴリカルです(問題が発生しますか?)。とyを設定した後、次のコマンドを使用します。xxxyyy model = lars(x, y) coef(model) 私の問題は私が使用するときですcoef(model)。これにより、15行の行列が返され、毎回1つの追加の予測子が追加されます。ただし、どのモデルを選択するかについての提案はありません。私は何かを見逃しましたか?larsパッケージに「最高の」モデルを1つだけ返す方法はありますか? glmnet代わりに使用することを提案する他の投稿がありますが、これはより複雑に思えます。同じとyを使用した試みは次のとおりです。ここで何かを見逃していませんか?: xxxyyy cv = cv.glmnet(x, y) model = glmnet(x, y, type.gaussian="covariance", lambda=cv$lambda.min) predict(model, type="coefficients") 最後のコマンドは、変数のリストを返します。大部分は係数付きですが、一部は= 0です。これはLASSOが選択した「最良の」モデルの正しい選択ですか?次に、係数not=0を持つすべての変数で線形モデルを近似すると、係数推定値は非常に似ていますが、わずかに異なります。この違いの理由はありますか?LASSOによって選択されたこれらの変数で線形モデルを再調整し、それを最終モデルとして使用することは受け入れられますか?そうでない場合、有意性のp値を確認できません。見逃したことがありますか? する type.gaussian="covariance" それglmnetが複数の線形回帰を使用していることを確認しますか? 変数の自動正規化は係数にまったく影響しますか?LASSO手順に相互作用用語を含める方法はありますか? この手順は、重要な推論/予測に何らかの変更が加えられた場合に実際に使用されるモデルよりも、LASSOの使用方法のデモンストレーションとして使用したいと考えています。 これを読んでくれてありがとう。LASSO / lars / glmnetに関する一般的なコメントも歓迎します。


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