{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Phystech@DataScience\n",
"## Домашнее задание 7\n",
"\n",
"**Правила, прочитайте внимательно:**\n",
"\n",
"* Выполненную работу нужно отправить телеграм-боту `@miptstats_pds_bot`. Для начала работы с ботом каждый раз отправляйте `/start`. **Работы, присланные иным способом, не принимаются.**\n",
"* Дедлайн см. в боте. После дедлайна работы не принимаются кроме случаев наличия уважительной причины.\n",
"* Прислать нужно ноутбук в формате `ipynb`.\n",
"* Выполнять задание необходимо полностью самостоятельно. **При обнаружении списывания все участники списывания будут сдавать устный зачет.**\n",
"* Решения, размещенные на каких-либо интернет-ресурсах, не принимаются. Кроме того, публикация решения в открытом доступе может быть приравнена к предоставлении возможности списать.\n",
"* Для выполнения задания используйте этот ноутбук в качестве основы, ничего не удаляя из него. Можно добавлять необходимое количество ячеек.\n",
"* Комментарии к решению пишите в markdown-ячейках.\n",
"* Выполнение задания (ход решения, выводы и пр.) должно быть осуществлено на русском языке.\n",
"* Если код будет не понятен проверяющему, оценка может быть снижена.\n",
"* Никакой код из данного задания при проверке запускаться не будет. *Если код студента не выполнен, недописан и т.д., то он не оценивается.*\n",
"* **Код из рассказанных на занятиях ноутбуков можно использовать без ограничений.**\n",
"\n",
"**Правила оформления теоретических задач:**\n",
"\n",
"* Решения необходимо прислать одним из следующих способов:\n",
" * фотографией в правильной ориентации, где все четко видно, а почерк разборчив,\n",
" * отправив ее как файл боту вместе с ноутбуком *или*\n",
" * вставив ее в ноутбук посредством `Edit -> Insert Image` (фото, вставленные ссылкой, не принимаются);\n",
" * в виде $LaTeX$ в markdown-ячейках.\n",
"* Решения не проверяются, если какое-то требование не выполнено. Особенно внимательно все проверьте в случае выбора второго пункта (вставки фото в ноутбук). Неправильно вставленные фотографии могут не передаться при отправке. Для проверки попробуйте переместить `ipynb` в другую папку и открыть его там.\n",
"* В решениях поясняйте, чем вы пользуетесь, хотя бы кратко. Например, если пользуетесь независимостью, то достаточно подписи вида \"*X и Y незав.*\"\n",
"* Решение, в котором есть только ответ, и отсутствуют вычисления, оценивается в 0 баллов.\n",
"\n",
"**Баллы за задание:**\n",
"\n",
"Легкая часть (достаточно на \"хор\"):\n",
"* Задача 1 — 15 баллов\n",
"* Задача 2 — 15 баллов\n",
"* Задача 3 — 20 баллов\n",
"* Задача 4 — 30 баллов\n",
"\n",
"Сложная часть (необходимо на \"отл\"):\n",
"\n",
"* Задача 5 — 30 баллов\n",
"* Задача 6 — 20 баллов\n",
"\n",
"\n",
"\n",
"\n",
"-----"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Bot check\n",
"\n",
"# HW_ID: phds_hw7\n",
"# Бот проверит этот ID и предупредит, если случайно сдать что-то не то.\n",
"\n",
"# Status: not final\n",
"# Перед отправкой в финальном решении удали \"not\" в строчке выше.\n",
"# Так бот проверит, что ты отправляешь финальную версию, а не промежуточную.\n",
"# Никакие значения в этой ячейке не влияют на факт сдачи работы."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import scipy.stats as sps\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"sns.set_theme(font_scale=1.3, palette='Set2')\n",
"\n",
"red = '#FF3300'\n",
"blue = '#0099CC'\n",
"green = '#00CC66'\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "AeuvB-PP0hMr"
},
"source": [
"# Теоретическая часть\n",
"\n",
"### Легкая часть\n",
"\n",
"## Задача 1\n",
"\n",
"В условиях задач 2, 3 и 6 из предыдущего домашнего задания постройте асимптотические доверительные интервалы, которые можно использовать на практике (в формулах не должно быть $\\theta$)."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Y7EXXyAedmnl"
},
"source": [
"# Практическая часть\n",
"\n",
"### Легкая часть\n",
"\n",
"## Задача 2\n",
"\n",
"**1.** Загрузите с помощью `pandas` из файла `airquality.csv` данные о качестве воздуха в Нью-Йорке с мая по сентябрь 1973 года по дням. Данные содержат измерения нескольких величин, описания которых можно прочитать [по ссылке](https://www.rdocumentation.org/packages/datasets/versions/3.5.1/topics/airquality)."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "otHqk1QMdmnl"
},
"source": [
"Выведите описательные статистики (метод `describe`) для всех признаков, для которых это имеет смысл. Округлите до второго знака после запятой."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "0PPxBXbudmnl"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "_R3FJZ_Idmnl"
},
"source": [
"Что можно сказать о наличии в данных выбросов, сравнивая выборочную медиану и выборочное среднее?"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "4i4ipxYHdmnl"
},
"source": [
"**Ответ:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KLyLkbSHdmnm"
},
"source": [
"**2.** Теперь для каждого параметра постройте график ящиков с усами (`boxplot`), в котором ось `x` соответствует номеру месяца, а ось `y` — значениям параметра (т.е. свой ящик для каждого месяца). Используйте функцию `seaborn.boxplot`."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "A1xluGjedmnm"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "xbvDPHetdmnm"
},
"source": [
"Опишите структуру `boxplot`. Какие выводы можно сделать в данном случае?"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "xqxWjlB9dmnm"
},
"source": [
"**Ответ:**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "VRh7si3Idmnm"
},
"source": [
"**3.** Для параметра с наибольшим числом наблюдений, признанных выбросами, посчитайте и сравните:\n",
"- выборочное среднее;\n",
"- выборочную медиану;"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "WU8-PUoodmnm"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "C1fClGGudmnm"
},
"source": [
"Какими свойствами статистик вызваны наблюдаемые различия?"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "X_aSzxJWdmnm"
},
"source": [
"**Ответ:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "F6DVuXufdmnm"
},
"source": [
"При подсчете этих статистик обычно предполагается, что наблюдения независимы. Выполнено ли это свойство в данном случае?"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3K3grmkRdmnm"
},
"source": [
"**Ответ:**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Ul_Ck_fddmnm"
},
"source": [
"А оно часто бывает выполнено? Как это можно проверить? Что бывает, когда оно нарушается? Какие есть количественные меры зависимости между признаками? Ответы на эти вопросы вы узнаете далее, но задуматься и порассуждать полезно уже сейчас."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "lBUbjOTpdmnm"
},
"source": [
"**Ответ:**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "m09j0YQKdmnm"
},
"source": [
"Сделайте выводы о полезности робастных статистик, методах визуального анализа и о наличии независимых одинаково распределённых случайных величин в реальном мире.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "sZH5a416dmnn"
},
"source": [
"**Вывод:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "gvdlrqIcdmnn"
},
"source": [
"## Задача 3"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ufyAl93edmnn"
},
"source": [
"Постройте плотность стандартного **нормального распределения** и стандартного **распределения Коши**. Видим, что распределение Коши обладает более тяжелыми хвостами, нежели нормальное."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "mhRfFR-Admnn"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "4eAdHmv4dmnn"
},
"source": [
"Сгенерируйте $10^5$ выборок размера 30 из стандартного **нормального распределения**."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "PF0opboydmnn"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "6NaEbk87dmnn"
},
"source": [
"По каждой выборке из 30 элементов посчитайте выборочные средние. Далее по ним постройте гистограмму и плотность стандартного нормального распределения. Какой вывод вы можете сделать из полученного графика?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "GkOyoJEDdmnn"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "3b5GG50Kdmnn"
},
"source": [
"**Вывод:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9VfAy9Pndmnn"
},
"source": [
"Сгенерируем $10^5$ выборок размера 30 из стандартного **распределения Коши**."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "L_AgujgEdmno"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "Tlg9yUFodmno"
},
"source": [
"Построим аналогичный график."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "pzasjaNwdmno"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "HwTui1Mydmno"
},
"source": [
"Сравните графики для нормального распределения и для Коши, опишите ваше сравнение в выводе по задаче."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "IeuQs_4idmno"
},
"source": [
"**Вывод:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "79RYJExflty3"
},
"source": [
"\n",
"## Задание 4"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ihVX1fK6J1LC"
},
"source": [
"\n",
"**Профиль Физика**\n",
"\n",
"Скачайте данные столкновениях частиц и оставьте следующие признаки:\n",
"* `E1`, `E2` — полная энергия электронов (ГэВ);\n",
"* `M` — инвариантная масса двух электронов (ГэВ).\n",
"\n",
"Датасет большой, поэтому для ускорения расчетов можно взять подвыборку размера ~ 1000 \n",
"\n",
"**Профиль Биология**\n",
"\n",
"Скачайте данные экспрессии белков у белых мышей и оставьте следующие белки для анализа:\n",
"* `ITSN1_N`\n",
"* `DYRK1A_N`\n",
"* `ELK_N`\n",
"\n",
"\n",
"\n",
"\n",
"**1.** Постройте для каждого из них гистограммы. Что можно сказать о характере распределения?\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "BVqfYy_uJ1LC"
},
"outputs": [],
"source": [
"df = pd.read_csv(\"your/data/path\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Ответ:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "bJogcYgZJ1LC"
},
"source": [
"**2.** Пусть есть выборка $X_1, ..., X_n$. Опишите процедуру бутстрепа построения доверительного интервала для величины $\\theta = \\mathsf{E} X_1$. Рассмотрите три типа бутстрепных доверительных интервалов.\n",
"Выпишите соответствующие формулы. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Описание**:\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**3.** Реализуйте функцию вычисления выборки оценок $\\theta^*_1, \\ldots \\theta^*_B$ для оценки $\\widehat \\theta$ методом бутстрепа. Функция должна принимать на вход выборку и количество бутстрепных выборок $B$. \n",
"\n",
"Для ускорения расчетов можете использовать broadcasting (не является обязательным требованием). Учите, что в таком случае внутри функции у вас могут получиться очень большие матрицы, из-за которых может кончиться оперативная память. "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"id": "IGg8gzQoJ1LD"
},
"outputs": [],
"source": [
"def bootstrap(sample, B=100_000): \n",
" '''\n",
" Считает бутстрепные оценки для исходной выборки\n",
"\n",
" :param sample: исходная выборка\n",
" :param B: количество бутстрепных \n",
" :return bootstrap_estimations: оценки по бутстрепным выборкам\n",
" ''' \n",
" raise NotImplementedError\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**4.** Реализуйте три типа бутстрепных доверительных интервалы в виде функций, принимающих на вход выборку оценок, полученных с помощью бутстрепа. Реализовывать вычисление бутстрепных интервалов для подвыборок размера от 1 до n не нужно, только для всей выборки. "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"def bootstrap_normal_confidence_interval(theta, bootstrap_estimations, alpha=0.95):\n",
" '''\n",
" Считает левую и правую границу нормального бутстрепного интервала\n",
"\n",
" :param theta: оценка параметра\n",
" :param bootstrap_estimations: массив бутстрепных оценок\n",
" :return left: левая граница бутстрепного интервала\n",
" :return right: правая граница бутстрепного интервала\n",
" ''' \n",
"\n",
" raise NotImplementedError\n",
"\n",
" \n",
"def bootstrap_central_confidence_interval(theta, bootstrap_estimations, alpha=0.95):\n",
" '''\n",
" Считает левую и правую границу центрального бутстрепного интервала\n",
"\n",
" :param theta: оценка параметра\n",
" :param bootstrap_estimations: массив бутстрепных оценок\n",
" :return left: левая граница бутстрепного интервала\n",
" :return right: правая граница бутстрепного интервала\n",
" ''' \n",
"\n",
" raise NotImplementedError\n",
"\n",
" \n",
"def bootstrap_quantile_confidence_interval(theta, bootstrap_estimations, alpha=0.95):\n",
" '''\n",
" Считает левую и правую границу квантильного бутстрепного интервала\n",
"\n",
" :param theta: оценка параметра\n",
" :param bootstrap_estimations: массив бутстрепных оценок\n",
" :return left: левая граница бутстрепного интервала\n",
" :return right: правая граница бутстрепного интервала\n",
" ''' \n",
" \n",
" raise NotImplementedError"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**5.** Для каждого признака постройте бутстрепные доверительные интервалы для $\\theta = \\mathsf{E} X_1$ и сравните их."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"dat = pd.DataFrame(index = ['normal', 'central', 'quantile', 'theta', 'interval_length'], columns=df.columns)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Вывод:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "rGJt2ABcdmno"
},
"source": [
"Визуализируйте бутстрепные интервалы для каждого признака. Для этого сгенерируйте выборку $X_1, ... X_{N}, N = 100$ и постройте график доверительных интервалов уровня доверия $0.95$, вычисленных для всех подвыборок размера $n$ вида $X_1, ... X_n$, $1 \\le n \\le 100$, используя написанную ниже функцию"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"id": "P0VuPFabdmno"
},
"outputs": [],
"source": [
"def draw_confidence_interval(\n",
" left,\n",
" right,\n",
" estimation=None,\n",
" sample=None, \n",
" ylim=(None, None), \n",
" estim_label = '',\n",
" sample_label='',\n",
" color=None,\n",
" interval_label=None\n",
"):\n",
" '''\n",
" Рисует доверительный интервал и оценку в зависимости от размера выборки.\n",
" \n",
" :param left: левые границы интервалов (в зависимости от n)\n",
" :param right: правые границы интервалов (в зависимости от n)\n",
" :param estimation: оценки (в зависимости от n)\n",
" :param sample: выборка\n",
" :param ylim: ограничение вертикальной оси\n",
" :param estim_label: подпись к оценке\n",
" :param sample_label: подпись к выборке\n",
" :param color: цвет, которым будет отображен доверительный интервал\n",
" '''\n",
" \n",
" return\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "U487k8MMdmno"
},
"source": [
"**Решение:**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "NH_KHLdvdmnp"
},
"source": [
"**Вывод:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "l6bdmGSmdmnp"
},
"source": [
"### Сложная часть\n",
"\n",
"## Задача 5\n",
"\n",
"\n",
"Предлагается изучить некоторые свойства распределения Коши с параметром сдвига $\\theta$, обладающего плотностью распределения $p_{\\theta}(x) = \\frac{1}{\\pi \\left(1 + \\left(x- \\theta\\right)^2\\right)}$.\n",
"\n",
"На высоте 1 метр от точки $\\theta$ находится источник $\\gamma$-излучения,\n",
"причем направления траекторий $\\gamma$-квантов случайны, т.е. равномерно распределены по полуокружности. Тогда $X_i, i=1,...,n$ — зарегистрированные координаты точек пересечения $\\gamma$-квантов с поверхностью детекторной плоскости — образуют выборку из распределения Коши со сдвигом $\\theta$."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "mq2fyOwYdmnp"
},
"source": [
"**1.** На отрезке $[-7, 7]$ постройте плотность стандартного нормального распределения и стандартного распределения Коши. Не забудьте добавить легенду. Сделайте выводы о сходствах и различиях распределений"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "WhGiXTBtdmnp"
},
"source": [
"**Решение:**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "DTBQ6I5_dmnp"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "PAVbe6Rxdmnp"
},
"source": [
"**Вывод:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3Gp-IU6Cdmnp"
},
"source": [
"**2.** Чему равна асимптотическая дисперсия $\\sigma_{\\alpha}^2$ усеченного среднего $\\overline{X}_{\\alpha}$, где $0 < \\alpha < 1/2$, для распределения Коши? Помочь в ее вычислении может теорема, упомянутая на лекциях. Посчитайте асимптотическую дисперсию аналитически. Постройте график зависимости асимптотической дисперсии $\\sigma_{\\alpha}^2$ усеченного среднего $\\overline{X}_{\\alpha}$, где $0 < \\alpha < 1/2$, от $\\alpha$.\n",
"\n",
"Настройте видимую область графика по оси *y* так, чтобы четко была отображена информативная часть графика. Отметьте на графике минимум функции."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-uagNttDdmnp"
},
"source": [
"**Решение:**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "g6bmbCG8dmnp"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "B2OazB7zdmnp"
},
"source": [
"При каком значении $\\alpha$ асимптотическая дисперсия $\\sigma^2_{\\alpha}$ минимальна и чему она равна? Ответ можно найти численно."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "kRC95q3idmnp"
},
"source": [
"**Ответ:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9s0X0NSTdmnp"
},
"source": [
"**3.** Сгенерируйте выборку $X = \\left(X_1, \\dots, X_{1000} \\right)$ из стандартного распределения Коши. Для всех $n \\leqslant 1000$ по первым $n$ элементам выборки $X_1, \\dots, X_n$ вычислите значения следующих оценок:\n",
"- $\\overline{X}$ — выборочное среднее;\n",
"- $\\overline{X}_{\\alpha}$ — усеченное среднее, где $\\alpha$ — значение, на котором достигается минимум $\\sigma^2_{\\alpha}$;\n",
"- $\\widehat{\\mu}$ — выборочная медиана;\n",
"\n",
"На графиках изобразите зависимость значений **всех оценок** от $n$ для одной реализации выборки, а на другом графики траекторий по нескольким реализациям.\n",
"\n",
"Постройте также график, на котором изобразите значения MSE для каждой оценки от размера выборки $n$.\n",
"\n",
"*Указание:* $MSE_{\\widehat{\\theta}}(\\theta) = (\\widehat{\\theta} - \\theta)^2$. В качестве $\\theta$ возьмите истинное значение для стандартного распределения Коши. Для подсчета усеченного среднего можно использовать функцию `scipy.stats.trim_mean`.\n",
"\n",
"Сравните асимптотические дисперсии оценок. Сделайте вывод.\n",
"\n",
"**Решение:**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "l8ggXnc8dmnp"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "H52WcqUTdmnp"
},
"source": [
"**Вывод:** "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "559cd2b7"
},
"source": [
"## Задача 6\n",
"Асимпотические доверительные интервалы ничего не могут гарантировать на малых размерах выборки.\n",
"В этой задаче вам предстоит иллюстрировать этот факт, посчитав реальный уровень доверия для интервалов.\n",
"\n",
"**Реальный уровень доверия (оценка доли покрытия интервалом)** - доля случаев попадания истинного значения параметра в доверительный интервал.\n",
"\n",
"*Пример:* вы проводите 100 экспериментов (создаете 100 выборок), для каждой выборки рассчитываете АДИ для параметра $\\theta$. Истинный параметр попадает в 93 интервала из 100, значит реальный уровень доверия в этом случае будет 0.93.\n",
"\n",
"**Важно:** при такой оценке реального уровня доверия вы используете метод Монте-Карло. Погрешность этого метода составляет $\\sim \\frac{1}{\\sqrt{n}}$, где $n$ - количество выборок, по которым осуществляется оценка. \n",
"\n",
"*Вопрос:* какое $n$ нужно брать, если вы хотите оценить реальный уровень доверия с точностью до 2 знаков ($\\delta = 0.01$)? \n",
"\n",
"**Ответ:**\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7ed1a76a"
},
"source": [
"Сгенерируйте набор выборок из нормального распределения $\\mathcal{N}(\\theta, 1)$ при $\\theta=0$"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "88d51f9d"
},
"outputs": [],
"source": [
"theta = 0 # истинное значение параметра\n",
"sample_size = 300\n",
"sample_count = <...>\n",
"X = <...>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "39078460"
},
"source": [
"Рассмотрим $\\hat{\\theta} = \\overline{X}$.\n",
"\n",
"Напоминание из теории:\n",
"$$\\hat{\\theta} - \\frac{z_{\\frac{1+\\alpha}{2}}\\hat{\\sigma}}{\\sqrt{n}} < \\theta < \\hat{\\theta} + \\frac{z_{\\frac{1+\\alpha}{2}}\\hat{\\sigma}}{\\sqrt{n}}$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "c2ac931d"
},
"source": [
"Посчитайте $z$ (используйте функцию `.ppf`)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "96775728"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "a1c5b2e1"
},
"source": [
"Постройте график зависимости реального уровня доверия от размера выборки."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "afb2a76c"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "2bd46a6c"
},
"source": [
"Сделайте выводы."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "8f21ab05"
},
"source": [
"**Вывод:** "
]
}
],
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}