📊 stats - İstatistik and Olasılık
Descriptive Stats, Probability, Regression, Hypothesis Testing
56
function
820
lines
25 KB
Boyut
🚀 Quick Start
import stats
// Temel istatistikler
let veri = [1.2, 2.3, 3.4, 4.5, 5.6, 6.7, 7.8]
let ort = stats.ortalama(veri) // 4.5
let med = stats.medyan(veri) // 4.5
let std = stats.standart_sapma(veri) // 2.28
let var = stats.varyans(veri) // 5.2
// Dağılımlar
let z_değeri = stats.z_skoru(5.0, ort, std)
let normal = stats.normal_dağılım(0, 1)
let prob = stats.normal_pdf(1.96) // ~0.06
// Korelasyon and regresyon
let x = [1, 2, 3, 4, 5]
let y = [2, 4, 5, 4, 5]
let (r, p) = stats.korelasyon(x, y) // r~0.83, p<0.05
let (a, b) = stats.lineer_regresyon(x, y) // y = a + bx
// Hipotez testleri
let t = stats.t_test(grup1, grup2)
if t.p_değeri < 0.05 do
yazdır("İstatistiksel olarak anlamlı fark var")
end
📚 function Kategorileri
- Merkezi Eğilim: ortalama, medyan, mod, geometrik_ortalama
- Yayılım: varyans, standart_sapma, IQR, aralık
- Dağılımlar: normal, uniform, poisson, binomial, exponential
- Korelasyon: pearson, spearman, kendall
- Regresyon: lineer, polynomial, lojistik
- Testler: t-test, chi-square, ANOVA, Kolmogorov-Smirnov
💡 Exampleler
Veri Analizi Pipeline
import stats, io, csv
// CSV'den veri yükle
let veri = csv.oku("sales_data.csv")
let satışlar = veri["sales"]
// Descriptive statistics
yazdır("Ortalama: " + stats.ortalama(satışlar).yazıya())
yazdır("Medyan: " + stats.medyan(satışlar).yazıya())
yazdır("Std Sapma: " + stats.standart_sapma(satışlar).yazıya())
yazdır("Q1: " + stats.çeyreklik(satışlar, 0.25).yazıya())
yazdır("Q3: " + stats.çeyreklik(satışlar, 0.75).yazıya())
// Outlier detection
let Q1 = stats.çeyreklik(satışlar, 0.25)
let Q3 = stats.çeyreklik(satışlar, 0.75)
let IQR = Q3 - Q1
let alt_sınır = Q1 - 1.5 * IQR
let üst_sınır = Q3 + 1.5 * IQR
let outliers = stats.filtrele(satışlar, function(x) do
return x < alt_sınır veya x > üst_sınır
end)
yazdır("Outliers: " + outliers.uzunluk().yazıya())
A/B Testing
import stats
// Grup A and B'nin conversion rates
let grup_A = [1,0,1,1,0,1,1,1,0,1] // 7/10 = 70%
let grup_B = [1,1,0,1,1,1,0,1,1,1] // 8/10 = 80%
// İki oran karşılaştırması (z-test)
let p_A = stats.ortalama(grup_A)
let p_B = stats.ortalama(grup_B)
yazdır("Grup A: " + (p_A * 100).yazıya() + "%")
yazdır("Grup B: " + (p_B * 100).yazıya() + "%")
// Hipotez testi
let Result = stats.oran_testi(grup_A, grup_B)
if Result.p_değeri < 0.05 do
yazdır("Anlamlı fark var (p=" + Result.p_değeri.yazıya() + ")")
end else do
yazdır("Anlamlı fark yok (p=" + Result.p_değeri.yazıya() + ")")
end