アソシエーション分析は、アソシエーションルールと呼ばれる事象間のつながりの強さに関する規則を知識として発見する分析である。ある事象が発生した時に、別な事象が発生する事後確率が高いような事象の組み合わせを求める。
例えば、アメリカのスーパーマーケットで、紙おむつを買う人はビールを買うという分析結果から、紙おむつとビールを同じ売り場に隣接させた所、売上が向上したという報告がある。このような、「紙おむつを買う人はビールを買う」という同時購買パターンにおいて、紙おむつを前提、ビールを結論とよび、
紙おむつ → ビール
と表現する。
アソシエーション分析に伴う困難は、発生する事象全てをルールとして抽出したのでは、大きなデータに対しては必然的に膨大な量のルールを見つけてしまう事にある。その為、有用なルールも単なるノイズに埋もれてしまう。そこで、ルールの有益度を測る指標が必要になる。指標としてはサポート、信頼度、Liftという指標が良く使われる。
なるべく多くの事例があるルールが有益であるという考え方から、サポートという指標を導入する。サポートは発生事象の確率を表し、その発生事象がどれくらい発生しやすいかを表す量である。ある事象が発生した時に、別な事象が発生する確率が高ければ、その事象間には関連性が高いと考えられることから、信頼度という指標を導入する。信頼度は全体の事象の確率を事前確率で割った値で、ある事象が発生した場合の別な事象が発生する事後確率になっている。個々の事象の発生確率が高い場合、サポートと信頼度では落しきれないルールを落とす指標としてLiftという指標を導入する。Liftは全事象の確率を個々の事象の事前確率で割った値で、2つの事象の独立性を見る指標になっている。
以下にVisual Mining Studioで提供している手法としてアソシエーション分析、時系列情報を考慮した時系列アソシエーション分析、目的変数を指定したアソシエーションを行うクラスアソシエーション分析について紹介する。
アソシエーション分析では同時発生事象に関するアソシエーションルールを抽出する。ルールの有益度を測る指標にはサポート、信頼度、Lift、Convictionを用いる。
列間に概念上の階層関係が存在する場合、多階層型のアソシエーション分析を行う。階層関係とは、例えば、スーパーの商品分類のデータでは、「食品」と「牛乳」では「牛乳」は「食品」に属するという関係を言う。多階層型の分析を行う利点は、上位階層のルールを抽出する事でサポートの高いルールを抽出する事が出来る点と、上位階層でルールの剪定を行う事で下位階層でのルール探索を行わなくて済むという点がある。列間の階層関係を指定するのには列間の親子関係で指定する。
複数のレコードで一つのトランザクションを表すデータを扱う為には、キー列の指定を行う。これにより、同一のキーを持つレコードを同一のトランザクションとして扱う。例えば、POSデータではレシート番号をキーにする事で同一のレシート番号を持つデータを一回の買い物と識別し分析を行う。
図 パラメータ設定画面
図 オプション設定画面
項目 |
内容 |
対象列名 |
分析対象にする列名 |
最低サポート |
ルールとして有益である最低のサポート |
最低信頼度 |
ルールとして有益である最低の信頼度 |
ルールの長さ |
ルールとして抽出する事象の結合の長さ |
Lift |
ルールとして有益である最低のLift |
Conviction |
ルールとして有益である最低のConviction |
キー列 |
同一キーを持ったレコードとみなす為の指標 |
親子関係 |
多階層のルールを抽出する時の階層関係 |
出力オプション |
以下の中から選択 なし なし 列番号 項目名の先頭に列番号を付ける 列名 項目名の先頭に列名を付ける |
アソシエーション分析の結果は以下の通り。
前提は、結論はルールの前提、結論、信頼度、サポート、Lift、Convictionはルールの値である。前提、結論に含まれる数字は列番号を指す。例えば前提の「4-豆腐+4-豚肉」は4列目(中分類名称)の豆腐と4列目(中分類名称)の豚肉を表す。
図 アソシエーション分析
結果
R.Agrawel, T.Imielinski and A.Swami., Mining association rules between sets of items in large databases. In Porc. 1993ACM-SIGMOD Int. Conf. Management of Data, pages 207-216, Washington,D.C., May 1993.
R.Agrawel and R.Srikant., Fast algorithm for mining association rules. In Proc. 1994 Int. Conf. Very Large Data Base, pages 487-499, Santiago,Chile, September 1994
J.Han, J.Pei, and Y.Yin. Mining frequent patterns without candidate generation. In Proc. of the 2000 ACM-SIGMOD Int’l Conf. on Management of Data, Dallas, Texas, USA, May 2000.
R.Motwani, etcs., Finding interesting associations without support pruning. In Proc. of the 16th Int’l Conf. on Data engineering (ICDE), IEEE, 2000.
J.Pei, J.Han, and R.Mao., An efficient algorithm for mining frequent closed itemsets. In Proc. of the 2000 ACM-SIGMOD Int’l Conf. on Management of Data, Dallas, Texas, USA, May 2000.
M.J.Zaki, S.Parthasarathy, M.Ogihara, and W.Li., New algorithms for fast discovery of
association rules. In Proc. of the 3rd Int’l Conf. on KDD and Data Mining (KDD’97), Newport Beach, California, August 1997.
時系列分析では事象の発生順序を考慮に入れたアソシエーションルールを抽出する。時系列ルールはA→B→Cと表現され、Aという事象が起こり、次にBという事象が起こり、次にCという事象が起こったことを表す。これにより、例えば、ある商品を購入した人は次に何を購入するかと言った購買の変遷を明らかにし、リピート購入やブランドスイッチの起こりやすい商品等を分析できる。
ルールの有益度を測る指標にはサポートを用いる。また、冗長なルールを避ける為に、ルールの長さを指定する。これはルールに現れる(同時発生も合わせた)アイテムの最大個数である。時系列分析ではキー列、時系列の指定を行う。同一のキーを持つレコードを同一の顧客のトランザクションとして扱う。その中で、同一の時系列情報を持つトランザクションを一回の買い物と認識する。例えば、POSデータでは顧客番号をキーにし、購入日時を時系列にする事で、同一の顧客番号、購入日時を持つデータをその顧客の一回の買い物と識別し分析を行う。また、時系列分析ではアソシエーション分析同様、列間に概念上の階層関係が存在する場合、多階層型の時系列アソシエーション分析を行う。
図 パラメータ設定画面
項目 |
内容 |
最低サポート |
時系列ルールとして有益である最低サポート |
ルールの長さ |
探索するルールの最大の長さ |
対象列 |
分析の対象にする列 |
時系列 |
レコードの時間的関係を指定する指標 |
キー列 |
同一の顧客と見なす指標 |
親子関係 |
多階層のルールを抽出する時の階層関係 |
出力オプション |
以下の中から選択 なし なし 列番号 項目名の先頭に列番号を付ける 列名 項目名の先頭に列名を付ける |
時系列分析の結果は以下の通りである。
前提と結論は時系列事象を、最後に起こった事象(結論)とそれ以前に起こった事象(前提)に分けたものである。例えば、A→B→Cというルールにおいては前提はA→Bになり、結論はCになる。また、A→B+Cにおいては、B+Cは同時発生事象なので、前提はAになり、結論はB+Cになる。ルールに現れる「+」は同一の時間での事象を表し、「-」は違う時間での事象を表す。例えば、前提:パン-乳製品+牛乳、結論:菓子は、パンを購入し、後日乳製品と牛乳を購入した顧客は、後日、菓子を購入するというルールを表す。
図 時系列アソシエーション分析
結果
Rakesh Agrawel and Ramakrishnan Srikant, Mining Sequential Patterns. In Proc. of the Int. Conf. on Data Engineering, 1995.
Ramakrishnan Srikant and Rakesh Agrawel, Mining Sequential Patterns: Generalization and Performance Improvements, In EDBT 1996, 1996.
Jiawei Han, Jian Pei, Behzad Mortazavi-Asl, Qiming Chen, Umeshwar Dayal and Mei-Chun Hsu, FreeSpan: Frequent Pattern-Projected Sequential Pattern Mining, In Proc. 2000 Int. Conf. KDD, 2000.
Jian Pei, Jiawei Han, Behzad Mortazavi-Asl and Helen Pinto, PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth. In ICDE 2001, 2001.
Mohammed J. Zaki, SPADE: An Efficient Algorithm for Mining Frequent Sequence, Machine Learning, 42, 2001.
結論となる項目を目的変数という形で指定してアソシエーションルールを求める。結論を目的変数と見做すことで、ルールを用いたルールベース予測を行うことが出来る。ルールの有益度を測る指標はサポート、信頼度、Lift、Convictionを用いる。また、作成するルールの長さを指定することで冗長なルールを抽出するのを避ける。このアソシエーションでは、目的変数が指定されているので、その変数との関連性から数値変数を離散化してアソシエーション分析を行うことが出来る。離散化方法は等間隔、等数、χ2乗、Gini係数、誤判別数の中から選択する。離散化方法の詳細はFeature Selection項参照。通常のアソシエーション分析のように、複数レコードを一つのデータと見做す機能、項目間の親子関係を指定する機能は無い。
図 パラメータ設定画面
項目 |
内容 |
目的変数 |
結論になる項目 |
説明変数 |
前提になる項目 |
最低サポート |
ルールとして有益である最低のサポート |
最低信頼度 |
ルールとして有益である最低の信頼度 |
Lift |
ルールとして有益である最低のLift |
Conviction |
ルールとして有益である最低のConviction |
ルールの長さ |
ルール(前提)の長さ |
離散化方法 |
数値変数の離散化方法を以下の中から選択 等間隔 等数 χ2乗 Gini係数 誤判別数 |
欠損値パターン |
入力で欠損とみなすパターンを指定 |
クラスアソシエーション分析の出力は以下の通り。
RuleNo.がルールの番号を表す。この番号が同じものは一つのルールと見做す。列名が列の名前、パターンはその列属性がカテゴリ属性の場合にパターンが入る。数値.From、数値.Toは列属性が数値変数の場合の数値の範囲を表す。結論.種類列は結論の値を表す。信頼度、サポート、Lift、Conviction、ルール.数、前提.数、結論.数、キー.数はアソシエーションルールの指標である。
図 クラスアソシエーション 出力結果
B.Liu, W.Hsu and Y.Ma. Integrating classification and association rule mining. In KDD’98, New York, NY, Aug.1998.
G.Dong, X.Zhang, L.Wong and J.Li. CEAP: Classification by aggregating emerging patterns. In DS’99,Japan,Dec. 1999.
W.Li, J.Han and J.Pei. CMAR: Accurate and efficient classification based on multiple class-association rule set. In Proc. of 5th Pacific-Asia Conference in Methodologies for KDD, 2001.