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

90 statements  

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 

15from typing import Tuple, Dict, Union 

16 

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" 

35 

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" 

61 

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" 

72 

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" 

76 

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" 

86 

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] 

111 

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] 

130 

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] 

144 

145CORRECTION_METHODS_THAT_DONT_REQUIRE_METRIC_INFO = list( 

146 set(CORRECTION_METHODS) - set(CORRECTION_METHODS_THAT_REQUIRE_METRIC_INFO) 

147) 

148 

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"