Ana içeriğe geç
Kesit Power BI
İleri · Analiz

İleri istatistik: eğilim, z-skoru, mevsimsellik

Analiz bölmesindeki eğilim çizgisinin matematiği, aykırı değer tespiti ve mevsim endeksi; hepsi DAX ile.

Uygulamada aç, 10 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Eğilim: en küçük kareler

Eğilim çizgisi y = a + b·x doğrusudur. b eğim, a kesişimdir:

b = (N·Σxy − Σx·Σy) / (N·Σx² − (Σx)²)
a = (Σy − b·Σx) / N

DAX'ta x için ay sıra numarası (RANKX ile), y için satış alınır ve beş toplam SUMX ile hesaplanır. Analiz bölmesindeki eğilim çizgisi görselde bunu yapar; ölçü olarak yazmak ise eğimi bir kartta (“ayda ortalama +4,2 B ₺”) göstermeyi ve eğilimden sapmayı hesaplamayı sağlar.

Z-skoru

z = (değer − ortalama) / standart sapma. |z| ≥ 2 genellikle aykırı kabul edilir. STDEVX.P sanal tablo üzerinde standart sapma hesaplar. Güçlü eğilimli serilerde önce eğilimi çıkarmak (kalıntılar üzerinde z-skoru) daha doğrudur.

Mevsimsellik

Her takvim ayının ortalamasının genel ortalamaya oranı. Klasik tuzak: ara tabloyu CALCULATETABLE'ın dışında genişletmek; satırdaki ay filtresi diğer ayları boşaltır ve her ay 1 çıkar.

Korelasyon

Fiyat–Adet Korelasyonu =
VAR T = ADDCOLUMNS(VALUES(Urunler[Urun]), "X", CALCULATE(AVERAGE(Urunler[Fiyat])), "Y", [Satılan Adet])
VAR MX = AVERAGEX(T, [X])
VAR MY = AVERAGEX(T, [Y])
VAR Kov = SUMX(T, ([X] - MX) * ([Y] - MY))
VAR SX = SQRT(SUMX(T, ([X] - MX) ^ 2))
VAR SY = SQRT(SUMX(T, ([Y] - MY) ^ 2))
RETURN DIVIDE(Kov, SX * SY)

−1 ile 1 arası: negatif değer, pahalı ürünlerin daha az adet sattığını gösterir. Korelasyon nedensellik değildir.

Uzmanlaş

Aykırı değer: hangi ölçüt?

Finans "olağandışı büyük siparişleri" işaretlemek istiyor. Önce dağılıma bak. İptal edilmemiş 838 siparişin net tutarları:

İstatistikDeğer (₺)DAX
Ortalama1.492,57AVERAGEX(T, [S])
Medyan1.086,50MEDIANX(T, [S])
1. çeyrek (P25)646,00PERCENTILEX.INC(T, [S], 0.25)
3. çeyrek (P75)1.792,00PERCENTILEX.INC(T, [S], 0.75)
P953.969,73PERCENTILEX.INC(T, [S], 0.95)
En büyük12.335,45MAXX(T, [S])

Ortalama medyandan belirgin biçimde büyük: dağılım sağa çarpık. Birkaç büyük sipariş ortalamayı yukarı çekiyor. Bu durumda iki yaygın yöntem farklı sonuç verir:

YöntemEşikAykırı sipariş
IQR: Ç3 + 1,5 × (Ç3 − Ç1)3.511 ₺57 (%6,8)
|z| > 3 (örneklem standart sapması 1.463,19)yaklaşık 5.882 ₺22
|z| > 2yaklaşık 4.419 ₺33
Aykırı Eşiği (IQR) =
VAR T = FILTER(ADDCOLUMNS(VALUES(Satislar[SiparisNo]), "S", [Net Satış]), NOT ISBLANK([S]))
VAR Q1 = PERCENTILEX.INC(T, [S], 0.25)
VAR Q3 = PERCENTILEX.INC(T, [S], 0.75)
RETURN Q3 + 1.5 * (Q3 - Q1)

Z-skoru simetrik, normale yakın bir dağılım varsayar; para tutarları neredeyse hiç böyle değildir. Çarpık verilerde IQR ya da logaritma üzerinde z-skoru daha savunulabilirdir. Asıl üretim dersi şu: IQR'a göre aykırı olan 57 sipariş toplam 327.447 ₺ ediyor, yani net satışın %26,2'si. "Aykırıları çıkaralım" demek gelirin dörtte birini raporlardan silmek demektir. Aykırıyı silme, işaretle; ayrı bir sütunda ya da renkle göster.

Z-skoru: eğilimli seride yanılgı

Satış olan 31 ayın ortalaması 40.347,50 ₺, popülasyon standart sapması 23.535,82 ₺. Aralık 2024 (94.000,95 ₺) için z = 2,28; ana bölümdeki [Z-Skoru] ölçüsü bu ayı "aykırı" işaretler. Ama seri güçlü bir eğilim taşıyor: ay sırası ile satış arasındaki korelasyon 0,92. Eğilimi olan bir seride son aylar doğal olarak yüksek, ilk aylar doğal olarak düşüktür. Önce eğilimi çıkar, z-skorunu kalıntılara uygula (eğilim bölümündeki yöntem).

  • Eksik dönem: En düşük ay Haziran 2022 (595 ₺); yalnızca 9 günlük veri içerir. Kısmi dönemler aykırı değil, eksik veridir. Analizden çıkar ya da gün başına çevir.
  • Aynı seri, IQR ile: Aylık seride üst eşik 107.714,94 ₺; hiçbir ay aykırı değil. Yöntem seçimi sonucu belirler; raporda yöntemi yaz.
  • STDEV.S mi STDEV.P mi? Dönemin bütün aylarını betimliyorsan popülasyon (P); bu aylardan gelecek hakkında çıkarım yapıyorsan örneklem (S). Burada 23.535,82 ile 23.924,87: n = 31'de fark küçük, n = 5'te büyük olur.

Korelasyon: sayının arkasındaki n

İK direktörü soruyor: "Temsilci maaşı ile satış arasında ilişki var mı?" Altı temsilci için DAX ile hesaplanan korelasyon −0,12; kıdem ile satış arasında −0,24. Yorum yapmadan önce n'e bak: altı gözlemle %5 düzeyinde anlamlı sayılmak için |r| yaklaşık 0,81'i geçmelidir. Bu sayılar "ilişki yok" bile demez; "bu veriyle bir şey söylenemez" der.

Maaş–Satış Korelasyonu =
VAR T =
    ADDCOLUMNS(
        FILTER(Calisanlar, NOT ISBLANK([Net Satış])),
        "X", Calisanlar[Maas],
        "Y", [Net Satış]
    )
VAR MX = AVERAGEX(T, [X])
VAR MY = AVERAGEX(T, [Y])
VAR Kov = SUMX(T, ([X] - MX) * ([Y] - MY))
VAR SX = SQRT(SUMX(T, ([X] - MX) ^ 2))
VAR SY = SQRT(SUMX(T, ([Y] - MY) ^ 2))
RETURN DIVIDE(Kov, SX * SY)

Üç üretim tuzağı:

  • Boşlar sıfır sayılır: Ana bölümdeki fiyat–adet korelasyonu 40 ürünün hepsini kullanır ve −0,52 verir. Hiç satılmamış 2 ürünün adedi BLANK'tir; AVERAGEX onu atlar ama [Y] - MY aritmetiğinde BLANK sıfır gibi davranır. Bu ürünler çıkarılınca sonuç −0,60 olur. Satır kümesini önce NOT ISBLANK ile temizle.
  • Eğilim sahte korelasyon üretir: Zamanla büyüyen iki seri (satış ve çalışan sayısı, satış ve reklam harcaması) neredeyse her zaman yüksek korelasyon verir. Satışın ay sırasıyla korelasyonu 0,92'dir; büyüyen başka her şeyle de yüksek çıkar. Karşılaştırmayı değişimler (ay farkları) üzerinde yap.
  • n'yi ölçünün yanında göster: "r = −0,24 (n = 6)" yazmak, okuyucuyu yanlış karardan korur.

Güven aralığı yaklaşımı

Satış müdürü: "Ortalama sepet 2023'te 1.411,51 ₺ idi, 2024'te 1.515,35 ₺ oldu; %7,4 büyüdük." Bu fark gerçek mi, yoksa sipariş tutarlarındaki doğal dalgalanma mı? Büyük örneklemde ortalamanın yaklaşık %95 güven aralığı: ortalama ± 1,96 × s / √n.

YılnOrtalamaHata payıAralık
20232841.411,51± 148,861.262,66 – 1.560,37
20244931.515,35± 134,421.380,93 – 1.649,76

Aralıklar büyük ölçüde örtüşüyor. Örtüşme kesin bir test değildir, ama "%7,4 büyüme" cümlesinin gürültü olabileceği konusunda güçlü bir uyarıdır. Oranlar için aynı yaklaşım: p ± 1,96 × √(p(1 − p) / n).

Destek kanalıCSATnHata payı
Canlı destek%82,752± 10,3 puan
Telefon%80,045± 11,7 puan
Sosyal medya%73,315± 22,4 puan
E-posta%56,348± 14,0 puan

E-posta ile canlı destek arasındaki fark aralıkları aşar; büyük olasılıkla gerçektir. Sosyal medyanın %73,3'ü ise yalnızca 15 değerlendirmeye dayanır ve %51 ile %96 arasında herhangi bir yerde olabilir. Bu kanal için karar vermek erken.

n'yi yanlış bağlamda saymakKanal satırlı bir tabloda n'yi COUNT(Talepler[Memnuniyet]) ile ADDCOLUMNS içinde CALCULATE olmadan hesaplarsan her kanalda 160 (tüm değerlendirmeler) çıkar ve hata payı olduğundan küçük görünür: canlı destek için ± 10,3 yerine ± 5,9 puan. Sahte bir kesinlik üretir. n her zaman CALCULATE içinde, satırın bağlamında sayılmalı.

İstatistiksel anlamlılık yanılgıları

  • Çoklu karşılaştırma: 7 kategori × 12 ay = 84 hücreyi tarayıp "anlamlı" fark ararsan, %5 düzeyinde yalnızca tesadüfen yaklaşık 4 hücre anlamlı çıkar. Önce hipotezi koy, sonra veriye bak.
  • Dilimleyiciyle kesit avı: Dilimleyicileri çevirip "farkın göründüğü" kesiti bulmak aynı hatanın etkileşimli hâlidir.
  • Anlamlı ≠ önemli: Milyonlarca satırda 0,1 puanlık fark istatistiksel olarak anlamlı olabilir ama iş açısından önemsizdir. Etki büyüklüğünü (fark ₺ ya da puan) her zaman yanında yaz.
  • Küçük gruplar: İade oranı Elektronik'te %3,6 (± 2,3), Kitap'ta %8,0 (± 2,7): fark büyük olasılıkla gerçek. Hediye'de %5,1, ama 39 satışla ± 6,9 puan; hiçbir şey söylenemez.
  • Korelasyon ≠ nedensellik: İndirimli satış payı ile satış birlikte artıyorsa, indirim satışı artırmış olabilir; ya da yoğun sezonda hem indirim hem satış artmıştır.

Kontrol listesi

  1. Dağılım çarpık mı? Ortalama yerine medyan ve çeyrekler daha mı açıklayıcı?
  2. Aykırı değer yöntemi raporda yazılı mı? Aykırılar siliniyor mu, işaretleniyor mu?
  3. Seri eğilimli mi? Z-skoru eğilimden arındırılmış değerlere mi uygulanıyor?
  4. Korelasyon ve oranların yanında n görünüyor mu? Boşlar temizlendi mi?
  5. Karşılaştırmada güven aralığı ya da en azından hata payı var mı?
  6. Analiz bir hipotezle mi başladı, yoksa çok sayıda kesit taranarak mı bulundu?
Alıştırmalara geç (10)