Ce este bootstrapping-ul și de ce îl folosim?

Dacă lucrați cu seturi mari de date, probabil ați auzit de bootstrapping. Dacă sunteți un statistician sau un bioinformatician în plină dezvoltare, acesta face parte din setul dvs. de instrumente de calcul. Ce rost are folosirea acestei funcții? Mai important, ce este bootstrapping-ul?

Bradley Efron a publicat pentru prima dată ideea de bootstrapping în 1979¹. Această tehnică de utilizare intensivă a calculatorului a devenit mai populară și utilă pe măsură ce puterea de calcul a devenit mai ieftină și mai disponibilă. Într-adevăr, cercetătorii au citat metoda bootstrapping de mai mult de 20 000 de ori.

Când lucrăm cu seturi mari de date, ne propunem să facem inferențe despre populația din care sunt extrase datele noastre. Deși putem calcula o medie sau o medie, nu cunoaștem certitudinea acestei estimări. Dacă ne creștem dimensiunea eșantionului, putem reduce eroarea și putem aborda parametrii populației. Cu toate acestea, dacă desfășurăm secvențierea ARN sau colectăm zone mari de date, este costisitor sau chiar imposibil să creștem dimensiunea eșantionului. Bootstrapping-ul este o metodă de reeșantionare care ne ajută să stabilim intervalele de eroare și de încredere. Rezultatele de la bootstrapping informează ulterior concluziile, indiferent dacă vă uitați la date bursiere, arbori filogenetici sau abundențe de transcriere genică.

Definirea Bootstrap-ului

Bootstrapping-ul este o metodă de reeșantionare cu înlocuire. Vom parcurge un exemplu pentru a explica cum funcționează acest lucru, precum și ipotezele pentru această metodă.

Să presupunem că avem un set de date care indică costul pe care jucătorii de baschet îl percep pentru apariția la zilele de naștere. Cu toate acestea, vă este dificil să contactați mai mult de 8 jucători, așa că setul dvs. de date, D, în acest exemplu conține 8 valori. Din moment ce am discutat cu un spectru larg de jucători de baschet diferiți, de la încălzitori de bancă, pentru a ne asigura că eșantionul dvs. este suficient de asemănător cu întreaga populație de jucători.

Aici se află ipoteza noastră statistică: eșantionul nostru de date aproximează distribuția populației.

D = {100, 200, 200, 300, 500, 1000, 1000, 750}

Aici media eșantionului nostru D este 506,25. Dacă bootstram acest eșantion de câteva ori, ne vom face o idee mai bună despre variația din acest set de date. Bootstrapping-ul implică reeșantionarea cu înlocuire. Bootstraps-urile noastre reeșantionate vor avea fiecare 8 valori, totuși, deoarece sunt reeșantionate cu înlocuire, aceeași valoare (adică 100) ar putea apărea de mai multe ori. În acest fel, bootstrapping-ul poate genera estimări diferite de fiecare dată când este rulat. Cu toate acestea, cu suficiente bootstraps, generăm o aproximare a variației în cadrul datelor. Observați următoarele:

  1. Nu adăugăm puncte noi la setul nostru de date.
  2. Fiecare bootstrap reeșantionat conține aceeași cantitate de valori ca eșantionul nostru original.
  3. Deoarece reeșantionăm cu înlocuire, probabilitatea de reeșantionare a oricărei valori este aceeași pe tot parcursul bootstrap-ului. Fiecare valoare este desenată ca un eveniment independent. Dacă prima valoare pe care am reeșantionat este 200, acest lucru nu schimbă probabilitatea ca a doua valoare din acest bootstrap să fie și 200.
D₁ = {100, 1000, 500, 300, 200, 200, 200, 100}
D₂ = {300, 1000, 1000, 300, 500, 100, 200, 750}
D₃ = {750, 300, 200, 200, 100, 300, 750, 1000}

Mediile D₁, D₂, D₃sunt 325, 518,75, 450. Apoi putem folosi aceste valori pentru a genera eroare standard, intervale de încredere și alte măsuri de interes. Folosind Python, R sau alte limbaje, este simplu să generați 50, 100 sau chiar 1000 de mostre bootstrapped. Cunoașterea părtinirii, varianței și răspândirii eșantionului nostru ne ajută să facem inferențe mai bune despre populația din care este extrasă. Vă ajută să încorporați robustețea eșantionului dvs. în restul inferențelor dvs.

De dragul acestui exemplu, am folosit un set mic de date. În general, bootstrapping-ul nu se aplică la seturi de date mici, seturi de date cu multe valori aberante sau seturi de date care implică măsuri de date dependente.

Dacă încă întâmpinați probleme la vizualizarea acestei metode, am arătat mai jos procesul de bootstrapping, pe un set de date de jellybeans.

Utilizarea Bootstrap pentru bioinformatică

Exemplul 1: Arbori filogenetici²

Bootstrapping-ul ne ajută să determinăm încrederea unor ramuri specifice dintr-un arbore filogenetic. S-ar putea să ne uităm la o secvență de aminoacizi dintr-o proteină sau o secvență de nucleotide dintr-o genă. Eșantionul nostru original poate fi reeșantionat rapid de 1000 de ori, reconstruind 1000 de copaci bootstrapped. Dacă arborele original arată că o anumită proteină sau secvență de gene se ramifică, puteți verifica arborele bootstrapped pentru a vedea cât de des apare această ramură. Dacă apare de mai mult de 950 de ori, puteți fi destul de sigur că datele dumneavoastră sunt solide. Dacă apare doar de aproximativ 400 de ori, atunci ar putea fi rezultatul unei valori aberante.

Exemplul 2: Estimarea abundenței transcripției genelor

Software-ul Sleuth³ estimează abundența transcripției genelor folosind o abordare bootstrap. Prin reeșantionarea citirilor noastre de secvențiere de generație următoare, putem calcula o estimare mai robustă a abundenței transcriptelor. Reeșantionarea ne oferă o idee despre variabilitatea tehnică a datelor noastre. Variația tehnică este utilizată împreună cu variația biologică atunci când se estimează dacă o anumită genă sau o transcriere este crescută în setul de date.

Alte utilizări ale bootstrapping-ului includ agregarea pentru învățarea automată a ansamblului. Practic, setul nostru de date este reeșantionat de mai multe ori. Fiecare eșantion bootstrapped este apoi rulat prin clasificatorul nostru sau modelul de învățare automată. Putem folosi toate ieșirile împreună pentru a genera un clasificator mai precis. Acest lucru ne împiedică să supraajustăm datele pe baza eșantionului nostru limitat.

Referințe

  1. Efron, B. Metode Bootstrap: O altă privire la Jackknife. Ann. Statisticist. 7 (1979), nr. 1, 1–26. doi:10.1214/aos/1176344552. https://projecteuclid.org/euclid.aos/1176344552
  2. Efron, Bradley, Elizabeth Halloran și Susan Holmes. „Nivelurile de încredere Bootstrap pentru arborii filogenetici.” Proceedings of the National Academy of Sciences 93.23 (1996): 13429–13429.
  3. https://hbctraining.github.io/DGE_workshop_salmon/lessons/09_sleuth.html