Coverage for /Users/sebastiana/Documents/Sugarpills/confidence/spotify_confidence/analysis/frequentist/z_test.py: 100%

1# Copyright 2017-2020 Spotify AB

2#

3# Licensed under the Apache License, Version 2.0 (the "License");

4# you may not use this file except in compliance with the License.

5# You may obtain a copy of the License at

6#

7# http://www.apache.org/licenses/LICENSE-2.0

8#

9# Unless required by applicable law or agreed to in writing, software

10# distributed under the License is distributed on an "AS IS" BASIS,

11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

12# See the License for the specific language governing permissions and

13# limitations under the License.

14

15 from typing import Union, Iterable

16

17 from pandas import DataFrame

18

19 from spotify_confidence.analysis.abstract_base_classes.confidence_computer_abc import ConfidenceComputerABC

20 from spotify_confidence.analysis.abstract_base_classes.confidence_grapher_abc import ConfidenceGrapherABC

21 from spotify_confidence.analysis.constants import BONFERRONI, METHOD_COLUMN_NAME, ZTEST

22 from spotify_confidence.analysis.frequentist.experiment import Experiment

23

24

25 class ZTest(Experiment):

26 def __init__(

27 self,

28 data_frame: DataFrame,

29 numerator_column: str,

30 numerator_sum_squares_column: Union[str, None],

31 denominator_column: str,

32 categorical_group_columns: Union[str, Iterable],

33 ordinal_group_column: Union[str, None] = None,

34 interval_size: float = 0.95,

35 correction_method: str = BONFERRONI,

36 confidence_computer: ConfidenceComputerABC = None,

37 confidence_grapher: ConfidenceGrapherABC = None,

38 metric_column: Union[str, None] = None,

39 treatment_column: Union[str, None] = None,

40 power: float = 0.8,

41 ):

42 super(ZTest, self).__init__(

43 data_frame=data_frame.assign(**{METHOD_COLUMN_NAME: ZTEST}),

44 numerator_column=numerator_column,

45 numerator_sum_squares_column=numerator_sum_squares_column,

46 denominator_column=denominator_column,

47 categorical_group_columns=categorical_group_columns,

48 ordinal_group_column=ordinal_group_column,

49 interval_size=interval_size,

50 correction_method=correction_method,

51 confidence_computer=confidence_computer,

52 confidence_grapher=confidence_grapher,

53 method_column=METHOD_COLUMN_NAME,

54 metric_column=metric_column,

55 treatment_column=treatment_column,

56 power=power,

57 )