From 92eacb8d2f6a5d2487545af1d3af00ebe5bb560d Mon Sep 17 00:00:00 2001 From: gabrielcidral1 Date: Wed, 27 Dec 2023 23:29:54 +0100 Subject: [PATCH] feat: docs and minor changes --- cluster_experiments/experiment_analysis.py | 36 ++-- cluster_experiments/power_analysis.py | 2 + cluster_experiments/power_config.py | 1 + docs/analysis_with_different_hypothesis.ipynb | 193 ++++++++++++++++++ tests/analysis/test_hypothesis.py | 56 +++++ tests/analysis/test_ols_analysis.py | 8 - tests/examples.py | 2 +- 7 files changed, 277 insertions(+), 21 deletions(-) create mode 100644 docs/analysis_with_different_hypothesis.ipynb create mode 100644 tests/analysis/test_hypothesis.py diff --git a/cluster_experiments/experiment_analysis.py b/cluster_experiments/experiment_analysis.py index f1181662..e3521bb0 100644 --- a/cluster_experiments/experiment_analysis.py +++ b/cluster_experiments/experiment_analysis.py @@ -6,7 +6,8 @@ import statsmodels.api as sm from pandas.api.types import is_numeric_dtype from scipy.stats import ttest_ind, ttest_rel -from utils import HypothesisEntries + +from cluster_experiments.utils import HypothesisEntries class ExperimentAnalysis(ABC): @@ -34,7 +35,7 @@ def __init__( treatment_col: str = "treatment", treatment: str = "B", covariates: Optional[List[str]] = None, - hypothesis: HypothesisEntries = HypothesisEntries.TWO_SIDED, + hypothesis: str = "two-sided", ): self.target_col = target_col self.treatment = treatment @@ -122,16 +123,14 @@ def pvalue_based_on_hypothesis(self, model_result) -> float: """ treatment_effect = model_result.params[self.treatment_col] - p_value_half = model_result.pvalues[self.treatment_col] / 2 + p_value = model_result.pvalues[self.treatment_col] - if self.hypothesis == "less": - p_value = p_value_half if treatment_effect <= 0 else 1 - p_value_half - elif self.hypothesis == "greater": - p_value = p_value_half if treatment_effect >= 0 else 1 - p_value_half - elif self.hypothesis == "two-sided": - p_value = model_result.pvalues[self.treatment_col] - - return p_value + if HypothesisEntries(self.hypothesis) == HypothesisEntries.LESS: + return p_value / 2 if treatment_effect <= 0 else 1 - p_value / 2 + elif HypothesisEntries(self.hypothesis) == HypothesisEntries.GREATER: + return p_value / 2 if treatment_effect >= 0 else 1 - p_value / 2 + elif HypothesisEntries(self.hypothesis) == HypothesisEntries.TWO_SIDED: + return p_value @classmethod def from_config(cls, config): @@ -142,6 +141,7 @@ def from_config(cls, config): treatment_col=config.treatment_col, treatment=config.treatment, covariates=config.covariates, + hypothesis=config.hypothesis, ) @@ -216,6 +216,7 @@ def analysis_pvalue(self, df: pd.DataFrame, verbose: bool = False) -> float: results_gee = self.fit_gee(df) if verbose: print(results_gee.summary()) + p_value = self.pvalue_based_on_hypothesis(results_gee) return p_value @@ -266,6 +267,7 @@ def __init__( treatment_col: str = "treatment", treatment: str = "B", covariates: Optional[List[str]] = None, + hypothesis: str = "two-sided", ): super().__init__( target_col=target_col, @@ -273,6 +275,7 @@ def __init__( cluster_cols=cluster_cols, treatment=treatment, covariates=covariates, + hypothesis=hypothesis, ) self.regressors = [self.treatment_col] + self.covariates self.formula = f"{self.target_col} ~ {' + '.join(self.regressors)}" @@ -343,11 +346,13 @@ def __init__( target_col: str = "target", treatment_col: str = "treatment", treatment: str = "B", + hypothesis: str = "two-sided", ): self.target_col = target_col self.treatment = treatment self.treatment_col = treatment_col self.cluster_cols = cluster_cols + self.hypothesis = hypothesis def analysis_pvalue(self, df: pd.DataFrame, verbose: bool = False) -> float: """Returns the p-value of the analysis @@ -377,6 +382,7 @@ def from_config(cls, config): target_col=config.target_col, treatment_col=config.treatment_col, treatment=config.treatment, + hypothesis=config.hypothesis, ) @@ -390,6 +396,7 @@ class PairedTTestClusteredAnalysis(ExperimentAnalysis): treatment_col: name of the column containing the treatment variable treatment: name of the treatment to use as the treated group strata_cols: list of index columns for paired t test. Should be a subset or equal to cluster_cols + hypothesis: one of "two-sided", "less", "greater" Usage: @@ -418,12 +425,14 @@ def __init__( target_col: str = "target", treatment_col: str = "treatment", treatment: str = "B", + hypothesis: str = "two-sided", ): self.strata_cols = strata_cols self.target_col = target_col self.treatment = treatment self.treatment_col = treatment_col self.cluster_cols = cluster_cols + self.hypothesis = hypothesis def _preprocessing(self, df: pd.DataFrame, verbose: bool = False) -> pd.DataFrame: df_grouped = df.groupby( @@ -493,6 +502,7 @@ def from_config(cls, config): treatment_col=config.treatment_col, treatment=config.treatment, strata_cols=config.strata_cols, + hypothesis=config.hypothesis, ) @@ -573,6 +583,7 @@ def from_config(cls, config): treatment_col=config.treatment_col, treatment=config.treatment, covariates=config.covariates, + hypothesis=config.hypothesis, ) @@ -613,6 +624,7 @@ def __init__( treatment_col: str = "treatment", treatment: str = "B", covariates: Optional[List[str]] = None, + hypothesis: str = "two-sided", ): super().__init__( target_col=target_col, @@ -620,6 +632,7 @@ def __init__( cluster_cols=cluster_cols, treatment=treatment, covariates=covariates, + hypothesis=hypothesis, ) self.regressors = [self.treatment_col] + self.covariates self.formula = f"{self.target_col} ~ {' + '.join(self.regressors)}" @@ -648,7 +661,6 @@ def analysis_pvalue(self, df: pd.DataFrame, verbose: bool = False) -> float: print(results_mlm.summary()) p_value = self.pvalue_based_on_hypothesis(results_mlm) - return p_value def analysis_point_estimate(self, df: pd.DataFrame, verbose: bool = False) -> float: diff --git a/cluster_experiments/power_analysis.py b/cluster_experiments/power_analysis.py index 758204ff..8bcc8d77 100644 --- a/cluster_experiments/power_analysis.py +++ b/cluster_experiments/power_analysis.py @@ -103,6 +103,7 @@ def __init__( alpha: float = 0.05, features_cupac_model: Optional[List[str]] = None, seed: Optional[int] = None, + hypothesis: str = "two-sided", ): self.perturbator = perturbator self.splitter = splitter @@ -113,6 +114,7 @@ def __init__( self.control = control self.treatment_col = treatment_col self.alpha = alpha + self.hypothesis = hypothesis self.cupac_handler = CupacHandler( cupac_model=cupac_model, diff --git a/cluster_experiments/power_config.py b/cluster_experiments/power_config.py index 823e7ef0..0839e924 100644 --- a/cluster_experiments/power_config.py +++ b/cluster_experiments/power_config.py @@ -128,6 +128,7 @@ class PowerConfig: # Analysis covariates: Optional[List[str]] = None + hypothesis: str = "two-sided" # Power analysis n_simulations: int = 100 diff --git a/docs/analysis_with_different_hypothesis.ipynb b/docs/analysis_with_different_hypothesis.ipynb new file mode 100644 index 00000000..14fcce4f --- /dev/null +++ b/docs/analysis_with_different_hypothesis.ipynb @@ -0,0 +1,193 @@ +{ + "cells": [ + { + "cell_type": "raw", + "source": [], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "# Power comparison under different hypotheses" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "In the example below, we show how different hypotheses affect the power of the test. We use the same data as in a previous example." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 103, + "outputs": [], + "source": [ + "from datetime import date\n", + "import numpy as np\n", + "import pandas as pd\n", + "from cluster_experiments import PowerAnalysis\n", + "import matplotlib.pyplot as plt\n", + "np.random.seed(42)\n", + "\n", + "\n", + "# Create fake data\n", + "N = 500\n", + "clusters = [f\"Cluster {i}\" for i in range(50)]\n", + "dates = [f\"{date(2022, 1, i):%Y-%m-%d}\" for i in range(1, 32)]\n", + "df = pd.DataFrame(\n", + " {\n", + " \"cluster\": np.random.choice(clusters, size=N),\n", + " \"target\": np.random.normal(0, 1, size=N),\n", + " \"date\": np.random.choice(dates, size=N),\n", + " }\n", + ")\n", + "\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2023-12-27T22:22:28.482171Z", + "start_time": "2023-12-27T22:22:28.478198Z" + } + } + }, + { + "cell_type": "code", + "execution_count": 105, + "outputs": [], + "source": [ + "results = []\n", + "\n", + "for hypothesis in [\"two-sided\", \"less\", \"greater\"]:\n", + " for analysis in [\"ols_clustered\", \"gee\"]:\n", + " config = {\n", + " \"analysis\": analysis,\n", + " \"perturbator\": \"constant\",\n", + " \"splitter\": \"clustered\",\n", + " \"n_simulations\": 50,\n", + " \"hypothesis\": hypothesis,\n", + " \"cluster_cols\": ['cluster'],\n", + " }\n", + " pw = PowerAnalysis.from_dict(config)\n", + " # power = pw.power_analysis(df, average_effect=0.1)\n", + "\n", + " power_dict = pw.power_line(df, average_effects=[0, 0.01, 0.02, 0.03, 0.5])\n", + " power_df = pd.DataFrame(list(power_dict.items()), columns=['average_effect', 'power'])\n", + "\n", + " power_df['hypothesis'] = hypothesis\n", + " power_df['analysis'] = analysis\n", + "\n", + " results.append(power_df)\n", + "\n", + "\n", + "final_df = pd.concat(results, ignore_index=True)\n", + "\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2023-12-27T22:23:20.669360Z", + "start_time": "2023-12-27T22:22:59.853233Z" + } + } + }, + { + "cell_type": "code", + "execution_count": 106, + "outputs": [ + { + "data": { + "text/plain": " average_effect power hypothesis perturbator splitter analysis\n0 0.00 0.08 two-sided constant clustered ols_clustered\n1 0.01 0.10 two-sided constant clustered ols_clustered\n2 0.02 0.06 two-sided constant clustered ols_clustered\n3 0.03 0.04 two-sided constant clustered ols_clustered\n4 0.50 1.00 two-sided constant clustered ols_clustered\n5 0.00 0.08 two-sided constant clustered gee\n6 0.01 0.04 two-sided constant clustered gee\n7 0.02 0.06 two-sided constant clustered gee\n8 0.03 0.06 two-sided constant clustered gee\n9 0.50 1.00 two-sided constant clustered gee\n10 0.00 0.04 less constant clustered ols_clustered\n11 0.01 0.06 less constant clustered ols_clustered\n12 0.02 0.04 less constant clustered ols_clustered\n13 0.03 0.00 less constant clustered ols_clustered\n14 0.50 0.00 less constant clustered ols_clustered\n15 0.00 0.04 less constant clustered gee\n16 0.01 0.06 less constant clustered gee\n17 0.02 0.06 less constant clustered gee\n18 0.03 0.00 less constant clustered gee\n19 0.50 0.00 less constant clustered gee\n20 0.00 0.06 greater constant clustered ols_clustered\n21 0.01 0.14 greater constant clustered ols_clustered\n22 0.02 0.08 greater constant clustered ols_clustered\n23 0.03 0.06 greater constant clustered ols_clustered\n24 0.50 1.00 greater constant clustered ols_clustered\n25 0.00 0.10 greater constant clustered gee\n26 0.01 0.14 greater constant clustered gee\n27 0.02 0.22 greater constant clustered gee\n28 0.03 0.16 greater constant clustered gee\n29 0.50 1.00 greater constant clustered gee", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
average_effectpowerhypothesisperturbatorsplitteranalysis
00.000.08two-sidedconstantclusteredols_clustered
10.010.10two-sidedconstantclusteredols_clustered
20.020.06two-sidedconstantclusteredols_clustered
30.030.04two-sidedconstantclusteredols_clustered
40.501.00two-sidedconstantclusteredols_clustered
50.000.08two-sidedconstantclusteredgee
60.010.04two-sidedconstantclusteredgee
70.020.06two-sidedconstantclusteredgee
80.030.06two-sidedconstantclusteredgee
90.501.00two-sidedconstantclusteredgee
100.000.04lessconstantclusteredols_clustered
110.010.06lessconstantclusteredols_clustered
120.020.04lessconstantclusteredols_clustered
130.030.00lessconstantclusteredols_clustered
140.500.00lessconstantclusteredols_clustered
150.000.04lessconstantclusteredgee
160.010.06lessconstantclusteredgee
170.020.06lessconstantclusteredgee
180.030.00lessconstantclusteredgee
190.500.00lessconstantclusteredgee
200.000.06greaterconstantclusteredols_clustered
210.010.14greaterconstantclusteredols_clustered
220.020.08greaterconstantclusteredols_clustered
230.030.06greaterconstantclusteredols_clustered
240.501.00greaterconstantclusteredols_clustered
250.000.10greaterconstantclusteredgee
260.010.14greaterconstantclusteredgee
270.020.22greaterconstantclusteredgee
280.030.16greaterconstantclusteredgee
290.501.00greaterconstantclusteredgee
\n
" + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final_df" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2023-12-27T22:23:24.349017Z", + "start_time": "2023-12-27T22:23:24.339670Z" + } + } + }, + { + "cell_type": "code", + "execution_count": 107, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "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" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "
", + "image/png": "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" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# df = pd.DataFrame(results.items(), columns=[\"average_effect\", \"power\"])\n", + "\n", + "# plot using matplotlib\n", + "for analysis in ['ols_clustered', 'gee']:\n", + " fig, ax = plt.subplots()\n", + " for category, group in final_df.query(\"analysis == @analysis\").groupby('hypothesis'):\n", + " ax.plot(group['average_effect'], group['power'], label=category)\n", + " #ax.plot(final_df[\"average_effect\"],final_df[\"power\"], label= final_df[\"hypothesis\"])\n", + " ax.set_xlabel(\"Average effect\")\n", + " ax.set_ylabel(\"Power\")\n", + " ax.set_title(f\"Power curve - {analysis}\")\n", + " ax.legend()\n", + " plt.show()" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2023-12-27T22:23:27.969513Z", + "start_time": "2023-12-27T22:23:27.604215Z" + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/tests/analysis/test_hypothesis.py b/tests/analysis/test_hypothesis.py new file mode 100644 index 00000000..cf234b92 --- /dev/null +++ b/tests/analysis/test_hypothesis.py @@ -0,0 +1,56 @@ +import pandas as pd +import pytest + +from cluster_experiments.experiment_analysis import ( + ClusteredOLSAnalysis, + GeeExperimentAnalysis, + MLMExperimentAnalysis, + OLSAnalysis, + TTestClusteredAnalysis, +) +from tests.examples import analysis_df, generate_clustered_data + + +@pytest.mark.parametrize("hypothesis", ["less", "greater", "two-sided"]) +@pytest.mark.parametrize("analysis_class", [OLSAnalysis]) +def test_get_pvalue_hypothesis(analysis_class, hypothesis): + analysis_df_full = pd.concat([analysis_df for _ in range(100)]) + analyser = analysis_class(hypothesis=hypothesis) + assert analyser.get_pvalue(analysis_df_full) >= 0 + + +@pytest.mark.parametrize("hypothesis", ["less", "greater", "two-sided"]) +@pytest.mark.parametrize( + "analysis_class", + [ + ClusteredOLSAnalysis, + GeeExperimentAnalysis, + TTestClusteredAnalysis, + MLMExperimentAnalysis, + ], +) +def test_get_pvalue_hypothesis_clustered(analysis_class, hypothesis): + + analysis_df_full = generate_clustered_data() + analyser = analysis_class(hypothesis=hypothesis, cluster_cols=["user_id"]) + assert analyser.get_pvalue(analysis_df_full) >= 0 + + +@pytest.mark.parametrize("analysis_class", [OLSAnalysis]) +def test_get_pvalue_hypothesis_default(analysis_class): + analysis_df_full = pd.concat([analysis_df for _ in range(100)]) + analyser = analysis_class() + assert analyser.get_pvalue(analysis_df_full) >= 0 + + +@pytest.mark.parametrize("analysis_class", [OLSAnalysis]) +def test_get_pvalue_hypothesis_wrong_input(analysis_class): + analysis_df_full = pd.concat([analysis_df for _ in range(100)]) + + # Use pytest.raises to check for ValueError + with pytest.raises(ValueError) as excinfo: + analyser = analysis_class(hypothesis="wrong_input") + analyser.get_pvalue(analysis_df_full) >= 0 + + # Check if the error message is as expected + assert "'wrong_input' is not a valid HypothesisEntries" in str(excinfo.value) diff --git a/tests/analysis/test_ols_analysis.py b/tests/analysis/test_ols_analysis.py index bf2e5cc1..392c4c45 100644 --- a/tests/analysis/test_ols_analysis.py +++ b/tests/analysis/test_ols_analysis.py @@ -1,5 +1,4 @@ import pandas as pd -import pytest from cluster_experiments.experiment_analysis import OLSAnalysis from tests.examples import analysis_df @@ -17,10 +16,3 @@ def test_get_pvalue(): analysis_df_full = pd.concat([analysis_df for _ in range(100)]) analyser = OLSAnalysis() assert analyser.get_pvalue(analysis_df_full) >= 0 - - -@pytest.mark.parametrize("hypothesis", ["one_sided", "two_sided"]) -def test_get_pvalue_hypothesis(hypothesis): - analysis_df_full = pd.concat([analysis_df for _ in range(100)]) - analyser = OLSAnalysis(hypothesis=hypothesis) - assert analyser.get_pvalue(analysis_df_full) >= 0 diff --git a/tests/examples.py b/tests/examples.py index af35d58c..d3d0ea22 100644 --- a/tests/examples.py +++ b/tests/examples.py @@ -59,7 +59,7 @@ def generate_non_clustered_data(N, n_users): ) -def generate_clustered_data(): +def generate_clustered_data() -> pd.DataFrame: analysis_df = pd.DataFrame( { "country_code": ["ES"] * 4 + ["IT"] * 4 + ["PL"] * 4 + ["RO"] * 4,