ПРИКЛАДНИЙ СТАТИСТИЧНИЙ АНАЛІЗ В PYTHON. ЧАСТИНА I
Навчальний посібник
Передмова
Цей посібник створено для тих, хто хоче не просто вивчати статистику, а розуміти, як вона працює на практиці — у даних, рішеннях, дослідженнях. Ми починаємо з простого, але фундаментального — з біноміального критерію — і поступово розширюємо горизонти: від гіпотез й довірчих інтервалів до \(t\)- та \(Z\)-критеріїв та Монте-Карло моделювання.
Кожен розділ поєднує теоретичне підґрунтя, інтерпретації, візуалізації і, що важливо, реалізацію в Python. Це не академічна теорія заради теорії. Тут — статистика як інструмент: перевіряти гіпотези, оцінювати ефекти, шукати закономірності та ухвалювати обґрунтовані рішення.
Цей посібник буде корисним:
- студентам, які хочуть навчитися статистичного мислення;
- дослідникам, які працюють з експериментами;
- аналітикам, які мають справу з вибірками та оцінками;
- і всім, хто не хоче просто “вивчити формули”, а прагне зрозуміти суть.
Ми не обіцяємо, що буде завжди легко. Але гарантуємо, що буде зрозуміло.
Як користуватись цим посібником
Цей посібник можна проходити послідовно — від першої теми до останньої — або звертатись до окремих розділів за потреби. Щоб отримати максимум користі, ось кілька порад:
- Читайте, але й кодьте. Теорія дає розуміння, але практика — вміння. Якщо бачите фрагмент коду — спробуйте його виконати, змінити параметри, подивитись, що буде.
- Грайте з прикладами. В багатьох місцях можна змінити дані, розміри вибірки чи рівень значущості — робіть це. Так найкраще приходить інтуїція.
- Повертайтесь назад. Якщо на якомусь етапі щось здається складним, це нормально. Часто новий матеріал “вмикає” краще розуміння попереднього.
- Не бійтесь помилятись. Статистика — це не про ідеальні відповіді, а про ймовірності, невизначеність і пояснення того, що ми бачимо.
- Задавайте собі питання:
- Яку гіпотезу ми тут перевіряємо?
- Що означає результат?
- Що буде, якщо змінити розмір вибірки чи очікувану різницю?
- Як це застосувати в моїй сфері?
- Не ігноруйте “інтерпретацію”. Це не просто розділ — це ключ до розуміння. Бо мало просто отримати результат — важливо знати, що він означає.
Досліджуйте далі. Цей посібник — стартова платформа. Якщо вам цікаво — глибше копати тільки вітається.
Попередні налаштування Python
Для роботи з цим посібником вам знадобиться Python. В процесі написання ми використовували наступні глобальні бібліотеки та змінні:
1import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import random
import time
from statsmodels.stats.proportion import proportion_confint
from IPython.display import Markdown, display
from scipy.stats import (
norm,
binom,
expon,
binomtest,
chisquare,
t,
chi2,
pareto,
ttest_1samp,
ttest_ind,
sem,
bernoulli,
uniform,
gamma
)
2np.random.seed(73)
3sns.despine(left=True, bottom=True)
base_size = 13
sns.set_style("whitegrid")
palette = sns.color_palette("Set2")
sns.set_palette(palette)
sns.set_context("talk")
4plt.rcParams['figure.figsize'] = (8, 3.5)
plt.rcParams['font.size'] = 12
plt.rcParams['axes.labelsize'] = 12
plt.rcParams['axes.titlesize'] = 12
plt.rcParams['xtick.labelsize'] = 8
plt.rcParams['ytick.labelsize'] = 8
plt.rcParams['legend.fontsize'] = 8
plt.rcParams['figure.titlesize'] = 12
plt.rcParams['grid.color'] = (0.5, 0.5, 0.5, 0.1)
plt.rcParams['axes.spines.top'] = False
plt.rcParams['axes.spines.right'] = False
plt.rcParams['axes.spines.left'] = False
plt.rcParams['axes.spines.bottom'] = False
5red_pink = "#e64173"
turquoise = "#20B2AA"
orange = "#FFA500"
red = "#fb6107"
blue = "#181485"
navy = "#150E37FF"
green = "#8bb174"
yellow = "#D8BD44"
purple = "#6A5ACD"
slate = "#314f4f"- 1
- Ці бібліотеки використовуються для статистичних обчислень, візуалізації та роботи з даними.
- 2
- Встановлюємо випадкове зерно для відтворюваності результатів.
- 3
- Налаштовуємо стиль графіків для кращої візуалізації.
- 4
- Налаштовуємо параметри графіків для кращої візуалізації.
- 5
- Визначаємо кольори для графіків.