Documentație
Last updated
Last updated
Ne concentrăm acum pe cîteva calcule statistice simple, pe care le vom face cu ajutorul , iar data viitoare le vom vizualiza grafic.
Funcțiile statistice pe care le calculăm vor putea fi implementat fie manual, fie folosind o bibliotecă Python.
Să presupunem că avem un set de date de forma (X, Y)
sau, mai general, un n-tuplu de forma (X1, X2, X3, ..., Xn)
. Vom calcula:
media sau media aritmetică (eng. "mean" sau "average");
media ponderată (eng. "weighted average");
mediana (eng. "median");
abaterea standard (eng. "standard deviation");
modul (eng. "mode").
Mai jos, definițiile:
media aritmetică se calculează prin raportul între suma valorilor și numărul lor. Astfel, în pseudocod, dacă avem o listă de forma l = [x1, x2, ..., xn]
, atunci:
media ponderată, cu ponderi p1, p2, p3, ... pn
se calculează cu formula:
mediana este valoarea care apare în mijlocul setului de date. Dacă avem un număr impar de date, atunci este chiar valoarea din mijloc. Dacă avem un număr par, atunci se ia media aritmetică a celor două valori din mijloc. De exemplu, pentru setul [1, 2, 3, 4, 5]
, mediana este 3
, fiind valoarea din mijloc. Dar pentru setul [1, 2, 3, 4, 5, 6]
, mediana este (3 + 4) / 2 = 3.5
;
modul este valoarea care apare cel mai frecvent. Dacă există o singură astfel de valoare, setul se numește unimodal. Dacă există mai multe cu același număr maxim de apariții, setul se numește multimodal:
modul setului [1, 2, 3, 3, 4, 5]
este 3
, setul fiind unimodal;
modurile setului [1, 2, 3, 3, 4, 4, 5]
sînt 3
și 4
, setul fiind multimodal (bimodal, mai precis);
abaterea standard sau abaterea medie pătratică, notată de obicei cu sigma
se calculează folosind media aritmetică. Dacă avem un set de date [x1, x2, ..., xn]
, care are media egală cu media
, atunci sigma
este:
Fie setul [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
:
media este 5.5;
dacă avem, de exemplu, ponderile 1, 2, 0, 0, 0, 0, 1, 2, 0, 0
, atunci media ponderată este 4.67;
mediana este 5.5;
modul nu există (sau fiecare valoare este un mod);
abaterea standard este 2.8722.
Valorile pot fi verificate folosind Excel (sau Google Sheets sau LibreOffice) și formulele:
AVERAGE
este formula pentru medie (e.g. AVERAGE(A1:A10)
);
media ponderată se calculează cu o combinație de SUMPRODUCT
și SUM
. Dacă avem, de exemplu, valorile stocate în celulele A1:A10
și ponderile în celulele B1:B10
, atunci:
SUMPRODUCT(A1:A10, B1:B10)
calculează suma produselor între valori și ponderi;
SUM(B1:B10)
calculează suma ponderilor;
SUMPRODUCT(A1:A10, B1:B10) / SUM(B1:B10)
calculează media ponderată;
MEDIAN
returnează mediana (e.g. MEDIAN(A1:A10)
);
MODE.MULT
returnează modul, dacă există, sau N/A
dacă nu există (e.g. MODE.MULT(A1:A10)
);
STDEV.P
returnează abaterea standard (e.g. STDEV.P(A1:A10)
).
Avem nevoie de bibliotecile statistics
și numpy
. Apoi, funcțiile sînt cele de mai jos. Putem redenumi o bibliotecă atunci cînd o importăm, pentru a o folosi mai scurt. În exemplul următor, biblioteca statistics
o redenumim simplu stat
, iar numpy
, np
.
Creați un set de date aleatoriu, pe care să calculați toate funcțiile statistice, în 2 moduri: manual și cu funcții Python. Prevedeți și cazurile cînd avem un număr par de date, și cel în care avem un număr impar de date. Lista de ponderi o puteți genera aleatoriu, de exemplu cu valori între 0 și 1 (folosind random.random()
).
Folosiți datele dintr-un fișier CSV, creat manual sau descărcat de pe Internet și repetați exercițiul de mai sus, pentru datele numerice din una sau mai multe coloane. Opțional, verificați calculele folosind fișierul CSV în Excel, Google Sheets sau o alternativă.
Un exemplu mai sofisticat, care să folosească și datele dintr-un fișier CSV, .