タグ付けされた質問 「predictive-models」

予測モデルは、特定の仮説をテストしたり、現象を機構的に説明したりするモデルとは対照的に、システムの他の観測を最適に予測することを主な目的とする統計モデルです。そのため、予測モデルでは、解釈可能性は重視されず、パフォーマンスが重視されます。

2
予測は統計学者の能力を判断するための「黄金の基準」ですか?
先週末、R(初版)でFarawayの教科書の線形モデルを読んでいました。Farawayには「統計戦略とモデルの不確実性」という章がありました。彼は非常に複雑なモデルを使用して人為的にいくつかのデータを生成したと述べ(158ページ)、学生にデータをモデル化し、学生の予測結果と読み取り結果を比較するように依頼しました。残念ながら、ほとんどの学生はテストデータを過剰に適合させ、予測値を完全に外れました。この現象を説明するために、彼は私に非常に印象的な何かを書きました: 「モデルが非常に異なっていた理由は、生徒がさまざまな方法を異なる順序で適用したためです。一部は変換前に変数選択を行い、他は逆になりました。ことを使用し、学生のいくつかと、明らかに間違って何も見つけることができなかった、彼らが行っていたものとします。一人の学生は、計算にミスを犯した彼または彼女は、予測値が、残りの部分では、明らかに間違って何もありませんでした。この割り当てのパフォーマンスが表示されませんでした試験におけるそれとの関係。 」 モデルの予測精度は、最高のモデル性能を選択するための「黄金の基準」であると教育を受けました。誤解しない限り、これはKaggleコンテストで使用される一般的な方法でもあります。しかし、ここでFarawayは、モデルの予測パフォーマンスには何の関係もないという、異なる性質のものを観察しました。関係する統計学者の能力を使って。つまり、予測力の観点から最適なモデルを構築できるかどうかは、実際の経験によって決定されるわけではありません。代わりに、それは巨大な「モデルの不確実性」(盲目的な運?)によって決定されます。私の質問は、これは実生活のデータ分析でも同様ですか?または、非常に基本的なものと混同されましたか?これが真実なら、実際のデータ分析への影響は計り知れないからです。データの背後にある「実際のモデル」を知らなくても、経験豊富な/経験のない統計学者によって行われた作業に本質的な違いはありません:利用可能なトレーニングデータ。

1
個別のモデリング/検証セットを使用して回帰モデルを構築する場合、検証データを「再循環」することは適切ですか?
モデリング/検証の観測結果が80/20に分割されているとします。モデルをモデリングデータセットに適合させましたが、検証データセットで見られるエラーに満足しています。将来の観測のスコアリングのためにモデルを展開する前に、検証とモデリングデータを組み合わせて、100%データの更新されたパラメーター推定値を取得するのが適切ですか?これに関する2つの視点を聞いたことがあります。 私が実行した検証は、モデル構造、つまり適用した一連の予測変数と変換の検証でした。それを使用して推定値を更新できるのに、データの20%をテーブルに残しても意味がありません。 私が実行した検証は、モデリングデータセットで計算したパラメーター推定値の検証の一部でした。モデルの適合度を更新すると、推定値が変更され、更新されたモデルのパフォーマンスをテストする客観的な方法がなくなります。 私はいつも議論#1に従いましたが、最近では、いくつかの人々が#2を主張するのを聞いています。私は他の人がこれについてどう思うかを見たかった。このトピックに関する文献または他の場所で良い議論を見ましたか?

2
ランダムフォレストモデルを使用するときに変数をログ/検証するタイミング
複数の属性に基づいて価格を予測するために、ランダムフォレストを使用して回帰を行っています。コードは、Scikit-learnを使用してPythonで記述されています。 exp/ logを使用して変数を変換してから回帰モデルに適合させる必要があるかどうかをどのように決定しますか?ランダムフォレストなどのアンサンブルアプローチを使用する場合、必要ですか?

2
まれなイベント予測モデルのオーバーサンプリングによるバギング
次のものが記述されているかどうか、また(どちらにしても)ターゲット変数が非常に不均衡な予測モデルを学習するためのもっともらしい方法のように聞こえるかどうか、誰もが知っていますか? データマイニングのCRMアプリケーションでは、多くの場合、ポジティブイベント(成功)が多数派(ネガティブクラス)に比べて非常にまれなモデルを探します。たとえば、肯定的な興味のあるクラス(例:顧客が購入した)が0.1%だけである500,000のインスタンスがあるとします。したがって、予測モデルを作成するための1つの方法は、データをサンプリングすることです。これにより、すべてのポジティブクラスインスタンスとネガティブクラスインスタンスのサンプルのみを保持し、ポジティブクラスとネガティブクラスの比率が1に近くなります(おそらく25%プラスからマイナス75%)。オーバーサンプリング、アンダーサンプリング、SMOTEなどはすべて、文献の方法です。 私が興味を持っているのは、上記の基本的なサンプリング戦略と、ネガティブクラスのバギングを組み合わせることです。 すべてのポジティブクラスインスタンスを保持する(例:1,000) バランスの取れたサンプル(たとえば1,000)を作成するために、ネガティブクラスインスタンスをサンプリングします。 モデルを適合させる 繰り返す 前にこれを行うことを聞いた人はいますか?バギングがないと思われる問題は、500,000の場合にネガティブクラスの1,000インスタンスのみをサンプリングすると、予測子スペースがまばらになり、予測子の値/パターンの表現がない可能性があることです。バギングはこれに役立つようです。 サンプルの1つに予測変数のすべての値が含まれていない場合、rpartを見て、「壊れない」ことを確認しました(これらの予測変数の値を使用してインスタンスを予測するときに壊れません: library(rpart) tree<-rpart(skips ~ PadType,data=solder[solder$PadType !='D6',], method="anova") predict(tree,newdata=subset(solder,PadType =='D6')) 何かご意見は? 更新: 現実世界のデータセット(ダイレクトメール応答データのマーケティング)を取得し、それをトレーニングと検証にランダムに分割しました。618個の予測変数と1つのバイナリターゲットがあります(非常にまれです)。 Training: Total Cases: 167,923 Cases with Y=1: 521 Validation: Total Cases: 141,755 Cases with Y=1: 410 トレーニングセットからすべての肯定的な例(521)と、バランスの取れたサンプルに対して同じサイズの否定的な例のランダムサンプルを取りました。私はrpartツリーに適合します: models[[length(models)+1]]<-rpart(Y~.,data=trainSample,method="class") このプロセスを100回繰り返しました。次に、これらの100個のモデルそれぞれの検証サンプルのケースでY = 1の確率を予測しました。最終的な推定のために、100個の確率を単純に平均しました。検証セットの確率を調整し、各十分位数で、Y = 1(モデルのランキング能力を推定するための従来の方法)のケースの割合を計算しました。 Result$decile<-as.numeric(cut(Result[,"Score"],breaks=10,labels=1:10)) パフォーマンスは次のとおりです。 これをバギングなしと比較する方法を確認するために、最初のサンプルのみで検証サンプルを予測しました(すべての陽性例と同じサイズのランダムサンプル)。明らかに、サンプリングされたデータはあまりにもまばらであるか、適合しすぎて、検証サンプルを有効にするには有効ではありません。 まれなイベントと大きなnおよびpがある場合のバギングルーチンの有効性の提案。

2
ロジスティック回帰のP> 0.5カットオフが「最適」ではないのはなぜですか?
序文:カットオフを使用するかどうかのメリット、またはカットオフを選択する方法については気にしません。私の質問は純粋に数学的で、好奇心によるものです。 ロジスティック回帰は、クラスAとクラスBの事後条件付き確率をモデル化し、事後条件付き確率が等しい超平面に適合します。したがって、理論的には、0.5の分類ポイントは、事後確率をモデル化するため(一貫して同じクラス比に遭遇すると仮定)、セットバランスに関係なく合計誤差を最小化することを理解しました。 私の実際の例では、分類カットオフとしてP> 0.5を使用すると非常に低い精度(約51%の精度)が得られます。ただし、AUCを見ると0.99を超えています。そのため、いくつかの異なるカットオフ値を調べたところ、P> 0.6で98%の精度(小さいクラスで90%、大きいクラスで99%)が得られました。 クラスは非常に不均衡であり(1:9)、高次元の問題です。ただし、クラスを各交差検定セットに均等に割り当てたため、モデルの適合と予測の間でクラスのバランスに違いが生じないようにしました。また、モデルの適合と予測で同じデータを使用してみましたが、同じ問題が発生しました。 0.5がエラーを最小化しない理由に興味があります。クロスエントロピー損失を最小化することでモデルが適合している場合、これは設計によるものだと考えました。 なぜこれが起こるのかについてのフィードバックはありますか?それは罰則の追加によるものですか、もしそうなら、誰かが何が起こっているのか説明できますか?

2
分位点回帰予測
一部のモデルで変位値回帰を使用することに興味がありますが、この方法論を使用して何を達成できるかについて明確にしたいと思います。特に外れ値や不均一分散に直面している場合、IV / DV 関係のより堅牢な分析が得られることは理解していますが、私の場合は予測に焦点を当てています。 特に、より複雑な非線形モデルや区分的線形回帰に頼らずに、モデルの適合性を改善することに興味があります。予測では、予測子の値に基づいて最高確率の結果分位を選択することは可能ですか?言い換えると、予測子の値に基づいて、各予測結果の分位確率を決定することは可能ですか?

2
収縮とは何ですか?
収縮という言葉は、特定のサークルの多くで使用されています。しかし、収縮とは何か、明確な定義はないようです。時系列(またはいくつかのプロセスの観測のコレクション)がある場合、その系列のある種の経験的な収縮を測定するためのさまざまな方法は何ですか?私が話し合うことができる理論的な収縮にはどのような種類がありますか?収縮は予測にどのように役立ちますか?人々はいくつかの良い洞察や参照を提供できますか?

2
確率モデルを調整しながら最適なビン幅を選択する方法は?
背景:発生する結果の確率を予測するモデルを調整する方法について、いくつかの素晴らしい質問/回答があります。例えば ブライアースコア、および解像度、不確実性、信頼性への分解。 較正プロットと等張回帰。 これらの方法では、予測結果に対するビニング方法の使用が必要になることが多く、結果(0、1)の振る舞いは、平均結果をとることによりビン上で平滑化されます。 問題: ただし、ビンの幅を選択する方法を教えてくれるものは見つかりません。 質問:最適なビン幅を選択するにはどうすればよいですか? 試行:使用されている2つの一般的なビンの幅は次のようです。 等幅ビニング、たとえば、間隔[0、1]の10%をカバーする10個のビン。 ここで説明する Tukeyのビニング方法。 しかし、最も誤ってキャリブレーションされた予測確率の間隔を見つけることに関心がある場合、ビンのこれらの選択は最も最適ですか?

1
ロジスティック回帰の適合度検定。どの「適合」をテストしますか?
私は質問とその答えに言及しています:ロジスティック回帰から開発されたモデルの予測能力を比較する方法(確率)?@Clark Chong、@ Frank Harrellによる回答/コメント。そして、Hosmer-Lemeshowテストとコメントの自由度χ2χ2\chi^2の質問に。 私は紙の読み持っDWホズマー、T.ホズマー、S.ルCessie、S. Lemeshow、「ロジスティック回帰モデルの適合度検定の比較」、医学、巻で統計を。16、965-980(1997)。 読んだ後、私が言及した質問が「(確率)予測能力」を明示的に求めているので混乱しました。これは、私の意見では、上記の論文の適合度テストの目的と同じではありません。 ほとんどの人が知っているように、ロジスティック回帰は説明変数と成功の確率の間のS字型のリンクを想定しています。S字型の関数型は P(y= 1 |バツ私)= 11 + e− (β0+ ∑私β私バツ私)P(y=1|バツ私)=11+e−(β0+∑私β私バツ私)P(y=1|_{x_i})=\frac{1}{1+e^{-(\beta_0+\sum_i \beta_i x_i)}} Hosmer-Lemeshow検定に欠点がないというふりをせずに、(a)'(確率)予測能力 'と(b) ' 適合度 'の検定を区別する必要があると思います。 前者の目標は、確率が十分に予測されているかどうかをテストすることです。一方、適合度テストは、上記のS字型関数が「正しい」関数であるかどうかをテストします。より正式には: 「確率予測能力テスト」のテストには、成功確率がモデルによって十分に予測されていることを示すがあります。H0H0H_0 一方、適合度テストでは、は(上記のHosmer et al。を参照)S字型の関数型が正しいものです。ホスマー等。ヌルからの2種類の偏差、つまりリンク関数が間違っていること、または分母の指数が線形でないことを検出する能力を見つけるシミュレーションを実行します。H0H0H_0 明らかに、上記の関数が「正しい」関数形式を持っている場合(したがって、適合度テストのためにを受け入れることができるとテストが結論付けた場合)、予測される確率は良好です...H0H0H_0 最初の発言 ...しかし、を受け入れることは、帰無仮説を棄却できない場合に続くことで説明されているように、弱い結論です。。H0H0H_0 最初の質問 私が持っている最も重要な質問/発言は、適合度が拒否された場合、テストの結論は機能的形式が「正しい」ものではなかったということですが、これは確率がよく予測されていない?H0H0H_0 二番目の質問 さらに、Hosmer et。al。の結論を指摘したい。al; (要約から引用): ''正しいモデルには2次項があり、線形項のみを含むモデルが適合している場合のテストのパフォーマンスの検査は、ピアソンカイ2乗、重み付けされていない2乗和、Hosmer-Lemeshow十分位リスクの平滑化された残差平方和とStukelのスコアテストは、サンプルサイズが100のときに線形性から中程度の逸脱を検出するために50%を超える検出力を持ち、サイズ500のサンプルのこれらの同じ代替に対して90%を超える検出力を持ちます。正しいモデルに2項共変量と連続共変量の相互作用がある場合、すべてのテストには力がありませんでしたが、連続共変量モデルのみが適合しました。誤って指定されたリンクを検出する能力は、サイズ100のサンプルでは不十分でした。サイズ500のサンプルでは、​​Stukel ' sスコアテストは最高の性能を発揮しましたが、非対称リンク機能を検出するには50%を超えていました。誤って指定されたリンク関数を検出するための重みなし二乗和テストの能力は、Stukelのスコアテストよりもわずかに低かった '' このことから、どのテストがより強力であるか、またはHosmer-Lemeshowの方が(これらの特定の異常を検出するために)より少ないと結論付けることができますか? 第二の発言 Hosmer et。による論文 al。前述のように、特定の異常を検出するために電力を計算(シミュレーション)します(電力はが指定されている場合にのみ計算できます)。これは、これらの結果を「すべての可能な代替案」に一般化できることを意味するものではありません。H1H1H_1H1H1H_1

1
多重共線性とスプライン回帰に問題はありますか?
自然(制限付き)3次スプラインを使用する場合、作成される基底関数は非常に共線的であり、回帰で使用すると、非常に高いVIF(分散インフレーション係数)統計を生成し、多重共線性を示します。予測のためにモデルのケースを検討している場合、これは問題ですか?スプライン構造の性質により、常にそうなるようです。 Rの例を次に示します。 library(caret) library(Hmisc) library(car) data(GermanCredit) spl_mat<-rcspline.eval(GermanCredit$Amount, nk=5, inclx=TRUE) #natural cubic splines with 5 knots class<-ifelse(GermanCredit$Class=='Bad',1,0) #binary target variable dat<-data.frame(cbind(spl_mat,class)) cor(spl_mat) OUTPUT: x x 1.0000000 0.9386463 0.9270723 0.9109491 0.9386463 1.0000000 0.9994380 0.9969515 0.9270723 0.9994380 1.0000000 0.9989905 0.9109491 0.9969515 0.9989905 1.0000000 mod<-glm(class~.,data=dat,family=binomial()) #model vif(mod) #massively high OUTPUT: x V2 V3 V4 …

1
RのPROC Mixedとlme / lmerの違い-自由度
注:法的な理由で以前の質問を削除する必要があったため、この質問は再投稿です。 SASのPROC MIXED をR lmeのnlmeパッケージの関数と比較していると、やや紛らわしい違いを見つけました。より具体的には、異なるテストの自由度はとの間PROC MIXEDで異なり、lmeなぜだろうと思いました。 次のデータセットから開始します(以下のRコード)。 ind:測定が行われる個人を示す因子 fac:測定が行われる臓器 trt:治療を示す因子 y:連続応答変数 アイデアは、次の単純なモデルを構築することです: y ~ trt + (ind):indランダムな要因として y ~ trt + (fac(ind)):facにネストされたindランダムな要因として、 最後のモデルでは特異性が生じることに注意してください。とのyすべての組み合わせに対しての値は1つだけです。indfac 最初のモデル SASでは、次のモデルを作成します。 PROC MIXED data=Data; CLASS ind fac trt; MODEL y = trt /s; RANDOM ind /s; run; チュートリアルによると、使用しているRの同じモデルnlmeは次のようになります。 > require(nlme) > options(contrasts=c(factor="contr.SAS",ordered="contr.poly")) > m2<-lme(y~trt,random=~1|ind,data=Data) 両方のモデルは、係数とそのSEに対して同じ推定値を与えますがtrt、の効果に対してF検定を実行する場合、異なる自由度を使用します。 SAS …
12 r  mixed-model  sas  degrees-of-freedom  pdf  unbiased-estimator  distance-functions  functional-data-analysis  hellinger  time-series  outliers  c++  relative-risk  absolute-risk  rare-events  regression  t-test  multiple-regression  survival  teaching  multiple-regression  regression  self-study  t-distribution  machine-learning  recommender-system  self-study  binomial  standard-deviation  data-visualization  r  predictive-models  pearson-r  spearman-rho  r  regression  modeling  r  categorical-data  data-visualization  ggplot2  many-categories  machine-learning  cross-validation  weka  microarray  variance  sampling  monte-carlo  regression  cross-validation  model-selection  feature-selection  elastic-net  distance-functions  information-theory  r  regression  mixed-model  random-effects-model  fixed-effects-model  dataset  data-mining 

2
セマンティックな意味を保持するドメインに依存しない機能エンジニアリング?
機能エンジニアリングは、多くの場合、機械学習の重要なコンポーネントです(2010年にKDDカップで優勝するために頻繁に使用されました)。しかし、ほとんどの機能エンジニアリング技術は 基礎となる機能の直感的な意味を破壊する 特定のドメインまたは特定の種類の機能に非常に固有です。 前者の典型的な例は、主成分分析です。主題の専門家が機能について持っている知識は、それらの機能を主成分に変換することによって破壊されるように思えます。 対照的に、日付を「月の日」と「曜日」の機能に変換する簡単な手法と比較してください。基本的な意味はまだ新しい機能に保持されていますが、明らかにこの特定の手法は日付にのみ適用され、任意の機能には適用されません。 基盤となる機能の意味を損なうことなく、任意のドメイン(または少なくともさまざまなドメイン)にも適用できる機能エンジニアリング技術の標準的な本体はありますか?

2
複数のターゲットまたはクラスを予測しますか?
複数のイベント(たとえば、ダイスのロールとコインのトスの両方)を予測しようとする予測モデルを構築しているとします。私が精通しているほとんどのアルゴリズムは1つのターゲットのみで機能するため、この種のことに対する標準的なアプローチがあるかどうか疑問に思っています。 2つの選択肢があります。おそらく最も素朴なアプローチは、単純にそれらを2つの異なる問題として扱い、結果を結合することです。ただし、2つのターゲットが独立していない場合(および多くの場合、それらは非常に依存している可能性があります)、これには重大な欠点があります。 私にとってより賢明なアプローチは、結合されたターゲット属性を作成することです。そうダイと硬貨の場合には、我々が持っているであろうの状態((1 、H )、(1 、T )、(2 、H )、など)。ただし、これにより、複合ターゲットの状態/クラスの数がかなり大きくなることがあります(2つのサイコロがある場合など)。さらに、これは、一方の属性がカテゴリ属性でもう一方が数値属性の場合(たとえば、気温と降水量のタイプを予測する場合)、奇妙に思えます。6 ⋅ 2 = 126⋅2=126\cdot 2=12(1 、H)、(1 、T)、(2 、H)(1、H)、(1、T)、(2、H)(1, H), (1, T), (2, H) この種のことに対する標準的なアプローチはありますか?あるいは、これを処理するために特別に設計された学習アルゴリズムはありますか?

2
SVM、変数相互作用およびトレーニングデータの適合
2つの一般的/より理論的な質問があります。 1)予測モデルを構築するときに、SVMが変数の相互作用をどのように処理するか興味があります。たとえば、f1とf2の2つの機能があり、ターゲットがf1、f2に依存し、f1 * f2(または何らかの関数h(f1、f2))に依存する場合、SVMは適合します(OOSだけでなくトレーニングデータにも)フィーチャにf1、f2、h(f1、f2)を含めると、f1とf2を含めるだけで改善されますか?SVMアルゴリズムは機能の相互作用を処理しますか?SVMがより高次元の空間で超平面を作成しようとする方法と同じように思えますが、質問したいとは思いません。 2)トレーニングデータにSVMをフィッティングするとき、十分な機能と最適なパラメーター(ブルートフォース検索など)を見つけると、SVMは常にトレーニングデータに簡単に適合しますか?正しいことを言ったかどうかはわかりませんが、基本的に、フィーチャに十分な分散/ノイズがある場合、SVMは常にトレーニングデータに100%適合しますか?逆に、SVMがトレーニングデータに100%適合しない場合、データにキャプチャされていないターゲット変数に影響する情報(または他の機能)があることを意味しますか? ありがとう 小さな説明。カーネルSVMを具体的に参照しています

1
イベントの確率を推定するモデルの精度を決定する
私は、aとbの2つの結果を持つイベントをモデリングしています。aまたはbが発生する確率を推定するモデルを作成しました(つまり、モデルはaが40%の確率で発生し、bが60%の確率で発生することを計算します)。 私は、モデルからの推定値を用いた試験の結果の大きな記録を持っています。モデルがこのデータをどのくらい正確に使用しているかを定量化したいのですが、これは可能ですか?

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