Мне удалось перевести следующую функцию в R:
p=pwr.2p2n.test(
h=ES.h(conversion_rate_test, conversion_rate_control),
n1=total_group_size*(1-holdout),
n2=total_group_size*holdout,
sig.level=0.1,
alternative="two.sided")
в Python:
import statsmodels.stats.api as sms
es = sms.proportion_effectsize(conversion_rate_test, conversion_rate_control)
sms.NormalIndPower().solve_power(es, nobs1=n1, alpha=alpha, ratio=n2/n1, alternative='two-sided')
Однако все входы для расчета в Python жестко закодированы сейчас:
lift = 0.01
conversion_rate_control = 0.151169
conversion_rate_test = conversion_rate_control*(1+lift)
holdout = 0.01
n1 = 38820.0*(1-holdout)
n2 = 38820.0*holdout
cl = 0.9
alpha = 1-cl
Расчет работает, но его нужно выполнять динамически, основываясь на следующих массивах вместо кодированных значений:
# providing arrays of values for future heatmap
holdout=np.array([0.01, 0.02, 0.03, 0.04, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5])
lift=np.array([0.01, 0.02, 0.025, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1, 0.125, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4])
В результате я стремлюсь к создайте следующую тепловую карту:
Расчет тока в Python создает вывод в нижней левой ячейке тепловой карты.
Пожалуйста, помогите мне снять это, и спасибо заранее!