レバレッジとコンビクション

Python で学ぶマーケットバスケット分析

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

基本指標から拡張

$$Support(X) = \frac{Frequency(X)}{N}$$

$$Support(X \rightarrow Y) = \frac{Frequency(X \& Y)}{N}$$

$$Confidence(X \rightarrow Y) = \frac{Support(X \rightarrow Y)} {Support(X)}$$

$$Lift(X \rightarrow Y) = \frac{Support(X \rightarrow Y)}{Support(X) Support(Y)}$$

Python で学ぶマーケットバスケット分析

レバレッジ指標

  • レバレッジもサポートに基づきます。

 

$$Leverage(X \rightarrow Y) = $$ $$Support(X \& Y) - Support(X) Support(Y)$$

  • レバレッジはリフトに似ていますが、解釈しやすい
  • レバレッジの範囲は-1 から +1
    • リフトは 0 から無限大。
Python で学ぶマーケットバスケット分析

レバレッジの計算

# Twilight と Harry Potter の同時サポート
supportTP = np.logical_and(books['Twilight'], books['Potter']).mean()

# Twilight のサポート
supportT = books['Twilight'].mean()

# Harry Potter のサポート
supportP = books['Potter'].mean()
# レバレッジを計算して表示
leverage = supportTP - supportP * supportT
print(leverage)
0.018
Python で学ぶマーケットバスケット分析

コンビクション指標

  1. コンビクションもサポートで定義されます。
  2. レバレッジより複雑で直観的ではありません。

 

$$Conviction(X \rightarrow Y) = $$ $$\frac{Support(X) Support(\bar{Y})} {Support(X \& \bar{{Y}})}$$

Python で学ぶマーケットバスケット分析

コンビクションの解釈

Twilight のサムネイル画像。

Harry Potter and the Sorcerer's Stone のサムネイル画像。

Twilight のサムネイル画像。

ハンガー・ゲームのサムネイル画像。

1 画像出典: goodreads.com
Python で学ぶマーケットバスケット分析

コンビクションの計算

# Twilight と Harry Potter の同時サポートを計算
supportTP = np.logical_and(books['Twilight'], books['Potter']).mean()
# Twilight のサポートを計算
supportT = books['Twilight'].mean()


# Harry Potter ではないサポートを計算 supportnP = 1.0 - books['Potter'].mean()
# Twilight かつ Harry Potter ではないサポートを計算 supportTnP = supportT - supportPT
# コンビクションを計算 conviction = supportT*supportnP / supportTnP print(conviction)
1.16
Python で学ぶマーケットバスケット分析

Laten we oefenen!

Python で学ぶマーケットバスケット分析

Preparing Video For Download...