統計学やデータサイエンスの分野において、フローチャートを良く見かけるのだけど、結構危険だと個人的に感じる。
のでこのもやもやを頑張って言語化してみる。
特にデータサイエンティストになりたての初学者やフローチャートを参考にしたことがある人は読んでほしい。
例えば
・データが正規分布?->t検定
・対応あり?->対応ありt検定
・3群以上?->ANOVA
みたいなやつ。
もちろん教育的な入り口として一定の価値はあると思う。
各手法の分かりやすい違いが一覧できている、みたいな観点では勉強のきっかけになり得るので良いものではあると思う。
一方で、実務や研究の現場でこの思考法を持ち込むのは、ものすっごい危険。
なので読み手のスタンスとリテラシーがすごい重要で、それにリスクが大きく潜んでいる思う。
前提や仮定、手法の特性について分かってて、かつ解きたい問題についてどういうバイアスが乗りそうでどういうリスクが潜んでいるか、を認識したうえで利用するのであればまだわかる。
(ただ、それを分かっていればそもそもフローチャートを使う必要がそもそもない)
そもそも統計的検定を始めとした効果検証の領域の問題はyes/noの境界を作れるものではないし、無数の切り口と無数の妥当さが存在するんですよね。
例えば、データが正規分布に従う、と仮定する場合は~~~みたいなフロー。何をもって正規分布と仮定するのか、本当に正規分布と仮定して良いのか、って話です。
今回はこういうデータでこういう問題を解いていて、
ドメインからこういう仮定がおけて、
データを観測する限りこれぐらいの誤差がありそうで、
そのリスクは許容できそうだから、
正規分布とみなして問題を解こう、
だからこの手法を使ってよいんだ。
みたいな考え方が大事なんですよね。
フローチャートを使うってことは、判断をyes/noで境界を雑に作っている(分布の仮定、サンプルサイズ、バイアス、...)ってことで、
重要な情報を捨てていて、そのリスクを認識する行為を放棄することと同義です。
なので、ものすごい危険な判断が潜みます。
更に厳しいことを言うと、ちゃんと問題設定を作りこめていれば回帰分析(GLMや階層モデルを含む)の問題に結局は落ち着くことがほとんどで、
これが作れない時点で問題設定から破綻していて、害悪な結果しか生み出さないことが目に見えてます。
つまり問題設定を作り、それを適切にモデリングができるかどうかが重要であって、それができない時点で破綻してるかデータ理解が足りてないんですよね。
フローチャートを実務の問題に適用する時点で、それはもう間違った結果を生み出す可能性が非常に高いと認識したほうが良いです。
データサイエンスってフローチャートやフレームワークを模倣して、理解していない状態で物事を進めるケースが非常に多いです。
データサイエンティストとして最も怖いのは、理解していないことを理解していない状態に陥ること、だからな。
なので、
手抜きをせず、
正しくデータと向き合い、
正しく手法を理解し、
フローチャートではなく自身のロジックと根拠を持って、
誠意をもって問題に立ち向かうんだぞ。