いったい何のためのモデルなのか?

こちらの面白いブログの記事を読ませていただき、思い立ったので書いてみました。

 

一応クライアントが存在するような代理店での分析を1年と事業での分析を5年といった感じでデータサイエンスの業界も6年目に突入し、その中でいわゆる統計モデリングやったり、機械学習やったり、因果推論やったりという感じでやってきました。

そういった経験を通して自分の中で出来上がった方針は
・予測したいときには機械学習
・意思決定したいときには因果推論
・それ以外の目的の分析はやらない
という感じです。

その心は「定量的に自分の分析にフィードバックが得られない分析はスキルを育てないし、ビジネスを改善するような動きも出来ないだろう。」というものです。

 

因果推論が素晴らしい点は、何かの効果を知りたいときにはRCTする事がゴールデンスタンダードだという設定をしていることにあります。

こういった明確な信念から統計モデルの使い道を決めることは自分の知る限りではなかなか珍しいと思います。

この信念を持つ優れた点は「RCTの結果を再現する事が正義」という方針を生むことにあります。

別に予測が出来なくても、データに対して強くフィッティング出来ていなくても、興味のない変数のパラメーターの値が非直観的な値になっていても、別に良いんです。
RCTの結果により近い状況を生めるなら。

 

また因果推論の結果は実際にRCTした際にはその正当性を確認できるというのもビジネスにおいては素晴らしい性質の一つだと思います。

因果推論とまじめに向き合うようになってからむしろ気になるようになったのは、与えられたデータセットを生み出しているメカニズムのすべてを推定するような分析の妥当性のありかとその使い道です。

例えば重回帰分析ですべてのパラメーターを解釈するような手順を行う場合には、それらのパラメーターがある程度正しいことを望んでいるわけですが、それってどんな条件を満たせているときにやってよいことなんでしょうか?

まれにモデルのデータに対するフィッティングが良いことや、汎化性能が高いことを理由に正しい保証があるという主張を見かけますが、これらは一見直観的に正しい洞察に思えるのですが理論的に何か裏付けはあるのでしょうか?

白状すると自分はこういった分析を結構やっていたのですが、この辺の自問自答にこたえられなくなったので使わなくなっていきました。

 

機械学習の素晴らしい点は、「予測があってさえいればなんだって良い」という信念にあると思います。

作ったモデルがout sampleでどの程度評価されるか?これだけを基本的に考えればよいので、パラメーターの解釈がどうだとかを無視できるという利点があります。

近年では解釈可能性に関する議論も出てきていますが、causalityというかはcorrelationを評価するといった感じですし、僕の知る限りでは機械学習の解釈可能性を利用して施策を作って実行し、その結果をRCTで検証したらちゃんと改善したという研究報告は見たことがありません。(あれば知りたい・・・

また、気を付けるべき点は機械学習は、ある分布から与えられた学習データから、”指定した”分布のデータに対して予測を行うものだという点です。多くの場合この設定に対して配慮が行われない為、学習データと予測したいデータの分布が同一であることが暗黙に仮定されてしまっています。

Fairnessの問題は学習データにバイアスがあるという話である場合にはこの設定がうまく行われている必要があります。因みに観測できない変数による影響でセンシティブな変数に効果が乗ってしまうようなケースもあります。(参考までに

 

まぁ、あれですね。

みんな自分の分析が定量的に評価される環境に身を置きましょうって感じですね。

 

カテゴリー: 未分類 パーマリンク

コメントを残す