Введение в анализ данных¶
Домашнее задание 8. Вероятность.¶
Правила, прочитайте внимательно:
- Выполненную работу нужно отправить телеграм-боту
@thetahat_ds25_bot
. Для начала работы с ботом каждый раз отправляйте/start
. Дождитесь подтверждения от бота, что он принял файл. Если подтверждения нет, то что-то не так. Работы, присланные иным способом, не принимаются. - Дедлайн см. в боте. После дедлайна работы не принимаются кроме случаев наличия уважительной причины.
- Прислать нужно ноутбук в формате
ipynb
. Если вы строите интерактивные графики, их стоит прислать в формате html. - Следите за размером файлов. Бот не может принимать файлы весом более 20 Мб. Если файл получается больше, заранее разделите его на несколько.
- Выполнять задание необходимо полностью самостоятельно. При обнаружении списывания всем участникам списывания дается штраф -2 балла к итоговой оценке за семестр.
- Решения, размещенные на каких-либо интернет-ресурсах, не принимаются. Кроме того, публикация решения в открытом доступе может быть приравнена к предоставлении возможности списать.
- Обратите внимание на правила использования ИИ-инструментов при решении домашнего задания.
- Код из рассказанных на занятиях ноутбуков можно использовать без ограничений.
- Для выполнения задания используйте этот ноутбук в качестве основы, ничего не удаляя из него. Можно добавлять необходимое количество ячеек.
- Комментарии к решению пишите в markdown-ячейках.
- Выполнение задания (ход решения, выводы и пр.) должно быть осуществлено на русском языке.
- Решение проверяется системой ИИ-проверки
ThetaGrader. Результат проверки валидируется и исправляется человеком, после чего комментарии отправляются студентам.
- Если код будет не понятен проверяющему, оценка может быть снижена.
- Никакой код из данного задания при проверке запускаться не будет. Если код студента не выполнен, недописан и т.д., то он не оценивается.
- Код из рассказанных на занятиях ноутбуков можно использовать без ограничений.
Правила оформления теоретических задач:
- Решения необходимо оформить в виде $\LaTeX$ в markdown-ячейках. Иные способы (в т.ч. фотографии) не принимаются.
- Если вы не знаете $\LaTeX$, используйте ИИ-инструменты для оформления черновика решения. Примеры были показаны на лекции 2 по ИИ-инструментам.
- В решениях поясняйте, чем вы пользуетесь, хотя бы кратко.
- Решение, в котором есть только ответ, и отсутствуют вычисления, оценивается в 0 баллов.
Важно!!! Правила заполнения ноутбука:
- Запрещается удалять имеющиеся в ноутбуке ячейки, менять местами положения задач.
- Сохраняйте естественный линейный порядок повествования в ноутбуке сверху-вниз.
- Отвечайте на вопросы, а также добавляйте новые ячейки в предложенных местах, которые обозначены
...
. - В markdown-ячейка, содержащих описание задачи, находятся специальные отметки, которые запрещается модифицировать.
- При нарушении данных правил работа может получить 0 баллов.
Баллы за задание:
Легкая часть (достаточно на "хор"):
- Задача 1 — 40 баллов за контест и 20 баллов за ноутбук
- Задача 2 — 40 баллов
Сложная часть (необходимо на "отл"):
- Задача 3 — 80 баллов
- Задача 4 — 20 баллов
# Bot check
# HW_ID: fpmi_ad8
# Бот проверит этот ID и предупредит, если случайно сдать что-то не то.
# Status: not final
# Перед отправкой в финальном решении удали "not" в строчке выше.
# Так бот проверит, что ты отправляешь финальную версию, а не промежуточную.
# Никакие значения в этой ячейке не влияют на факт сдачи работы.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style='whitegrid', font_scale=1.3, palette='Set2')
Задача 1.¶
При решении данной задачи можно использовать ИИ-инструменты только для построения графиков и оформления документации к коду. Использование ИИ-инструментов для решения контеста запрещено.
Части 1-3
Условие задачи в контесте, ссылка на который отправлена через бот. Далее можно использовать как свою реализацию функций, так и библиотечную.
Часть 4
Для $U[0, 1]$ сгенерируйте $200$ независимых случайных величин, постройте график плотности на отрезке $[-0.25, 1.25]$, а также гистограмму по сгенерированным случайным величинам. Для построения графика необходимо брать достаточно большое количество точек сетки.
...
Исследуйте, как меняются значения случайных величин в зависимости от precision
в написанной ранее вами функции.
...
Для $\mathcal{N}(0, 1)$ сгенерируйте $200$ независимых случайных величин, постройте график плотности на отрезке $[-3, 3]$, а также гистограмму по сгенерированным случайным величинам.
...
Для $Exp(1)$ сгенерируйте выборку размера 100 и постройте график плотности этого распределения на отрезке $[-0.5, 5]$.
...
Выводы:
...
Задача 2.¶
Рассмотрим распределение Коши с плотностью $$p(x) = \frac{1}{\pi(1+x^2)}$$ для $x\in\mathbb{R}$, которое известно своими тяжелыми хвостами. Иначе говоря, плотность убывает медленно при $x \to \infty$ (точное определение может различаться для разных источников). Сравните, например, с нормальным или экспоненциальным распределениями. В частности, из-за этого у распределения Коши даже не существует математического ожидания.
За распределение Коши отвечает класс scipy.stats.cauchy
.
1. Визуализируйте на одном графики плотности нормального распределения и распределения Коши. Что можно сказать?
...
2. Повторите эксперимент с занятия про закон больших чисел для распределения Коши. Выполняется ли закон?
...
3. Аналогичным образом проведите эксперимент по изучению зависимости выборочной медианы от размера выборки. Медиану по выборке можно посчитать с помощью np.median
.
...
Вывод:
...
Задача 3.¶
Перед выполнением этой задачи настоятельно рекомендуется посмотреть ноутбук с лекции про закон больших чисел.
На практике не редко возникает вопрос — сколько времени потребуется на сбор данных, чтобы оценить среднее с достаточной точностью. Для ответа на этот вопрос можно использовать различные теоретические оценки, в частности, неравенство Чебышева.
Другой способ — смоделировать большое количество выборок. Возьмем в качестве меры отклонения от среднего среднее значение модуля отклонения от среднего, то есть $$F(n) = \frac{1}{K}\sum\limits_{j=1}^{K} \left| S_{nj} - a \right|,$$ где $a$ — математическое ожидание элемента выборки, $S_{nj}$ — выборочное среднее $n$ элементов в $j$-й выборке, а $K$ — общее количество выборок.
1. Рассмотрим распределения $Bern(a)$ для $a=0.5$. Пусть для нас допустимо отклонение на 0.02, иначе говоря при истинном среднем 0.5 мы считаем достаточно точными значения выборочного среднего от 0.48 до 0.52. Тогда в качестве приближения необходимого размера выборок можно взять наименьшее значение $n$, при котором $F(n) \leqslant 0.02$.
Реализуйте данный эксперимен для $K=500$ и найдите значение $n$. Визуализируйте зависимость $F(n)$ от $n$ в обычном и логарифмическом масштабах (по тем осям, по которым это имеет смысл).
Для реализации без циклов стоит генерировать достаточно большие выборки и использовать функцию np.where
.
...
2. Повторите данный эксперимент для значений $a$ от 0.05 до 0.95 с шагом 0.05. Визуализируйте зависимость необходимого размера выборки $n$ от значения $a$.
При реализации можно сделать цикл по значениям $a$.
...
Выводы:
...
Задача 4.¶
Перед выполнением этой задачи настоятельно рекомендуется посмотреть ноутбук с лекции про условное математическое ожидание и условное распределение.
Рассмотрим следующее вероятностное пространство:
- $\Omega = \{1, 2, 3, 4, 5, 6, 7, 8\}$ – номера точек на единичной окружности.
- $\sigma$-алгебра $\mathscr{F}$, которая включает все подмножества множества $\Omega$, $\mathscr{F} = 2^{\{1, 2, 3, 4, 5, 6, 7, 8\}}$
- $\mathsf{P}$ - равномерное распределение: $$ \mathsf{P}(\omega = \{k\}) = \frac{1}{8}, \quad k = 1, 2, \ldots, 8. $$
Определим случайную величину следующим образом: $$ X(\omega) = \sin\left(\frac{2\pi (\omega - 1)}{8}\right) = \sin\left(\frac{\pi (\omega - 1)}{4}\right)$$ Интерпретация: значение координаты $y$ для точки с номером $w$ на единичной окружности.
Пусть случайная величина $Y$ определяется следующим образом: $$ Y(\omega) = \begin{cases} 1, & \text{если } \sin\left(\frac{\pi (\omega - 1)}{4}\right) \geq 0, \\ 0, & \text{иначе.} \end{cases} $$
Какому наблюдению соответствует случайная величина $Y$?
...
Найдите:
- Условное распределение $X|Y$;
- Условное математическое ожидание $\mathsf{E}(X|Y=1)$;
- Условное математическое ожидание $\mathsf{E}(X|Y=0)$.
Визуализируйте условное распределение $X|Y$.
...