Я нашел различные методы проведения теста хи-квадрат для A / B-тестирования, сравнивая пользователей с коэффициентом конверсии контрольной и тестовой группы.
Первый метод использует statsmodels
и использует proportions_chisquare
Второй метод использует scipy
и chi2_contingency
Кажется, что chi2_contingency
всегда имеет более высокое значение, чем пропорции. Любая идея для различия и какой тест более применим для простого A / B теста?
Я прошу прощения за то, что не включил пример, приведенный ниже:
Example1 (p-value = 0.037 ):
import statsmodels.stats.proportion as proportion
import numpy as np
conv_a = 20
conv_b = 35
clicks_a = 500
clicks_b = 500
converted = np.array([conv_a, conv_b])
clicks = np.array([clicks_a,clicks_b])
chisq, pvalue, table = proportion.proportions_chisquare(converted, clicks)
print('Results are ','chisq =%.3f, pvalue = %.3f'%(chisq, pvalue))
Пример 2 (значение p = 0,0521):
import numpy
import scipy.stats
control_size = 500
A_CONVERSIONS = 20
A_NO_CONVERSIONS= control_size - A_CONVERSIONS
test_size = 500
B_CONVERSIONS = 35
B_NO_CONVERSIONS = test_size - B_CONVERSIONS
data = numpy.array([[A_NO_CONVERSIONS, A_CONVERSIONS],
[B_NO_CONVERSIONS, B_CONVERSIONS]])
chi_square, p_value = scipy.stats.chi2_contingency(data)[:2]
print('χ²: %.4f' % chi_square)
print('p-value: %.4f' % p_value)