なぜ実験を行うのか?

Pythonで学ぶA/Bテスト

Moe Lotfy, PhD

Principal Data Science Manager

A/Bテストの価値

  • 新しいデザインや機能の影響に関する不確実性を減らす

  • 意思決定を直感でなく科学的・証拠ベースにする

  • 少ない投資で大きな効果:小さな変更で大きな成果

  • 事業の成熟期に継続的最適化

  • 相関は因果を意味しない

Pythonで学ぶA/Bテスト

エビデンスの階層

エビデンスの階層(改変版)

1 https://jamanetwork.com/journals/jama/article-abstract/392650
Pythonで学ぶA/Bテスト

エラーメッセージは離脱を減らすか?

  • Microsoft Office 365 における疑似相関の例:$^1$

    Microsoft Office 365 の疑似相関の例

    • 疑似相関: 一見因果があるように見えるが、実際は因果でない強い相関。
1 Kohavi, Ron,Tang, Diane,Xu, Ya. Trustworthy Online Controlled Experiments. Cambridge University Press.
Pythonで学ぶA/Bテスト

ピアソンの相関係数

  • 2変数の線形関係の強さを測る指標
  • r>0: 正の相関
  • r = 0: 無相関
  • r<0: 負の相関
  • ピアソンの相関係数 (r) の式:

ピアソンの相関係数 (r) の式

  • 前提: 正規分布、線形性
Pythonで学ぶA/Bテスト

相関の目視確認

# 可視化ライブラリ seaborn をインポート
import seaborn as sns

# ペアプロットを作成
sns.pairplot(admissions[['Serial No.',\
      'GRE Score', 'Chance of Admit']])

データ内の3列の関係を示す散布図

Pythonで学ぶA/Bテスト

ピアソン相関のヒートマップ

# 可視化ライブラリ seaborn をインポート
import seaborn as sns

# ピアソン相関係数を出力
print(admissions['GRE Score']\
   .corr(admissions['Chance of Admit']))
0.8026104595903503
# 相関のヒートマップを描画
sns.heatmap(admissions.corr(),annot=True)

データセット内の全変数とその相関係数のヒートマップ

Pythonで学ぶA/Bテスト

Passons à la pratique !

Pythonで学ぶA/Bテスト

Preparing Video For Download...