ПРИКЛАДНИЙ СТАТИСТИЧНИЙ АНАЛІЗ В PYTHON. ЧАСТИНА I

Навчальний посібник

Автори
Афіліація

Ігор Мірошниченко

Київський національний університет імені Тараса Шевченка

Юлія Хлевна

Київський національний університет імені Тараса Шевченка

Опубліковано

2025-08-30

Передмова

Цей посібник створено для тих, хто хоче не просто вивчати статистику, а розуміти, як вона працює на практиці — у даних, рішеннях, дослідженнях. Ми починаємо з простого, але фундаментального — з біноміального критерію — і поступово розширюємо горизонти: від гіпотез й довірчих інтервалів до \(t\)- та \(Z\)-критеріїв та Монте-Карло моделювання.

Кожен розділ поєднує теоретичне підґрунтя, інтерпретації, візуалізації і, що важливо, реалізацію в Python. Це не академічна теорія заради теорії. Тут — статистика як інструмент: перевіряти гіпотези, оцінювати ефекти, шукати закономірності та ухвалювати обґрунтовані рішення.

Цей посібник буде корисним:

  • студентам, які хочуть навчитися статистичного мислення;
  • дослідникам, які працюють з експериментами;
  • аналітикам, які мають справу з вибірками та оцінками;
  • і всім, хто не хоче просто “вивчити формули”, а прагне зрозуміти суть.

Ми не обіцяємо, що буде завжди легко. Але гарантуємо, що буде зрозуміло.

Як користуватись цим посібником

Цей посібник можна проходити послідовно — від першої теми до останньої — або звертатись до окремих розділів за потреби. Щоб отримати максимум користі, ось кілька порад:

  1. Читайте, але й кодьте. Теорія дає розуміння, але практика — вміння. Якщо бачите фрагмент коду — спробуйте його виконати, змінити параметри, подивитись, що буде.
  2. Грайте з прикладами. В багатьох місцях можна змінити дані, розміри вибірки чи рівень значущості — робіть це. Так найкраще приходить інтуїція.
  3. Повертайтесь назад. Якщо на якомусь етапі щось здається складним, це нормально. Часто новий матеріал “вмикає” краще розуміння попереднього.
  4. Не бійтесь помилятись. Статистика — це не про ідеальні відповіді, а про ймовірності, невизначеність і пояснення того, що ми бачимо.
  5. Задавайте собі питання:
    • Яку гіпотезу ми тут перевіряємо?
    • Що означає результат?
    • Що буде, якщо змінити розмір вибірки чи очікувану різницю?
    • Як це застосувати в моїй сфері?
  6. Не ігноруйте “інтерпретацію”. Це не просто розділ — це ключ до розуміння. Бо мало просто отримати результат — важливо знати, що він означає.

Досліджуйте далі. Цей посібник — стартова платформа. Якщо вам цікаво — глибше копати тільки вітається.

Попередні налаштування 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
Визначаємо кольори для графіків.