Leverage і conviction

Маркет-баcкет аналіз у 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)}$$

Маркет-баcкет аналіз у Python

Метрика leverage

  • Leverage теж базується на support.

 

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

  • Leverage подібний до lift, але його простіше тлумачити.
  • Значення leverage в діапазоні від -1 до +1.
    • Lift варіюється від 0 до нескінченності.
Маркет-баcкет аналіз у Python

Обчислення leverage

# Compute support for Twilight and Harry Potter
supportTP = np.logical_and(books['Twilight'], books['Potter']).mean()

# Compute support for Twilight
supportT = books['Twilight'].mean()

# Compute support for Harry Potter
supportP = books['Potter'].mean()
# Compute and print leverage
leverage = supportTP - supportP * supportT
print(leverage)
0.018
Маркет-баcкет аналіз у Python

Метрика conviction

  1. Conviction також побудовано на support.
  2. Складніша й менш інтуїтивна за leverage.

 

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

Маркет-баcкет аналіз у Python

Тлумачення conviction

Мініатюра обкладинки Twilight.

Мініатюра обкладинки Harry Potter and the Sorcerer's Stone.

Мініатюра обкладинки Twilight.

Мініатюра обкладинки The Hunger Games.

1 Зображення взято з goodreads.com.
Маркет-баcкет аналіз у Python

Обчислення conviction

# Compute support for Twilight and Harry Potter and Twilight
supportTP = np.logical_and(books['Twilight'], books['Potter']).mean()
supportT = books['Twilight'].mean()
# Compute support for NOT Harry Potter
supportnP = 1.0 - books['Potter'].mean()
# Compute support for Twilight and NOT Harry Potter
supportTnP = supportT - supportPT
# Compute conviction
conviction = supportT*supportnP / supportTnP
print(conviction)
1.16
Маркет-баcкет аналіз у Python

Давайте потренуємось!

Маркет-баcкет аналіз у Python

Preparing Video For Download...