Coverage for /Users/sebastiana/Documents/Sugarpills/confidence/spotify_confidence/analysis/constants.py: 100%
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
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.
15from typing import Tuple, Dict, Union
17NUMERATOR = "numerator"
18NUMERATOR_SUM_OF_SQUARES = "numerator_sum_of_squares"
19DENOMINATOR = "denominator"
20BOOTSTRAPS = "bootstraps"
21INTERVAL_SIZE = "interval_size"
22ALPHA = "alpha"
23FINAL_EXPECTED_SAMPLE_SIZE = "final_expected_sample_size"
24ORDINAL_GROUP_COLUMN = "ordinal_group_column"
25MDE = "mde"
26METHOD = "method_column"
27CORRECTION_METHOD = "correction_method"
28ABSOLUTE = "absolute"
29NUMBER_OF_COMPARISONS = "number_of_comparisons"
30TREATMENT_WEIGHTS = "treatment_weights"
31IS_BINARY = "is_binary"
32FEATURE = "feature"
33FEATURE_SUMSQ = "feature_sumsq"
34FEATURE_CROSS = "feature_cross"
36POINT_ESTIMATE = "point_estimate"
37VARIANCE = "variance"
38CI_LOWER, CI_UPPER = "ci_lower", "ci_upper"
39ADJUSTED_LOWER, ADJUSTED_UPPER = "adjusted ci_lower", "adjusted ci_upper"
40CI_WIDTH = "ci_width"
41DIFFERENCE = "difference"
42P_VALUE = "p-value"
43ADJUSTED_P = "adjusted p-value"
44SFX1, SFX2 = "_1", "_2"
45STD_ERR = "std_err"
46Z_CRIT = "z_crit"
47ALPHA = "alpha"
48ADJUSTED_ALPHA = "adjusted_alpha"
49ADJUSTED_ALPHA_POWER_SAMPLE_SIZE = "adjusted_alpha_power_sample_size"
50POWER = "power"
51POWERED_EFFECT = "powered_effect"
52ADJUSTED_POWER = "adjusted_power"
53IS_SIGNIFICANT = "is_significant"
54REQUIRED_SAMPLE_SIZE = "required_sample_size"
55REQUIRED_SAMPLE_SIZE_METRIC = "required_sample_size_for_metric"
56OPTIMAL_KAPPA = "optimal_kappa"
57OPTIMAL_WEIGHTS = "optimal_weigghts"
58ORIGINAL_POINT_ESTIMATE = "original_point_estimate"
59ORIGINAL_VARIANCE = "original_variance"
60VARIANCE_REDUCTION = "variance_reduction_rate"
62BONFERRONI = "bonferroni"
63HOLM = "holm"
64HOMMEL = "hommel"
65SIMES_HOCHBERG = "simes-hochberg"
66SIDAK = "sidak"
67HOLM_SIDAK = "holm-sidak"
68FDR_BH = "fdr_bh"
69FDR_BY = "fdr_by"
70FDR_TSBH = "fdr_tsbh"
71FDR_TSBKY = "fdr_tsbky"
73BONFERRONI_ONLY_COUNT_TWOSIDED = "bonferroni-only-count-twosided"
74BONFERRONI_DO_NOT_COUNT_NON_INFERIORITY = "bonferroni-do-not-count-non-inferiority"
75SPOT_1 = "spot-1-bonferroni"
77SPOT_1_HOLM = "spot-1-holm"
78SPOT_1_HOMMEL = "spot-1-hommel"
79SPOT_1_SIMES_HOCHBERG = "spot-1-simes-hochberg"
80SPOT_1_SIDAK = "spot-1-sidak"
81SPOT_1_HOLM_SIDAK = "spot-1-holm-sidak"
82SPOT_1_FDR_BH = "spot-1-fdr_bh"
83SPOT_1_FDR_BY = "spot-1-fdr_by"
84SPOT_1_FDR_TSBH = "spot-1-fdr_tsbh"
85SPOT_1_FDR_TSBKY = "spot-1-fdr_tsbky"
87CORRECTION_METHODS = [
88 BONFERRONI,
89 HOLM,
90 HOMMEL,
91 SIMES_HOCHBERG,
92 SIDAK,
93 HOLM_SIDAK,
94 FDR_BH,
95 FDR_BY,
96 FDR_TSBH,
97 FDR_TSBKY,
98 BONFERRONI_ONLY_COUNT_TWOSIDED,
99 BONFERRONI_DO_NOT_COUNT_NON_INFERIORITY,
100 SPOT_1,
101 SPOT_1_HOLM,
102 SPOT_1_HOMMEL,
103 SPOT_1_SIMES_HOCHBERG,
104 SPOT_1_SIDAK,
105 SPOT_1_HOLM_SIDAK,
106 SPOT_1_FDR_BH,
107 SPOT_1_FDR_BY,
108 SPOT_1_FDR_TSBH,
109 SPOT_1_FDR_TSBKY,
110]
112CORRECTION_METHODS_THAT_SUPPORT_CI = [
113 BONFERRONI,
114 HOLM,
115 HOMMEL,
116 SIMES_HOCHBERG,
117 BONFERRONI_ONLY_COUNT_TWOSIDED,
118 BONFERRONI_DO_NOT_COUNT_NON_INFERIORITY,
119 SPOT_1,
120 SPOT_1_HOLM,
121 SPOT_1_HOMMEL,
122 SPOT_1_SIMES_HOCHBERG,
123 SPOT_1_SIDAK,
124 SPOT_1_HOLM_SIDAK,
125 SPOT_1_FDR_BH,
126 SPOT_1_FDR_BY,
127 SPOT_1_FDR_TSBH,
128 SPOT_1_FDR_TSBKY,
129]
131CORRECTION_METHODS_THAT_REQUIRE_METRIC_INFO = [
132 BONFERRONI_DO_NOT_COUNT_NON_INFERIORITY,
133 SPOT_1,
134 SPOT_1_HOLM,
135 SPOT_1_HOMMEL,
136 SPOT_1_SIMES_HOCHBERG,
137 SPOT_1_SIDAK,
138 SPOT_1_HOLM_SIDAK,
139 SPOT_1_FDR_BH,
140 SPOT_1_FDR_BY,
141 SPOT_1_FDR_TSBH,
142 SPOT_1_FDR_TSBKY,
143]
145CORRECTION_METHODS_THAT_DONT_REQUIRE_METRIC_INFO = list(
146 set(CORRECTION_METHODS) - set(CORRECTION_METHODS_THAT_REQUIRE_METRIC_INFO)
147)
149NULL_HYPOTHESIS = "null_hypothesis"
150ALTERNATIVE_HYPOTHESIS = "alternative_hypothesis"
151NIM = "non-inferiority margin"
152NIM_COLUMN_DEFAULT = "non_inferiority_margin"
153PREFERRED_DIRECTION_COLUMN_DEFAULT = "preferred_direction"
154INCREASE_PREFFERED = "increase"
155DECREASE_PREFFERED = "decrease"
156TWO_SIDED = "two-sided"
157PREFERENCE = "preference"
158PREFERENCE_TEST = "preference_used_in_test"
159PREFERENCE_DICT = {"smaller": DECREASE_PREFFERED, "larger": INCREASE_PREFFERED, TWO_SIDED: TWO_SIDED}
160NIM_TYPE = Union[Tuple[float, str], Dict[str, Tuple[float, str]], bool]
161METHOD_COLUMN_NAME = "_method"
162CHI2 = "chi-squared"
163TTEST = "t-test"
164ZTEST = "z-test"
165ZTESTLINREG = "z-test-linreg"
166BOOTSTRAP = "bootstrap"
167METHODS = [CHI2, TTEST, ZTEST, BOOTSTRAP, ZTESTLINREG]
168REGRESSION_PARAM = "regression_parameters"