【Rによるデータサイエンス】アソシエーション分析

アソシエーション分析とは。。。

トランザクションデータから頻出するアイテムの組み合わせの規則を漏れ無く抽出し、その中から興味深い結果を探し出すこと。

アソシエーション分析を行う際には、「トランザクションデータから頻出するアイテムの組み合わせの規則を抽出する」ステップと、「抽出した組み合わせの中から興味深い結果を探し出す」ステップの2つのステップを踏む。

最初に1つ目のステップ「トランザクションデータから頻出するアイテムの組み合わせの規則を抽出する」を考える。

◎アソシエーションルール
アソシエーションルールとは。。。

トランザクションデータベースに頻出するアイテム間の何らかの組み合わせの規則のこと。

例えば、「オムツ(A)を買うとビール(B)も買う」というルールを単純に「A\rightarrow B」と表す。
データがAとBだけではなく、Cも加わった場合、「A\rightarrow B」以外に、「A\cap B\rightarrow C」や「A\rightarrow B\cap C」というルールも考えられる。
このように、トランザクションデータが増えれば増えるほど、アソシエーションルールも無数に増えていく。そのため、有益なアソシエーションルールだけを抽出することが必要になってくる。

◎アソシエーションルールの抽出
有益なルールだけを抽出するためには、抽出のための基準が必要である。つまり、有益であることを定量的に判断するための指標が必要である。アソシエーションルールで使用する指標を定義する。

1.支持度(Support)

支持度とは、事象Aと事象Bが同時に観測される確率のこと。

p(A,B)と表す。
2.期待信頼度(Expected Confidenec)

期待信頼度とは、事象Bが観測される確率のこと。

p(B)と表す。

3.信頼度(Confidence)

信頼度とは、Aが観測された集合の中でBが観測される確率のこと。

p(B|A)と表す。
p(B|A)=\frac{p(A,B)}{p(A)}と表すこともできる。

4.リフト値(Lift)

リフト値とは、期待信頼度と信頼度の比のこと。

リフト値はLift=\frac{p(B|A)}{p(B)}と表すことができる。

ケーススタディ
上で定義した指標を用いてビールと紙オムツの購入事例にてケーススタディを行う。

まず、アソシエーションルールとして「紙オムツを買う→ビールを買う」を考える。
そして、このルールが有益かどうかを評価する。
1.支持度の計算
この場合の支持度は「紙オムツもビールも両方買う確率」なので、
\frac{2}{10}=0.20となる。

2.期待信頼度
この場合の期待信頼度は、「ビールを買う確率」なので、
\frac{7}{10}=0.70となる。

3.信頼度
この場合の信頼度は、「紙オムツを買う場合にビールも買う場合の確率」なので、
\frac{2}{2}=1となる。

4.リフト値
リフト値は、信頼度と期待信頼度の比なので、
\frac{1}{0.70}=1.43となる。

これらの結果を見ると、信頼度が高いので「紙オムツを買う→ビールを買う」というルールは有用なようだ。
また、リフト値は1より大きいので、信頼度の方が期待信頼度よりも大きい。つまり、単にビールを買う場合よりも、紙オムツを買うときにビールを買う確率の方が大きいことも、このルールが有用であることを裏付けている。
一方、「ビールを買う→紙オムツを買う」というルールとした場合、信頼度は0.29となる。

従って、紙オムツを買う場合にはビールも買うようなので、「紙オムツ売り場にビールを置くと買ってくれそう」といったマーケティング戦略が考えられる。のかな?