アソシエーション分析とは データの中から意味のある関連性を抽出する 手法を指す。
相関係数 はふたつの変数の関係を数値的に示すものだが アソシエーション分析では「Aという条件の時にBが起こる確率」を求めることができる。
相関関係はふたつの変数「A」と「B」があった場合、計算時に「A」「B」を入れ替えても相関係数は変わらないが アソシエーション分析では「A」と「B」を入れ替えると結果は異なる。
つまり変数に方向性があるので、「A ⇒ B」と表記される。この表記を アソシエーション ルール と呼ぶ。
アソシエーション分析の結果は カイ二乗検定 や t検定 における p値 のようにひとつの計算結果では判断できない。 アソシエーション ルールの強さと有効性は以下の3つの値で判断する。
それぞれの値の解釈はだいたい下記のようになる。
支持度 | 信頼度 | リフト値 | |
---|---|---|---|
高い | 全データに対する影響が大きい | よくある組み合わせ | ルールが起こりやすい |
低い | 全データに対する影響が小さい | まれにある組み合わせ | ルールが起こりにくい |
ちなみに、アソシエーション ルールを求める時に組み合わせが膨大になるという問題が起こりうるが すべての組み合わせを試すことなく効率的に計算するアルゴリズムとして アプリオリ アルゴリズム というのが使われる。
アソシエーション分析は購買データにおいて同時に買われた商品を分析するときによく使われる手法なのでマーケット・バスケット分析とも呼ばれる。
「Aという条件の時にBが起こる」というのを分析するので抽せん数字の出現傾向を分析するのに使える。
例えば「『1』が出現したときに同時に出現しやすい数字は何か?」を知ることができる。
第1回から第5回の抽せん数字を用いてアソシエーション分析を行ってみます。
抽せん数字 | 100の位 | 10の位 | 1の位 | |
---|---|---|---|---|
回号 | ||||
1 | 191 | 1 | 9 | 1 |
2 | 988 | 9 | 8 | 8 |
3 | 194 | 1 | 9 | 4 |
4 | 105 | 1 | 0 | 5 |
5 | 592 | 5 | 9 | 2 |
アソシエーション分析のために今回は Orange という Python のデータマイニング ライブラリを使います。
まずは 前準備 のページで用意した pandas.DataFrame を Orange の basket というデータ形式 に変換します。といってもただの csv です。
df.loc[:5, ['place100', 'place10', 'place1']].to_csv('/tmp/df1-5.basket',header=False, index=False, encoding='utf-8')
ファイルの拡張子を .basket にする必要があります。
Orange を使った分析。
import Orange
data = Orange.data.Table('/tmp/df1-5.basket')
# 支持度(support)が 0.01 以上、信頼度(confidence)が 0.2 以上のルールを抽出
rules = Orange.associate.AssociationRulesSparseInducer(data, support=0.01, confidence=0.2)
# 結果の出力
print "%4s %4s %4s %4s" % ("Supp", "Conf", "Lift", "Rule")
for r in rules[:5]:
print "%4.1f %4.1f %4.1f %s" % (r.support, r.confidence, r.lift, r)
# 出力結果
Supp Conf Lift Rule
0.2 1.0 2.5 2 -> 5
0.2 1.0 5.0 2 -> 5 9
0.2 1.0 1.2 2 5 -> 9
0.2 1.0 2.5 2 9 -> 5
0.2 1.0 1.2 2 -> 9
0.2 1.0 2.5 0 -> 5
0.2 1.0 5.0 0 -> 5 1
0.2 1.0 2.5 0 1 -> 5
0.2 1.0 1.7 0 -> 1
0.2 1.0 1.2 4 -> 9
0.2 1.0 2.5 4 -> 9 1
0.2 1.0 1.7 4 9 -> 1
0.2 1.0 1.2 4 1 -> 9
0.2 1.0 1.7 4 -> 1
0.2 1.0 1.2 8 -> 9
0.4 0.7 0.8 1 -> 9
Supp が支持度、Conf が信頼度、Lift がリフト値、Rule がアソシエーション ルール。
(分析対象のデータ数が少ないことは無視して、)この結果から言えること:
ただしアソシエーション ルールに方向はあっても、抽せん数字の順序は考慮されないことに注意する。 つまりセット買いの予想として有効である。
最終更新日: 2015年11月05日(木)