Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- alpha = 0.05
- def m_interval(sample):
- n = sample.n()
- delta = stats.t(n - 1).ppf(1 - alpha / 2) * sample.s() / np.sqrt(n)
- mean = sample.mean()
- return mean - delta, mean + delta
- fig, ax = plt.subplots()
- ax.set_title('Доверительные интервалы для $m_{1..k}$')
- samples = [x1, x2, x3, x4]
- for i in range(len(samples)):
- l, r = m_interval(samples[i])
- domain = [l, r]
- values = [i + 1, i + 1]
- ax.plot(
- domain,
- values,
- label='$m_{} \\in [{}; {}]$'.format(i + 1, round(l, 3), round(r, 3)),
- linewidth=4
- )
- ax.fill_between(domain, 0, values, alpha=.2)
- plt.legend()
- plt.show()
- H0 = LinearContrastHyp(x_pooled)
- def Row (coef):
- c, (c_1, c_2), p_value, result = H0.full_test(coef, alpha=alpha)
- print(c_1, c_2)
- return [round(c, 4), round(p_value, 4), '$=$' if result else '$\\ne$', 'Нет ошибки' if result else 'Есть ошибка'] # ошибка определяется для равенства матожиданий
- table(
- [
- 'Гипотеза',
- 'Выборочное значение статистики критерия',
- 'p-value',
- 'Статистическое решение при $\\alpha={}$'.format(alpha),
- 'Ошибка статистического решения'
- ],
- [
- ['$m_1=m_2$'] + Row([1, -1, 0, 0]),
- ['$m_1=m_3$'] + Row([1, 0, -1, 0]),
- ['$m_1=m_4$'] + Row([1, 0, 0, -1]),
- ['$m_2=m_3$'] + Row([0, 1, -1, 0]),
- ['$m_2=m_4$'] + Row([0, 1, 0, -1]),
- ['$m_3=m_4$'] + Row([0, 0, 1, -1]),
- ]
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement