初心者むけICTと並んで取り上げたいと思っているのが、タイトルにある「研究者のための役立つ統計解析」です。主に、理数系、工学系の研究で役立つ話ができればと思っています。
こう書くと、「そういう現場では既にDX化が強力に推進されていて、今さら個人のブログで書くようなことは残っていないのでは?」と思われるかもしれない。だけど、実際はそうでもなくて、「現場に打ち捨てられた取りこぼし」見たいなことが結構あるのではないかと思っている。
例えば、下に引用したコラムでGoogle JapanのOzaki氏が述べている「多重比較」の問題がある。次のような例を考えよう:
「20種の試作品を5個ずつ準備し、それらの性能データをとった。これらの試作品の性能に差があるかどうか知りたい」
典型的にダメなやり方は、「これら20組の試作品から2組ずつ取り出して、性能データの平均値のt検定を繰り返し、差が出る組があるかどうか見る」というやつで、考えてみれば、有意水準5%の検定を20回行えば、もともと差がなくとも平均して1回くらい差が見える(差がないという帰無仮説が棄却される)ことは見当がつくだろう。こういうのを「多重比較」というが、もちろん、こんなデータで試作品の出来栄えを判断したら大変ことになる。
言っておくと、これは統計学の教科書にも出てくる「悪い例」であり、そういう時は、20種の試作品間の性能データのブレ(群間変動)を、各試作品のn=5でのブレ(群内変動)と比較し、分散分析で「すべての試作品の性能に有意差があるのかどうか」検定すべきであるとされる(*)。なので、周到な人は上のようなことはしないと思うが、次のような例ではどうか?
「製造条件を変えて多数の試作品を準備し、各々につき、いくつかの性能評価を実施した。製造条件と性能評価項目で、計20種のパラメータがある。これらのパラメータで、互いに相関しているものがないか、見たい。」
これは、ありがちな状況だと思うが、皆さん、どうしますか? まずは各対の相関を見てみる、さらにもしRやMinitabを使えれば、行列散布図を作って眺めてみるのではないかと思います。で、相関がありそうな組み合わせが見つかったら、それを取り出して、回帰分析をやってみる。そして、傾きのp値が0.05以下だったら、「これだ」ということになる。
しかし、これでメデタシとならないのは、先ほどと同様な、「多重比較の問題」が潜んでいる可能性があるからです。石ころの中のダイヤモンドかと思ったら、ばらつきのためにたまたま輝いて見えた石ころだったかもしれない。
ではどうするか。機械学習風の言い方をすると、相関が見えているデータの組では「過学習」が起こっている可能性があるので新たなデータセットで「汎化性能」を確認せよ -結局は、再現性をちゃんと見よということだが- ということなる。
まあ、まとめてしまうと身も蓋もない話だが、とは言え、単純に見える多重比較の問題が、過去のものではなく、軽視できるものでもないことは認識してして頂いたほうが良いと考えます。このことは、引用した2018年のコラムで詳しく議論されていることからも分かるかと。
今後、こういった感じでいろいろ書き連ねていきたいと思いますので、よろしくお願いします。
(*)ちなみに、2群間でも分散分析を行うことはできるが、これは。t検定と数学的に同等であることを示すことができる。