Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.4 kB
1
Indexable
Never
from scipy import stats as st
import numpy as np
import math as mth

alpha = 0.05  # критический уровень статистической значимости

purchases = np.array([100, 100])
leads = np.array([400, 500])

# пропорция успехов в первый группе:
p1= purchases[0]/leads[0]

# пропорция успехов во второй группе:
p2= purchases[1]/leads[1]

#пропорция успехов в комбинорованном датасете:
p_combined = (purchases[0] + purchases[1]) / (leads[0] + leads[1])

#разница пропорций в датасетах
difference = p1 - p2

#статистика в ст.отклонениях стандартного нормального распределения
z_value = difference / mth.sqrt(p_combined * (1 - p_combined) * (1/leads[0] + 1/leads[1])

# задаем стандартное нормальное распределение
distr = st.norm(0, 1)

p_value = (1 - distr.cdf(abs(z_value))) * 2

print('p-значение: ', p_value)

if # ваш код
    print('Отвергаем нулевую гипотезу: между долями есть значимая разница')
else:
    print(
        'Не получилось отвергнуть нулевую гипотезу, нет оснований считать доли разными'
    )