Statistické metody pro analýzu dat bez strojového učení
Statistické nástroje umožňují rychle hodnotit data bez složitých modelů strojového učení. Vážený průměr bere v úvahu důležitost pozorování, standardní odchylka a variance odhalují nejednotnost, zatímco distribuce Poissonova a binomická predikují vzácné události. Tyto metody v Pythonu s numpy a pandas jsou vhodné pro middle/senior vývojáře, kteří analyzují obchodní metriky.
Vážený průměr: korekce zkreslení od odlehlých hodnot
Běžný průměr je zranitelný vůči odlehlým hodnotám. Při mzdách 10$ (ředitel) a 0.10$ (úklidkyně, váha 10) průměr dává 5.05$, což neodráží realitu. Vážený průměr to řeší:
import numpy as np
salary = np.array([10.0, 0.10])
weight = np.array([1, 10])
result = np.sum(salary * weight) / np.sum(weight)
print(f"Weighted average: ${result:.2f}")
Výstup: 1.00$. Použití:
- Analýza příjmů podle prodejních kanálů s ohledem na provoz.
- Hodnocení metrik s různou frekvencí událostí.
- Seskupení klientů do segmentů s váhami.
Standardní odchylka a variance: hodnocení stability
Standardní odchylka měří rozptyl kolem průměru. Pro mzdy [500, 400, 450, 550, 5000]:
import pandas as pd
import numpy as np
data = {
"Employee": ["Ivan", "Maria", "Oleg", "Anna", "CEO"],
"Salary": [500, 400, 450, 550, 5000]
}
df = pd.DataFrame(data)
n = len(df['Salary'])
mean_ = df['Salary'].mean()
s = np.sqrt(np.sum((df['Salary'] - mean_) ** 2) / (n - 1))
print(f"Standard deviation: {s:.2f}")
Výsledek: 2024.41 — indikátor silné odlehlé hodnoty. Variance (čtverec odchylky) je užitečná pro srovnání sad:
import numpy as np
sales = np.array([90, 95, 92, 93, 91, 200, 210])
mean_sales = np.mean(sales)
dispersion = np.sum((sales - mean_sales) ** 2) / (len(sales) - 1)
print("Variance:", dispersion)
Rozptyl podle dnů (pracovní dny vs víkendy) vyžaduje segmentaci dat.
Korelace Pearsonova: lineární vztahy bez kauzality
Koeficient korelace Pearsonovy hodnotí lineární závislost. Vzorec:
import numpy as np
X = np.array([1, 2, 3, 4, 5]) # study hours
Y = np.array([50, 55, 60, 65, 70]) # test scores
x_mean = np.mean(X)
y_mean = np.mean(Y)
corXY = np.sum((X - x_mean) * (Y - y_mean))
corr_sqrt = np.sqrt(np.sum((X - x_mean)**2) * np.sum((Y - y_mean)**2))
res = corXY / corr_sqrt
print(f"Pearson correlation: {res:.2f}")
r=1.00 — ideální souvislost. Čtverec (r²) dává podíl vysvětlené variance (v regresi — koeficient determinace). Pamatujte: korelace ≠ kauzalita (příklad: golf a úmrtnost u starších lidí).
Test chi-kvadrát: kontrola očekávání vs realita
Chi-kvadrát porovnává pozorované (O) a očekávané (E) hodnoty:
import numpy as np
O = np.array([1, 2, 3, 4, 7, 9, 11, 13, 14]) # observed
E = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) # expected
xi = np.sum((O - E) ** 2 / E)
print(f"Chi-square statistic: {xi:.2f}")
Podmínky: stejná délka, E > 0. Vyšší hodnota — větší rozdíl. Používá se pro validaci předpovědí.
Distribuce Poissonova: modelování vzácných událostí
Pro události s konstantní intenzitou λ (průměr za interval). Pravděpodobnost k událostí:
import math
λ = 3 # srednesutochnoe count requests
k = 5
prob = (λ ** k) * math.exp(-λ) / math.factorial(k)
print(f"Probability 5 requests: {prob:.4f}")
Výsledek: 0.1008. Předpoklady: nezávislost, konstantní pravděpodobnost, jedna událost najednou. Použití:
- Předpověď volání na podporu.
- Odhad objednávek na webu.
- Analýza bezpečnostních incidentů.
- Rizika ve financích.
Binomická distribuce: úspěchy v pokusech
Pro n pokusů s pravděpodobností úspěchu p. Pravděpodobnost k úspěchů:
import math
n = 100
k = 70
p = 0.7
b_coef = math.factorial(n) / (math.factorial(k) * math.factorial(n - k))
prob = b_coef * (p ** k) * ((1 - p) ** (n - k))
print(f"Probability 70 otkrytiy: {prob:.6f}")
Příklady: otevírání e-mailů, A/B testy, kontrola kvality.
Exponenciální distribuce: intervaly do událostí
Pravděpodobnost události po čase x při λ:
import math
lambd = 4 # vyzovov/hour
x = 1 / 3 # 20 min
prob = lambd * math.exp(-lambd * x)
print(f"Probability vyzova cherez 20 min: {prob:.4f}")
Pro fronty, prostoje zařízení.
Co je důležité
- Vážený průměr a odchylka odhalují zkreslení bez ML.
- Korelace hodnotí souvislosti, r² — vysvětlenou varianci.
- Poissonova a binomická — pro předpovídání událostí v podniku.
- Chi-kvadrát validuje hypotézy s minimálními daty.
- Všechny metody lze realizovat v numpy/pandas, bez GPU.
— Editorial Team
Zatím žádné komentáře.