📊 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

💡 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

← All Modules