アソシエーション分析の説明
アソシエーション分析とは データの中から意味のある関連性を抽出する 手法を指す。
相関係数 はふたつの変数の関係を数値的に示すものだが
アソシエーション分析では「Aという条件の時にBが起こる確率」を求めることができる。
相関関係はふたつの変数「A」と「B」があった場合、計算時に「A」「B」を入れ替えても相関係数は変わらないが
アソシエーション分析では「A」と「B」を入れ替えると結果は異なる。
つまり変数に方向性があるので、「A ⇒ B」と表記される。この表記を アソシエーション ルール と呼ぶ。
アソシエーション分析の結果は カイ二乗検定 や t検定 における p値 のようにひとつの計算結果では判断できない。
アソシエーション ルールの強さと有効性は以下の3つの値で判断する。
支持度
信頼度
リフト値
支持度 (Support)
すべてのデータのなかで「A ⇒ B」といったルールが出現する割合。
信頼度 (Confidence)
条件(A)が出現するデータのなかで、条件(A)と結論(B)が同時に出現する割合。確信度とも言う。
リフト値 (Lift)
「A ⇒ B」のルールがあった場合、結論(B)の支持度で、「A ⇒ B」の信頼度を割った数値。
それぞれの値の解釈はだいたい下記のようになる。
値の解釈
支持度 信頼度 リフト値
高い 全データに対する影響が大きい よくある組み合わせ ルールが起こりやすい
低い 全データに対する影響が小さい まれにある組み合わせ ルールが起こりにくい
ちなみに、アソシエーション ルールを求める時に組み合わせが膨大になるという問題が起こりうるが
すべての組み合わせを試すことなく効率的に計算するアルゴリズムとして アプリオリ アルゴリズム というのが使われる。
アソシエーション分析は購買データにおいて同時に買われた商品を分析するときによく使われる手法なので
マーケット・バスケット分析とも呼ばれる。
http://www.codereading.com/statistics/association-analysis.html
Rで使う、アプリオリアルゴリズムのapriori関数は
apriori(data, parameter = NULL, appearance = NULL, control = NULL)
という書式になっています。
prameterの引数の内容説明は以下の通り。
maxlen 一つの連関規則に含まれる最大項目数
support 構築する規則のサポートの下限の値
confidence 構築する規則の信頼度の下限の値
ext=TRUE 前提確率をしめすlhs.supportも結果に表示
これらの引数は必ず指定する必要はなく、書かなくても実行されます。
※ただその場合はデフォルト値が適用されるので注意しましょう。
特にパラメーターのデフォルト値はsupport =0.1, confidence=0.8, maxlen=5となっていて
データによっては使い物にならないくらい削ってしまう場合があります。
【ここから】
そのため、この設定を変更していくことで、
出力件数を調整することが可能
■補足
R以外にも、アソシエーション分析のためにOrange という
Python のデータマイニング ライブラリを使うこともできる