Blog

ブログ

ブログトップに戻る
  • データサイエンス実践講座

第17回:分析方針の三要素(3)〜説明変数(続編)

前回、ムリに仮説を考えたり、関係者のインタビューを通して仮説を得ようとしても、結局のところ「ふ~ん」と言われて終わりになってしまうだけかもしれないという話をしました。

 

説明変数という考え方

 

それよりもお勧めなのは「今あるデータから可能な限りたくさんの説明変数を考えてみよう」という考え方です。仮説とはすなわち、「○○な顧客の売上は高いのではないか?」というような、主語と述語を両方含む文章です。このような文章を人間が耳にすると「それが正しいのか正しくないのか」ということがつい気になってしまいます。

 

しかし、一方で本当に面白い仮説というのは「今まで考えたこともなかった」「思っていたものと逆だった」というものです。つまり、せっかく誰かが会議室の中で本当に面白い仮説を考えついたとしても、他の誰かの「それは正しいのか正しくないのか」という思考のせいで、分析の前に却下されてしまうかもしれません。

 

なので、アウトカムが良くなるとか悪くなるという「述語」をいったん考えずに、ひたすら「○○な」の部分に該当する、主語(解析単位)を修飾する言葉を考えた方がアイディアが広がります。これが説明変数という考え方です。

 

解析単位を顧客とした場合の説明変数

 

例えば以前出したID POSデータの例を使って、仮に解析単位を顧客とした場合、どのような説明変数が考えられるでしょうか?

id-pos%e3%83%87%e3%83%bc%e3%82%bf%e3%81%ae%e4%be%8b

 

分析に使うことができる説明変数は「その大小が意味を持つ数字」か「せいぜい数十種類以内に分類するようなカテゴリー」だけです。そうすると、顧客の名前についてはそのどちらに使うのも難しそうですが、性別は「分類」としてそのまま使えそうですし、「住所」を使って「関東に住んでいるか東北に住んでいるか」という分類をしたり、「住んでいる市町村は政令指定都市かどうか」というような分類もできます。生年月日から年齢という「大小が意味を持つ数字」を考えても、登録日から「曜日」や「月」という分類をしてみてもいいでしょう。

 

これらは全て直接顧客ごとに入力された顧客マスターのカラムですが、そこと直接あるいは間接的に紐付くデータであれば、別のテーブルのデータを使って顧客の特徴を定義しても構いません。例えば購買日時から「週末によく買っている顧客」とか「深夜によく買っている顧客」という説明変数を考えてもいいのです。

 

「○○な解析単位」と一言で表現するには

 

ただし、一言で表現すれば簡単なようで、これをきちんと定義し、分析できる説明変数にしてやるのは少なからぬ手間です。例えば「週末によく買っている顧客」を具体的に定義しようとした場合、「一商品でも購買のあった日数に占める、その曜日が土日であった日の割合」と日数ベースで考えるべきでしょうか?それとも「購買した商品数に占める、土日に購買された商品数の割合」と考えるべきでしょうか?あるいは「過去の購買金額に占める、土日の購買金額の割合」という方がイメージに合うでしょうか?

 

このように、「○○な解析単位」と一言で表現すればどう言えるか、そしてそれをより具体的に言語化するとしたらどう表現すべきで、もしそこからSQLや何らかの命令型言語による集計方法を定義するとしたらどう書けるか、ということをできるだけたくさん考えてみましょう。この間「それが本当にアウトカムと関係するか」という仮説思考を働かせる必要はありません。

 

なぜなら、可能な限り豊富なアイディアを考えた上で、そのうちどれが必要なのかを判断することについては、おそらく人間よりもITの方が得意だからです。