# Bot check
# HW_ID: phds_sem7
# Бот проверит этот ID и предупредит, если случайно сдать что-то не то.
# Status: not final
# Перед отправкой в финальном решении удали "not" в строчке выше.
# Так бот проверит, что ты отправляешь финальную версию, а не промежуточную.
# Никакие значения в этой ячейке не влияют на факт сдачи работы.
import numpy as np
import scipy.stats as sps
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
%matplotlib inline
sns.set_style("whitegrid")
Распределение Коши¶
Предлагается изучить некоторые свойства распределения Коши с параметром сдвига $\theta$, обладающего плотностью распределения $p_{\theta}(x) = \frac{1}{\pi (1 + (x- \theta)^2)}$.
За распределение Коши отвечает класс scipy.stats.cauchy
.
1. Визуализируйте на одном графики плотности стандартного нормального распределения и стандартного распределения Коши (т.е. $\theta = 0$). Что можно сказать?
# ваш код
grid = np.linspace(-7, 7, 1000)
plt.figure(figsize=(10, 4))
plt.plot(grid, <...>, color='red', label='Cauchy')
plt.plot(grid, <...>, color='blue', label='normal')
plt.legend(fontsize=16)
plt.grid(ls=':')
plt.xticks(fontsize=16)
plt.yticks(fontsize=16)
plt.show()
Ответ
2. Проведем эксперимент, а именно визуализируем зависимость оценки $\overline{X}$ для выборки из распределения Коши от размера этой выборки. Выполняется ли закон больших чисел в этом случае?
# ваш код
size = 1000 # количество случайных величин
samples_count = 500 # количество выборок
plt.figure(figsize=(15, 7))
# рисуем для каждой выборки отдельно
for i in range(samples_count):
plt.plot(<...>, <...>, color="green", alpha=0.05)
plt.xlabel("Количество случайных величин")
plt.ylabel("Значение среднего")
plt.xlim((0, size));
plt.ylim((-100, 100));
plt.show()
Ответ
3. Аналогичным образом проведите эксперимент по изучению зависимости выборочной медианы от размера выборки. Медиану по выборке можно посчитать с помощью np.median
. Можно точно так же, как и в случае выборочного среднего, сгенерировать выборки один раз и посчитать выборочную медиану по префиксам (но тут, увы, без циклов уже не обойтись)
# ваш код
<...>
Вывод