Z検定変換
メニューを表示するにはスワイプしてください
A/Bテストにおいて2つのグループ間のコンバージョン率を比較したい場合、比率のz検定は強力で一般的に使用される手法です。この検定は、コントロールグループと処置グループ間のコンバージョン率の差が統計的に有意か、それとも偶然によるものかを判断するのに役立ちます。この検定は、結果変数がバイナリ(例:converted または did not convert)であり、各グループのサンプルサイズが十分に大きい場合に使用します。
コンバージョン率のz検定は、各グループで観測されたコンバージョンの比率を比較することで機能します。帰無仮説は通常、2つのコンバージョン率に差がないことを主張し、対立仮説は差があることを主張します。検定統計量は観測された比率とサンプルサイズを用いて計算され、その後標準正規分布と比較してp値を得ます。
コンバージョン率のz検定を実施するには、以下の情報が必要です:
- 各グループのユーザー数
- 各グループのコンバージョン数
- 観測されたコンバージョン率(コンバージョン数をグループサイズで割った値)
123456789101112131415161718192021222324252627282930313233343536import numpy as np from scipy.stats import norm # Control group data n_control = 1000 # total users in control group x_control = 120 # conversions in control group # Treatment group data n_treatment = 980 # total users in treatment group x_treatment = 138 # conversions in treatment group # Calculate observed conversion rates p_control = x_control / n_control p_treatment = x_treatment / n_treatment # Pooled conversion rate p_pooled = (x_control + x_treatment) / (n_control + n_treatment) # Standard error se = np.sqrt(p_pooled * (1 - p_pooled) * (1/n_control + 1/n_treatment)) # z-score z = (p_treatment - p_control) / se # Two-tailed p-value p_value = 2 * (1 - norm.cdf(abs(z))) print(f"Control conversion rate: {p_control:.3f}") print(f"Treatment conversion rate: {p_treatment:.3f}") print(f"z-score: {z:.3f}") print(f"p-value: {p_value:.4f}") if p_value < 0.05: print("Statistically significant difference in conversion rates.") else: print("No statistically significant difference detected.")
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 24
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 24