🟦 ЗБЧ#

🔹В слабой форме (Чебышева)#

Пусть последовательность случайных величин \(X_1, X_2, \ldots, X_n, \ldots\) попарно независимы, одинаково распределены и \(Var(X_i) < \infty\), тода:

\[ \frac{X_1+X_2+\ldots+X_n}{n} \xrightarrow{P} \mathbb{E}[X_i] \]

📎ЗБЧ работают с одной выборкой размера \(n\), при \(n\rightarrow \infty\)


Давайте нарисуем ЗБЧ. Мы знаем, что математическое ожидание игральной кости это \(3.5\). Сделаем симуляцию:

  • подкинем кость 1 раз, посчитаем среднее число на ней

  • подкинем кость 2 раза, посчитаем среднее число на ней

…..

  • подкинем кость 100 раз, посчитаем среднее число на ней

Построим картинку для всех этих средних и убедимся в том, что оно и правда сходится к \(3.5\). Будем всё делать в numpy. Никаких циклов!

import numpy as np
import matplotlib.pyplot as plt

n_obs = 1000
# подкидываем кубик с повторениями много раз
x = np.random.choice(np.arange(1,7), size=n_obs) 

# считаем кумулятивную сумму
x_cumsum = np.cumsum(x)

# делим на число наблюдений
x_mean = x_cumsum/np.arange(1, n_obs + 1)

plt.figure(figsize=(10,5))
plt.plot(x_mean)
plt.axhline(3.5, color='b', linestyle='dashed', linewidth=1)
plt.xlabel('Число подбрасываний игральной кости')
plt.ylabel('Среднее значение');
../_images/b96822a62f11d13902e52e64486b7b7d4e94288de6bba742817770879bc47ee3.png

Увидели, что оно сходится? Вопрос только в том как именно. Над стрелкой в ЗБЧ есть буква \(p\).

\[ \frac{X_1 + \ldots + X_n}{n} \overset{p}{\to} \mathbb{E}[X_1] \]

Она означает, что последовательность случайных величин слева сходится к случайной величине справа по вероятности, то есть чем больше \(n\) тем ближе вероятность отклонения \(\bar x_n\) от \(\mathbb{E}[X]\) к нулю:

\[ P(\mid \bar x_n - 3.5 \mid \ge \varepsilon) \to 0 \]

Давайте возьмём \(\varepsilon = 0.01\), нарисуем на нашей картинке из предыдущего упражнения коридор \(3.5 \pm \varepsilon\), продолжим ряд до \(100000\) подбрасываний и увидим, как постепенно \(\bar x_n\) попадает в коридор и всё реже выбивается из него.

n_obs = 100000

# подкидываем кубик с повторениями много раз
x = np.random.choice(np.arange(1,7), size=n_obs) 
x_cumsum = np.cumsum(x)

x_mean = x_cumsum/np.arange(1, n_obs + 1)

eps = 0.01

plt.figure(figsize=(12,6))
plt.plot(x_mean[100:])
plt.axhline(3.5 + eps, color='g', linestyle='dashed', linewidth=1)
plt.axhline(3.5 - eps, color='g', linestyle='dashed', linewidth=1)

plt.xlabel('Число подбрасываний игральной кости')
plt.ylabel('Среднее значение');
../_images/2168729617f2c0087a2850d12a092dcb57a4afb4781782a275fe900a590b6653.png

Можно попробовать оценить вероятность того, что последовательность из средних пробьёт на конкретном шаге установленный нами коридор. Для этого давайте сгенерируем много-много траекторий для игральной кости, как на картинке выше. А после посмотрим как часто на конкретном шаге эти траектории пробивают коридор \(3.5 \pm \varepsilon\). Частота таких пробоин будет оценкой вероятности

\[ P(\mid \bar x_n - 3.5 \mid \ge \varepsilon). \]
n_obs = 10**5

# каждый раз подбрасываем кубик 1000 раз
x = np.random.choice(np.arange(1,7), size=(n_obs, 1000))

# по строкам считаем кумялятивную сумму 
x_cumsum = np.cumsum(x, axis = 0)

# находим средние
x_cumsum = x_cumsum/np.arange(1, n_obs + 1)[:,None]


eps1 = 0.1
eps2 = 0.01
# все события, когда пробили коридор 
bad_events_1 = np.abs(x_cumsum - 3.5) > eps1
bad_events_2 = np.abs(x_cumsum - 3.5) > eps2

# вероятность пробоины 
proba_1 = np.mean(bad_events_1, axis=1)
proba_2 = np.mean(bad_events_2, axis=1)

plt.figure(figsize=(12,6))
plt.plot(proba_1, label = f"Вероятность для коридора {eps1}")
plt.plot(proba_2, label = f"Вероятность для коридора {eps2}")
plt.xlabel('Число подбрасываний игральной кости')
plt.ylabel('Вероятность пробить коридор')
plt.legend(fontsize=14);
../_images/827235ddc91aeee3194363c09da6b9a30758f507239ec2fe80e1632926ec51ca.png

Расходимость по вероятности#

Теперь мы знаем, как выглядит сходимость по вероятности. Интересно было бы посмотреть, как выглядит её отсутствие.

Распределение Коши — тот ещё фрукт. У стандартного распределения Коши такая плотность:

\[ f_X(x) = \frac{1}{\pi(1+x^2)} \]

Выглядит красиво. Эта красота обманчива. У распределения Коши нет математического ожидания и дисперсии. ЗБЧ говорит нам, что для некоторых распределений

\[ P( \mid \bar x - \mathbb{E}[X]\mid \ge \varepsilon ) \to 0, \]

то есть выборочное среднее по вероятности сходится к математическому ожиданию. Интересно было бы узнать к чему будет сходиться выборочное среднее для распределения Коши… Математического ожидания то не существует!

Построим для выборочного среднего распределения Коши картинку, которую мы строили при иллюстрации ЗБЧ чуть выше.

from scipy import stats

n_obs = 10**4
cauchy_rv = stats.cauchy()  # генератор 


# 1000 траекторий по n_obs шагов
x = cauchy_rv.rvs(size = (n_obs,1000))

# по строкам считаем кумялятивную сумму 
x_cumsum = np.cumsum(x, axis = 0)

# находим средние
x_mean = x_cumsum/np.arange(1, n_obs + 1)[:,None]

plt.figure(figsize=(12,6))
plt.plot(x_mean[:,442])
plt.axhline(0, color='b', linestyle='dashed', linewidth=2)
plt.xlabel('Число подбрасываний игральной кости')
plt.ylabel('Среднее значение');
../_images/b9caaa206d290d357e5291b867ed8b2a8d3599f4aa6dfa4bf526e900083acfd0.png

Тут может банально повести и траектория будет визуально выглядеть хорошо. Но что происходит с вероятностями?

eps1 = 0.1
eps2 = 0.01

# все события, когда пробили коридор 
bad_events_1 = np.abs(x_mean - 0) > eps1
bad_events_2 = np.abs(x_mean - 0) > eps2

# вероятность пробоины 
proba_1 = np.mean(bad_events_1, axis=1)
proba_2 = np.mean(bad_events_2, axis=1)

plt.figure(figsize=(12,6))
plt.plot(proba_1)
plt.plot(proba_2)
plt.xlabel('Число подбрасываний игральной кости')
plt.ylabel('Вероятность пробить коридор');
../_images/121cafc4f280cd281253eec53bd841a8016f40b45a587f83f62cca90ef6f0cdb.png

Никакого движения к нулю. Постоянные пробоины в нашем коридоре. При этом, во времени их количество никак не уменьшается. Так выглядит отсутствие сходимости по вероятности. Обратите внимание, что величина пробоины не очень важна. В случае, когда сходимость есть, пробоины также могут быть очень большими, но они происходят всё реже.

🔹ЗБЧ Хинчина#

Пусть последовательность случайных величин \(X_1, X_2, \ldots, X_n, \ldots\) независимы (в совокупности), одинаково распределены и \(\mathbb{E}[|X_i|] < \infty\), тогда

\[ \frac{X_1+X_2+\ldots+X_n}{n} \xrightarrow{P} \mathbb{E}[X_i] \]

Кроме того, в условиях этой формулировки имеет место сходимость:

\[ \frac{X_1+X_2+\ldots+X_n}{n} \xrightarrow{п.н.} \mathbb{E}[X_i] \]


🔹ЗБЧ Маркова (с.в. зависимы)#

Пусть \(X_1, X_2, \ldots, X_n\) — случайные величины,
для которых \(\mathbb{E}[|X_i|] < \infty\), \(\mathbb{D}[X_i] < \infty\) и сумма дисперсий растёт медленнее, чем квадрат числа членов, т.е.

\[ \frac{1}{n^2} \sum_{i=1}^n \mathbb{D}[X_i] \xrightarrow[n \to \infty]{} 0. \]

Тогда среднее арифметическое $\( \frac{X_1+X_2+\ldots+X_n}{n} \xrightarrow{P} \frac{\mathbb{E}[X_1]+\mathbb{E}[X_2]+\ldots+\mathbb{E}[X_n]}{n} \)$


Задачи: