Bootstrapping

Bazele inferenței în Python

Paul Savala

Assistant Professor of Mathematics

Bootstrapping

  • Bootstrapping = Eșantionare cu înlocuire
    1. Se alege aleatoriu un eșantion
    2. Se înregistrează
    3. Se pune înapoi în date (înlocuire)
    4. Se repetă
  • Eșantion bootstrapped = Eșantion generat prin bootstrapping
Bazele inferenței în Python

Interval de încredere neparametric

  • Analog neparametric al stats.norm.interval
    • Eșantionare cu înlocuire
    • Calcularea statisticii de test
    • Înregistrarea acesteia
    • Repetare
  • Creează o distribuție empirică
Bazele inferenței în 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
  • Repetați procesul de mai multe ori
  • Mijlocul celor 95% din rezultate = interval de încredere bootstrapped 95%
Bazele inferenței în 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)
Bazele inferenței în Python

Intervale de încredere normale

 

  • Necesită date normal distribuite
  • Calculat pe baza mediei și erorii standard
  • Inferența este valabilă doar pentru date normale
  • Calcul foarte rapid

Intervale de încredere bootstrap

 

  • Permite orice distribuție
  • Calculat direct din date prin reeșantionare
  • Inferența este valabilă pentru orice date
  • Calcul mult mai lent
Bazele inferenței în Python

Cazuri de utilizare pentru bootstrapping

  • Când se lucrează cu date non-normale
    • Date ordinale
    • Date asimetrice
  • Când intervalele de încredere normale returnează valori discutabile
  • Funcționează cu orice statistică
Bazele inferenței în Python

Să exersăm!

Bazele inferenței în Python

Preparing Video For Download...