{ "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 }