Цифры $0, 1, 2, \ldots, 9$ среди $800$ первых десятичных знаков числа $\pi$ появились $74, 92, 83, 79, 80, 73, 77, 75, 76, 91$ раз соответственно. С помощью хи-квадрат критерия проверьте гипотезу о согласии этих данных с законом равномерного распределения на множестве $\{0, 1, \ldots , 9\}$ на уровне значимости $0.05$. Задачу можно выполнить в Python.
In [26]:
import numpy
import scipy.stats
In [59]:
n = 800 # Размер выборки
In [60]:
mu = numpy.array([74, 92, 83, 79, 80, 73, 77, 75, 76, 91])
expected = n * numpy.full(10, 0.1)
Размер выборки $n = 800 \geqslant 50$, размер разбиения $k = 10 \approx 9.5 = \log_2{10}$, $np_j^0 = 800 \cdot 0.1 = 80 \geqslant 5$. Поэтому критерий хи-квадрат можно применить.
In [62]:
chisquare = scipy.stats.chisquare(mu, f_exp=expected, ddof=0)
print(chisquare)
Таким образом, $0.83 > 0.05$, поэтому гипотезу, что это распределение нормальное, нужно не отвергнуть.
Профессиональный дантист научился выбивать зубы мудрости кулаком. Известно, что $52$ зуба мудрости он выбил с первой попытки, $31$ - со второй, $3$ - с третьей, на выбивание оставшихся $5$ зубов ему потребовалось более $4$ попыток. Проверить гипотезу о том, что дантист выбивает произвольный зуб мудрости с вероятностью $2/3$, на уровне значимости $0.05$. Задачу можно выполнить в Python.
In [76]:
# Считаем, что оставшиеся 5 зубов были выбиты вообще не выбиты, скажем, 100 попыток.
sample = numpy.array([1] * 52 + [2] * 31 + [3] * 3 + [4] * 5)
print(scipy.stats.ks_2samp(sample, scipy.stats.geom(p=2/3).rvs(size=sample.size)))
Гипотеза отвергается, так как p-value $ < 0.05$ даже при наилучшем раскладе.
Среди 5000 семей, имеющих трех детей, есть ровно 1010 семей с тремя мальчиками, 2200 семей с двумя мальчиками и одной девочкой, 950 семей с одним мальчиком и двумя девочками (во всех остальных семьях все дети — девочки). Можно ли с уровнем значимости 𝛼 = 0.02 считать, что количество мальчиков 𝜉 в семье с тремя детьми имеет следующее распределение P(𝜉 = 0) = 𝜃, P(𝜉 = 1) = 𝜃, P(𝜉 = 2) = 2𝜃, P(𝜉 = 3) = 1 − 4𝜃, где 𝜃 ∈ (0, 1/4)? Задачу можно выполнить в Python.
In [68]:
size = 5000
mu = numpy.array([0, 950, 2200, 1010])
mu[0] = size - mu.sum()
print(mu)
$2^{2000} \theta^{840+950+2200}(1-4\theta)^{1010} = c\theta^{3990}(1-4\theta)^{1010}$
$\log{c}+3990\log{\theta}+1010\log{(1-4\theta)}$
$\frac{3990}{\theta} - 4\frac{1010}{1-4\theta}=0$
$3990(1-4\theta)-4040\theta=0$
$20000\theta=3990$
In [69]:
theta = 3990 / 20000
In [70]:
expected = size * numpy.array([theta, theta, 2 * theta, 1 - 4 * theta])
print(expected)
In [77]:
chisquare = scipy.stats.chisquare(mu, f_exp=expected, ddof=1)
print(chisquare)
Таким образом, гипотезу, что это такое распределение, следует отвергнуть.