Бутстрепінг

Основи інференції в Python

Paul Savala

Assistant Professor of Mathematics

Бутстрепінг

  • Bootstrapping = вибірка з поверненням
    1. Випадково виберіть спостереження
    2. Запишіть його
    3. Поверніть у дані (з поверненням)
    4. Повторіть
  • Bootstrapped sample = вибірка, отримана бутстрепінгом
Основи інференції в Python

Непараметричний довірчий інтервал

  • Непараметричний аналог stats.norm.interval
    • Вибірка з поверненням
    • Обчисліть статистику тесту
    • Запишіть її
    • Повторіть
  • Створює емпіричний розподіл
Основи інференції в Python
salaries_df['Years of Employment']
[6, 11, 14, 3, 2, ...]
sample_1 = salaries_df['Years of Employment'].sample(n=10)

print(max(sample_1) - min(sample_1))
7
  • Повторіть цей процес багато разів
  • Середні 95% результатів = 95% бутстрепний довірчий інтервал
Основи інференції в Python
# Statistic function
def max_min(x):
    return max(x) - min(x)

# Data as a tuple data = (salaries_df['Years of Employment'], )
bootstrap_ci = stats.bootstrap(data, max_min, vectorized=False, n_resamples=1000)
print(bootstrap_ci)
BootstrapResult(confidence_interval=ConfidenceInterval(low=33.0, high=38.0),
standard_error=1.3843971812870597)
Основи інференції в Python

Нормальні довірчі інтервали

 

  • Потрібні нормально розподілені дані
  • Обчислюються лише за середнім і стандартною помилкою
  • Висновки коректні лише для нормальних даних
  • Дуже швидко обчислюються

Бутстрепні довірчі інтервали

 

  • Підходять для будь-якого розподілу
  • Обчислюються напряму з даних через ресемплінг
  • Висновки коректні для будь-яких даних
  • Значно повільніші в обчисленні
Основи інференції в Python

Коли застосовувати бутстрепінг

  • Коли працюєте з ненормальними даними
    • Ранжовані дані
    • Скошені дані
  • Коли нормальні інтервали дають сумнівні значення
  • Можна використовувати будь-яку потрібну статистику
Основи інференції в Python

Давайте потренуємось!

Основи інференції в Python

Preparing Video For Download...