「オーバーフィット」の意味をある程度理解していますが、オーバーフィットに適用される実世界の例をどのように考え出すかについての助けが必要です。
「オーバーフィット」の意味をある程度理解していますが、オーバーフィットに適用される実世界の例をどのように考え出すかについての助けが必要です。
回答:
以下は、xkcdの大統領選挙時系列モデルの良い例です。
大統領選挙は56回、大統領は43回のみです。それは多くの学習データではありません。予測子の空間が拡大して、偽の歯や名前のスクラブルポイント値などが含まれると、モデルはデータ(信号)の一般化可能な特徴を当てはめ、ノイズのマッチングを開始しやすくなります。これが発生すると、履歴データへの適合性が向上する可能性がありますが、将来の大統領選挙に関する推論を行うために使用すると、モデルは悲惨に失敗します。
私のお気に入りは、米国国勢調査人口対時間のMatlabの例でした:
(少なくとも、これが過剰適合の例であることを心から願っています)
http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115
Chenらの研究。(2013)2つの立方体を、緯度の関数としての平均寿命の想定される不連続性に適合させます。
チェンY.、エベンスタイン、A。、グリーンストーン、M。、およびリー、H。2013。中国のHu河政策からの平均寿命に対する大気汚染への持続的暴露の影響に関する証拠。National Academy of Sciences 110:12936–12941の議事録。 抽象
優れたジャーナルなどでの出版、著名な人々による暗黙の支持などにもかかわらず、私はこれを過剰適合の基本的な例として提示します。
物語の兆候は、立方体の信じがたいことです。立方体の近似は、あなたの住んでいる緯度の3次多項式として平均寿命が変化する理由があると暗黙的に仮定しています。それはかなり信じられないように思われる:そのような効果を引き起こすもっともらしい物理的メカニズムを想像することは容易ではない。
この論文のより詳細な分析については、次のブログ投稿も参照してください:因果推論に対する多項式回帰の持続的使用の影響に関する証拠(石炭加熱が5億人の寿命を5年短縮しているという主張)。
で2014年3月14日の記事科学、デイビット・ラザー、ライアン・ケネディ、ゲイリー・キング、そしてアレサンドロ・ベスピニャニに問題識別Googleインフルトレンド彼らは過剰適合する属性ということを。
オーバーフィッティングの性質とアルゴリズムが失敗する原因の説明など、彼らが物語を語る方法は次のとおりです。
2013年2月、Natureは、GFTがインフルエンザ様疾患(ILI)の医師訪問の割合を疾病管理予防センター(CDC)の2倍以上と予測していると報告しました...。これは、GFTがCDCレポートを予測するために構築されたという事実にもかかわらず発生しました。...
本質的に、方法論は、1152個のデータポイントに適合する5,000万の検索語の中から最適な一致を見つけることでした。インフルエンザの傾向と一致するが構造的に無関係であり、将来を予測しない検索語を見つける可能性は非常に高かった。実際、GFTの開発者は、インフルエンザとは無関係であるが、高校のバスケットボールに関するものなど、CDCデータと強く相関している季節的な検索用語を除外することを報告しています。これは、ビッグデータが少数のケースに過剰に適合しているという警告であるはずです。これは、データ分析の標準的な関心事です。GFTが2009年の非季節性インフルエンザA-H1N1パンデミックを完全に見逃したため、この特殊な検索用語を捨てるアドホックな方法は失敗しました。
[エンファシスが追加されました。]
私は数週間前にこの画像を見ましたが、それは手近な質問にかなり関係があると思いました。
シーケンスを線形にフィッティングする代わりに、完全に適合した4次多項式をフィッティングしましたが、明らかにばかげた答えになりました。
私にとって最良の例は、天文学におけるプトレマイオスのシステムです。プトレマイオスは、地球が宇宙の中心にあると仮定し、空のオブジェクトの動きをかなりよく説明する、入れ子になった円軌道の洗練されたシステムを作成しました。天文学者は、偏差を説明するために円を追加し続けなければなりませんでした。そのとき、コペルニクスはより現実的なモデルを思いつきました。
これは私にとって過剰適合の最良の例です。データ生成プロセス(DGP)をデータにオーバーフィットすることはできません。誤って指定されたモデルのみをオーバーフィットできます。社会科学のほとんどすべてのモデルは誤って指定されているため、重要なのはこれを覚えて、それらを控えめにすることです。データセットのすべての側面をキャッチしようとするのではなく、簡素化を通じて重要な機能をキャプチャしようとします。
グラフ上に100個のドットがあるとします。
あなたは言うことができる:うーん、私は次のものを予測したい。
ここでは、この例の簡略図を見ることができます。
多項式の次数が高いほど、既存のドットにうまく適合します。
ただし、高次の多項式は、ドットのより良いモデルに見えますが、実際には過剰に適合しています。真のデータ分布ではなくノイズをモデル化します。
結果として、完全にフィットする曲線でグラフに新しいドットを追加すると、より単純な低次の多項式を使用した場合よりもおそらく曲線から遠くなります。
福島の災害に貢献したかもしれない分析は、過剰適合の例です。地球科学には、観測された「より小さな」地震の頻度を考慮して、特定のサイズの地震の確率を記述するよく知られた関係があります。これはグーテンベルクとリヒターの関係として知られ、何十年にもわたって直線のログ近似を提供します。原子炉付近の地震リスクの分析(ネイトシルバーの優れた書籍「The Signal and the Noise」からのこの図)は、データに「ねじれ」を示しています。キンクを無視すると、マグニチュード9の地震の年間リスクは約300分の1と推定されます。これは間違いなく準備が必要なことです。しかしながら、(明らかに原子炉の初期リスク評価中に行われたように)デュアルスロープラインをオーバーフィッティングすると、リスク予測が13、000年に約1つに減少します。このようなありそうもない出来事に耐えられるように原子炉を設計しなかったことでエンジニアを非難することはできませんでした-しかし、データを過剰適合させた(そして外挿した)統計学者を間違いなく非難すべきです...
「ああ!パットは会社を辞めています。どうやって代替品を見つけるつもりですか?」
求人情報:
募集:電気技師。電気工学、数学、畜産学の学位を持つ42歳の両性具有者。高さ68インチ、茶色の髪、左目上のほくろ、そしてガチョウに対する長い巻き上げられたdiatribesと「カウンセル」という言葉の誤用の傾向があります。
数学的な意味では、オーバーフィッティングとは、必要以上のパラメーターを使用してモデルを作成することを指し、特定のデータセットによりよく適合しますが、関心のあるクラスの他のデータセットに適合するために必要な関連する詳細をキャプチャしません。
上記の例では、ポスターは関連する特性と無関係な特性を区別できません。結果として生じる資格は、彼らがすでにその仕事に適していることを既に知っている(しかし、もうそれを望んでいない)人によってのみ満たされる可能性が高い。
これは構成されていますが、私はそれがケースを説明することを願っています。
例1
set.seed(123)
k <- 100
data <- replicate(k, rnorm(100))
colnames(data) <- make.names(1:k)
data <- as.data.frame(data)
それでは、線形回帰を当てはめてみましょう。
fit <- lm(X1 ~ ., data=data)
そして、以下は最初の10個の予測変数の要約です。
> summary(fit)
Call:
lm(formula = X1 ~ ., data = data)
Residuals:
ALL 100 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.502e-01 NA NA NA
X2 3.153e-02 NA NA NA
X3 -6.200e-01 NA NA NA
X4 7.087e-01 NA NA NA
X5 4.392e-01 NA NA NA
X6 2.979e-01 NA NA NA
X7 -9.092e-02 NA NA NA
X8 -5.783e-01 NA NA NA
X9 5.965e-01 NA NA NA
X10 -8.289e-01 NA NA NA
...
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 99 and 0 DF, p-value: NA
結果はかなり奇妙に見えますが、プロットしてみましょう。
> sum(abs(data$X1-fitted(fit)))
[1] 0
それはゼロなので、プロットは私たちに嘘をついていませんでした:モデルは完全に適合しています。そして、分類はどれくらい正確ですか?
> sum(data$X1==fitted(fit))
[1] 100
例2
もう一つの例。さらにデータを作成します。
data2 <- cbind(1:10, diag(10))
colnames(data2) <- make.names(1:11)
data2 <- as.data.frame(data2)
次のようになります。
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
1 1 1 0 0 0 0 0 0 0 0 0
2 2 0 1 0 0 0 0 0 0 0 0
3 3 0 0 1 0 0 0 0 0 0 0
4 4 0 0 0 1 0 0 0 0 0 0
5 5 0 0 0 0 1 0 0 0 0 0
6 6 0 0 0 0 0 1 0 0 0 0
7 7 0 0 0 0 0 0 1 0 0 0
8 8 0 0 0 0 0 0 0 1 0 0
9 9 0 0 0 0 0 0 0 0 1 0
10 10 0 0 0 0 0 0 0 0 0 1
そして、これに線形回帰を当てはめてみましょう。
fit2 <- lm(X1~., data2)
したがって、次の推定値が得られます。
> summary(fit2)
Call:
lm(formula = X1 ~ ., data = data2)
Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10 NA NA NA
X2 -9 NA NA NA
X3 -8 NA NA NA
X4 -7 NA NA NA
X5 -6 NA NA NA
X6 -5 NA NA NA
X7 -4 NA NA NA
X8 -3 NA NA NA
X9 -2 NA NA NA
X10 -1 NA NA NA
X11 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 9 and 0 DF, p-value: NA
それはかなり自明です。例1は例2に似ていますが、「ノイズ」が追加されていると考えることができます。十分なデータがあり、それを何かの「予測」に使用する場合、単一の「機能」が、偶然かもしれないが、従属変数をうまく説明する「パターン」を持っていることを確信させることがあります。では例2は何も本当に予測されていないが、まったく同じではで起こった例1だけ変数の値が異なっていました。
実生活の例
この実例は、有名な人々の暗殺に関する事実を明らかにするGlobal Consciousness Projectのコンピューター擬似乱数ジェネレーターによってランダムに描かれた数字の「パターン」または「Moby Dick」の「秘密のメッセージ」を見て、2001年9月11日のテロ攻撃を予測しています(聖書の同様の発見に触発された)。
結論
よく見ると、何でも「パターン」が見つかります。ただし、これらのパターンでは、宇宙について何も学習できず、一般的な結論に到達するのに役立ちません。それらはデータに完全に適合しますが、データ自体には何も適合しないため、役に立たないでしょう。彼らが行うことは、データを記述するよりも模倣するため、合理的なサンプル外予測を行うことはできません。
実際に過適合になる一般的な問題は、正しく指定されたモデルの用語に加えて、無関係なものを追加した可能性があることです:正しい用語の無関係な力(または他の変換)、無関係な変数、または無関係な相互作用。
これは、正しく指定されたモデルには表示されないはずの変数を追加したが、省略された変数バイアスを誘発することを恐れているため、それを削除したくない場合に重回帰で発生します。もちろん、サンプル全体のみを見ることができず、正しい仕様が何であるかを確実に知ることができないため、誤って含めたことを知る方法はありません。(@Scortchiがコメントで指摘しているように、「正しい」モデル仕様などはないかもしれません。その意味で、モデリングの目的は「十分な」仕様を見つけることです。利用可能なデータから維持することができるよりも大きい。)過適合の実世界の例が必要な場合、これは毎回発生します。潜在的なすべての予測変数を回帰モデルに投入します。他の効果が部分的に除外されると、実際にはそれらのいずれかが応答と関係を持たない場合です。
このタイプの過剰適合では、これらの無関係な用語を含めても推定量に偏りが生じないため、非常に大きなサンプルでは、無関係な用語の係数はゼロに近いはずです。しかし、悪いニュースもあります:サンプルからの限られた情報がより多くのパラメーターを推定するために使用されるようになったため、精度が低くなります-本当に関連する用語の標準誤差が増加します。また、それらは、正確に指定された回帰からの推定値よりも真の値から遠くなる可能性が高いことを意味します。つまり、説明変数の新しい値が与えられた場合、オーバーフィットモデルからの予測は、正しく指定されたモデル。
以下は、2010年の米国50州の対数人口に対する対GDPのプロットです。10州のランダムサンプルが選択され(赤で強調表示)、そのサンプルに対して単純な線形モデルと次数5の多項式が適合します。ポイントの場合、多項式には余分な自由度があり、直線よりも観測データに近い「うねり」ができます。ただし、50の状態は全体としてほぼ線形の関係になっているため、40のサンプル外のポイントでの多項式モデルの予測パフォーマンスは、特に外挿の場合、それほど複雑でないモデルに比べて非常に劣っています。多項式は、サンプルのランダム構造(ノイズ)の一部に効果的に適合しましたが、これはより広い母集団に一般化されませんでした。観察されたサンプルの範囲を超えて外挿することは特に不十分でした。この回答の今回の改訂。)
R
require(MASS) #for multivariate normal simulation
nsample <- 25 #sample to regress
nholdout <- 1e6 #to check model predictions
Sigma <- matrix(c(1, 0.5, 0.4, 0.5, 1, 0.3, 0.4, 0.3, 1), nrow=3)
df <- as.data.frame(mvrnorm(n=(nsample+nholdout), mu=c(5,5,5), Sigma=Sigma))
colnames(df) <- c("x1", "x2", "x3")
df$y <- 5 + 2 * df$x1 + rnorm(n=nrow(df)) #y = 5 + *x1 + e
holdout.df <- df[1:nholdout,]
regress.df <- df[(nholdout+1):(nholdout+nsample),]
overfit.lm <- lm(y ~ x1*x2*x3, regress.df)
correctspec.lm <- lm(y ~ x1, regress.df)
summary(overfit.lm)
summary(correctspec.lm)
holdout.df$overfitPred <- predict.lm(overfit.lm, newdata=holdout.df)
holdout.df$correctSpecPred <- predict.lm(correctspec.lm, newdata=holdout.df)
with(holdout.df, sum((y - overfitPred)^2)) #SSE
with(holdout.df, sum((y - correctSpecPred)^2))
require(ggplot2)
errors.df <- data.frame(
Model = rep(c("Overfitted", "Correctly specified"), each=nholdout),
Error = with(holdout.df, c(y - overfitPred, y - correctSpecPred)))
ggplot(errors.df, aes(x=Error, color=Model)) + geom_density(size=1) +
theme(legend.position="bottom")
1回の実行の結果を次に示しますが、生成されたさまざまなサンプルの効果を確認するには、シミュレーションを数回実行することをお勧めします。
> summary(overfit.lm)
Call:
lm(formula = y ~ x1 * x2 * x3, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.22294 -0.63142 -0.09491 0.51983 2.24193
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 18.85992 65.00775 0.290 0.775
x1 -2.40912 11.90433 -0.202 0.842
x2 -2.13777 12.48892 -0.171 0.866
x3 -1.13941 12.94670 -0.088 0.931
x1:x2 0.78280 2.25867 0.347 0.733
x1:x3 0.53616 2.30834 0.232 0.819
x2:x3 0.08019 2.49028 0.032 0.975
x1:x2:x3 -0.08584 0.43891 -0.196 0.847
Residual standard error: 1.101 on 17 degrees of freedom
Multiple R-squared: 0.8297, Adjusted R-squared: 0.7596
F-statistic: 11.84 on 7 and 17 DF, p-value: 1.942e-05
> summary(correctspec.lm)
Call:
lm(formula = y ~ x1, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.4951 -0.4112 -0.2000 0.7876 2.1706
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.7844 1.1272 4.244 0.000306 ***
x1 1.9974 0.2108 9.476 2.09e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.036 on 23 degrees of freedom
Multiple R-squared: 0.7961, Adjusted R-squared: 0.7872
F-statistic: 89.8 on 1 and 23 DF, p-value: 2.089e-09
> with(holdout.df, sum((y - overfitPred)^2)) #SSE
[1] 1271557
> with(holdout.df, sum((y - correctSpecPred)^2))
[1] 1052217
(そして、正しく指定されたモデルよりも自由度が高いため、「より良い」フィットを生成できます)。ホールドアウトセットの予測の2乗誤差の合計を見てください。これは、回帰係数の推定に使用しなかったため、オーバーフィットモデルのパフォーマンスがどれほど悪いかを確認できます。実際には、正しく指定されたモデルが最良の予測を行うモデルです。モデルの推定に使用した一連のデータの結果に基づいて、予測パフォーマンスの評価を行うべきではありません。エラーの密度プロットを次に示します。正しいモデル仕様では、0に近いエラーがさらに生成されます。
シミュレーションは、多くの関連する現実の状況を明確に表します(単一の予測子に依存する現実の応答を想像し、モデルに外部の「予測子」を含めることを想像してください)が、データ生成プロセスで遊ぶことができるという利点があります、サンプルサイズ、オーバーフィットモデルの性質など。これは、観測データについては一般にDGPにアクセスできないため、オーバーフィットの影響を調べることができる最良の方法であり、それを調べて使用できるという意味では「実際の」データです。試してみる価値のあるアイデアを次に示します。
n <- 1e6
Sigma
。正の半正値(対称であることを含む)に保つことを忘れないでください。多重共線性を減らすと、オーバーフィットモデルのパフォーマンスはそれほど悪くなりません。ただし、相関予測子は実際に発生することに注意してください。df$y <- 5 + 2*df$x1 + rnorm(n=nrow(df))
df$y <- 5 + 2 * df$x1 + 0.1*df$x2 + 0.1*df$x3 + rnorm(n=nrow(df))
nsample <- 25
nsample <- 1e6
、より弱い効果をかなりよく推定でき、シミュレーションは、複雑なモデルが単純なモデルよりも優れた予測力を持っていることを示しています。これは、モデルの複雑さと利用可能なデータの両方の問題が「過適合」であることを示しています。自分でこれを理解しようとしていたとき、実際のオブジェクトの記述との類似性の観点から考え始めたので、一般的なアイデアを理解したい場合は、得ることができる「現実世界」だと思います:
誰かに椅子の概念を説明して、彼らが見つけた新しいオブジェクトが椅子かどうかを予測できる概念モデルを取得したいとします。Ikeaに行って椅子のサンプルを入手し、2つの変数を使用して椅子の説明を開始します。これは、座れる4脚のオブジェクトです。まあ、それはまた、スツールやベッド、または他の多くのものを記述することがあります。あまりにも少ない変数で複雑な分布をモデル化しようとしているかのように、モデルは不十分です。多くの椅子ではないものが椅子として識別されます。そのため、変数の数を増やして、たとえばオブジェクトに戻る必要があることを追加しましょう。これで、椅子のセットを説明するかなり受け入れられるモデルができましたが、新しいオブジェクトを1つとして識別できるほど一般的です。モデルはデータを記述し、予測を行うことができます。ただし、すべての椅子が黒または白で、木製で作られたセットを手に入れたとしましょう。モデルにこれらの変数を含めることにしましたが、突然、プラスチックの黄色い椅子が椅子として識別されなくなります。したがって、モデルをオーバーフィットし、一般的な椅子の特徴であるかのようにデータセットの特徴を含めました(必要に応じて、サンプルからのランダムな変動を「現実世界の椅子」全体の特徴)。そのため、サンプルを増やして新しいマテリアルと色を含めるか、モデルの変数の数を減らします。t黄色いプラスチックの椅子を椅子として識別します。したがって、モデルをオーバーフィットし、一般的な椅子の特徴であるかのようにデータセットの特徴を含めました(必要に応じて、サンプルからのランダムな変動を「現実世界の椅子」全体の特徴)。そのため、サンプルを増やして新しいマテリアルと色を含めるか、モデルの変数の数を減らします。t黄色いプラスチックの椅子を椅子として識別します。したがって、モデルをオーバーフィットし、一般的な椅子の特徴であるかのようにデータセットの特徴を含めました(必要に応じて、サンプルからのランダムな変動を「現実世界の椅子」全体の特徴)。そのため、サンプルを増やして新しいマテリアルと色を含めるか、モデルの変数の数を減らします。
これは単純な類推とさらなる精査の下での故障かもしれませんが、一般的な概念化として機能すると思います...明確化が必要な部分があるかどうか教えてください。
予測モデリングのアイデアは、手元のデータを使用して、存在し、将来のデータに一般化できる傾向を発見することです。モデルにいくつかの軽微で重要ではない効果を持つ変数を含めることにより、このアイデアを放棄しています。あなたがしているのは、真の根本的なトレンドではなく、ランダムノイズのためにある特定のサンプルの特定のトレンドを考慮することです。つまり、変数が多すぎるモデルは、信号を検出するのではなく、ノイズに適合します。
これが私が話していることの誇張された図です。ここで、点は観測されたデータであり、線はモデルです。その完璧なフィット感を見てください-なんて素晴らしいモデルでしょう!しかし、私たちは本当にトレンドを発見したのでしょうか、それともノイズにちょうど合っているのでしょうか?おそらく後者。
過適合の形式は、スポーツではかなり一般的です。つまり、将来の結果を予測する力がないか、せいぜい漠然とした力で、過去の結果を説明するパターンを識別することです。これらの「パターン」の一般的な特徴は、多くの場合非常に少数のケースに基づいているため、純粋なチャンスがおそらくパターンの最も妥当な説明であることです。
例には次のようなものが含まれます(「引用」は私が作成しますが、よく似ています)
チームAは、コーチが魔法の赤いジャケットを着始めて以来、すべてのXゲームで優勝しています。
同様:
過去のXゲームで勝利するのに役立ったので、プレーオフ中に自分を剃ってはいけません。
迷信は少ないが、過剰適合の形式:
ボルシアドルトムントは、以前のブンデスリーガアウェイゲームで2ゴール以上負けた場合、チャンピオンズリーグホームゲームをスペインの対戦相手に一度も負けたことはありません。
同様:
ロジャー・フェデラーは、少なくともその年のオーストラリアン・オープンで準決勝に達したときに、ヨーロッパの対戦相手へのデイビスカップの出場をすべて勝ち取った。
最初の2つはかなり明白なナンセンスです(少なくとも私には)。最後の2つの例は、サンプル(つまり過去)で完全に当てはまりますが、この「情報」がドルトムントがマドリッドを破る確率に実質的に影響を与える対戦相手に賭けたいと思います。 1前の土曜日にシャルケで、またはその年に全豪オープンで優勝したとしても、フェデラーはジョコビッチを破った。
これは、研究で誰かが偶然に出会ったという意味ではなく、統計固有の多くの用語のない日常の概念を使用しているという意味での「実世界」の例です。たぶん、この言い方は、他の分野のトレーニングを受けている人にとってはもっと役立つでしょう。
まれな病気の患者に関するデータを含むデータベースがあると想像してください。あなたは医学の大学院生であり、この病気の危険因子を認識できるかどうかを見たいと思っています。この病院では8つの症例があり、年齢、人種、出生順、子供のはしかの有無など、それらに関する100のランダムな情報を記録しています。また、この病気のない8人の患者のデータを記録しました。
リスク因子に対して次のヒューリスティックを使用することを決定します。1人以上の病気の患者で因子が特定の値をとるが、0人の対照ではリスク因子と見なします。(実際には、より良い方法を使用しますが、私はそれをシンプルに保ちたいです)。6人の患者が菜食主義者である(ただし、コントロールはいずれも菜食主義者ではない)、3人がスウェーデン人の祖先であり、2人がspeech音障害を持っていることがわかります。他の97の要因のうち、複数の患者に発生するものはありませんが、コントロールには存在しません。
数年後、誰かがこの孤児の病気に興味を持ち、あなたの研究を再現します。彼は他の病院とデータ共有の協力関係がある大規模な病院で働いているため、彼はあなたの8症例ではなく106症例についてのデータを使用できます。そして、he音の有病率は患者グループとコントロールグループで同じであることがわかりました。st音は危険因子ではありません。
ここで起こったことは、あなたの小グループがランダムな偶然で25%のutter音者を持っていたことです。ヒューリスティックには、これが医学的に関連するかどうかを知る方法がありませんでした。モデルに含めるのに十分な「興味深い」データのパターンをいつ判断するかを決定する基準を与え、これらの基準によれば、st音は十分に興味深いものでした。
あなたのモデルは実際の世界では実際には関係のないパラメーターを誤って含んでいたため、オーバーフィットされました。サンプル(8人の患者+ 8人のコントロール)に適合しますが、実際のデータには適合しません。モデルがサンプルを現実よりもよく説明している場合、オーバーフィットと呼ばれます。
機能を持つ8人の患者のうち3人のしきい値を選択した場合、それは起こりませんでしたが、実際に興味深いものを見逃す可能性が高くなりました。特に、多くの病気が危険因子を示す少数の人々にしか起こらない医学では、それは難しいトレードオフです。それを回避する方法もあります(基本的に、2番目のサンプルと比較して、説明力が変わらないか、低下するかを確認します)が、これは別の質問のトピックです。
過適合の実際の例は、私が犯したのを助け、それから回避しようとしました(失敗しました):
数千の独立した2変量時系列があり、それぞれに50以下のデータポイントがあり、モデリングプロジェクトにはそれぞれにベクトル自己回帰(VAR)を当てはめる必要がありました。観測全体の正則化、分散成分の推定などは行われませんでした。時点は1年間にわたって測定されたため、データは、各時系列で1回だけ出現するあらゆる種類の季節的および周期的な影響を受けていました。
データの1つのサブセットは、他のデータと比べて信じられないほど高いグレンジャー因果率を示しました。スポットチェックにより、このサブセットで正のスパイクが1つまたは2つのラグで発生していることが明らかになりましたが、両方のスパイクが外部ソースによって直接引き起こされ、一方のスパイクが他方を引き起こしていないことがコンテキストから明らかでした。このモデルを使用したサンプル外予測は、モデルがオーバーフィットされているため、おそらく非常に間違っています。スパイクを残りのデータに平均化してスパイクを「平滑化」するのではなく、スパイクが実際に駆動しているという十分な観測はほとんどありませんでした推定値。
全体として、私はプロジェクトが悪くなったとは思いませんが、それが可能な限り有用な結果を生み出したとは思いません。この理由の一部は、1つまたは2つのラグだけでも、多数独立VARの手順がデータとノイズを区別するのに苦労していたため、後者についての洞察を提供することを犠牲にして後者に適合したことです前者。
このスレッドの多くの知的な人々---私よりもはるかに統計に精通しています。しかし、私はまだ素人の例のわかりやすいものを見ていません。大統領の例は、典型的な過剰適合の観点からは法案に当たらない。なぜなら、それはその野生の主張のそれぞれで技術的に過剰適合であるが、通常、過剰適合モデルは、その1つの要素だけでなく、与えられたノイズに過剰適合するからである。
ウィキペディアのバイアスと分散のトレードオフの説明にあるチャートがとても気に入っています:http : //en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff
(最下部のチャートは、オーバーフィッティングの例です)。
完全なマンボジャンボのように聞こえない実世界の例を考えるのは難しいです。考えは、データは測定可能で理解可能な変数によって引き起こされる一部であるということです---一部ランダムノイズ。このノイズをパターンとしてモデル化しようとすると、不正確になります。
古典的な例は、MS ExcelのR ^ 2のみに基づいたモデリングです(どれほど無意味でも、多項式を使用して、文字通りできるだけ方程式に近いモデルを当てはめようとしています)。
温度の関数としてアイスクリームの販売をモデル化しようとしているとします。「現実の」データがあります。データをプロットし、R ^ 2を最大化しようとします。実世界のデータを使用すると、近似近似式は線形でも二次でもありません(論理的に意味があります)。ほとんどすべての方程式と同様に、追加する無意味な多項式の項(x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43.2x ^ 2-29x)-データに近似します。それでは、温度とアイスクリームの売り上げとをどのように関係付けているのでしょうか?そのばかげた多項式をどのように説明しますか?真実は、それが本当のモデルではないということです。データをオーバーフィットしました。
あなたは、販売促進やその他の変数、または宇宙で羽ばたきする蝶のような「ノイズ」(予測不可能な何か)が原因である可能性のあるノイズを考慮せずに、温度に基づいてモデル化しようとしました。通常、ノイズ/エラーの平均がゼロにならないか、自己相関などがある場合、そこにはさらに多くの変数があることを意味します-そして、最終的には一般的にランダムに分布したノイズになりますが、それでも最高です説明する。
私のお気に入りは、1998年のワールドカップサッカー大会の前に発見された「3964フォーミュラ」です。
ブラジルは1970年と1994年に優勝しました。これら2つの数字を合計すると、3964が得られます。ドイツは1974年と1990年に勝ち、再び3964年になりました。1978年と1986年にアルゼンチンが勝ったのと同じことです(1978 + 1986 = 3964)。
これは非常に驚くべき事実ですが、誰もがそのルールに基づいて将来の予測を行うことはお勧めできないことを理解できます。実際、1998年のワールドカップの勝者は、1966年から1998年= 3964年までイングランドであり、1966年にイングランドが勝ったという規則があります。これは起こらず、勝者はフランスでした。
少し直感的ですが、役立つかもしれません。新しい言語を学びたいとしましょう。どうやって学ぶの?コースのルールを学習する代わりに、例を使用します。具体的には、テレビ番組。あなたは犯罪番組が好きで、警官番組のいくつかのシリーズを見ます。次に、別の犯罪ショーを取り、そのシリーズからいくつかのシリーズを見ます。3回目のショーまでに、ほとんどすべてを知っています。問題ありません。英語の字幕は必要ありません。
しかし、次の訪問時に路上で新しく学んだ言語を試してみると、「役員!その男が私のバッグを持ってその女を撃った!」と言う以外に何も話せないことに気付きます。「トレーニングエラー」はゼロでしたが、言語の「オーバーフィット」により、限られた単語のサブセットのみを学習し、十分であると仮定して、「テストエラー」が高くなります。