統計量ではデータの記述統計的性質を分析する。統計量フォルダに含まれる機能のうちモデル作成にあたり必要な説明変数の探索を行うFeature Selection[1]とグループ間の特徴を把握する群間比較について紹介する。
分類分析に於いて、目的変数に対して有効な説明変数を探す。目的変数のクラスと説明変数のクラス間に関連性があれば有効な説明変数であるとみなす。関連性は情報量基準を比較し、情報量基準の値がより小さいモデルがより良いモデルであると判断する。情報量基準としてはAIC、BIC、AllenのCV規準を用いる。情報量の計算は目的変数と説明変数の分割表を作成して行う。説明変数には複数の変数の組み合わせを考慮して計算する。組み合わせの生成法はForward、Backwardと全件を選択できる。Forwardでは1変数の場合からはじめ、段階的に変数の数を増やして行きながら情報量基準を計算する。Backwardでは、段階的に変数の数を減らしていきながら情報量基準を計算する。全件では指定された全ての変数の組み合わせについて情報量基準を計算する。何変数までの組み合わせを計算するかは組み合わせ最大列数で指定する。また、必須変数では、変数の組み合わせ計算時に必ず使用する変数を指定する。
AIC、BICは以下の対数尤度の定義を用いると
AIC=−2×対数尤度 +2×自由度
BIC=−2×対数尤度 + log(データ数)×自由度
となる。ここで対数尤度は以下のように計算される。
目的変数を、説明変数の組を
とすると、多項分布は
となり、とし、
の項を共通項として括りだすと、対数尤度は、定数項を除いてそれぞれ以下のようになる。
ここで、はクラス
のデータ数、
はクラス
のデータ数を表す。
AllenのCV規準は、Cross Validationの計算に1組のデータを用いてモデルの予測誤差について議論したもので、対数尤度(のマイナス2倍)で計算する。対数尤度は以下のようになる。
数値変数については離散化を行い、カテゴリ化してから情報量を計算する。離散化方法は「等間隔」、「等数」、「χ2乗」、「Gini係数」、「誤判別数」の中から選択する。等間隔では等間隔に分割しカテゴリ化する。等数ではデータをソートし、等数でデータを分割しカテゴリ化する。χ2乗では、データをソートし、隣り合うデータ間のχ2値を計算し、小さい値のものからマージしてく事で離散化を行う。χ2値がより大きいという事は、隣り合うデータ間と目的変数のクラスに関連性がある事に成る。よって、データ間には関連性が無いことになりマージしないという考え方である。χ2の定義は以下の通りである。
同様に、Gini係数ではデータをソートし、隣り合うデータ間のGini係数を計算し、マージ前とマージ後のGini係数を比較し、Gainの小さいものからマージしていく。Gini係数はDecision Treeで使用される指標で、Decision Treeでは逆にGainの大きい変数を分割をしていく。Gini係数の定義は以下の通りである
誤判別数では、データをソートし、隣り合うデータをマージしたときの誤判別数が増加しないようにマージを繰り返していく。誤判別数の定義は以下の通りである。
Nはデータ数。max(classi)は最大クラスの要素数である。この最大クラスをデータを代表するクラスとすると、N-max(classi) は誤判別されたクラス数になる。
離散化数では離散化する数を指定する。
図 パラメータ設定画面
項目 |
内容 |
目的変数 |
目的変数 |
選択 |
情報量基準を計算する列を指定する |
離散化数 |
数値変数の離散化数 |
必須変数 |
変数の組み合わせを計算するときの必須変数を指定する |
離散化方法 |
数値変数を離散化する方法。以下の中から選択 等間隔 等数 χ2乗 Gini係数 誤判別数 |
情報量基準 |
変数の関連性を見る情報量基準を以下の中から選択する AIC BIC AllenのCV規準 |
組み合わせ方法 |
複数変数の組み合わせ方法を以下の中から選択する Forward 全件 |
組み合わせ最大列数 |
変数の組み合わせの最大列数を指定する |
Feature Selectionの出力は以下の通りである。
列名は情報量基準を計算した列名、情報量基準は指定した情報量基準を表す。複数の列名は”+”記号で結ばれている。
図 Feature Selection 結果出力
R.Kerber. ChiMerge: Descretization of numeric attribute. Proceedings Ninth National Conference. AAAI Press 1992
R.E.Kass and A.E.Raftery. Bayes Factor. Journal of the American Statistical Association 1995.
A.E.Raftery. Bayesian Model Selection in Social Research. Sociological Methodology 1995
『情報量統計学』 北川源四郎他著 共立出版株式会社
群間比較ではデータをグループ毎に分割し、各グループの特徴を自動的に抽出する。Feature Selectionでは目的変数と関連の強い変数を求めたが、群間比較では比較対象列と関連の強い変数内のカテゴリレベルでの条件を探索する。比較方法はχ2乗適合度検定を行なう。
適合度検定はデータが各クラスに分類されているとき、その比率が
であるかどうかを検定する。各クラスの観測度数と期待度数をそれぞれ
、
とし、
H0:k個のクラス内での母集団の比率が
H1:Hoの否定
を仮定する。仮説H0の元での観測度数が出現する確率は多項分布
となる。従って、i=1,….kに対してfiとnpiを比較しての条件の下で
以上にはなれる確率を多項分布から計算し有意水準より小さくなるか大きくなるかで仮説H0を棄却するかどうかを決める。しかし、
より大きなfiの全ての値について多項分布の和を計算することはnが大きくなると困難になる。そこで仮説H0の元で
がnがある程度大きければ自由度k-1のχ2乗分布からの無作為標本の1つであることが証明されているので、
ならば仮説H0を棄却し、そうでなければH0を棄却しないとする。ここでは自由度k-1のχ2乗分布の100α%点である。
数値変数は離散化して処理を行なう。離散化方法はχ2乗値が大きくなるような変数の離散化を求め計算する。また、カテゴリ変数に関してもχ2乗値が大きくなるようなAnd関係、Or関係を探索する。
図 パラメータ設定画面
項目 |
内容 |
比較対象列 |
比較対象列を指定する |
調査対象列 |
群間比較を行う調査対象列を指定する |
解の最大個数 |
解の最大個数を指定する |
最大組み合わせ長さ |
比較するクラスの組み合わせ最大個数を指定する |
最低サポート |
比較を行なう際の最低サポートを指定する |
数値列の最大分割数 |
変数をbinに分割する数を指定する この分割したカテゴリをもとにAnd/Or条件を求める |
実行進捗情報表示 |
進捗状況を表示するかどうかを指定する |
群間比較の結果は以下の通りである。
条件番号は条件の番号を表しが同一のものは同一の条件に属する。変数名はその条件の変数名を表す。同一の条件に属する場合、変数名が共通の条件はOr関係、変数名が異なる条件はAndの関係にある。属性はその変数の属性を表す。数値(From)、数値(To)は数値変数の場合の範囲を表し、カテゴリ値はカテゴリ変数の場合のカテゴリ値を表す。カイ2乗値はカイ2乗値を表す。確率はP値を表す。Supportはその条件の件数の割合を表す。Setosa.Cnt.種類、Versicolor.Cnt.種類、Virginica.Cnt.種類はその条件の比較対象列のクラスの分布を表す。
図 群間比較結果出力
RFM分析はCRM(顧客関係管理)の1つの手法で、優良顧客をランク付けする最も実績のある手法の1つである。対象となるデータはPOSデータのような顧客ID付の購入履歴である。RFM分析の目的は、作成した指標をもとに顧客をいくつかにグループ分けをすることにある。例えば、優良顧客の選別や、履歴にある消費者が現在もその会社の顧客であるか、他社に奪われたかを判断することが考えられる。このような分析によって限られた販促予算を適当な顧客へ集中的に用いることができる。
RFM分析では具体的には以下の3つの指標をもとにランキングを作成する。
Recency |
最終購入日 最終来店日 |
最近利用したのはいつか |
Frequency |
購買頻度 来店頻度 |
どれくらいの頻度で利用するか |
Monetary |
購買金額 |
どれくらい利用しているか |
表:RFM分析の指標
ランキング作成方法として2段階の評価を行う。1段階目として、指標ごとに等数分割、等間隔、指定分割などによってランキングを作成する。この結果を指標ごとにRスコア、Fスコア、Mスコアと呼ぶ。2段階目として、3つの指標のランキングから1つの指標を作成する。単純に総和を求める方法、RFMのランキングをそれぞれに重みをつけて和を取る方法がある。以下では1段階目の各指標のスコアを5段階評価とし、2段階目のRFMの重みをそれぞれ100,10,1とした場合の結果の一部を例として示した。
|
Rスコア |
Fスコア |
Mスコア |
単純総和 |
重み付けの総和 |
顧客A |
3 |
3 |
1 |
7 |
331 |
顧客B |
2 |
4 |
4 |
10 |
244 |
顧客C |
1 |
5 |
5 |
11 |
155 |
表:スコアの例
以下に、RFM分析の結果の考え方の一例を示す。実際にはRFMのそれぞれの指標の重要度は業種ごとに異なるので、一様に以下のような考え方が有効といえないことに注意されたい。
Rスコアが高いほど、将来的に利用してくれる可能性が高い。逆にRのスコアが低い場合は他社に奪われしまった可能性が高い。Fスコアが高い方が常連顧客であることを意味する。Rスコアが低くFスコアが高い場合は、かつて常連であったが他社に奪われてしまったと考えられる。Mスコアが高いほど購買力があることを意味する。3種のスコアを高めていくようにプロモーションを構成していくといった利用法が考えられる。
図 パラメータ設定画面
項目 |
内容 |
比較対象列 |
比較対象列を指定する |
調査対象列 |
群間比較を行う調査対象列を指定する |
解の最大個数 |
解の最大個数を指定する |
最大組み合わせ長さ |
比較するクラスの組み合わせ最大個数を指定する |
最低サポート |
比較を行なう際の最低サポートを指定する |
数値列の最大分割数 |
変数をbinに分割する数を指定する この分割したカテゴリをもとにAnd/Or条件を求める |
実行進捗情報表示 |
進捗状況を表示するかどうかを指定する |
RFM分析の結果は以下の通りである。
図 RFM分析結果出力
1. 1列目には顧客IDが出力される。列名は顧客IDに指定した列名となる。
2. rValue,fValue,mValue列はそれぞれ、顧客ごとの、最終購入日から指定した日付までの日数、指定した日付までの間に購入した回数、購入金額の合計が出力される。
3. rScore,fScore,mScore列はrValue,fValue,mValueをランク付けしたものが出力される。上記の出力例では5段階評価した結果である。高いほど高評価を意味する。
4. Score列はrScore,fScore,mScoreに重みをつけて合計した結果が出力される。