「オーバーフィット」の実世界の例は何ですか?


107

「オーバーフィット」の意味をある程度理解していますが、オーバーフィットに適用される実世界の例をどのように考え出すかについての助けが必要です。


12
おそらく、「過剰適合の意味」について「理解の種類」を説明することができます。そうすれば、人々は、これらが何であるかを推測することなく、理解できない部分に対処できますか?
goangit 14

3
@ssdecontrolスプリアス相関は過適合ではありません。実際、スプリアス相関には明示的なモデルを含める必要はなく、通常、暗黙的なモデルは2つのパラメーターを持つ直線です。
ニックコックス14

1
@whuber:これはおそらくメタで議論するのにより適していますが、この投稿をコミュニティwikiに変換したことに驚いた。OPが将来の賛成票の評判を上げないということではないでしょうか?私にはそれは彼にとって「罰」のように見えます。その理由は何ですか?
アメーバ14

4
@amoebaこれは罰ではありません。明らかにこの質問には、正解も正解もありません。非CWの質問としての元の形式では、結果としてトピックから外れていましたが、すぐに閉じられるはずでしたが、ところで、コミュニティによってまとめて作成されたいくつかの良い例を持っていることには価値があるかもしれないため、CWステータスを付与します閉じるのでなく、合理的な解決策のようです。
whuber

17
これまでのところ、これらの回答のごくわずか(11のうち2つだけ!)が、実世界の例を求めている質問に対処しようとさえしています。これは、シミュレーションではなく、理論的な例ではなく、漫画ではなく、実際のデータに真剣に適用されたモデルを意味します。また、質問は、過剰適合とは何かの説明から回答を明確に遠ざけようとすることに注意してください。
whuber

回答:


96

以下は、xkcdの大統領選挙時系列モデルの良い例ですここに画像の説明を入力してください

大統領選挙は56回、大統領は43回のみです。それは多くの学習データではありません。予測子の空間が拡大して、偽の歯や名前のスクラブルポイント値などが含まれると、モデルはデータ(信号)の一般化可能な特徴を当てはめ、ノイズのマッチングを開始しやすくなります。これが発生すると、履歴データへの適合性が向上する可能性がありますが、将来の大統領選挙に関する推論を行うために使用すると、モデルは悲惨に失敗します。


15
これが過適合にどのように関係するかを説明するために、サンプルバイアスについて何かを追加する必要があると思います。漫画の切り貼りだけでは説明がありません。
ニールスレーター14

5
この例の優れた機能は、過剰適合と複雑さの違いを示していることです。「カリフォルニアに行くほど、国に行く」というルールは単純ですが、それでも過剰です。
トムミンカ14

2
実際、@ TomMinkaは、複雑さ(モデルが複雑すぎて単純なデータに収まらないため、追加のパラメーターが手元にあるものに収まる)によって、または指摘したように、適切なものよりも決定に重みを与えるノイズの多い機能によって引き起こされる可能性があります特徴。また、他にも多くのオーバーフィッティングの可能性のあるソースがあります(データまたはモデルの固有の分散、ターゲットの目標を表すのに適切でないデータなど)。過適合だけではなく、過適合sがあると言うべきだと思います(これは原因が1つしかないことを意味しますが、これはしばしば正しくありません)。
貪欲な14

80

私のお気に入りは、米国国勢調査人口対時間のMatlabの例でした:

  • 線形モデルはかなり良いです
  • 二次モデルが近い
  • 4次モデルは来年から始まる全滅を予測します

(少なくとも、これが過剰適合の例であることを心から願っています)

http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115ここに画像の説明を入力してください


1
彼らが言うプロットの下で正確に明確にするために:「データ範囲を超えた6次多項式フィットの振る舞いは、外挿の選択を貧弱にし、このフィットを拒否できます。
usεr1185215

49

Chenらの研究。(2013)2つの立方体を、緯度の関数としての平均寿命の想定される不連続性に適合させます。

チェンY.、エベンスタイン、A。、グリーンストーン、M。、およびリー、H。2013。中国のHu河政策からの平均寿命に対する大気汚染への持続的暴露の影響に関する証拠。National Academy of Sciences 110:12936–12941の議事録抽象

優れたジャーナルなどでの出版、著名な人々による暗黙の支持などにもかかわらず、私はこれを過剰適合の基本的な例として提示します。

物語の兆候は、立方体の信じがたいことです。立方体の近似は、あなたの住んでいる緯度の3次多項式として平均寿命が変化する理由があると暗黙的に仮定しています。それはかなり信じられないように思われる:そのような効果を引き起こすもっともらしい物理的メカニズムを想像することは容易ではない。

この論文のより詳細な分析については、次のブログ投稿も参照してください:因果推論に対する多項式回帰の持続的使用の影響に関する証拠(石炭加熱が5億人の寿命を5年短縮しているという主張)


5
+1 Andrew Gelmanは、信じられない理由について1つか2つのブログ投稿さえ書いています。1つです:andrewgelman.com/2013/08/05/…–
Sycorax

@ user777 Gelmanブログは、おそらく私がこのことを最初に聞いた方法でしょう。しかし、私は参照を与え、私の個人的なコメントの綿毛を追加し、人々が自分で判断できるようにすることが最も適切だと思いました。
ニックコックス14

1
@DWによる編集をカットし、さまざまな国の平均余命に関するコメントを紹介しましたが、これはこの論文の目的ではありません。
ニックコックス14

2
私が例示していると思う別の例は、(「現実の世界」よりも潜在的に不自然ですが)kaggleのような中間結果をフィードバックする予測競争です。通常、リーダーボードに結果を最適化する個人がいますが、彼らはホールドアウトサンプルの勝者ではありません。Rob Hyndmanがこれについていくらか議論しています。私はOPがここで望んでいると思うよりも、それはもう少し深い視点を取ります。
アンディW

2
これから出てきたGe​​lman&Imbensの論文を投稿しようとしています:nber.org/papers/w20405(残念ながらゲーティング)
shadowtalker 14

38

2014年3月14日の記事科学、デイビット・ラザー、ライアン・ケネディ、ゲイリー・キング、そしてアレサンドロ・ベスピニャニに問題識別Googleインフルトレンド彼らは過剰適合する属性ということを。

図

オーバーフィッティングの性質とアルゴリズムが失敗する原因の説明など、彼らが物語を語る方法は次のとおりです。

2013年2月、Natureは、GFTがインフルエンザ様疾患(ILI)の医師訪問の割合を疾病管理予防センター(CDC)の2倍以上と予測していると報告しました...。これは、GFTがCDCレポートを予測するために構築されたという事実にもかかわらず発生しました。...

本質的に、方法論は、1152個のデータポイントに適合する5,000万の検索語の中から最適な一致を見つけることでした。インフルエンザの傾向と一致するが構造的に無関係であり、将来を予測しない検索語を見つける可能性は非常に高かった。実際、GFTの開発者は、インフルエンザとは無関係であるが、高校のバスケットボールに関するものなど、CDCデータと強く相関している季節的な検索用語を除外することを報告しています。これは、ビッグデータが少数のケースに過剰に適合しているという警告であるはずです。これは、データ分析の標準的な関心事です。GFTが2009年の非季節性インフルエンザA-H1N1パンデミックを完全に見逃したため、この特殊な検索用語を捨てるアドホックな方法は失敗しました。

[エンファシスが追加されました。]


3
残念ながら、この例にはいくつかの問題があります。この論文は、GFTが悪い予測を行った2つのかなり異なる理由、つまり検索エンジンの過剰適合と変更を示唆しています。著者は、(もしあれば)どの理由が正しいのかを判断する立場にないことを認めているため、本質的に推測にすぎません。さらに、オーバーフィッティングに関するパラグラフはシステムの元のバージョンを指しますが、グラフの予測は修正されたシステムで行われました。
トムミンカ14

1
@Tom記事はあたかも過剰適合の疑惑が推測であるかのように書かれていません。著者はそれをきっぱりと主張しています。合理的な声明だと思います。彼らはまた、彼らがやや投機的でなければならない理由に取り組んでいます:Googleはアルゴリズムについてオープンでもなく、透明でもありませんでした。過剰適合が1つのバージョンのみで発生したのか、それとも多くのバージョンで発生したのかは、現在の目的では重要ではないように思われますが、著者もこれを取り上げ、現在のアルゴリズムでの過剰適合の継続の証拠を指摘しています。
whuber

2
この記事では、過剰適合はデータ分析の標準的な懸念事項であるとしか述べていません。過剰適合が理由であると主張していません。参考文献(2)はより詳細になりますが、過剰適合は「可能性のある問題」であり、「元のGFTモデルと更新されたGFTモデルを定義するために使用された検索アルゴリズムと結果のクエリ用語は非公開のままなので、システムのパフォーマンスが最適でない理由を特定し、改善のための推奨を行うことは困難です。」
トムミンカ14

@Tom私は、Google Fluモデルが現在の状況で考慮に値する理由を適切にサポートするものとして、ここに記載されている正確な引用を待ちます。
whuber

興味深い議論。線がラベル付けされている場合、グラフは引数をより適切にサポートする可能性があることを追加します。
rolando2 14

32

私は数週間前にこの画像を見ましたが、それは手近な質問にかなり関係があると思いました。

ミーム画像

シーケンスを線形にフィッティングする代わりに、完全に適合した4次多項式をフィッティングしましたが、明らかにばかげた答えになりました。


12
これは、質問されたとおりの質問には答えず、コメントとして投稿するか、まったく投稿しない方が良いかもしれません。これは、過剰適合の実世界の例を提供するものではありません(これは質問が求めたものです)。また、例の画像がどのように過適合に関連するかについても説明しません。最後に、それは非常に短いです。質問に関連する議論だけでなく、尋ねられた質問に答える徹底的で詳細な回答をお勧めします。
DW 14

9
実際、これは複雑すぎるモデルによるオーバーフィッティングの場合です。無限の高次(非線形)関数を作成して、シーケンスの異なる最後の項を無限に生成しながら、ここで説明するラグランジュ補間を使用することにより、他の(既知の)用語。
貪欲な14

@ user1121352漫画で、高次多項式真のモデルであるため、過剰適合に関するものではありません。「9」(次の奇数)や「11」(次の奇数素数)などの答えは、あまりにも単純なモデルを使用して次の値を予測するため、実際に適合しません。この漫画は実際には逆のケースを示しており、より複雑なモデルが当てはまる可能性があります。
Sycorax 14

8
(私が解釈した)4次多項式は、とんでもない解になる前にだれかが明らかにする答えは9(または他のOEIS値)になるので、とんでもない解になることを意図しています。「ドグ」形式は皮肉を伝えると思いましたが、ここで明らかにポーの法則が働いていることがわかります。
3月Ho

2
ただし、これがまさに私が作成しようとしているポイントです。つまり、真の機能が何なのかはわかりません。元の分析を行っている場合、OEISのような真実に訴えるリソースはありません。それが、モデルが確立しようとしているものです。漫画が皮肉を試みていることを感謝しますが、この特定の議論内での漫画の配置は、一般的に過剰適合と統計モデリングに関する質問に重要な微妙さをさらしています。元の作成者の意図は、ここで再コンテキスト化したため、無関係です!
Sycorax 14

22

私にとって最良の例は、天文学におけるプトレマイオスのシステムです。プトレマイオスは、地球が宇宙の中心にあると仮定し、空のオブジェクトの動きをかなりよく説明する、入れ子になった円軌道の洗練されたシステムを作成しました。天文学者は、偏差を説明するために円を追加し続けなければなりませんでした。そのとき、コペルニクスはより現実的なモデルを思いつきました。

これは私にとって過剰適合の最良の例です。データ生成プロセス(DGP)をデータにオーバーフィットすることはできません。誤って指定されたモデルのみをオーバーフィットできます。社会科学のほとんどすべてのモデルは誤って指定されているため、重要なのはこれを覚えて、それらを控えめにすることです。データセットのすべての側面をキャッチしようとするのではなく、簡素化を通じて重要な機能をキャプチャしようとします。


15
これは過剰適合の例ではないようです。予測モデルとしてのプトレマイオスのシステムには何の問題もありません。それは、座標系が銀河の重心から発生するのではなく、地心中心であるためにのみ複雑になります。したがって、問題は、非常に複雑なモデルで正確で正当な適合が行われたことです。(楕円はエピサイクルよりもはるかに単純です。)par約的な非線形モデルを見つけることは本当に難しいことです。
whuber

1
あなたは、プトレマイオス星系で木星の衛星の軌道をモデル化するために、多くの円で終わるでしょう。
アクサカル14

17
それは正しいですが、一見すると、それは必ずしも過剰適合ではありません。酸のテストは将来の価値の予測にあり、そのシステムでは1400年も耐えられるほどうまく機能しました。モデルが非常に複雑な場合はデータが過剰に適合しますが、外部の詳細をキャプチャすることにより、トレーニングデータのモデルの残差の分析から予想されるよりもはるかに不正確な予測を生成するほど柔軟性が高い場合です。
whuber

2
EY=k=09βkxi

2
EY=k=09βkxkx

22

グラフ上に100個のドットがあるとします。

あなたは言うことができる:うーん、私は次のものを予測したい。

  • 線で
  • 二次多項式
  • 3次多項式
  • ...
  • 100次の多項式

ここでは、この例の簡略図を見ることができます。 ここに画像の説明を入力してください

多項式の次数が高いほど、既存のドットにうまく適合します。

ただし、高次の多項式は、ドットのより良いモデルに見えますが、実際には過剰に適合しています。真のデータ分布ではなくノイズをモデル化します。

結果として、完全にフィットする曲線でグラフに新しいドットを追加すると、より単純な低次の多項式を使用した場合よりもおそらく曲線から遠くなります。


「結果として、完全にフィットする曲線でグラフに新しいドットを追加すると、より単純な低次の多項式を使用した場合よりもおそらく曲線から遠くなります」-さらに、新しいドットのデータ生成プロセス(つまり、母集団内の関係)は、実際には(過剰)適合したような高出力多項式でした。
シルバーフィッシュ

19
ここの写真は実際には正しくありません-たとえば、9次多項式は区分的線形関数としてのみプロットされていますが、実際にはポイント間の範囲で激しく上下に揺れるはずです。この効果は5次多項式でも見られるはずです。
ケンウィリアムズ14

17

福島の災害に貢献したかもしれない分析は、過剰適合の例です。地球科学には、観測された「より小さな」地震の頻度を考慮して、特定のサイズの地震の確率を記述するよく知られた関係があります。これはグーテンベルクとリヒターの関係として知られ、何十年にもわたって直線のログ近似を提供します。原子炉付近の地震リスクの分析(ネイトシルバーの優れた書籍「The Signal and the Noise」からのこの図)は、データに「ねじれ」を示しています。キンクを無視すると、マグニチュード9の地震の年間リスクは約300分の1と推定されます。これは間違いなく準備が必要なことです。しかしながら、(明らかに原子炉の初期リスク評価中に行われたように)デュアルスロープラインをオーバーフィッティングすると、リスク予測が13、000年に約1つに減少します。このようなありそうもない出来事に耐えられるように原子炉を設計しなかったことでエンジニアを非難することはできませんでした-しかし、データを過剰適合させた(そして外挿した)統計学者を間違いなく非難すべきです...

ここに画像の説明を入力してください


デュアルスロープモデルがオーバーフィットであったと結論付けられますか?ねじれが顕著です。たとえば、各ラインセグメントがそれぞれ3ポイントから推定された場合、単一のラインを推定するよりもホールドアウトの予測が良くなると思います。(もちろん、その後の「13,000年に1回」のイベントの観察は、これに反論します!しかし、それが起こらなかった場合、このモデルを再検討することはないので、解釈するのは困難です。)無視する物理的理由がある場合知覚されるねじれは、これが過適合である場合のほうが強い-そのようなデータが理想的なグーテンベルクとリヒターの関係にどれほどよく一致するかはわかりません。
シルバーフィッシュ14

これは非常にグラフィカルに...外挿の危険、および考慮にエラーの結果の重大性を取る損失関数の必要性を説明しない
紙魚

3
問題は、最後のポイントのいくつかに使用されるデータが非常に少ないことです。したがって、それらには多くの不確実性があります。データをよく見ると、単一の7.9イベントがあり、その後にいくつかの7.7イベントがあったことがわかります。8.0を超える地震はまれであるため、ほとんど知られていませんが、9.0の地震(津波を引き起こした東北の地震)を観察すると、独自の結論を導き出すことができます。直線は保守的かもしれませんが、原子力の安全性に関しては保守的です。
フローリス14

1
@フロリス良い点。観測された周波数だけでなく、それらの周波数の信頼区間も表示するボックスプロットを使用した方がよかったでしょう。そうすると、おそらく図の左側に非常に狭いボックスが、右側に非常に広いボックスが表示されます。(このような信頼区間は、各周波数がポアソン分布に従うと仮定して計算できます。)
user763305 14

3
@ user763305-はい、信頼区間を追加すると、直線がデータと矛盾しないことを示すと確信しています(つまり、データが直線に従うという帰無仮説を拒否することはできません)。
フローリス

15

「ああ!パットは会社を辞めています。どうやって代替品を見つけるつもりですか?」

求人情報:

募集:電気技師。電気工学、数学、畜産学の学位を持つ42歳の両性具有者。高さ68インチ、茶色の髪、左目上のほくろ、そしてガチョウに対する長い巻き上げられたdiatribesと「カウンセル」という言葉の誤用の傾向があります。

数学的な意味では、オーバーフィッティングとは、必要以上のパラメーターを使用してモデルを作成することを指し、特定のデータセットによりよく適合しますが、関心のあるクラスの他のデータセットに適合するために必要な関連する詳細をキャプチャしません。

上記の例では、ポスターは関連する特性と無関係な特性を区別できません。結果として生じる資格は、彼らがすでにその仕事に適していることを既に知っている(しかし、もうそれを望んでいない)人によってのみ満たされる可能性が高い。


8
おもしろいですが、この答えは統計的な意味でオーバーフィッティングが何を意味するかについての洞察を提供しません。おそらく、これらの非常に特定の属性と統計モデリングの間の関係を明確にするために、答えを拡張することができます。
Sycorax

+1マーク。私は@ user777に少しだけ同意します。たぶん文章が簡潔な例を持ち帰るでしょう。ただし、追加しすぎると、シンプルさが失われます。
ndoogan 14

これは素晴らしい答えだと思います-特にトレーニングデータの量がモデルの表現力を飽和させるのに不十分である一般的なケースで、トレーニングデータを本質的に記憶する非常に一般的なタイプのオーバーフィットを示します。
ケンウィリアムズ14

14

これは構成されていますが、私はそれがケースを説明することを願っています。

例1

k=100n=100

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

結果はかなり奇妙に見えますが、プロットしてみましょう。

ここに画像の説明を入力してください

X1X1

> sum(abs(data$X1-fitted(fit)))
[1] 0

それはゼロなので、プロットは私たちに嘘をついていませんでした:モデルは完全に適合しています。そして、分類はどれくらい正確ですか?

> sum(data$X1==fitted(fit))
[1] 100

X1

例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

R2=1X1

X1=10+X2×9+X3×8+X4×7+X5×6+X6×5+X7×4+X8×3+X9×2

X1=1

10+1×9+0×8+0×7+0×6+0×5+0×4+0×3+0×2

それはかなり自明です。例1例2に似ていますが、「ノイズ」が追加されていると考えることができます。十分なデータがあり、それを何かの「予測」に使用する場合、単一の「機能」が、偶然かもしれないが、従属変数をうまく説明する「パターン」を持っていることを確信させることがあります。では例2は何も本当に予測されていないが、まったく同じではで起こった例1だけ変数の値が異なっていました。

実生活の例

この実例は、有名な人々の暗殺に関する事実を明らかにするGlobal Consciousness Projectのコンピューター擬似乱数ジェネレーターによってランダムに描かれた数字の「パターン」または「Moby Dick」の「秘密のメッセージ」を見て、2001年9月11日のテロ攻撃を予測しています聖書の同様の発見に触発された)。

結論

よく見ると、何でも「パターン」が見つかります。ただし、これらのパターンでは、宇宙について何も学習できず、一般的な結論に到達するのに役立ちません。それらはデータに完全に適合しますが、データ自体には何も適合しないため、役に立たないでしょう。彼らが行うことは、データを記述するよりも模倣するため、合理的なサンプル外予測を行うことはできません。


5
この答えの先頭に実際の例を置くことをお勧めします。それが質問に実際に関連する部分です-残りは肉汁です。
シャドウトーカー14

8

実際に過適合になる一般的な問題は、正しく指定されたモデルの用語に加えて、無関係なものを追加した可能性があることです:正しい用語の無関係な力(または他の変換)、無関係な変数、または無関係な相互作用。

これは、正しく指定されたモデルには表示されないはずの変数を追加したが、省略された変数バイアスを誘発することを恐れているため、それを削除したくない場合に重回帰で発生します。もちろん、サンプル全体のみを見ることができず、正しい仕様が何であるかを確実に知ることができないため、誤って含めたことを知る方法はありません。(@Scortchiがコメントで指摘しているように、「正しい」モデル仕様などはないかもしれません。その意味で、モデリングの目的は「十分な」仕様を見つけることです。利用可能なデータから維持することができるよりも大きい。)過適合の実世界の例が必要な場合、これは毎回発生します。潜在的なすべての予測変数を回帰モデルに投入します。他の効果が部分的に除外されると、実際にはそれらのいずれかが応答と関係を持たない場合です。

このタイプの過剰適合では、これらの無関係な用語を含めても推定量に偏りが生じないため、非常に大きなサンプルでは、​​無関係な用語の係数はゼロに近いはずです。しかし、悪いニュースもあります:サンプルからの限られた情報がより多くのパラメーターを推定するために使用されるようになったため、精度が低くなります-本当に関連する用語の標準誤差が増加します。また、それらは、正確に指定された回帰からの推定値よりも真の値から遠くなる可能性が高いことを意味します。つまり、説明変数の新しい値が与えられた場合、オーバーフィットモデルからの予測は、正しく指定されたモデル。

以下は、2010年の米国50州の対数人口に対する対GDPのプロットです。10州のランダムサンプルが選択され(赤で強調表示)、そのサンプルに対して単純な線形モデルと次数5の多項式が適合します。ポイントの場合、多項式には余分な自由度があり、直線よりも観測データに近い「うねり」ができます。ただし、50の状態は全体としてほぼ線形の関係になっているため、40のサンプル外のポイントでの多項式モデルの予測パフォーマンスは、特に外挿の場合、それほど複雑でないモデルに比べて非常に劣っています。多項式は、サンプルのランダム構造(ノイズ)の一部に効果的に適合しましたが、これはより広い母集団に一般化されませんでした。観察されたサンプルの範囲を超えて外挿することは特に不十分でした。この回答の今回の改訂。)

過度に複雑なモデルからの外挿

Ryi=2x1,i+5+ϵix2x3x1x2x3

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

x1R2

>     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

R2R2

>     with(holdout.df, sum((y - overfitPred)^2)) #SSE
[1] 1271557
>     with(holdout.df, sum((y - correctSpecPred)^2))
[1] 1052217

R2y^y(そして、正しく指定されたモデルよりも自由度が高いため、「より良い」フィットを生成できます)。ホールドアウトセットの予測の2乗誤差の合計を見てください。これは、回帰係数の推定に使用しなかったため、オーバーフィットモデルのパフォーマンスがどれほど悪いかを確認できます。実際には、正しく指定されたモデルが最良の予測を行うモデルです。モデルの推定に使用した一連のデータの結果に基づいて、予測パフォーマンスの評価を行うべきではありません。エラーの密度プロットを次に示します。正しいモデル仕様では、0に近いエラーがさらに生成されます。

ホールドアウトセットの予測エラー

シミュレーションは、多くの関連する現実の状況を明確に表します(単一の予測子に依存する現実の応答を想像し、モデルに外部の「予測子」を含めることを想像してください)が、データ生成プロセスで遊ぶことができるという利点があります、サンプルサイズ、オーバーフィットモデルの性質など。これは、観測データについては一般にDGPにアクセスできないため、オーバーフィットの影響を調べることができる最良の方法であり、それを調べて使用できるという意味では「実際の」データです。試してみる価値のあるアイデアを次に示します。

  • シミュレーションを数回実行して、結果の違いを確認します。小さなサンプルサイズを使用すると、大きなサンプルサイズよりも多くのばらつきが見られます。
  • n <- 1e6x1
  • 分散共分散行列の非対角要素で遊んで、予測変数間の相関を減らしてみてくださいSigma。正の半正値(対称であることを含む)に保つことを忘れないでください。多重共線性を減らすと、オーバーフィットモデルのパフォーマンスはそれほど悪くなりません。ただし、相関予測子は実際に発生することに注意してください。
  • オーバーフィットモデルの仕様を試してみてください。多項式の項を含めるとどうなりますか?
  • ydf$y <- 5 + 2*df$x1 + rnorm(n=nrow(df))yxi
  • yx2x3x1df$y <- 5 + 2 * df$x1 + 0.1*df$x2 + 0.1*df$x3 + rnorm(n=nrow(df))x2x3xx1x2x3nsample <- 25x1x2x3nsample <- 1e6、より弱い効果をかなりよく推定でき、シミュレーションは、複雑なモデルが単純なモデルよりも優れた予測力を持っていることを示しています。これは、モデルの複雑さと利用可能なデータの両方の問題が「過適合」であることを示しています。

1
(-1)過剰適合は、正しく指定されたモデルに表示されない「無関係な」または「外来の」用語を含めることだけの結果ではないことを理解することがかなり重要です。実際、多くのアプリケーションでは、単純な真のモデルのアイデアはあまり意味がなく、予測モデリングの課題は、利用可能なデータの量に比例する複雑さを持つモデルを構築することであると主張されるかもしれません。
Scortchi

1
移民改革を支援するために私の議員にあなたの写真を送ります
プロトタイプ14

1
(+1)編集は、理解しやすさを犠牲にすることなく、過剰適合の説明を改善すると思います。
スコルチ

1
@Aksakal私は質問に答えようとしました:「オーバーフィットに適用される実世界の例をどのように思いつくかについての助けが必要です」。OPが過剰な公開論文を見つけるように求められたのか、それとも-「自然になります」というより自然な意味で-独自の例を構築するよう求められたのかは不明です。オーバーフィッティングが悪い場合、実際の生活の中でなぜオーバーフィットするのでしょうか?私の答えは、アナリストが過剰に指定されたモデルと不十分に指定されたモデル(OVBの恐れや関係が曲線的であるという疑いのため)を誤ることを好むかもしれないという例です。グラフ/シミュレーションは単に結果を示しています。サンプル外の予測が悪い
Silverfish

1
@Aksakal多項式モデルがグラフにとって「非現実的」であることは私には明らかではありません。主な特徴は線形ですが、完全に線形であることを知っていますか?仮に数百万の政治単位にアクセスでき、どちらかの方法で人生を賭けなければならなかった場合、すべての多項式項が取るに足りないというよりも、わずかな曲線関係を検出したほうがいいでしょう。これにも関わらず、低nにフィッティングすると、線形モデルのみがオーバーフィッティングを回避します。(「可能な米国の州」の理論的に無限の人口からのサンプリングが困難なため、これを解決することはできません。これはシミュレートされたデータの利点です!)
Silverfish

4

自分でこれを理解しようとしていたとき、実際のオブジェクトの記述との類似性の観点から考え始めたので、一般的なアイデアを理解したい場合は、得ることができる「現実世界」だと思います:

誰かに椅子の概念を説明して、彼らが見つけた新しいオブジェクトが椅子かどうかを予測できる概念モデルを取得したいとします。Ikeaに行って椅子のサンプルを入手し、2つの変数を使用して椅子の説明を開始します。これは、座れる4脚のオブジェクトです。まあ、それはまた、スツールやベッド、または他の多くのものを記述することがあります。あまりにも少ない変数で複雑な分布をモデル化しようとしているかのように、モデルは不十分です。多くの椅子ではないものが椅子として識別されます。そのため、変数の数を増やして、たとえばオブジェクトに戻る必要があることを追加しましょう。これで、椅子のセットを説明するかなり受け入れられるモデルができましたが、新しいオブジェクトを1つとして識別できるほど一般的です。モデルはデータを記述し、予測を行うことができます。ただし、すべての椅子が黒または白で、木製で作られたセットを手に入れたとしましょう。モデルにこれらの変数を含めることにしましたが、突然、プラスチックの黄色い椅子が椅子として識別されなくなります。したがって、モデルをオーバーフィットし、一般的な椅子の特徴であるかのようにデータセットの特徴を含めました(必要に応じて、サンプルからのランダムな変動を「現実世界の椅子」全体の特徴)。そのため、サンプルを増やして新しいマテリアルと色を含めるか、モデルの変数の数を減らします。t黄色いプラスチックの椅子を椅子として識別します。したがって、モデルをオーバーフィットし、一般的な椅子の特徴であるかのようにデータセットの特徴を含めました(必要に応じて、サンプルからのランダムな変動を「現実世界の椅子」全体の特徴)。そのため、サンプルを増やして新しいマテリアルと色を含めるか、モデルの変数の数を減らします。t黄色いプラスチックの椅子を椅子として識別します。したがって、モデルをオーバーフィットし、一般的な椅子の特徴であるかのようにデータセットの特徴を含めました(必要に応じて、サンプルからのランダムな変動を「現実世界の椅子」全体の特徴)。そのため、サンプルを増やして新しいマテリアルと色を含めるか、モデルの変数の数を減らします。

これは単純な類推とさらなる精査の下での故障かもしれませんが、一般的な概念化として機能すると思います...明確化が必要な部分があるかどうか教えてください。


「ノイズ」と「信号」の概念、およびオーバーフィットモデルがノイズを説明しているという事実について、詳しく説明してください。
-quirik

4

予測モデリングのアイデアは、手元のデータを使用して、存在し、将来のデータに一般化できる傾向を発見することです。モデルにいくつかの軽微で重要ではない効果を持つ変数を含めることにより、このアイデアを放棄しています。あなたがしているのは、真の根本的なトレンドではなく、ランダムノイズのためにある特定のサンプルの特定のトレンドを考慮することです。つまり、変数が多すぎるモデルは、信号を検出するのではなく、ノイズに適合します。

これが私が話していることの誇張された図です。ここで、点は観測されたデータであり、線はモデルです。その完璧なフィット感を見てください-なんて素晴らしいモデルでしょう!しかし、私たちは本当にトレンドを発見したのでしょうか、それともノイズにちょうど合っているのでしょうか?おそらく後者。

ここに画像の説明を入力してください


4

過適合の形式は、スポーツではかなり一般的です。つまり、将来の結果を予測する力がないか、せいぜい漠然とした力で、過去の結果を説明するパターンを識別することです。これらの「パターン」の一般的な特徴は、多くの場合非常に少数のケースに基づいているため、純粋なチャンスがおそらくパターンの最も妥当な説明であることです。

例には次のようなものが含まれます(「引用」は私が作成しますが、よく似ています)

チームAは、コーチが魔法の赤いジャケットを着始めて以来、すべてのXゲームで優勝しています。

同様:

過去のXゲームで勝利するのに役立ったので、プレーオフ中に自分を剃ってはいけません。

迷信は少ないが、過剰適合の形式:

ボルシアドルトムントは、以前のブンデスリーガアウェイゲームで2ゴール以上負けた場合、チャンピオンズリーグホームゲームをスペインの対戦相手に一度も負けたことはありません。

同様:

ロジャー・フェデラーは、少なくともその年のオーストラリアン・オープンで準決勝に達したときに、ヨーロッパの対戦相手へのデイビスカップの出場をすべて勝ち取った。

最初の2つはかなり明白なナンセンスです(少なくとも私には)。最後の2つの例は、サンプル(つまり過去)で完全に当てはまりますが、この「情報」がドルトムントがマドリッドを破る確率に実質的に影響を与える対戦相手に賭けたいと思います。 1前の土曜日にシャルケで、またはその年に全豪オープンで優勝したとしても、フェデラーはジョコビッチを破った。


3

これは、研究で誰かが偶然に出会ったという意味ではなく、統計固有の多くの用語のない日常の概念を使用しているという意味での「実世界」の例です。たぶん、この言い方は、他の分野のトレーニングを受けている人にとってはもっと役立つでしょう。

まれな病気の患者に関するデータを含むデータベースがあると想像してください。あなたは医学の大学院生であり、この病気の危険因子を認識できるかどうかを見たいと思っています。この病院では8つの症例があり、年齢、人種、出生順、子供のはしかの有無など、それらに関する100のランダムな情報を記録しています。また、この病気のない8人の患者のデータを記録しました。

リスク因子に対して次のヒューリスティックを使用することを決定します。1人以上の病気の患者で因子が特定の値をとるが、0人の対照ではリスク因子と見なします。(実際には、より良い方法を使用しますが、私はそれをシンプルに保ちたいです)。6人の患者が菜食主義者である(ただし、コントロールはいずれも菜食主義者ではない)、3人がスウェーデン人の祖先であり、2人がspeech音障害を持っていることがわかります。他の97の要因のうち、複数の患者に発生するものはありませんが、コントロールには存在しません。

数年後、誰かがこの孤児の病気に興味を持ち、あなたの研究を再現します。彼は他の病院とデータ共有の協力関係がある大規模な病院で働いているため、彼はあなたの8症例ではなく106症例についてのデータを使用できます。そして、he音の有病率は患者グループとコントロールグループで同じであることがわかりました。st音は危険因子ではありません。

ここで起こったことは、あなたの小グループがランダムな偶然で25%のutter音者を持っていたことです。ヒューリスティックには、これが医学的に関連するかどうかを知る方法がありませんでした。モデルに含めるのに十分な「興味深い」データのパターンをいつ判断するかを決定する基準を与え、これらの基準によれば、st音は十分に興味深いものでした。

あなたのモデルは実際の世界では実際には関係のないパラメーターを誤って含んでいたため、オーバーフィットされました。サンプル(8人の患者+ 8人のコントロール)に適合しますが、実際のデータには適合しません。モデルがサンプルを現実よりもよく説明している場合、オーバーフィットと呼ばれます。

機能を持つ8人の患者のうち3人のしきい値を選択した場合、それは起こりませんでしたが、実際に興味深いものを見逃す可能性が高くなりました。特に、多くの病気が危険因子を示す少数の人々にしか起こらない医学では、それは難しいトレードオフです。それを回避する方法もあります(基本的に、2番目のサンプルと比較して、説明力が変わらないか、低下するかを確認します)が、これは別の質問のトピックです。



3

過適合の実際の例は、私が犯したのを助け、それから回避しようとしました(失敗しました):

数千の独立した2変量時系列があり、それぞれに50以下のデータポイントがあり、モデリングプロジェクトにはそれぞれにベクトル自己回帰(VAR)を当てはめる必要がありました。観測全体の正則化、分散成分の推定などは行われませんでした。時点は1年間にわたって測定されたため、データは、各時系列で1回だけ出現するあらゆる種類の季節的および周期的な影響を受けていました。

データの1つのサブセットは、他のデータと比べて信じられないほど高いグレンジャー因果率を示しました。スポットチェックにより、このサブセットで正のスパイクが1つまたは2つのラグで発生していることが明らかになりましたが、両方のスパイクが外部ソースによって直接引き起こされ、一方のスパイクが他方を引き起こしていないことがコンテキストから明らかでした。このモデルを使用したサンプル外予測は、モデルがオーバーフィットされているため、おそらく非常に間違っています。スパイクを残りのデータに平均化してスパイクを「平滑化」するのではなく、スパイクが実際に駆動しているという十分な観測はほとんどありませんでした推定値。

全体として、私はプロジェクトが悪くなったとは思いませんが、それが可能な限り有用な結果を生み出したとは思いません。この理由の一部は、1つまたは2つのラグだけでも、多数独立VARの手順がデータとノイズを区別するのに苦労していたため、後者についての洞察を提供することを犠牲にして後者に適合したことです前者。


1

このスレッドの多くの知的な人々---私よりもはるかに統計に精通しています。しかし、私はまだ素人の例のわかりやすいものを見ていません。大統領の例は、典型的な過剰適合の観点からは法案に当たらない。なぜなら、それはその野生の主張のそれぞれで技術的に過剰適合であるが、通常、過剰適合モデルは、その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)-データに近似します。それでは、温度とアイスクリームの売り上げとをどのように関係付けているのでしょうか?そのばかげた多項式をどのように説明しますか?真実は、それが本当のモデルではないということです。データをオーバーフィットしました。

あなたは、販売促進やその他の変数、または宇宙で羽ばたきする蝶のような「ノイズ」(予測不可能な何か)が原因である可能性のあるノイズを考慮せずに、温度に基づいてモデル化しようとしました。通常、ノイズ/エラーの平均がゼロにならないか、自己相関などがある場合、そこにはさらに多くの変数があることを意味します-そして、最終的には一般的にランダムに分布したノイズになりますが、それでも最高です説明する。


2
大統領漫画の後の「モデル」はない、すべての与えられたノイズに合います。
ベンフォイト14

馬鹿げたルールはすべての過去の大統領を正確に予測するだろうが、漫画は私の意見ではほとんどの過剰適合シナリオに類似していない。ほとんどの予測は二分変数を予測していません。また、次の選挙で破られるまさにそのルールについてユーモラスに言及しています-つまり、オーバーフィットモデルは常に間違って保証されており、将来の完璧な予測子になります。ほとんどのオーバーフィットモデルは、無関係であるかどうかをテストできる1つの誤った変数に基づいていません。通常は、モデル内の変数が多すぎて、R ^ 2を減らすために無計画に投げ込まれます。
ジョンバブソン14

0

ほとんどの最適化方法には、ハイパーパラメーターとも呼ばれるファッジファクターがあります。実際の例:

Nmin=5,  finc=1.1,  fdec=0.5,  αstart=0.1,  fα=0.99.

これは過剰適合ですか、それとも特定の問題に適合していますか?



0

私のお気に入りは、1998年のワールドカップサッカー大会の前に発見された「3964フォーミュラ」です。

ブラジルは1970年と1994年に優勝しました。これら2つの数字を合計すると、3964が得られます。ドイツは1974年と1990年に勝ち、再び3964年になりました。1978年と1986年にアルゼンチンが勝ったのと同じことです(1978 + 1986 = 3964)。

これは非常に驚くべき事実ですが、誰もがそのルールに基づいて将来の予測を行うことはお勧めできないことを理解できます。実際、1998年のワールドカップの勝者は、1966年から1998年= 3964年までイングランドであり、1966年にイングランドが勝ったという規則があります。これは起こらず、勝者はフランスでした。


-2

少し直感的ですが、役立つかもしれません。新しい言語を学びたいとしましょう。どうやって学ぶの?コースのルールを学習する代わりに、例を使用します。具体的には、テレビ番組。あなたは犯罪番組が好きで、警官番組のいくつかのシリーズを見ます。次に、別の犯罪ショーを取り、そのシリーズからいくつかのシリーズを見ます。3回目のショーまでに、ほとんどすべてを知っています。問題ありません。英語の字幕は必要ありません。

しかし、次の訪問時に路上で新しく学んだ言語を試してみると、「役員!その男が私のバッグを持ってその女を撃った!」と言う以外に何も話せないことに気付きます。「トレーニングエラー」はゼロでしたが、言語の「オーバーフィット」により、限られた単語のサブセットのみを学習し、十分であると仮定して、「テストエラー」が高くなります。


8
それは過剰なものではなく、言語のサブセットを学習しているだけです。犯罪のショーを見た後、犯罪に関連するすべてのトピックで英語と一致するが、他のトピックについて話すときに完全に意味のない(または中国語)言語全体を学習すると、過剰適合になります。
アメーバ14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.