HARKING〜データの二度漬け禁止

ここでは、研究不正の手法としてHARKING、いわゆるデータの二度漬けについて、なぜそれがダメで、ではどうすれば良いのかを解説します。

はじめに

統計学はデータに基づいて現象を解明する強力なツールですが、不正な手法が使われることでその信頼性が損なわれることがあります。特に、HARKING(Hypothesizing After the Results are Known)やp-hackingといった手法は、研究結果を意図的に誤った方向に導いてしまうことが知られています。この記事ではHARKINGについて紹介します。p-hackingも結構話題になりますが別記事で書こうかと思います。

HARKINGとは

HARKINGとは、「結果が分かった後で仮説を立てる」行為を指します。これは、研究者がデータを分析して興味深い結果が得られた後で、その結果に基づいて新たな仮説を立て、それをあたかも最初から立てていたかのように報告する手法です。

データサイエンス界隈ではEDA(Explanatory Data Analysis)といって、あまり仮説を立てずにデータを探索的に分析して洞察を得るということが行われます。これ自体は良いのですが、EDAに使ったデータを用いて論文を書いてしまうとHARKINGになってしまうというわけです。

なぜダメなのか

HARKINGを行うと再現性が疑わしくなるからです。つまり、EDAで見つけた洞察はそのデータだけに偶然現れた現象だったかもしれないからです。機械学習的にいうと、意味のないノイズをモデルに取り込んでしまって過学習になってしまうとなります。

再現性の欠如は、科学の知見の蓄積にゴミが混ざるに等しいといってもよく、そのゴミを前提とした後続の研究や社会活動もゴミになってしまうかもしれないという点で有害です。

もう少し世俗的な言い方をすると、株とかのテクニカル分析のロジック開発においてバックテストで「聖杯を見つけたぜ!」となってもフォワードでは全然ダメ、みたいな状況になってしまうわけです。

ではどうするのか

簡単に言えば、データセットは二つに分ける、となります。つまり、

  • EDA用:探索的にデータをこねくり回して洞察を得て、仮説を構築する。
  • 仮説検証用:仮説の通りになっているかを検証する。

という二つのデータセットが必要です。これも機械学習的にいうと、train/validに分けるという話です。EDAの前にデータセットを分割しないのであれば、仮説検証には新たなデータセットが必要になります。

もしEDA用データセットから得られた仮説が仮説検証用データセットで確認できなければ、EDAで得られた洞察は偶然だったとしてその仮説はあきらめましょう。

注意したいのが、EDA用で仮説を見つけて仮説検証用で検証するというのを繰り返してもダメで、仮説検証用のデータは一回しか検証に使えないということです。仮説検証用での検証を繰り返した時点でHARKINGに一歩踏み出したことになり、trainだけでなくValidデータへの過学習が疑われてしまいます。

査読で見抜けないのか

「Science Fictions」でも言及されていたように、研究者が後から仮説を立てたことを明示しない場合、査読者は提出された論文の前提をそのまま受け入れる傾向があるようです。そうなると査読において、これはHARKINGかも、とならないケースは多いのかもしれません。

特に、前節での注意点で挙げたようなvalidationを繰り返すような操作があったとすると、見た目はtrain/validを分けて真っ当に仮説を構築および検証しているように見えても実はHARKINGになっているという場合もありそうです。

これは論文ではないので良いかもですが、マーケティング系のビジネスでの機械学習モデリングはそうやって得られたものをデプロイしているケースが多いような気がします。で、うまくいかなかったら外部環境の変化のせいにする、と。

ただ、我が社のデータを使ってすごい手法を発見しました的な論文でも、再現性に関心があれば、それはたまたまか都合のいいデータで見せているだけじゃないのとか思ったりするので、仕組みや啓蒙で改善していきそうな気はします。

結論

データの二度漬けはやめましょう。データは二つ用意しましょう。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *