StaatAppでアソシエーション分析を行う方法を紹介します.SaatAppではCSVファイルやExcelファイルを読み込み,クリック操作だけでアソシエーション分析を行うことができます.
StaatAppについては以下をご覧ください.
アプリの基本操作
StaatApp基本操作(データの入出力など)は以下のページで解説しています.
分析例として用いるサンプルデータは以下のようになります.サンプルサイズ n = 1000のアンケート調査から得られたデータとします.
アソシエーション分析を行う場合は1つのサンプル・トランザクションを1レコードとして,アイテム・商品は列ごとに入力してください.
アソシエーション分析の実行
メニューバーから「その他」→「アソシエーション分析」を選択してアソシエーション分析用ウィンドウを表示します.
アソシエーション分析用ウィンドウが表示されたら,アソシエーション分析の対象とする列を選択します.
オプションではアソシエーション分析で抽出するアイテムセットに対して,しきい値やアイテムセットに含めるアイテム数を設定できます.詳細は補足をお読みください.
分析例では以下のように設定します.
「解析実行」ボタンをクリックすると,アソシエーション分析の解析結果が出力されます.
解析結果はアイテムセットごとに,代表的なアソシエーションルールの算出結果が表示されます.
グラフ作成(応用)
アソシエーション分析の結果を用いてグラフを作成します.StaatAppではアイテムの相対出現頻度と,アソシエーションルールを示したネットワーク図を作成することが可能です.
「グラフ」タブを表示して,「グラフの種類」を相対出現頻度に設定し,「作成」ボタンをクリックすることで以下のようにアイテムの相対出現頻度を示した,棒グラフが表示されます.
ネットワーク図を作成する場合は,「グラフの種類」をネットワーク図に設定し,「作成」ボタンをクリックします.
矢印はアソシエーションルールの方向性を示し,アイテムセット間の円の大きさはそのアイテムセットの支持度の大きさ,円の濃淡はグラフ作成時に設定したアイテムルールの大きさを示します.
円の濃淡が濃いほど,設定したアイテムルールの値が大きいことを意味します.アイテムルールは信頼度・リフト値・Conviction・Leverageから選択することが可能です.ネットワーク図の配置を変更したい場合は,再度「作成」ボタンをクリックするもしくは,「ネットワークの形状」で設定を変更してください.
上記の例ではアイテムルールをリフト値に設定しているので,”WEBライティング”は”ブログ”を選択した場合に選択される可能性が高いということが読み取れます.
自動考察
アソシエーション分析の解析結果について自動考察を行なうと,支持度が高い上位10個のアソシエーションルールについて,以下のような考察結果を得ることができます.
補足① オプション
最小の支持度
設定した値の支持度以上のアイテムセットが抽出されます.値が小さいほど許容する支持度が小さくなるので,より多くのアイテムセットが抽出されます.
項目集合の最大長
アイテムセットに含めるアイテム数に最大値になります.1の場合は1対1のアイテムセットが抽出されます.3と設定した場合,例えば”SNS”と”WEBライティング・せどり”といったアイテムセットも抽出されるようになります.
※ 設定値が1以外の場合,最大値の数は設定値-1になります.
フィルタリング基準・フィルタリング閾値
最小の支持度とは別に,アイテムセットを抽出する条件を設定します.フィルタリング閾値に設定したアソシエーションルールとフィルタリング閾値を基準に,アイテムセットを抽出します.
補足② 統計アプリStaatAppとは
StaatAppは計算仮定が複雑な解析手法を,誰でも手軽に素早く行なうことができるアプリです.StaatAppの詳細は以下のページをお読みください.
補足③ アソシエーション分析について
アソシエーション分析やアソシエーションルールについては,以下のページで解説しています.
補足④ アプリの仕様について
アプリではPythonのmlxtendライブラリに含まれる,aprioriモジュールを用いてプロビット分析を行っています.mlxtendはPythonで機械学習を行なう際に一般的なライブラリです.
以下の公式ドキュメントに詳細な仕様が記載されています.