Analiza statistică a datelor ne ajută să înțelegem informațiile în ansamblul lor. Acest lucru are aplicații în multe domenii, cum ar fi biostatistica și analiza de afaceri.
În loc să treacă prin punctele individuale de date, doar o singură privire la valoarea medie sau variația lor colectivă poate dezvălui tendințele și caracteristicile pe care le-am fi ratat observând toate datele în format brut. De asemenea, compararea dintre două seturi de date mari este mai ușoară și mai semnificativă.
Ținând cont de aceste nevoi, Python ne-a furnizat modulul de statistici.
În acest tutorial, veți afla despre diferite modalități de calculare a mediilor și de măsurare a răspândirii unui anumit set de date. Dacă nu se specifică altfel, toate funcțiile din acest modul suportă int
, pluti
, zecimal
și fracțiune
pe bază de date.
Puteți utiliza funcția valorile medii (date)
pentru a calcula media unor date date. Se calculează prin împărțirea sumei tuturor punctelor de date cu numărul de puncte de date. Dacă datele sunt goale, va fi crescută o statistică. Iată câteva exemple:
statistici de import din fracții import Fracțiunea ca F din zecimale de import Zecimal ca D statistici.mean ([11, 2, 13, 14, 44]) # returnează 16.8 statistics.mean ([F (8, 10), F ), F (2, 5), F (28, 5)]) # returnează fracțiunea (147,80) statistics.mean (D , D ("2.375")]) # returnează zecimal ('5.0625')
Ați învățat despre multe funcții pentru a genera numere aleatorii în ultimul nostru tutorial. Să le folosim acum pentru a genera datele noastre și pentru a vedea dacă media finală este egală cu ceea ce ne așteptăm să fie.
import statistici aleatoare de import date_points = [random.randint (1, 100) pentru x în intervalul (1.1001)] statistics.mean (date_points) # returnează 50.618 date_points = [random, triangular (1, 100, 80) range (1,1001)] statistics.mean (date_points) # retururi 59.93292281437689
Cu randint ()
, media este de așteptat să fie aproape de punctul de mijloc al ambelor extreme, iar cu distribuția triunghiulară, se presupune că este aproape de scăzut + mare + mod / 3
. Prin urmare, media în primul și al doilea caz ar trebui să fie de 50 și, respectiv, 60.33, care este aproape de ceea ce am primit de fapt.
Mean este un bun indicator al mediei, dar câteva valori extreme pot duce la o medie care este departe de locația centrală reală. În unele cazuri este mai de dorit să se determine cel mai frecvent punct de date într-un set de date. Mod ()
funcția va returna punctul de date cel mai comun din date numerice discrete, precum și date non-numerice. Aceasta este singura funcție statistică care poate fi utilizată cu date non-numerice.
importați statistici de import aleatoare date_points = [random.randint (1, 100) pentru x în intervalul (1.1001)] statistics.mode (date_points) # returnează 94 date_points = [random.randint (1, 100) 1 1001)] statistics.mode (date_points) # returnează date_points = [random.randint (1, 100) pentru x în intervalul (1.1001)] statistics.mode (date_points) # returns 32 mode , "câine", "câine", "pisică", "maimuță", "maimuță", "câine"
Modul de întregi generați aleatoriu într-un interval dat poate fi oricare dintre acele numere, deoarece frecvența apariției fiecărui număr este imprevizibilă. Cele trei exemple din fragmentul de cod de mai sus demonstrează acest punct. Ultimul exemplu ne arată cum putem calcula modul de date non-numerice.
Bazandu-se pe modul de a calcula o valoare centrala poate fi un pic in eroare. După cum tocmai am văzut în secțiunea anterioară, acesta va fi întotdeauna cel mai popular punct de date, indiferent de toate celelalte valori din setul de date. Un alt mod de a determina o locație centrală este prin utilizarea median()
funcţie. Acesta va returna valoarea mediană a datelor numerice date prin calcularea mediei a două puncte medii, dacă este necesar. Dacă numărul de puncte de date este ciudat, returnează punctul de mijloc. Dacă numărul de puncte de date este egal, acesta returnează media a două valori mediane.
Problema cu median()
este că valoarea finală poate să nu fie un punct de date efectiv atunci când numărul de puncte de date este egal. În astfel de cazuri, puteți fie să utilizați median_low ()
sau median_high ()
pentru a calcula mediana. Cu un număr par de puncte de date, aceste funcții vor readuce valoarea mai mică și mai mare a celor două puncte medii.
import statistici aleatoare de import date_points = [random.randint (1, 100) pentru x în intervalul (1,50)] statistics.median (date_points) # returnează 53 date_points = [random.randint (1, 100) 1,51) statistici.median (date_points) # returnează 51,0 date_points = [random.randint (1, 100) pentru x în intervalul (1,51)] statistics.median (date_points) # returnează 49.0 data_points = [random.randint (1, 100) pentru x în intervalul (1,51)] statistics.median_low (date_points) # returnează 50 statistics.median_high (date_points) # returnează 52 statistics.median (data_points) # returns 51.0
În ultimul caz, mediana joasă și înaltă a fost de 50 și 52. Aceasta înseamnă că nu a existat niciun punct de date cu valoarea 51 în setul nostru de date, dar median()
funcția a calculat încă valoarea mediană de 51,0.
Determinarea cât de mult deviază punctele de date de la valoarea tipică sau medie a setului de date este la fel de importantă ca și calcularea valorii centrale sau medii în sine. statistici modulul are patru funcții diferite pentru a ne ajuta să calculam această răspândire a datelor.
Puteți utiliza funcția pvariance (date, mu = Niciuna)
funcție pentru a calcula varianța de populație a unui set de date dat.
Al doilea argument în acest caz este opțional. Valoarea a mu, atunci când este prevăzut, ar trebui să fie egală cu media datelor date. Media este calculată automat dacă valoarea lipsește. Această funcție este utilă atunci când doriți să calculați variația unei populații întregi. Dacă datele dvs. sunt doar un eșantion al populației, puteți utiliza varianta (date, xBar = Niciuna)
funcție pentru a calcula variația eșantionului. Aici, xBar este media eșantionului dat și este calculată automat dacă nu este furnizată.
Pentru a calcula definiția standard a populației și deviația standard a eșantionului, puteți utiliza pstdev (date, mu = None)
și stdev (date, xBar = Nici unul)
funcții.
statistici de import din fracții import Fraction as F data = [1, 2, 3, 4, 5, 6, 7, 8, 9] statistici.pvariance (date) # returns 6.666666666666667 statistics.pstdev (data) # returns 2.581988897471611 statistics.variance (date) # returnează 7.5 statistici.stdev (date) # returnează 2.7386127875258306 more_data = [3, 4, 5, 5, 5, 5, 5, 6, 6] statistici.pvariance (mai mult_data) # returns 0.7654320987654322 statistics.pstdev ) # returnează 0.8748897637790901 some_fractions = [F (5, 6), F (2, 3), F (11, 12)] statistică.varianță (some_fractions)
După cum reiese din exemplul de mai sus, varianța mai mică implică faptul că mai multe puncte de date sunt mai apropiate de valoarea medie. De asemenea, puteți calcula deviația standard a zecimalelor și a fracțiunilor.
În acest ultim tutorial al seriei, am aflat despre diferite funcții disponibile în statistici modul. S-ar putea să fi observat că datele furnizate funcțiilor au fost sortate în majoritatea cazurilor, dar nu trebuie să fie. Am folosit liste sortate în acest tutorial pentru că ele ușurează înțelegerea modului în care valoarea returnată de diferite funcții este legată de datele de intrare.