Lors de la réalisation d'un test A / B, il est très important non seulement d'estimer l'effet de la prise de mesures, mais également de calculer la fiabilité de la valeur estimée. Par conséquent, l'erreur d'estimation de l'effet et l'intervalle de confiance sont dérivés.
Exemple) Estimation ATE et intervalle de confiance à 95% au-dessus et au-dessous
Estimez à quel point le taux d'achat de produits sur le site EC changera en frappant une certaine campagne. Le groupe d'intervention ciblé par la campagne est $ T $, le groupe témoin exclu de la campagne est $ C $, la taille de l'échantillon est respectivement $ n $ et $ m $, et la moyenne de la population est $ p_ {T} $, $ p_ {C. } $, Le comportement des utilisateurs $ X_ {T} $, $ X_ {C} $ dans les groupes d'intervention et de contrôle suit la distribution de Bernoulli. 1 si l'utilisateur a acheté l'article, 0 si l'utilisateur n'a pas acheté l'article. De plus, l'utilisateur se voit attribuer A / B indépendamment et le comportement de l'utilisateur est indépendant.
X_{T1}, X_{T2}, \ldots X_{Tn} \sim Bern(p_{T}) \\
X_{C1}, X_{C2}, \ldots X_{Cm} \sim Bern(p_{C})
L'effet de la mesure que le fait de toucher la campagne a sur le taux d'achat est exprimé en $ ATE $. Dérivez la distribution, la moyenne et la variance de $ ATE $.
Supposons que vous ayez un échantillon échantillonné indépendamment de la distribution de probabilité $ F $ avec les paramètres de moyenne et de variance $ \ mu, \ sigma ^ 2 $
X_1, X_2, \ldots, iid \sim F(\mu, \sigma^2)
A partir de la qualification du pôle central, la convergence de distribution suivante est valable pour la moyenne de l'échantillon $ \ bar {X} $.
\lim_{n\rightarrow\infty}P \left( \frac{\sqrt n (\bar{X}-\mu)}{\sigma} \leq x \right) = \Phi(x)
En d'autres termes, la distribution suivie de la moyenne de l'échantillon d'un échantillon qui se produit indépendamment de toute distribution de probabilité avec des paramètres de moyenne et de variance se rapproche progressivement de la distribution normale. Si la moyenne de la population de la distribution de Bernoulli est $ p $, la variance de la population peut être exprimée comme $ p (1-p) $, donc si la taille de l'échantillon est grande, la moyenne de l'échantillon du groupe d'intervention et du groupe témoin est $ \ bar {X_T}, \ bar. {X_C} $ suit la distribution normale suivante.
\bar{X_T} = \frac{1}{n}\sum^n X_{Ti} \\
\bar{X_C} = \frac{1}{m}\sum^m X_{Ci} \\
\bar{X_T} \sim N(p_T, \frac{1}{n}p_{T}(1-p_{T})) \\
\bar{X_C} \sim N(p_C, \frac{1}{m}p_{C}(1-p_{C})) \\
L'effet $ ATE $ est défini comme la différence entre les valeurs attendues des deux variables de résultats potentiels.
ATE = E[X_T - X_C] = E[X_T] - E[X_C] = p_T - p_C
Il s'agit de la moyenne de la différence entre «les résultats lorsque toute la population d'utilisateurs est affectée au groupe d'intervention» et «les résultats lorsque l'ensemble de la population d'utilisateurs est affectée au groupe de contrôle».
En réalité, les utilisateurs ne peuvent être affectés qu'à des interventions ou à des contrôles. Par exemple, lorsqu'un utilisateur devient une cible de campagne, vous pouvez voir s'il a acheté le produit par la suite. Cependant, puisque l'utilisateur a déjà été affecté à la campagne, on ne sait pas si l'utilisateur a acheté l'article alors qu'il n'était pas éligible pour la campagne. Par conséquent, $ ATE $ ne peut pas être calculé directement à partir des données.
Par conséquent, les tests A / B effectuent généralement des affectations de manière complètement aléatoire. Si l'allocation est aléatoire, l'effet peut être estimé sans biais (sans biais) en utilisant la différence entre les moyennes observées de chaque groupe. Soit le montant estimé de $ ATE $ $ \ hat {ATE} $.
\begin{align}
\hat{ATE} &= \frac{1}{n}\sum^nX_{T,i} + \frac{1}{m}\sum^mX_{C,i} \\
&= \bar{X_T} - \bar{X_C} \\
E[\hat{ATE}] &= E[\bar{X_T}] - E[\bar{X_C}] = p_T - p_C = ATE \\
\end{align}
L'effet estimé est calculé par «Taux d'achat du groupe d'intervention - Taux d'achat du groupe témoin». Etant donné que le «taux d'achat du groupe d'intervention» et le «taux d'achat du groupe témoin» suivent chacun une distribution normale, les statistiques calculées sur leur base suivent également la distribution normale.
\hat{ATE} = \bar{X_T} - \bar{X_C} \sim N(p_T - p_C, \frac{1}{n}p_{T}(1-p_{T})+\frac{1}{m}p_{C}(1-p_{C}))
La population de la distribution de probabilité que suit la statistique de l'effet de la mesure $ \ hat {ATE} $ est
Ce sera.
Jusqu'à présent, j'ai utilisé divers symboles sans préavis. Je vais trier plusieurs termes une fois.
Des enquêtes statistiques sont menées pour extraire des données afin d'examiner les caractéristiques de la population et pour traiter les données pour en tirer des informations utiles sur la population pour le jugement et la prise de décision. S'il est difficile d'enquêter sur l'ensemble de la population, échantillonnez la population et faites des inférences sur la population.
Dans les statistiques spéculatives, un modèle de probabilité est supposé pour la population et les données sont capturées comme la valeur réalisée de la variable de probabilité qui suit la distribution de probabilité. Les échantillons $ X_1, X_2, \ ldots, X_n $ qui suivent une certaine distribution de probabilité sont des variables stochastiques et leurs valeurs de réalisation $ x_1, x_2, \ ldots, x_n $ sont des données. $ n $ est appelé la taille de l'échantillon.
Une population qui représente les caractéristiques d'une population, telles que le $ \ mu $ moyen de la population et la variance $ \ sigma ^ 2 $, est appelée population. Les fonctions basées sur des échantillons $ X_1, X_2, \ ldots et X_n $ qui n'incluent pas de population sont appelées statistiques, et leurs distributions de probabilité sont appelées distributions d'échantillons. Par exemple, les échantillons $ X_1 $ et la moyenne de l'échantillon $ \ bar {X_T} $ sont des statistiques. De plus, $ \ hat {ATE} $, qui est calculé sur la base de statistiques, est également une statistique. Dans les statistiques inférées, la population est déduite en calculant ** des statistiques. ** ** Lors de l'estimation des paramètres de la population sur la base des statistiques obtenues à partir de l'échantillon, les statistiques de l'échantillon sont appelées le montant estimé.
Les estimations sont des variables stochastiques. Cela ne prend définitivement aucune valeur. La valeur estimée est calculée à l'aide des nombres obtenus en observant réellement les données.
Différence entre le montant estimé et la valeur estimée
Estimer la population à partir des données réellement observées.
Le $ \ mu $ moyen de la population est la population, mais il n'est pas facile de le calculer directement à partir de toutes les données de la population. Par conséquent, après avoir observé n données, la moyenne de l'échantillon $ \ bar {X} = \ frac {1} {n} \ sum ^ n X_i $ est calculée. La moyenne de l'échantillon est la même que la moyenne de la population. $ E [\ bar {X}] = \ mu $. Par conséquent, il est possible d'estimer la moyenne de la population par la moyenne de l'échantillon.
En supposant que les données sont $ (x_1, x_2, \ ldots, x_n) $, la valeur estimée est $ \ bar {x} = \ sum ^ n x_i $.
Cependant, comme les statistiques (= estimations) sont des variables stochastiques, il existe des incertitudes. L'incertitude sur la valeur varie considérablement entre la moyenne de l'échantillon calculée sur la base de 10 données et la moyenne de l'échantillon sur la base de 10000 données. Par conséquent, l'erreur standard est calculée pour révéler l'incertitude.
Lorsqu'il y a une variable de probabilité $ X $, la moyenne $ \ mu = E [X] $ et la variance $ \ sigma ^ 2 = Var (X) = E [(X- \ mu) ^ 2] $ peuvent être définies. Celui qui prend la route de la distribution est appelé l'écart type $ \ sigma = \ sqrt {Var (X)} $.
Les statistiques étant également des variables stochastiques, les écarts types peuvent être définis de la même manière. Les statistiques sont souvent utilisées pour estimer la valeur d'une population en faisant de la moyenne la moyenne de la population. Donc ** l'écart type de la statistique, l'incertitude de l'estimation par rapport à la valeur réelle, est appelé «erreur standard». ** **
Par exemple, l'écart type de l'échantillon signifie $ \ bar {X} = \ frac {1} {n} \ sum_ {i = 1} ^ n X_i $ est $ \ frac {\ sigma} {\ sqrt n} $ , $ \ Bar {X} $ représente l'incertitude en termes de statistique d'estimation de la moyenne de la population $ \ mu $, $ \ frac {\ sigma} {\ sqrt n} $ est l'erreur standard est.
Lorsque la valeur attendue de l'estimation est égale à la population, on parle d'estimation sans biais. Par exemple, la moyenne de l'échantillon est une estimation sans biais de la moyenne de la population.
L'estimation sans biais $ V ^ 2 $ pour la variance de la population $ \ sigma ^ 2 $ est:
V^2 = \frac{1}{n-1} \sum^n (X_i - \bar{X})^2 \\
E[V^2] = \sigma^2 \\
$ V ^ 2 $ est appelé distribution non biaisée. Le fait est que la moyenne de l'échantillon est la somme des données individuelles divisée par $ n $, tandis que la variance non biaisée est divisée par $ n-1 $. Par défaut, les fonctions Pandas «df.var ()» et «df.std ()» calculent les variances non biaisées.
Il est possible de calculer la variance sans biais selon la définition ci-dessus, mais en tirant parti du fait que la variance de la distribution de Bernoulli peut être calculée en $ p (1-p) $, la moyenne de l'échantillon $ \ bar {X} $ et la variance de l'échantillon $ \ Vous pouvez également utiliser bar {X} (1- \ bar {X}) $ pour calculer la variance non biaisée $ V ^ 2 $.
\begin{align}
E[\bar{X}(1-\bar{X})] &= E[\bar{X} - \bar{X}^2] \\
&= E[\bar{X}] - E[\bar{X}^2] \\
&= E[\bar{X}] - (E[\bar{X}]^2 + Var(\bar{X})) \\
&= p - p^2 - \frac{1}{n^2} \sum^n Var(X_i) \\
&= p(1 - p) - \frac{1}{n} p(1 - p) \\
&= \frac{n-1}{n} p (1 - p) \\
E \left[ \frac{n}{n-1}\bar{X}(1-\bar{X}) \right] &= \sigma^2 \\
\end{align} \\
Par conséquent, la distribution non biaisée de $ X $ est $ V ^ 2 = \ frac {n} {n-1} \ bar {X} (1- \ bar {X}) $.
La distribution non biaisée entre le groupe d'intervention et le groupe témoin est la suivante.
V_T^2 = \frac{n}{n-1} \bar{X_T} (1 - \bar{X_T}) \\
V_C^2 = \frac{m}{m-1} \bar{X_C} (1 - \bar{X_C}) \\
Calculez la moyenne de l'échantillon $ \ bar {x} $ comme une estimation de la moyenne de la population $ \ mu $ de $ X $. La valeur estimée $ v ^ 2 $ pour la variance de la population de $ X $ $ \ sigma ^ 2 = p (1-p) $ est
\bar{x} = \frac{1}{n} \sum^n x_i \\
v^2 = \frac{n}{n-1} \bar{x} (1 - \bar{x}) \\
L'estimation de l'écart type est $ v $.
La variance (carré de l'erreur standard) de la moyenne de l'échantillon $ \ bar {X} $ est la suivante.
SE^2 = \frac{V^2}{n}
La variance de la moyenne de l'échantillon du groupe d'intervention et du groupe témoin est la suivante.
SE_T^2 = \frac{V_T^2}{n} \\
SE_C^2 = \frac{V_C^2}{m} \\
Par conséquent, la répartition de l'effet est la suivante.
V_{ATE}^2 = SE_T^2 + SE_C^2 = \frac{V_T^2}{n} + \frac{V_C^2}{m}
En supposant que les variances des distributions de probabilité suivies par le groupe d'intervention et le groupe témoin sont égales à $ V_ {TC} ^ 2 $, la variance de $ \ hat {ATE} $ peut être réduite (= la précision de l'estimation est améliorée). Il est nécessaire de vérifier à l'avance si une dispersibilité égale est établie.
\begin{align}
V_T^2 &= \frac{n}{n-1}\bar{X_T}(1-\bar{X_T}) \\
V_C^2 &= \frac{m}{m-1}\bar{X_C}(1-\bar{X_C}) \\
V_{TC}^2 &= \frac{(n-1)V_T^2 + (m-1)V_C^2}{(n-1)+(m-1)} \\
&= \frac{(n-1)V_T^2 + (m-1)V_C^2}{n+m-2} \\
V_{ATE,pool}^2 &= \frac{V_{TC}^2}{n} + \frac{V_{TC}^2}{m} \\
\end{align}
Je vais résumer les formules qui sont apparues jusqu'à présent.
X_{T1}, X_{T2}, \ldots X_{Tn} \sim Bern(p_{T}) \\
X_{C1}, X_{C2}, \ldots X_{Cm} \sim Bern(p_{C}) \\
\bar{X_T} \sim N(p_T, \frac{1}{n}p_{T}(1-p_{T})) \\
\bar{X_C} \sim N(p_C, \frac{1}{m}p_{C}(1-p_{C})) \\
\hat{ATE} \sim N(p_T - p_C, \frac{1}{n}p_{T}(1-p_{T})+\frac{1}{m}p_{C}(1-p_{C}))
Quantité estimée de paramètres moyens
\bar{X_T} = \frac{1}{n}\sum^n X_{Ti} \\
\bar{X_C} = \frac{1}{m}\sum^n X_{Ci} \\
\hat{ATE} = \bar{X_T} - \bar{X_C}
Quantité estimée de paramètres de distribution
V_T^2 = \frac{n}{n-1}\bar{X_T}(1-\bar{X_T}) \\
V_C^2 = \frac{m}{m-1}\bar{X_C}(1-\bar{X_C}) \\
V_{ATE}^2 = \frac{V_T^2}{n} + \frac{V_C^2}{m} \\
V_{TC}^2 = \frac{(n-1)V_T^2 + (m-1)V_C^2}{n+m-2} \\
V_{ATE,pool}^2 = \frac{V_{TC}^2}{n} + \frac{V_{TC}^2}{m} \\
Les données observées sont utilisées pour calculer la valeur estimée, qui est la valeur réalisée de la statistique. Puisqu'il est presque le même que le montant estimé, certaines parties seront omises.
\hat{ate} = \bar{x_T} - \bar{x_C} \\
v_{ATE}^2 = \frac{v_T^2}{n} + \frac{v_C^2}{m} \\
v_{ATE,pool}^2 = \frac{v_{TC}^2}{n} + \frac{v_{TC}^2}{m} \\
Enfin, calculez l'intervalle de confiance de $ \ hat {ATE} $ pour mesurer l'incertitude de l'estimation de l'effet.
Dans le test d'hypothèse, deux hypothèses opposées, l'hypothèse nulle et l'hypothèse alternative, sont faites. L'hypothèse nulle est que normalement la moyenne de la population $ \ mu $ est une certaine valeur $ \ mu_0 $. Par contre, l'hypothèse que la valeur de la moyenne de la population n'est pas $ \ mu_0 $ est appelée hypothèse alternative.
En observant la valeur réalisée $ x $ de la variable de probabilité $ X $, nous calculons la rareté de la probabilité que la valeur réalisée soit observée lorsque l'hypothèse nulle est correcte, et acceptons l'hypothèse basée sur le résultat du calcul. Ou rejetez-le.
Supposons qu'une variable stochastique suit une distribution normale. La distribution $ \ sigma_0 ^ 2 $ est connue.
X \sim N(\mu, \sigma_0^2)
Définissez l'hypothèse nulle et l'hypothèse alternative comme suit.
H_0: \mu = \mu_0 \\
H_1: \mu \neq \mu_0 \\
Les zones de rejet et d'acceptation de l'hypothèse nulle sont les suivantes.
R = \left\{ x \in \mathbb{R} \middle| \frac{|x - \mu_0|}{\sigma_0} > z_{\alpha/2}\right\} \\
A = \left\{ x \in \mathbb{R} \middle| \frac{|x - \mu_0|}{\sigma_0} \leq z_{\alpha/2}\right\}
$ z_ {\ alpha / 2} $ est la valeur z de la distribution normale standard. La probabilité que $ z_ {\ alpha} $ ou plus soit extrait de la distribution normale standard $ \ Phi = N (0,1) $ est $ \ alpha $.
Comment utiliser la table de distribution normale standard
Ici, si la méthode de test est inversée de $ X $ à $ \ mu_0 $
\begin{align}
A &= \left\{ \mu_0 \in \mathbb{R} \middle| \frac{|x - \mu_0|}{\sigma_0} \leq z_{\alpha/2}\right\} \\
&= \left\{ \mu_0 \in \mathbb{R} \middle| |x - \mu_0| \leq \sigma_0 z_{\alpha/2}\right\} \\
&= \left\{ \mu_0 \in \mathbb{R} \middle| x - \sigma_0 z_{\alpha/2} \leq \mu_0 \leq x + \sigma_0 z_{\alpha/2} \right\}
\end{align}
Ce sera. Si l'hypothèse nulle est correcte, l'intervalle dans lequel la valeur de réalisation de l'échantillon $ X $ est observée comme $ x $ est compris entre $ 1- \ alpha $% est $ [x- \ sigma_0 z_ {\ alpha / 2}, x + \ sigma_0 z_ {\ alpha / 2}] $. C'est ce qu'on appelle l'intervalle de confiance avec un facteur de confiance de $ 1- \ alpha $.
Maintenant que nous savons comment calculer l'intervalle de confiance, nous pouvons en fait calculer l'intervalle de confiance de l'effet.
La population de la distribution de probabilité suivie par l'effet estimé de la mesure $ \ hat {ATE} $ est
\begin{align}
\mu &= ATE = p_T - p_C \\
\sigma &= \sqrt{\frac{1}{n}p_{T}(1-p_{T})+\frac{1}{m}p_{C}(1-p_{C})} \\
\end{align}
était.
Calculez l'estimation moyenne. Nous ne connaissons pas la valeur réelle de l'écart type, nous allons donc substituer une route non biaisée à la place.
\begin{align}
\hat{\mu} &= \hat{ate} = \bar{x_T} - \bar{x_C} \\
\sigma_0 &\approx v_{ATE} = \sqrt{\frac{1}{n-1}\bar{x_T}(1-\bar{x_T})+\frac{1}{m-1}\bar{x_C}(1-\bar{x_C})} \\
\end{align}
Si la distribution que $ ATE $ suit est une distribution normale (* décrite plus loin), l'effet de la prise de mesures $ ATE $ $ 1- \ alpha $ L'intervalle de confiance est
[\hat{\mu} - v_{ATE} \, z_{\alpha/2}, \hat{\mu} + v_{ATE} \, z_{\alpha/2}]
Ce sera.
La relation entre $ \ alpha $ et $ z_ {\ alpha / 2} $
\begin{align}
\alpha = 0.05 &\leftrightarrow z_{\alpha/2} = 1.96 \\
\alpha = 0.1 &\leftrightarrow z_{\alpha/2} = 1.65 \\
\end{align}
Ainsi, par exemple, si $ \ alpha = 0,05 $, l'intervalle de confiance à 95% des deux côtés est
[\hat{\mu} - 1.96v_{ATE}, \hat{\mu} + 1.96v_{ATE}]
est.
«Moyenne de l'échantillon ± 2 x erreur standard» est une approximation de l'intervalle de confiance à 95% des deux côtés. Pour des raisons pratiques, je pense que c'est une bonne idée de commencer par l'utiliser.
import numpy as np
import pandas as pd
import plotly.express as px
##Problème de réglage
t_imp = 10000
c_imp = 50000
t_click = 100
c_click = 350
t_ctr = t_click / t_imp
c_ctr = c_click / c_imp
##Calculer les estimations de la moyenne de la population ETA et de la variance de la population
#moyenne
ate_mean = t_ctr - c_ctr
#Distribué(Sans supposer une dispersibilité égale)
ate_var = (t_ctr * (1 - t_ctr) / (t_imp - 1)) + (c_ctr * (1 - c_ctr) / (c_imp - 1)) #Aucune hypothèse d'égalité de dispersion
ate_se = np.sqrt(ate_var)
#Distribué(En supposant une distribution égale)
t_var = (t_ctr * (1 - t_ctr)) * (t_imp / (t_imp - 1)) #Dispersion impartiale du groupe d'intervention
c_var = (c_ctr * (1 - c_ctr)) * (c_imp / (c_imp - 1)) #Répartition impartiale des groupes témoins
tc_var_pool = ((t_imp - 1) * t_var + (c_imp - 1) * c_var) / (t_imp + c_imp - 2) #Distribution groupée
ate_var_pool = tc_var_pool * (1 / t_imp + 1 / c_imp) #a mangé la distribution
ate_se_pool = np.sqrt(ate_var_pool)
##Visualisation
df_plot = pd.DataFrame({
"mean": [ate_mean, ate_mean],
"2se": [2 * ate_se, 2 * ate_se_pool], #Haut et bas 95%Intervalle de confiance approximatif
"type": ["equal_var=False", "equal_var=True"]
})
px.bar(df_plot, x="type", y="mean", error_y="2se", height=400, width=400)
On peut voir que l'erreur d'estimation est légèrement plus petite lorsque la dispersion égale est supposée.
Grâce à diverses recherches, j'ai pu organiser le concept de statistiques d'inférence.
Le terme est déroutant et déroutant. ..
(Kubogawa, 2017) "Bases des statistiques mathématiques modernes" (Hoshino, 2009) "Science statistique des données d'observation d'enquête" (Yasui, 2020) "Introduction à la vérification des effets - Raisonnement des causes et des effets pour une comparaison correcte / Bases de l'économie quantitative"
Nous avons supposé une distribution normale pour l'intervalle de confiance, mais si la variance est inconnue, $ \ hat {ATE} $ suivra la distribution t au lieu de la distribution normale.
Dans ce contexte problématique, puisqu'il s'agit du taux d'achat de produits sur le site de la CE, un nombre suffisant de données est collecté, et les formes de la distribution t et de la distribution normale sont presque les mêmes. Par conséquent, l'explication est omise.
Si vous souhaitez utiliser la distribution t pour estimer un test ou un intervalle de confiance plus rigoureux, remplacez $ z_ {\ alpha / 2} $ par $ t_ {\ alpha / 2} $.
Lors du calcul, il est plus facile d'utiliser un package tel que stats.ttest_ind
directement à partir des données au lieu de calculer manuellement la valeur t.
Recommended Posts