Phystech@DataScience ¶

In [ ]:
# Bot check

# HW_ID: phds_sem7
# Бот проверит этот ID и предупредит, если случайно сдать что-то не то.

# Status: not final
# Перед отправкой в финальном решении удали "not" в строчке выше.
# Так бот проверит, что ты отправляешь финальную версию, а не промежуточную.
# Никакие значения в этой ячейке не влияют на факт сдачи работы.
In [19]:
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$). Что можно сказать?

In [ ]:
# ваш код
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}$ для выборки из распределения Коши от размера этой выборки. Выполняется ли закон больших чисел в этом случае?

In [ ]:
# ваш код

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. Можно точно так же, как и в случае выборочного среднего, сгенерировать выборки один раз и посчитать выборочную медиану по префиксам (но тут, увы, без циклов уже не обойтись)

In [ ]:
# ваш код
<...>

Вывод