アソシエーション分析(再び)-2
アソシエーション分析の結果を出力したけど、よく解らない?エクセル、タブローで見やすくする手順を解説しています。
出力した結果をみる
出力結果
<テキストファイルをエクセルへ変換>

・区切り文字を「コンマ」で開きます。

画像のようになっていると思います。
ルールと指標
<rules>
{A}=>{B}、{B}=>{A}
グループAとグループBの商品が入っているバスケットを示します。
今回は20グループを計算しました。
20×19=380通りのルールを算出しています。
<count>
それぞれのルール、例えば{A}=>{B}のバスケット数を示します。つまり、AとBが入っているバスケット数です。
<support>
count÷総バスケット数(今回は20,653)
AもBも同時に購入するというルールが出現する割合です。
値が大きいほど同時に商品が入っているバスケット数が多いといえます。
<confidence>
{A}=>{B}のとき
Aが入っているバスケットのうちBも入っているバスケットの割合です。
分母はAが入っているバスケット数です。
<lhs.support>
Aが入っているバスケット数÷総バスケット数(今回は20,653)
BやCとは無関係です。分母は総バスケット数です。
逆算すると、
lhs.support×総バスケット数(今回は20,653)=Aが入っているバスケット数です。
<lift>
{A}=>{B}のとき
Aのconfidence÷Bのlhs.support
・AとBが同時に入っているバスケットの割合(Aのconfidence)
・Bが入っているバスケットの割合(Bのlhs.support)
これらの比較。
lift値が低いとBは単独で売れている可能性が高くAとの関連で売れているとは限らないと考えることができます。
エクセルで結果を表現
Power Query エディター

・rulesの列をコピーして挿入します。

・テーブルを読み込んでPower Query エディターを開きます。
>Power Query エディターはこちらの動画をご参照ください
・「変換」タブ
・「rules」の列を選択します。
・「列の分割」→「区切り記号による分割」を選択します。

・-カスタム-
・「=>」(半角)と入力
・「一番左の区切り記号」(どこでも同じ結果になります)

左右に分割されます。
・「列の分割」
・各列を「{」で分割、続いて「}」で分割します。

・列名を変更します
・閉じて読み込みます

画像のようになっていれば、完成です。
ピボット

ピボットテーブルを挿入します。
・行=「左_グループ名称」「右_グループ名称」
・Σ=「confidence」「lift」
・スライサー=「左_グループ名称」「右_グループ名称」
・テーブルの「confidence」を降順で並び替えます。

ピボットグラフを挿入します。
・「組み合わせ」グラフ
・どちらかを「棒」、どちらかを「線」、どちらかを「第2軸」

スライサーを操作します。
「菓子」は「冷食」「アイスクリーム」のlift値が高く、同時購入される関連性が高いように見えます。
タブローで結果を表現
列を分割

「rules」を分割します。
・「変換」→「分割」

カスタム分割する必要はなく、文字列だけを取り出すことができます。
名前を変更します。
・「分割済み1」→左_グループ名称
・「分割済み2」→右_グループ名称

分割後のフィールドを列シェルフへドロップして内容を確認します。
チャート作成

チャートをつくります。
・列シェルフへ「右_グループ名称」
・行シェルフへ「confidence」「lift」、二重軸にします。
・「confidence」を降順に並び替え
・「confidence」の形状を「棒」、「lift」の形状は「線」
・「左_グループ名称」をフィルターします。
・「lift」の軸へリファレンスラインを追加して完成です。

「support」の値もチャートへ追加してみましょう。
・カードの「すべて」を選択
・メジャーの「support」をドラッグして左側の軸「confidence」へドロップします。

画像のようになると思います。