スイカ熟れ具合の音響分析と過剰適合の課題【ChatGPT統計解析】
スイカの熟れ具合を音で判別するために研究者たちは回帰モデルを用い、段階的回帰を駆使して音響データを分析しましたが、モデルが過剰適合しやすいことが問題です。特にスイカ43個に対して1600の変数を使用し、音響と熟れ具合を99.9%予測できたという結果は信じがたいものです。段階的回帰は統計的に有意な変数を選ぶため有用とされますが、多くの変数があると過剰適合や誤った結果を招きます。交差検証やAIC/BICといったペナルティーを導入する手法も提案されていますが、完璧な方法はなく、過剰適合を防ぎ慎重に解析を進めることが必要です。
▼▼▼▼▼▼▼▼
チャンネル登録はこちら
データをスイカに当てはめる
よくあるスイカの選び方の戦略として,たたいたときに特に鈍い音が出たスイカを選ぶというものがある。
この音はおそらく新鮮なスイカの好ましい特徴からもたらされたものだろう。
精確に測定する器具を使えば,どんなスイカでもその熟れ具合を音から予測することができるようなアルゴリズムを統計的に見つけられるはずだ。
私はこの問題に特に関心がある。
と言うのも,かつて,スイカをたたいたときの音を記録できるように,手のこんだ加速度計をコンピューターにつなげる回路を作って調べようとしたことがあるからだ。
だが,私はスイカ8個でしか試さなかった。
これでは,熟れ具合を予測する精確なシステムを作るにはデータがとても足りない。
だから,非常に精確にスイカの熟れ具合を予測すると主張した論文に出会ったとき,私は当然のように興奮した。
この論文では,音を測定することで熟れ具合の変動を99.9%予測できるとしていた。
だが,考えてみてほしい。
この研究では,回答者たちが43個のスイカを味見し,熟れ具合について5段階で評価した。
回帰は,音響に関して測定したさまざまなものから熟れ具合の評価を予測するのに使われた。
なぜ回帰方程式がここまで精確になりえたのだろうか。
回答者たちに同じスイカをもう一度評価させたとしたら,自分自身の評価に99.9%の精度で一致することはおそらくないだろう。
主観的な評価はそんなに一貫したものではない。
どれだけ精巧な手法だったとしても,これほどまでの精度で予測することはできないだろう。
何かがおかしい。
この論文の手法をさらに慎重に検討してみよう。
個々のスイカを1ヘルツから1000ヘルツの範囲の周波数で振動させ,周波数ごとに位相偏移(本質的に言えば,振動がスイカを通り抜けるのにどれだけかかるかということだ)を測定する。
試された周波数は1600通りで,回帰モデルには1600個の変数があることになる。
そして,それぞれの変数について,熟れ具合との関係を推定する必要がある。
ここでは,スイカの数よりも変数の方が多いので,ぴったりな回帰モデルで当てはめることができる。
直線がどの2つのデータ点にもぴったり当てはめられるのと同じように,43個の変数がある数式があれば,43個のスイカを測定したものにぴったり当てはめられるのだ。
これは深刻なほどの過剰さだ。
たとえ音響と熟れ具合の間に関係がまったくなくても,43個のスイカに対して100%の精度の回帰方程式を当てはめることができるのだ。
これでは,(もし存在するならば)音響と熟れ具合の間の関係だけでなく,個人の評価と測定における偶然変動までも説明することになってしまう。
モデルが完璧に当てはまると考えたとしても,新しいスイカで試したとしたら,そのスイカにはそれ自身の測定誤差と主観的な評価があるので,このモデルは役に立たないことになる。
この研究の執筆者たちは,この問題を段階的回帰(stepwise regression)を使って回避しようとした。
段階的回帰とは,回帰においてどの変数が最も重要かを選び出すためによく使われる手法で,最も単純なやり方では次のように行われる。
まず1600通りの周波数を測定したものがどれもモデルに使われない状況から始める。
1600通りの仮説検定を行い,どの周波数が結果に対して最も統計的に有意な関係があるかを調べる。
最も統計的に有意だった周波数をモデルに加えて,残った1599個の周波数について同じことを繰り返す。
この手続きを統計的に有意な周波数がなくなるまで続ける。
段階的回帰は多くの科学分野においてよく使われているが,この手法は一般に良くない考え方だ。
読者は,すでに多重比較という問題にお気づきかもしれない。
仮定の上では,統計的に有意な変数だけをモデルに加えることで過剰な当てはまりを防ぐことになるのだが,非常に多くの有意性検定を実施すれば偽陽性は免れえない。
だから,選ばれる変数のいくつかは偽のものになる。
段階的回帰の手法は,全体の偽陽性率について,何も保証してくれないし,「最良」の定義が何であれ,「最良」な変数の組み合わせを選び出すことを保証してくれるわけでもない(段階的回帰の他の手法では,統計的有意性を用いずに他の基準を用いるが、それでも多くの同様な問題に直面することになる)。
だから,統計的有意性という見せかけがあったとしても,段階的回帰はとんでもない過剰適合(overfitting)を導きやすい。
つまり,ほとんどぴったりデータに当てはまる数式でありながら,まったく別のデータセットで試せば役に立たないことが分かるようなものを生み出すのだ。
試しに,まったく熟れ具合と相関がないスイカの測定値をランダムに生み出すシミュレーションをしてみたところ,相関がないにもかかわらず,段階的回帰では99.9%の精度でデータが当てはまった。
選ばれる可能性がある変数が非常に多ければ,こうならない方がむしろ驚くべき結果になるだろう。
ほとんどの場合,段階的回帰は上記のような極端なものにはならない。
選ばれる可能性がある変数が1600個もあるような状況は非常にまれだ。
しかし,数ダースの変数がある100個の観察事例という控えめな状況だったとしても,段階的回帰は精度の推定と統計的有意性とで過剰な結果をもたらす。
事実の誇張はもっと油断のならない問題だ。
「統計的に有意でない」ことは「まったく影響がない」ことを意味しないのである。
もし,選ばれる可能性のある変数が多すぎ,データが少なすぎるという先ほどの例のように,研究の検定力が不足していれば,各々の変数の効果を確実にゼロと区別するための十分なデータがないということになるかもしれない。
そして,結果に及ぼす影響を過剰に高く見積もってしまうほど不運なときにのみ,変数をモデルに加えることになる。
そうしたモデルは非常に偏ったものになるだろう(たとえ正式な段階的回帰の手法を用いていなかったとしても,モデルを単純にするために「有意でない」変数を切り捨てることはしばしば行われている。
こうしたものについても,段階的回帰と同じ問題がもたらされる)。
段階的回帰には何種類かの方法がある。
先ほど説明したものは,何もないところに変数を加えていくことから始めることから前進選択(forward selection)と呼ばれる。
これとは別の方法として,後退消去(backward elimination)というものがある。
これは, 1600個の変数をすべて含んだモデルから始め,統計的に有意でないものを1つずつ外していくというものだ。
この手法は,スイカの例ではうまくいかない。
1600個の変数があるのに,スイカは43個しかないので,1600個の変数すべての効果を独自に決定するための十分なデータがないことになる。
最初の一歩でつまずくのだ。
新しい変数をモデルに加える基準は,別のものにすることも可能だ。
より現代的な手法では,統計的有意性のかわりに赤池情報量規準(Akaike information criterion; AIC)やベイズ情報量規準(Bayesian information criterion; BIC)のように多くの変数を含むモデルにペナルティーを与えることで過剰適合を減らす指標を用いる。
他の種類の段階的回帰では,さまざまな基準によって1段階ごとに変数の追加と除外が行われる。
ただし,方法が変わったときに同じ答えに帰着することは保証されないため,同じデータに対する2種類の分析がまったく違った結果になる可能性がある。
スイカの研究では,こうした要因が合わさって,ありえないほど精確な結果が生み出されたのだ。
さて,どうすればこうした問題を回避しつつ,回帰モデルを適切に評価できるのだろうか。
1つの方法として,交差検証がある。
これは,一部のスイカだけを使ってモデルを当てはめた上で,そのモデルを使って残ったスイカの熟れ具合を予測することで,モデルの有効性を試すものだ。
もしモデルが過剰適合となっているのであれば,交差検証でうまくいかなくなる。
広く使われている交差検証の手法として,1点抜き交差検証(leave-one-out cross-validation; LOOCV)がある。
この手法では,データ点を1個だけ除いたデータでモデルを当てはめた上で,そのモデルが残った1個のデータ点を予測する能力を評価する。
そして,残すデータ点を1つずつ変えて,この手続きを繰り返す。
スイカの研究では,1点抜き交差検証を実施したが,それでも同じように信じがたい結果が得られたと主張されている。
ただ,データを入手することなしに,この方法が本当にうまくいったかについて確信を持つことはできない。
こうした欠点があるにもかかわらず,段階的回帰は人気のある手法でありつづけている。
統計的に有意な効果がある変数を選ぶというのは,直感的には魅力的なアルゴリズムなのだ。
しかし,単一のモデルを選ぶことは,普通は馬鹿げたほど自信過剰なことなのだ。
選ばれる可能性がある変数が多数ある状況では,結果をほぼ同じぐらいうまく予測できる変数の組み合わせがたくさん存在することもしばしばある。
さらに43個のスイカを試したとしたら,熟れ具合を予測するための1600種類の音響から別の組み合わせを選んでいただろう。
段階的回帰は,誤解を招くような確実さを生み出す。
つまり,段階的回帰は,20個から30個の変数の組み合わせが熟れ具合を予測するための唯一の組み合わせだという主張を生み出すのだが,実は同じぐらいの予測ができる組み合わせは他にもたくさんあるのだ。
もちろん,ほんのわずかな数の変数だけが結果に影響していると信じることができる理由がある場合もあるだろう。
希少ガンの原因となる遺伝子を特定しようというときは,候補となる遺伝子が何千個とあっても,原因となるのはほんのわずかな数しかないと知っていることもあるだろう。
こうした場合は,最も良い予測を作り出すことに関心があるのではなく,単に原因となる遺伝子を知りたいだけなのだ。
段階的回帰はやはり最良の道具立てではない。
LASSO(最小絶対縮小選択演算子[least absolute shrinkage and selection operator]を短くしたもので,すばらしい略語だ)は数学的により優れた特性を有し,統計的有意性の主張で利用者をあざむくことがない。
しかし. LASSOは非の打ちどころのないものではない。
完璧な自動的解決法は存在しないのだ。
スイカの熟れ具合を音で判別するというアイデアは、多くの人々が実践するスイカの選別方法に基づいており、その根拠としてスイカをたたいた際に発生する音の違いが挙げられます。一般的には、より鈍い音を出すスイカが新鮮で熟しているとされています。しかし、これを科学的に精密に測定して分析するためには、音のデータを解析し、スイカの熟れ具合を予測する統計モデルを作成する必要があります。私自身、この問題に興味を抱いたのは、以前にスイカをたたいたときの音を記録し、加速度計とコンピューターを連結してその音を解析しようとした経験があるからです。しかし、その際はたった8個のスイカを試しただけであり、正確な予測モデルを作成するにはデータが不足していました。したがって、スイカの熟れ具合を音によって99.9%の精度で予測できると主張した論文を読んだとき、私は非常に興奮しました。論文によると、回答者たちが43個のスイカを味見し、それぞれの熟れ具合を5段階で評価し、その評価を基に音響データを使って回帰モデルが構築されました。音響データは、1ヘルツから1000ヘルツまでの周波数ごとに位相偏移(スイカを振動が通り抜ける時間)を測定し、その結果1600個の変数が導出されました。このモデルは、熟れ具合を99.9%の精度で予測できるとされていましたが、私はこの精度に疑問を感じました。まず、回答者が同じスイカを再度評価したとしても、自分の評価に99.9%の精度で一致することはあり得ないでしょう。人間の主観的な評価はそれほど一貫性のあるものではなく、評価には必ず個人差や変動があります。どれほど精巧な統計手法を用いても、過剰適合のリスクは避けられません。この論文の手法は、スイカの数よりも変数が多いため、ぴったりな回帰モデルを構築できてしまいます。たとえば、2つのデータ点に対して1本の直線を完璧に当てはめられるのと同じように、43個のスイカに対して1600個の変数を用いることで完璧なモデルを作り出せるのです。しかし、これは過剰適合という問題を引き起こします。モデルは訓練データに対しては非常によく当てはまるものの、新しいデータに対しては適用できません。つまり、モデルは訓練データの特性だけでなく、偶然の変動や回答者の個人的な評価までも説明してしまい、新しいスイカに対して役に立たなくなるのです。研究者たちはこの問題を回避するために段階的回帰(stepwise regression)を採用しました。段階的回帰は、回帰モデルを作成する際に、最も重要な変数を選び出す手法です。通常は、すべての変数がモデルに含まれていない状態から始め、統計的に有意な変数を1つずつ追加していきます。しかし、この手法は多重比較の問題を引き起こしやすく、偽陽性を生みやすいことが知られています。多くの変数を検定すると、統計的に有意な変数が選ばれる確率が高くなり、その中には偽陽性の変数が含まれることがあります。段階的回帰には、前進選択(forward selection)や後退消去(backward elimination)といった手法がありますが、いずれも過剰適合を引き起こしやすい点において問題を抱えています。特に、スイカの研究のように、1600個の変数を持ちながら43個のデータポイントしかない場合、データのバリエーションに対してモデルが過度に複雑になり、過剰適合の問題を避けることは困難です。段階的回帰は、統計的有意性によってモデルを簡素化し過剰適合を防ぐとされていますが、実際には検定を繰り返すことで偽陽性を生じやすく、その結果、選ばれた変数の中に誤ったものが含まれる可能性が高まります。また、段階的回帰は、「最良」のモデルを選択するという保証もありません。選ばれる変数が異なると、異なるモデルが生成され、同じデータセットでも結果が異なることがあります。赤池情報量規準(AIC)やベイズ情報量規準(BIC)といったペナルティを伴う基準を用いることで過剰適合を減らす手法もありますが、これでも問題が完全に解決するわけではありません。スイカの研究では、こうした限界や問題が組み合わさった結果、信じがたいほどの精度が報告されたのです。この問題を解決し、回帰モデルを適切に評価するための1つの方法が交差検証です。交差検証は、モデルが新しいデータに対しても有効かどうかを検証するための手法で、データを部分的に分割して、モデルを訓練とテストに使います。例えば、1点抜き交差検証(LOOCV)では、1つのデータポイントを除いてモデルを構築し、残りのデータを予測する能力を評価します。これをデータセット全体で繰り返し、モデルの有効性を確かめます。しかし、スイカの研究では、1点抜き交差検証を行っても同様の高精度な結果が得られたとされています。ただし、データが公開されていないため、この方法が適切に機能したかどうかを確認することは困難です。段階的回帰は統計的有意性に基づく変数選択が直感的に分かりやすく、多くの研究で採用され続けていますが、その結果として誤った自信を生み出すこともあります。特に変数が多数ある場合、同程度の予測精度を持つ変数の組み合わせが複数存在することがしばしばであり、選ばれたモデルが唯一の「正解」ではない可能性があります。43個のスイカで試した結果が1600個の音響変数から特定の組み合わせを選んだだけであり、再度試行すれば異なる組み合わせが選ばれるかもしれません。これにより段階的回帰は誤解を招くほどの確実性を持つように見せかけてしまうのです。一方で、LASSO(最小絶対縮小選択演算子)は、ペナルティを課して過剰適合を防ぎつつ、変数選択を行う方法として優れていますが、これも完璧ではありません。統計的手法において自動的な解決策は存在せず、慎重に解析し、モデルのバランスを見極める必要があります。音響データからスイカの熟れ具合を判定する取り組みは興味深いですが、データの取り扱いや統計手法の選定には慎重さが求められるのです。