統計コンサルの議事メモ

統計や機械学習の話題を中心に、思うがままに

できないと言ってはいけません

仕事をしていて思ったことを。

統計分析が求められる場面というものはいくつもあるが、その中で最もメジャーと言ってよいものの一つが「将来予測」だと思う。身近なもので言えば株価や天気で、「明日はどうなるか?」という問いについて、モデルは一つの答えを出してくれる。もちろん、その精度は検討した変数や手法によるところが大きいだろうが、単に勘や経験に頼ったものよりもよっぽど良い答えを出してくれるだろう。

そんな便利な統計モデルであるが、弱点もある。例えば、将来予測を行う際にはモデルに含まれる変数がすべて既知であらねばならない、というものだ。Rでpredict(newdata)を行うときや、SPSS Modelerで作成済みのモデルノードに新規データを渡す場面を想定してほしい。この時、新規データにはモデルに含まれる変数がすべて格納されている必要がある。

「何を今さらそんな…」と思われるかもしれない。しかし、データを触り、分析にかけ、予測を行うという行為の経験がなく、実際の作業としてはどのようなものであるかイメージができない場合には意外とこの辺りの感覚が抜け落ちている。つまり、一度分析を行ってしまえば無条件で新規のデータに対しても予測が可能であると思ってしまうらしい。

具体的な例を出そう。例えば携帯電話の顧客情報をもとにセグメンテーションしたいとする。顧客のデモグラ情報(年代や性別)の他、携帯電話の使用状況を変数として用いた結果、非常によいモデルができたとしよう。それではこのモデルを用いて、新規顧客がいずれのクラスターに分類されるかを判断できるだろうか?

答えはノーだ。なぜならば、新規顧客については携帯電話の使用状況に関するデータがなく、モデルを当てはめることができないからだ。クラスタリングでなく回帰モデルで例えれば、複数ある変数の内のいくつかがNULLになっている状況である。

それでは、このようなクラスタリングに意味はないのだろうか?
当然、そんなことはない。もし情報が足りなくてクラスタリングができないのであれば、どういった情報を取得すれば良いのか考えれば良い。あるいは取引が開始するまでの接触の段階で情報収集を重ね、少しずつクラスタリングの精度を向上させていくのも良い。最初は間違っていてもよいから、何らかのアクションが打てるように分析結果を活用する、というのがコンサルに求められる態度であり、データ分析者と異なるところなのだろう。

『「できない」という言葉は何の意味もないから、「どうすればできるか」を考えよう』

以前に上司から教えられた言葉である。データ分析者としてはすっきり納得がいくものではないが、コンサルとしては非常に大事な教えであったなぁと思う今日この頃。