├── .vscode └── settings.json ├── v_env └── requirements.txt ├── math_stat ├── tasks.ipynb └── lectures.ipynb ├── README.md └── stepik_76 ├── notes.ipynb └── .ipynb_checkpoints └── notes-checkpoint.ipynb /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.language": "en,ru" 3 | } -------------------------------------------------------------------------------- /v_env/requirements.txt: -------------------------------------------------------------------------------- 1 | Package Version 2 | ----------------- ------- 3 | asttokens 2.2.1 4 | backcall 0.2.0 5 | comm 0.1.2 6 | contourpy 1.0.6 7 | cycler 0.11.0 8 | debugpy 1.6.4 9 | decorator 5.1.1 10 | entrypoints 0.4 11 | executing 1.2.0 12 | fonttools 4.38.0 13 | ipykernel 6.19.2 14 | ipython 8.7.0 15 | jedi 0.18.2 16 | jupyter_client 7.4.8 17 | jupyter_core 5.1.0 18 | kiwisolver 1.4.4 19 | matplotlib 3.6.2 20 | matplotlib-inline 0.1.6 21 | nest-asyncio 1.5.6 22 | numpy 1.23.5 23 | packaging 22.0 24 | pandas 1.5.2 25 | parso 0.8.3 26 | pexpect 4.8.0 27 | pickleshare 0.7.5 28 | Pillow 9.3.0 29 | pip 22.3.1 30 | platformdirs 2.6.0 31 | prompt-toolkit 3.0.36 32 | psutil 5.9.4 33 | ptyprocess 0.7.0 34 | pure-eval 0.2.2 35 | Pygments 2.13.0 36 | pyparsing 3.0.9 37 | python-dateutil 2.8.2 38 | pytz 2022.6 39 | pyzmq 24.0.1 40 | scipy 1.9.3 41 | seaborn 0.12.1 42 | setuptools 65.6.3 43 | six 1.16.0 44 | stack-data 0.6.2 45 | tornado 6.2 46 | traitlets 5.7.0 47 | wcwidth 0.2.5 48 | wheel 0.38.4 49 | -------------------------------------------------------------------------------- /math_stat/tasks.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import numpy as np" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 3, 15 | "metadata": {}, 16 | "outputs": [ 17 | { 18 | "data": { 19 | "text/plain": [ 20 | "2.0" 21 | ] 22 | }, 23 | "execution_count": 3, 24 | "metadata": {}, 25 | "output_type": "execute_result" 26 | } 27 | ], 28 | "source": [ 29 | "arr = [1, 2, 2, 1, 4, 3, 1, 2, 1, 4]\n", 30 | "np.median(arr)" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 8, 36 | "metadata": {}, 37 | "outputs": [ 38 | { 39 | "data": { 40 | "text/plain": [ 41 | "0.07692307692307687" 42 | ] 43 | }, 44 | "execution_count": 8, 45 | "metadata": {}, 46 | "output_type": "execute_result" 47 | } 48 | ], 49 | "source": [ 50 | "1 - (0.9*0.8)/(0.8*0.9 + 0.2*0.3)" 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": 9, 56 | "metadata": {}, 57 | "outputs": [ 58 | { 59 | "data": { 60 | "text/plain": [ 61 | "0.07692307692307691" 62 | ] 63 | }, 64 | "execution_count": 9, 65 | "metadata": {}, 66 | "output_type": "execute_result" 67 | } 68 | ], 69 | "source": [ 70 | "(0.3*0.2)/(0.8*0.9 + 0.2*0.3)" 71 | ] 72 | }, 73 | { 74 | "cell_type": "code", 75 | "execution_count": 1, 76 | "metadata": {}, 77 | "outputs": [ 78 | { 79 | "data": { 80 | "text/plain": [ 81 | "0.015384615384615384" 82 | ] 83 | }, 84 | "execution_count": 1, 85 | "metadata": {}, 86 | "output_type": "execute_result" 87 | } 88 | ], 89 | "source": [ 90 | "0.012 / (0.78)" 91 | ] 92 | } 93 | ], 94 | "metadata": { 95 | "kernelspec": { 96 | "display_name": "venv_notebook_basic", 97 | "language": "python", 98 | "name": "venv_notebook_basic" 99 | }, 100 | "language_info": { 101 | "codemirror_mode": { 102 | "name": "ipython", 103 | "version": 3 104 | }, 105 | "file_extension": ".py", 106 | "mimetype": "text/x-python", 107 | "name": "python", 108 | "nbconvert_exporter": "python", 109 | "pygments_lexer": "ipython3", 110 | "version": "3.10.4" 111 | }, 112 | "orig_nbformat": 4 113 | }, 114 | "nbformat": 4, 115 | "nbformat_minor": 2 116 | } 117 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Здесь я выкладываю материалы по развитию в области аналитики данных. 2 | 3 | --- 4 | 5 | ## Содержание репозитория: 6 | 7 | * **Директория stepik_76** 8 | 9 | Материалы по курсу "[Основы статистики](https://stepik.org/course/76)": конспект лекций, а так же решения задач. 10 | * **Директория v_env** 11 | 12 | Здесь виртуальные окружения для работы. 13 | 14 | --- 15 | 16 | ## Мой путь 17 | 18 | * **04.2021 - 09.2022** 19 | Курс Аналитик данных от А. Карпова. 20 | * **09.2022 - н.в.** 21 | Работа бизнес-аналитиком. 22 | * **05.2022 - н.в.** 23 | Курс Start ML от А. Карпова 24 | 25 | ## Data analyst 26 | 27 | Информация о профессии и требованиях: [раз](https://yandex.ru/yaintern/int_02), [два](https://yandex.ru/jobs/ya-interview/#analytics), [три](https://academy.yandex.ru/posts/instrumenty-v-pomosch-analitiku-dannykh), [четыре](https://habr.com/ru/company/skillfactory/blog/520540/). 28 | 29 | ### 1. Книги 30 | 31 | - ["Аналитика и Data Science. Для не-аналитиков и даже 100% гуманитариев"](https://www.litres.ru/nikita-sergeev/analitika-i-data-science-dlya-ne-analitikov-i-dazhe-100-gum/) 32 | 33 | Хорошо сочетается с [курсом](https://stepik.org/course/76) и книгой Савельева. 34 | - ["Статистика и котики"](https://www.litres.ru/vladimir-savelev-10569666/statistika-i-kotiki-28731109/?utm_medium=cpc&utm_source=google&utm_campaign=smart_shopping%7C6451100394&utm_term=&utm_content=k50id%7Cpla-573894664472%7Ccid%7C6451100394%7Caid%7C378012483274%7Cgid%7C85593335428%7Cpos%7C%7Csrc%7Cu_%7Cdvc%7Cc%7Creg%7C9047026%7Crin%7C%7C&k50id=85593335428%7Cpla-573894664472&gclid=CjwKCAjwjuqDBhAGEiwAdX2cj2tJ_x4pCdalxQkQJzUExjNx7wSf4GEUaUySpx7g_fWNEASh0Ye9YhoCjTcQAvD_BwE) Хоть и выглядит "несурьёзно", но зато очень кратко и наглядно даёт информацию по основам статистики. Опять-таки, хорошее дополнение к [курсу](https://stepik.org/course/76) 35 | - ["Python и анализ данных"](https://www.ozon.ru/product/python-i-analiz-dannyh-makkini-ues-217051463/?asb=x8CRenbt3vdjGNF3zHmrquRU5mwFuCP%252BGgvSAL8YY3U%253D&tab=reviews) 36 | 37 | Не читал, но судя по содержанию в ней всё, что нужно для начинающего аналитика. 38 | 39 | ["Python для сложных задач. Наука о данных и машинное обучение"](https://www.ozon.ru/product/python-dlya-slozhnyh-zadach-nauka-o-dannyh-i-mashinnoe-obuchenie-vander-plas-dzh-vander-plas-dzh-211433316/) 40 | 41 | Ещё одна книга из серии "вроде бы то, что нужно". 42 | 43 | ### 2. Курсы для прокачки 44 | 45 | - "[Основы статистики](https://stepik.org/course/76)" А. Карпова 46 | 47 | Обязательно для аналитика. 48 | - "[Основы SQL](https://stepik.org/course/51562/)" + отдельно про [оконные функции](https://stepik.org/course/95367/promo) + см. ещё ссылки [здесь](https://t.me/internetanalytics/3012) 49 | 50 | Без знания SQL аналитиком не стать. 51 | - [Курс](https://www.youtube.com/channel/UCWki7GBUE5lDMJCbn4e1XMg/playlists) Data Engineer 52 | 53 | Бесплатно в формате видео на YouTube. 54 | - [Марафон](https://tableau.pro/marathon42) по работе с Tableau 55 | 56 | ### 3. Статьи 57 | 58 | #### 3.1 Pandas и около него 59 | 60 | * [Как](https://www.geeksforgeeks.org/python-pandas-dataframe-duplicated/) выводить уникальные или не уникальные записи через duplicated() 61 | * [10 Ways to Filter Pandas DataFrame](https://www.listendata.com/2019/07/how-to-filter-pandas-dataframe.html) 62 | * [MathJax. Basic tutorial](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference) 63 | 64 | #### 3.2 SQL 65 | 66 | * [Про понимание JOIN в SQL](https://habr.com/ru/post/450528/) 67 | 68 | #### 3.3 Прочее 69 | 70 | * [Анализ рынка фотостудий](https://habr.com/ru/post/512848/) 71 | * [Собеседование на позицию стажера в Яндекс на аналитика данных](https://habr.com/ru/post/546004/) 72 | * [Про машинное обучение простыми словами](https://vas3k.ru/blog/machine_learning/) 73 | * [Тест на логику](https://testometrika.com/intellectual/test-of-logical-thinking/) 74 | * [Хэширование](http://aliev.me/runestone/SortSearch/Hashing.html) 75 | * [pipenv](https://semakin.dev/2020/04/pipenv/) 76 | * 77 | -------------------------------------------------------------------------------- /math_stat/lectures.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "attachments": {}, 5 | "cell_type": "markdown", 6 | "metadata": {}, 7 | "source": [ 8 | "## Теория вероятностей \n", 9 | "\n", 10 | "Это дисциплина, которая изучает случайности с математической точки зрения. \n", 11 | "\n", 12 | "Случайность - это результат некоторого процесса, который невозможно точно предсказать. \n", 13 | "\n", 14 | "### Частотный подход определения вероятности\n", 15 | "$$P(A) = \\frac{N(A)}{N}$$\n", 16 | "\n", 17 | "$P(A)$ -- вероятность события А.\n", 18 | "\n", 19 | "$N(A)$ -- количество событий А за N наблюдений.\n", 20 | "\n", 21 | "$N$ -- Число наблюдений.\n", 22 | "\n", 23 | "### Услованя вероятность. Формула Байеса \n", 24 | "\n", 25 | "Вероятность наступления события А, при наступлении события B. \n", 26 | "\n", 27 | "Лучше всего ознакомится здесь: https://baguzin.ru/wp/den-morris-teorema-bajesa-vizualnoe-vvedenie-dlya-nachinayushhih/" 28 | ] 29 | }, 30 | { 31 | "attachments": {}, 32 | "cell_type": "markdown", 33 | "metadata": {}, 34 | "source": [ 35 | "### Типы переменных\n", 36 | "\n", 37 | "1. Количественные\n", 38 | " * Непрерывные. Например, рост человека [160; 190]\n", 39 | " * Дискретные. Например, количество детей в семье [0, 1, 2, 3]\n", 40 | " \n", 41 | " \n", 42 | "2. Качественные (номинативные)\n", 43 | "\n", 44 | " Используются для разделения на группы. Например, всех М обозначим числом 1, а Ж - 2. Т.е. за цифрами не стоит никакого математического смысла, они используются как имена для групп.\n", 45 | "\n", 46 | "\n", 47 | "3. Ранговые\n", 48 | "\n", 49 | " Используются для ранжирования переменных. Единственная математическая операция – сравнение.\n", 50 | " \n", 51 | " \n", 52 | "**Обобщающий пример:** Измеряем рост испытуемых, получаем непрерывную переменную, считаем средний рост. Далее полученные данные по росту ранжируем. Затем разделяем на группы 1, 2 - рост ниже среднего и рост выше среднего.\n" 53 | ] 54 | }, 55 | { 56 | "attachments": {}, 57 | "cell_type": "markdown", 58 | "metadata": {}, 59 | "source": [ 60 | "## Мат. статистика\n", 61 | "### Генеральная совокупность и выборка\n", 62 | "\n", 63 | "**Генеральная совокупность (ГС)** – множество всех объектов, относительно которых предполагается делать выводы при изучении конкретной задачи.\n", 64 | "\n", 65 | "**Выборка** – часть ГС. Выводы о выборке распростроняются на ГС.\n", 66 | "\n", 67 | "**Репрезентативность выборки** – выборка должна отражать свойства ГС.\n", 68 | "\n", 69 | "### Способы задания выборок:\n", 70 | "\n", 71 | "1. **Стратифицированная выборка (stratified sample)** – ГС разбивается на на несколько страт (групп). Внутри группы элменты однородны по некоторому признаку. Из каждой страты случайным образом выбираются элементы. \n", 72 | "\n", 73 | " Пример: разбивка людей по полу, разбивка по группам крови.\n", 74 | " \n", 75 | "\n", 76 | "2. **Групповая выборка (claster sample)** – ГС разбивается на несколько групп (кластеров). Внутри кластеры элементы разнородны, но есть схожесть между кластерами. Выбираются некоторые кластеры, откуда берутся элементы для выборки.\n", 77 | "\n", 78 | " Пример: разбивка жителей города по районам, разбивка по школам и дальнейший выбор учеников среди школ, экзитполы на голосованиях.\n", 79 | " \n", 80 | "\n", 81 | "3. **Случайная выборка (simple sample)**." 82 | ] 83 | }, 84 | { 85 | "attachments": {}, 86 | "cell_type": "markdown", 87 | "metadata": {}, 88 | "source": [ 89 | "### Меры центральной тенденции\n", 90 | "\n", 91 | "Позволяют понять насколько \"высоки\" значения на гистограмме распределения.\n", 92 | "\n", 93 | "1. Мода (mode) – наиболее часто встречающееся значение или значения.\n", 94 | "2. Медиана – делит упорядоченное множество пополам. Если элементов чётное количество, то берётся среднее значение двух серединных элементов.\n", 95 | "3. Среднее (mean) – сумма всех элементов делённая на количество элементов.\n", 96 | "\n", 97 | "Среднее чувствительна к выбросам, т.е. единичным значениями, сильно выбивающимся от всех остальных." 98 | ] 99 | }, 100 | { 101 | "attachments": {}, 102 | "cell_type": "markdown", 103 | "metadata": {}, 104 | "source": [ 105 | "### Меры изменчивости\n", 106 | "\n", 107 | "1. **Размах (range)** – разность между min и max значениями.\n", 108 | "2. **Дисперсия (variance)** – средний квадрат отклонений индивидуальных значений признака от их средней величины.\n", 109 | "\n", 110 | "**Для ГС**\n", 111 | "$$D = \\frac{\\sum_{i=1}^n(x_i - M_x)^2}{n}$$\n", 112 | "\n", 113 | "**Для выборки**\n", 114 | "$$D = \\frac{\\sum_{i=1}^n(x_i - M_x)^2}{n-1}$$\n", 115 | "\n", 116 | "\n", 117 | "3. **Среднеквадратическое отклонение** – дисперсия, взятая по квадратичному корню.\n", 118 | "\n", 119 | "$$\\sigma = \\sqrt D$$\n", 120 | "\n", 121 | "Можно так же использовать термины **стандартное отклонение ГС** и **стандартное отклонение выборки**.\n", 122 | "\n", 123 | "**Свойства дисперсии и стандартного отклонения:**\n", 124 | "\n", 125 | "$$D_x+c = D_x$$\n", 126 | "$$sd_x+c = sd_x$$\n", 127 | "\n", 128 | "Т.е. прибавляя некоторое число к каждому из наблюдений, мы просто \"сдвигаем\" распределение влево или вправо. \n", 129 | "\n", 130 | "$$D_{x*c} = D_x*c^2$$\n", 131 | "$$sd_{x*c} = sd_x*c$$\n", 132 | "\n", 133 | "Т.е. умножая на некоторое число каждое из наблюдений, то распределение меняет свою форму. Логично, что если **sd** увеличилось, например, в 3 раза (за счёт умножения всех элементов на 3), то **D** увеличится в 9 раз. " 134 | ] 135 | }, 136 | { 137 | "cell_type": "markdown", 138 | "metadata": {}, 139 | "source": [] 140 | }, 141 | { 142 | "cell_type": "markdown", 143 | "metadata": {}, 144 | "source": [] 145 | }, 146 | { 147 | "cell_type": "markdown", 148 | "metadata": {}, 149 | "source": [] 150 | } 151 | ], 152 | "metadata": { 153 | "kernelspec": { 154 | "display_name": "venv_notebook_basic", 155 | "language": "python", 156 | "name": "venv_notebook_basic" 157 | }, 158 | "orig_nbformat": 4 159 | }, 160 | "nbformat": 4, 161 | "nbformat_minor": 2 162 | } 163 | -------------------------------------------------------------------------------- /stepik_76/notes.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "contrary-resort", 6 | "metadata": {}, 7 | "source": [ 8 | "## Конспекты по курсу [\"Основы статистики\"](https://stepik.org/course/76)" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "id": "shaped-butler", 14 | "metadata": {}, 15 | "source": [ 16 | "### 1.2 Генеральная совокупность и выборка\n", 17 | "\n", 18 | "**Генеральная совокупность (ГС)** – множество всех объектов, относительно которых предполагается делать выводы при изучении конкретной задачи.\n", 19 | "\n", 20 | "**Выборка** – часть ГС. Выводы о выборке распростроняются на ГС.\n", 21 | "\n", 22 | "**Репрезентативность выборки** – выборка должна отражать свойства ГС.\n", 23 | "\n", 24 | "#### Способы задания выборок:\n", 25 | "\n", 26 | "1. **Стратифицированная выборка (stratified sample)** – ГС разбивается на на несколько страт (групп). Внутри группы элменты однородны по некоторому признаку. Из каждой страты случайным образом выбираются элементы. \n", 27 | "\n", 28 | " Пример: разбивка людей по полу, разбивка по группам крови.\n", 29 | " \n", 30 | "\n", 31 | "2. **Групповая выборка (claster sample)** – ГС разбивается на несколько групп (кластеров). Внутри кластеры элементы разнородны, но есть схожесть между кластерами. Выбираются некоторые кластеры, откуда берутся элементы для выборки.\n", 32 | "\n", 33 | " Пример: разбивка жителей города по районам, разбивка по школам и дальнейший выбор учеников среди школ, экзитполы на голосованиях.\n", 34 | " \n", 35 | "\n", 36 | "3. **Случайная выборка (simple sample)**." 37 | ] 38 | }, 39 | { 40 | "cell_type": "markdown", 41 | "id": "specified-sending", 42 | "metadata": {}, 43 | "source": [ 44 | "### 1.3 Типы переменных\n", 45 | "\n", 46 | "1. Количественные\n", 47 | " * Непрерывные. Например, рост человека [160; 190]\n", 48 | " * Дискретные. Например, количество детей в семье [0, 1, 2, 3]\n", 49 | " \n", 50 | " \n", 51 | "2. Качественные (номинативные)\n", 52 | "\n", 53 | " Используются для разделения на группы. Например, всех М обозначим числом 1, а Ж - 2. Т.е. за цифрами не стоит никакого математического смысла, они используются как имена для групп.\n", 54 | "\n", 55 | "\n", 56 | "3. Ранговые\n", 57 | "\n", 58 | " Используются для ранжирования переменных. Единственная математическая операция – сравнение.\n", 59 | " \n", 60 | " \n", 61 | "**Обобщающий пример:** Измеряем рост испытуемых, получаем непрерывную переменную, считаем средний рост. Далее полученные данные по росту ранжируем. Затем разделяем на группы 1, 2 - рост ниже среднего и рост выше среднего.\n" 62 | ] 63 | }, 64 | { 65 | "cell_type": "markdown", 66 | "id": "elegant-there", 67 | "metadata": {}, 68 | "source": [ 69 | "### 1.4 Меры центральной тенденции\n", 70 | "\n", 71 | "Позволяют понять насколько \"высоки\" значения на гистограмме распределения.\n", 72 | "\n", 73 | "1. Мода (mode) – наиболее часто встречающееся значение или значения.\n", 74 | "2. Медиана – делит упорядоченное множество пополам. Если элементов чётное количество, то берётся среднее значение двух серединных элементов.\n", 75 | "3. Среднее (mean) – сумма всех элементов делённая на количество элементов.\n", 76 | "\n", 77 | "Среднее чувствительна к выбросам, т.е. единичным значениями, сильно выбивающимся от всех остальных." 78 | ] 79 | }, 80 | { 81 | "cell_type": "markdown", 82 | "id": "geological-release", 83 | "metadata": {}, 84 | "source": [ 85 | "### 1.5 Меры изменчивости\n", 86 | "\n", 87 | "1. **Размах (range)** – разность между min и max значениями.\n", 88 | "2. **Дисперсия (variance)** – средний квадрат отклонений индивидуальных значений признака от их средней величины.\n", 89 | "\n", 90 | " **Для ГС**\n", 91 | "$$D = \\frac{\\sum_{i=1}^n(x_i - M_x)^2}{n}$$\n", 92 | "\n", 93 | " **Для выборки**\n", 94 | "$$D = \\frac{\\sum_{i=1}^n(x_i - M_x)^2}{n-1}$$\n", 95 | "\n", 96 | "\n", 97 | "3. **Среднеквадратическое отклонение** – дисперсия, взятая по квадратичному корню.\n", 98 | "\n", 99 | "$$\\sigma = \\sqrt D$$\n", 100 | "\n", 101 | "Можно так же использовать термины **стандартное отклонение ГС** и **стандартное отклонение выборки**.\n", 102 | "\n", 103 | "**Свойства дисперсии и стандартного отклонения:**\n", 104 | "\n", 105 | "$$D_x+c = D_x$$\n", 106 | "$$sd_x+c = sd_x$$\n", 107 | "\n", 108 | "Т.е. прибавляя некоторое число к каждому из наблюдений, мы просто \"сдвигаем\" распределение влево или вправо. \n", 109 | "\n", 110 | "$$D_{x*c} = D_x*c^2$$\n", 111 | "$$sd_{x*c} = sd_x*c$$\n", 112 | "\n", 113 | "Т.е. умножая на некоторое число каждое из наблюдений, то распределение меняет свою форму. Логично, что если **sd** увеличилось, например, в 3 раза (за счёт умножения всех элементов на 3), то **D** увеличится в 9 раз. " 114 | ] 115 | }, 116 | { 117 | "attachments": {}, 118 | "cell_type": "markdown", 119 | "id": "monthly-africa", 120 | "metadata": {}, 121 | "source": [ 122 | "### 1.6 Квантили распределения и график box-plot\n", 123 | "\n", 124 | "**Квартили** – это 3 точки, которые делят упорядоченное множество на 4 равные части. Соответсвенно, второй квартиль - медиана.\n", 125 | "\n", 126 | "Выделяется также **межквартильный размах** – это разность между 1-м и 3-м квартилями.\n", 127 | "\n", 128 | "Для box-plot длина \"усов\": **1.5 * межквартильный размах**. Всё, что лежит вне \"усов\" – выбросы." 129 | ] 130 | }, 131 | { 132 | "cell_type": "markdown", 133 | "id": "flush-hypothesis", 134 | "metadata": {}, 135 | "source": [ 136 | "### Пример" 137 | ] 138 | }, 139 | { 140 | "cell_type": "code", 141 | "execution_count": 1, 142 | "id": "handmade-battery", 143 | "metadata": { 144 | "scrolled": true 145 | }, 146 | "outputs": [], 147 | "source": [ 148 | "import numpy as np\n", 149 | "import scipy.stats as stats\n", 150 | "import seaborn as sns" 151 | ] 152 | }, 153 | { 154 | "cell_type": "code", 155 | "execution_count": 2, 156 | "id": "warming-grave", 157 | "metadata": {}, 158 | "outputs": [ 159 | { 160 | "name": "stdout", 161 | "output_type": "stream", 162 | "text": [ 163 | "Standart deviation: 3.16\n", 164 | "5.0 10.0 3.16\n" 165 | ] 166 | } 167 | ], 168 | "source": [ 169 | "# Рассчитываем дисперсию и стандартное отклонение\n", 170 | "\n", 171 | "lst = np.array([1, 5, 2, 7, 1, 9, 3, 8, 5, 9])\n", 172 | "\n", 173 | "#ddof - степень свободы, т.е. -1 тоже, что и n-1\n", 174 | "print(f'Standart deviation: {np.std(lst, ddof=1):.2f}')\n", 175 | "print(np.mean(lst), np.var(lst, ddof=1), round(np.var(lst, ddof=1)**0.5, 2))" 176 | ] 177 | }, 178 | { 179 | "cell_type": "code", 180 | "execution_count": 3, 181 | "id": "hawaiian-curve", 182 | "metadata": {}, 183 | "outputs": [ 184 | { 185 | "name": "stdout", 186 | "output_type": "stream", 187 | "text": [ 188 | "2.0 1.41\n", 189 | "2.0 1.41\n", 190 | "\n", 191 | "\n", 192 | "2.0 1.41\n", 193 | "18.0 4.24\n" 194 | ] 195 | } 196 | ], 197 | "source": [ 198 | "# Проверяем свойства\n", 199 | "\n", 200 | "lst_1 = np.array([1, 2, 2, 3 ,4, 4, 5])\n", 201 | "lst_2 = lst_1 + 100\n", 202 | "\n", 203 | "print(np.var(lst_1, ddof=1), round(np.std(lst_1, ddof=1), 2))\n", 204 | "print(np.var(lst_2, ddof=1), round(np.std(lst_2, ddof=1), 2))\n", 205 | "print('\\n')\n", 206 | "\n", 207 | "lst_2 = lst_1 * 3\n", 208 | "print(np.var(lst_1, ddof=1), round(np.std(lst_1, ddof=1), 2))\n", 209 | "print(np.var(lst_2, ddof=1), round(np.std(lst_2, ddof=1), 2))" 210 | ] 211 | }, 212 | { 213 | "cell_type": "code", 214 | "execution_count": 4, 215 | "id": "vietnamese-print", 216 | "metadata": { 217 | "scrolled": true 218 | }, 219 | "outputs": [ 220 | { 221 | "data": { 222 | "image/png": "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", 223 | "text/plain": [ 224 | "
" 225 | ] 226 | }, 227 | "metadata": { 228 | "needs_background": "light" 229 | }, 230 | "output_type": "display_data" 231 | } 232 | ], 233 | "source": [ 234 | "# вывод boxplot\n", 235 | "\n", 236 | "hights = [157,159,161,164,165,166,167,167,167,168,169,169,170,170,170,171,171,172,172,172,172,173,173,175,175,177,178,178,179,185]\n", 237 | "ax = sns.boxplot(y=hights)\n", 238 | "ax = sns.swarmplot(y=hights, color=\"red\")" 239 | ] 240 | }, 241 | { 242 | "cell_type": "markdown", 243 | "id": "former-messenger", 244 | "metadata": {}, 245 | "source": [ 246 | "### 1.7 Нормальное распределение\n", 247 | "\n", 248 | "**Нормальное распределение** – унимодальное, симметричное распределение. Отклонений значений от среднего подчиняются определённому вероятностному закону.\n", 249 | "\n", 250 | "**Z-стандартизация** – такое преобразование данных, которое переводит любую шкалу, где среднее значение == 0, а стандартное отклонение == 1.\n", 251 | "\n", 252 | "Показывет насколько далеко данное измерение от среднего значения, выраженное в стандартном отклонении (см. пример ниже).\n", 253 | "\n", 254 | "$$Z_i = \\frac{x_i - \\mu}{\\sigma}$$\n", 255 | "\n", 256 | "\n", 257 | "Хорошо рассказано [здесь](https://www.khanacademy.org/math/ap-statistics/density-curves-normal-distribution-ap/measuring-position/v/z-score-introduction).\n", 258 | "\n", 259 | "**Правило 3-х сигм**\n", 260 | "\n", 261 | "* 68,26% всех значений находятся на расстоянии +- 1 сигмы.\n", 262 | "* 95,44% всех значений находятся на расстоянии +- 2 сигмы.\n", 263 | "* 99,72% всех значений находятся на расстоянии +- 3 сигмы." 264 | ] 265 | }, 266 | { 267 | "cell_type": "markdown", 268 | "id": "royal-registrar", 269 | "metadata": {}, 270 | "source": [ 271 | "### Пример" 272 | ] 273 | }, 274 | { 275 | "cell_type": "code", 276 | "execution_count": 5, 277 | "id": "incorporated-validation", 278 | "metadata": {}, 279 | "outputs": [ 280 | { 281 | "name": "stdout", 282 | "output_type": "stream", 283 | "text": [ 284 | "3.0\n", 285 | "2.86\n", 286 | "1.69\n", 287 | "[-0.59 -0.59 0. -0.59 1.18 -1.18 1.77]\n" 288 | ] 289 | } 290 | ], 291 | "source": [ 292 | "data_z = np.array([2, 2, 3, 2, 5, 1, 6])\n", 293 | "\n", 294 | "print(np.mean(data_z))\n", 295 | "print(round(np.var(data_z), 2))\n", 296 | "print(round(np.std(data_z), 2))\n", 297 | "print(stats.zscore(data_z).round(2))\n", 298 | "\n", 299 | "# ТО последнее значение больше среднего в 1.77 стандартных отклонений" 300 | ] 301 | }, 302 | { 303 | "cell_type": "code", 304 | "execution_count": 6, 305 | "id": "southwest-raleigh", 306 | "metadata": { 307 | "scrolled": true 308 | }, 309 | "outputs": [ 310 | { 311 | "name": "stdout", 312 | "output_type": "stream", 313 | "text": [ 314 | "Только у 4.78% людей, IQ>125\n" 315 | ] 316 | } 317 | ], 318 | "source": [ 319 | "''' Считается, что значение IQ (уровень интеллекта) у людей имеет нормальное распределение\n", 320 | "со средним значением равным 100 и стандартным отклонением равным 15 (M = 100, sd = 15).\n", 321 | "Какой приблизительно процент людей обладает IQ > 125?\n", 322 | "'''\n", 323 | "\n", 324 | "from scipy import stats\n", 325 | "mean = 100\n", 326 | "std = 15\n", 327 | "IQ=125\n", 328 | "# sf - Survival function = (1 - cdf) - Cumulative distribution function\n", 329 | "print(f\"Только у {(stats.norm(mean, std).sf(IQ))*100:.2f}% людей, IQ>{IQ}\")" 330 | ] 331 | }, 332 | { 333 | "cell_type": "code", 334 | "execution_count": 12, 335 | "id": "labeled-advantage", 336 | "metadata": {}, 337 | "outputs": [ 338 | { 339 | "name": "stdout", 340 | "output_type": "stream", 341 | "text": [ 342 | "76.54\n" 343 | ] 344 | } 345 | ], 346 | "source": [ 347 | "''' Считается, что значение IQ (уровень интеллекта) у людей имеет нормальное распределение\n", 348 | "со средним значением равным 100 и стандартным отклонением равным 15 (M = 100, sd = 15).\n", 349 | "Какой приблизительно процент людей обладает IQ на промежутке от 70 до 112 \n", 350 | "'''\n", 351 | "\n", 352 | "from scipy import stats\n", 353 | "mean = 100\n", 354 | "std = 15\n", 355 | "\n", 356 | "\n", 357 | "left = stats.norm(mean, std).sf(70)*100\n", 358 | "right = stats.norm(mean, std).sf(112)*100\n", 359 | "answer = left - right\n", 360 | "print(round(answer, 2))\n", 361 | "\n", 362 | "# Можно решить задачку и тут \n", 363 | "# https://gallery.shinyapps.io/dist_calc/\n", 364 | "# Получаем Z для искомых IQ (0.8, -2)\n", 365 | "# Выставляем эти значения для middle area\n", 366 | "\n", 367 | "# Можно решать через табл.:\n", 368 | "# https://web.archive.org/web/20180729102938/http://users.stat.ufl.edu/~athienit/Tables/Ztable.pdf" 369 | ] 370 | }, 371 | { 372 | "cell_type": "markdown", 373 | "id": "hybrid-poland", 374 | "metadata": {}, 375 | "source": [ 376 | "### 1.8 Центральная предельная теорема\n", 377 | "\n", 378 | "**Нормальное распределение** – унимодальное, симметричное распределение. Отклонений значений от среднего подчиняются определённому вероятностному закону." 379 | ] 380 | } 381 | ], 382 | "metadata": { 383 | "kernelspec": { 384 | "display_name": "Python 3 (ipykernel)", 385 | "language": "python", 386 | "name": "python3" 387 | }, 388 | "language_info": { 389 | "name": "python", 390 | "version": "3.10.4 (main, Nov 29 2022, 20:00:25) [GCC 9.4.0]" 391 | }, 392 | "vscode": { 393 | "interpreter": { 394 | "hash": "3ad933181bd8a04b432d3370b9dc3b0662ad032c4dfaa4e4f1596c548f763858" 395 | } 396 | } 397 | }, 398 | "nbformat": 4, 399 | "nbformat_minor": 5 400 | } 401 | -------------------------------------------------------------------------------- /stepik_76/.ipynb_checkpoints/notes-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "contrary-resort", 6 | "metadata": {}, 7 | "source": [ 8 | "## Конспекты по курсу [\"Основы статистики\"](https://stepik.org/course/76)" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "id": "shaped-butler", 14 | "metadata": {}, 15 | "source": [ 16 | "### 1.2 Генеральная совокупность и выборка\n", 17 | "\n", 18 | "**Генеральная совокупность (ГС)** – множество всех объектов, относительно которых предполагается делать выводы при изучении конкретной задачи.\n", 19 | "\n", 20 | "**Выборка** – часть ГС. Выводы о выборке распростроняются на ГС.\n", 21 | "\n", 22 | "**Репрезентативность выборки** – выборка должна отражать свойства ГС.\n", 23 | "\n", 24 | "#### Способы задания выборок:\n", 25 | "\n", 26 | "1. **Стратифицированная выборка (stratified sample)** – ГС разбивается на на несколько страт (групп). Внутри группы элменты однородны по некоторому признаку. Из каждой страты случайным образом выбираются элементы. \n", 27 | "\n", 28 | " Пример: разбивка людей по полу, разбивка по группам крови.\n", 29 | " \n", 30 | "\n", 31 | "2. **Групповая выборка (claster sample)** – ГС разбивается на несколько групп (кластеров). Внутри кластеры элементы разнородны, но есть схожесть между кластерами. Выбираются некоторые кластеры, откуда берутся элементы для выборки.\n", 32 | "\n", 33 | " Пример: разбивка жителей города по районам, разбивка по школам и дальнейший выбор учеников среди школ, экзитполы на голосованиях.\n", 34 | " \n", 35 | "\n", 36 | "3. **Случайная выборка (simple sample)**." 37 | ] 38 | }, 39 | { 40 | "cell_type": "markdown", 41 | "id": "specified-sending", 42 | "metadata": {}, 43 | "source": [ 44 | "### 1.3 Типы переменных\n", 45 | "\n", 46 | "1. Количественные\n", 47 | " * Непрерывные. Например, рост человека [160; 190]\n", 48 | " * Дискретные. Например, количество детей в семье [0, 1, 2, 3]\n", 49 | " \n", 50 | " \n", 51 | "2. Качественные (номинативные)\n", 52 | "\n", 53 | " Используются для разделения на группы. Например, всех М обозначим числом 1, а Ж - 2. Т.е. за цифрами не стоит никакого математического смысла, они используются как имена для групп.\n", 54 | "\n", 55 | "\n", 56 | "3. Ранговые\n", 57 | "\n", 58 | " Используются для ранжирования переменных. Единственная математическая операция – сравнение.\n", 59 | " \n", 60 | " \n", 61 | "**Обобщающий пример:** Измеряем рост испытуемых, получаем непрерывную переменную, считаем средний рост. Далее полученные данные по росту ранжируем. Затем разделяем на группы 1, 2 - рост ниже среднего и рост выше среднего.\n" 62 | ] 63 | }, 64 | { 65 | "cell_type": "markdown", 66 | "id": "elegant-there", 67 | "metadata": {}, 68 | "source": [ 69 | "### 1.4 Меры центральной тенденции\n", 70 | "\n", 71 | "Позволяют понять насколько \"высоки\" значения на гистограмме распределения.\n", 72 | "\n", 73 | "1. Мода (mode) – наиболее часто встречающееся значение или значения.\n", 74 | "2. Медиана – делит упорядоченное множество пополам. Если элементов чётное количество, то берётся среднее значение двух серединных элементов.\n", 75 | "3. Среднее (mean) – сумма всех элементов делённая на количество элементов.\n", 76 | "\n", 77 | "Среднее чувствительна к выбросам, т.е. единичным значениями, сильно выбивающимся от всех остальных." 78 | ] 79 | }, 80 | { 81 | "cell_type": "markdown", 82 | "id": "geological-release", 83 | "metadata": {}, 84 | "source": [ 85 | "### 1.5 Меры изменчивости\n", 86 | "\n", 87 | "1. **Размах (range)** – разность между min и max значениями.\n", 88 | "2. **Дисперсия (variance)** – средний квадрат отклонений индивидуальных значений признака от их средней величины.\n", 89 | "\n", 90 | " **Для ГС**\n", 91 | "$$D = \\frac{\\sum_{i=1}^n(x_i - M_x)^2}{n}$$\n", 92 | "\n", 93 | " **Для выборки**\n", 94 | "$$D = \\frac{\\sum_{i=1}^n(x_i - M_x)^2}{n-1}$$\n", 95 | "\n", 96 | "\n", 97 | "3. **Среднеквадратическое отклонение** – дисперсия, взятая по квадратичному корню.\n", 98 | "\n", 99 | "$$\\sigma = \\sqrt D$$\n", 100 | "\n", 101 | "Можно так же использовать термины **стандартное отклонение ГС** и **стандартное отклонение выборки**.\n", 102 | "\n", 103 | "**Свойства дисперсии и стандартного отклонения:**\n", 104 | "\n", 105 | "$$D_x+c = D_x$$\n", 106 | "$$sd_x+c = sd_x$$\n", 107 | "\n", 108 | "Т.е. прибавляя некоторое число к каждому из наблюдений, мы просто \"сдвигаем\" распределение влево или вправо. \n", 109 | "\n", 110 | "$$D_{x*c} = D_x*c^2$$\n", 111 | "$$sd_{x*c} = sd_x*c$$\n", 112 | "\n", 113 | "Т.е. умножая на некоторое число каждое из наблюдений, то распределение меняет свою форму. Логично, что если **sd** увеличилось, например, в 3 раза (за счёт умножения всех элементов на 3), то **D** увеличится в 9 раз. " 114 | ] 115 | }, 116 | { 117 | "cell_type": "markdown", 118 | "id": "monthly-africa", 119 | "metadata": {}, 120 | "source": [ 121 | "### 1.6 Квартили распределения и график box-plot\n", 122 | "\n", 123 | "**Квартили** – это 3 точки, которые делят упорядоченное множество на 4 равные части. Соответсвенно, второй квартиль - медиана.\n", 124 | "\n", 125 | "Выделяется также **межквартильный размах** – это разность между 1-м и 3-м квартилями.\n", 126 | "\n", 127 | "Для box-plot длина \"усов\": **1.5 * межквартильный размах**. Всё, что лежит вне \"усов\" – выбросы." 128 | ] 129 | }, 130 | { 131 | "cell_type": "markdown", 132 | "id": "flush-hypothesis", 133 | "metadata": {}, 134 | "source": [ 135 | "### Пример" 136 | ] 137 | }, 138 | { 139 | "cell_type": "code", 140 | "execution_count": 1, 141 | "id": "handmade-battery", 142 | "metadata": { 143 | "scrolled": true 144 | }, 145 | "outputs": [], 146 | "source": [ 147 | "import numpy as np\n", 148 | "import scipy.stats as stats\n", 149 | "import seaborn as sns" 150 | ] 151 | }, 152 | { 153 | "cell_type": "code", 154 | "execution_count": 2, 155 | "id": "warming-grave", 156 | "metadata": {}, 157 | "outputs": [ 158 | { 159 | "name": "stdout", 160 | "output_type": "stream", 161 | "text": [ 162 | "Standart deviation: 3.16\n", 163 | "5.0 10.0 3.16\n" 164 | ] 165 | } 166 | ], 167 | "source": [ 168 | "# Рассчитываем дисперсию и стандартное отклонение\n", 169 | "\n", 170 | "lst = np.array([1, 5, 2, 7, 1, 9, 3, 8, 5, 9])\n", 171 | "\n", 172 | "#ddof - степень свободы, т.е. -1 тоже, что и n-1\n", 173 | "print(f'Standart deviation: {np.std(lst, ddof=1):.2f}')\n", 174 | "print(np.mean(lst), np.var(lst, ddof=1), round(np.var(lst, ddof=1)**0.5, 2))" 175 | ] 176 | }, 177 | { 178 | "cell_type": "code", 179 | "execution_count": 3, 180 | "id": "hawaiian-curve", 181 | "metadata": {}, 182 | "outputs": [ 183 | { 184 | "name": "stdout", 185 | "output_type": "stream", 186 | "text": [ 187 | "2.0 1.41\n", 188 | "2.0 1.41\n", 189 | "\n", 190 | "\n", 191 | "2.0 1.41\n", 192 | "18.0 4.24\n" 193 | ] 194 | } 195 | ], 196 | "source": [ 197 | "# Проверяем свойства\n", 198 | "\n", 199 | "lst_1 = np.array([1, 2, 2, 3 ,4, 4, 5])\n", 200 | "lst_2 = lst_1 + 100\n", 201 | "\n", 202 | "print(np.var(lst_1, ddof=1), round(np.std(lst_1, ddof=1), 2))\n", 203 | "print(np.var(lst_2, ddof=1), round(np.std(lst_2, ddof=1), 2))\n", 204 | "print('\\n')\n", 205 | "\n", 206 | "lst_2 = lst_1 * 3\n", 207 | "print(np.var(lst_1, ddof=1), round(np.std(lst_1, ddof=1), 2))\n", 208 | "print(np.var(lst_2, ddof=1), round(np.std(lst_2, ddof=1), 2))" 209 | ] 210 | }, 211 | { 212 | "cell_type": "code", 213 | "execution_count": 4, 214 | "id": "vietnamese-print", 215 | "metadata": { 216 | "scrolled": true 217 | }, 218 | "outputs": [ 219 | { 220 | "data": { 221 | "image/png": "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\n", 222 | "text/plain": [ 223 | "
" 224 | ] 225 | }, 226 | "metadata": { 227 | "needs_background": "light" 228 | }, 229 | "output_type": "display_data" 230 | } 231 | ], 232 | "source": [ 233 | "# вывод boxplot\n", 234 | "\n", 235 | "hights = [157,159,161,164,165,166,167,167,167,168,169,169,170,170,170,171,171,172,172,172,172,173,173,175,175,177,178,178,179,185]\n", 236 | "ax = sns.boxplot(y=hights)\n", 237 | "ax = sns.swarmplot(y=hights, color=\"red\")" 238 | ] 239 | }, 240 | { 241 | "cell_type": "markdown", 242 | "id": "former-messenger", 243 | "metadata": {}, 244 | "source": [ 245 | "### 1.7 Нормальное распределение\n", 246 | "\n", 247 | "**Нормальное распределение** – унимодальное, симметричное распределение. Отклонений значений от среднего подчиняются определённому вероятностному закону.\n", 248 | "\n", 249 | "**Z-стандартизация** – такое преобразование данных, которое переводит любую шкалу, где среднее значение == 0, а стандартное отклонение == 1.\n", 250 | "\n", 251 | "Показывет насколько далеко данное измерение от среднего значения, выраженное в стандартном отклонении (см. пример ниже).\n", 252 | "\n", 253 | "$$Z_i = \\frac{x_i - \\mu}{\\sigma}$$\n", 254 | "\n", 255 | "\n", 256 | "Хорошо рассказано [здесь](https://www.khanacademy.org/math/ap-statistics/density-curves-normal-distribution-ap/measuring-position/v/z-score-introduction).\n", 257 | "\n", 258 | "**Правило 3-х сигм**\n", 259 | "\n", 260 | "* 68,26% всех значений находятся на расстоянии +- 1 сигмы.\n", 261 | "* 95,44% всех значений находятся на расстоянии +- 2 сигмы.\n", 262 | "* 99,72% всех значений находятся на расстоянии +- 3 сигмы." 263 | ] 264 | }, 265 | { 266 | "cell_type": "markdown", 267 | "id": "royal-registrar", 268 | "metadata": {}, 269 | "source": [ 270 | "### Пример" 271 | ] 272 | }, 273 | { 274 | "cell_type": "code", 275 | "execution_count": 5, 276 | "id": "incorporated-validation", 277 | "metadata": {}, 278 | "outputs": [ 279 | { 280 | "name": "stdout", 281 | "output_type": "stream", 282 | "text": [ 283 | "3.0\n", 284 | "2.86\n", 285 | "1.69\n", 286 | "[-0.59 -0.59 0. -0.59 1.18 -1.18 1.77]\n" 287 | ] 288 | } 289 | ], 290 | "source": [ 291 | "data_z = np.array([2, 2, 3, 2, 5, 1, 6])\n", 292 | "\n", 293 | "print(np.mean(data_z))\n", 294 | "print(round(np.var(data_z), 2))\n", 295 | "print(round(np.std(data_z), 2))\n", 296 | "print(stats.zscore(data_z).round(2))\n", 297 | "\n", 298 | "# ТО последнее значение больше среднего в 1.77 стандартных отклонений" 299 | ] 300 | }, 301 | { 302 | "cell_type": "code", 303 | "execution_count": 6, 304 | "id": "southwest-raleigh", 305 | "metadata": { 306 | "scrolled": true 307 | }, 308 | "outputs": [ 309 | { 310 | "name": "stdout", 311 | "output_type": "stream", 312 | "text": [ 313 | "Только у 4.78% людей, IQ>125\n" 314 | ] 315 | } 316 | ], 317 | "source": [ 318 | "''' Считается, что значение IQ (уровень интеллекта) у людей имеет нормальное распределение\n", 319 | "со средним значением равным 100 и стандартным отклонением равным 15 (M = 100, sd = 15).\n", 320 | "Какой приблизительно процент людей обладает IQ > 125?\n", 321 | "'''\n", 322 | "\n", 323 | "from scipy import stats\n", 324 | "mean = 100\n", 325 | "std = 15\n", 326 | "IQ=125\n", 327 | "# sf - Survival function = (1 - cdf) - Cumulative distribution function\n", 328 | "print(f\"Только у {(stats.norm(mean, std).sf(IQ))*100:.2f}% людей, IQ>{IQ}\")" 329 | ] 330 | }, 331 | { 332 | "cell_type": "code", 333 | "execution_count": 12, 334 | "id": "labeled-advantage", 335 | "metadata": {}, 336 | "outputs": [ 337 | { 338 | "name": "stdout", 339 | "output_type": "stream", 340 | "text": [ 341 | "76.54\n" 342 | ] 343 | } 344 | ], 345 | "source": [ 346 | "''' Считается, что значение IQ (уровень интеллекта) у людей имеет нормальное распределение\n", 347 | "со средним значением равным 100 и стандартным отклонением равным 15 (M = 100, sd = 15).\n", 348 | "Какой приблизительно процент людей обладает IQ на промежутке от 70 до 112 \n", 349 | "'''\n", 350 | "\n", 351 | "from scipy import stats\n", 352 | "mean = 100\n", 353 | "std = 15\n", 354 | "\n", 355 | "\n", 356 | "left = stats.norm(mean, std).sf(70)*100\n", 357 | "right = stats.norm(mean, std).sf(112)*100\n", 358 | "answer = left - right\n", 359 | "print(round(answer, 2))\n", 360 | "\n", 361 | "# Можно решить задачку и тут \n", 362 | "# https://gallery.shinyapps.io/dist_calc/\n", 363 | "# Получаем Z для искомых IQ (0.8, -2)\n", 364 | "# Выставляем эти значения для middle area\n", 365 | "\n", 366 | "# Можно решать через табл.:\n", 367 | "# https://web.archive.org/web/20180729102938/http://users.stat.ufl.edu/~athienit/Tables/Ztable.pdf" 368 | ] 369 | }, 370 | { 371 | "cell_type": "markdown", 372 | "id": "hybrid-poland", 373 | "metadata": {}, 374 | "source": [ 375 | "### 1.8 Центральная предельная теорема\n", 376 | "\n", 377 | "**Нормальное распределение** – унимодальное, симметричное распределение. Отклонений значений от среднего подчиняются определённому вероятностному закону." 378 | ] 379 | } 380 | ], 381 | "metadata": { 382 | "kernelspec": { 383 | "display_name": "Python 3", 384 | "language": "python", 385 | "name": "python3" 386 | }, 387 | "language_info": { 388 | "codemirror_mode": { 389 | "name": "ipython", 390 | "version": 3 391 | }, 392 | "file_extension": ".py", 393 | "mimetype": "text/x-python", 394 | "name": "python", 395 | "nbconvert_exporter": "python", 396 | "pygments_lexer": "ipython3", 397 | "version": "3.8.5" 398 | } 399 | }, 400 | "nbformat": 4, 401 | "nbformat_minor": 5 402 | } 403 | --------------------------------------------------------------------------------