Araştırmalarda popülasyon yerine örneklemler tercih edilerek araştırmanın maliyeti ciddi şekilde düşürülüp verimlilik sağlanabilir. Veri bilimi/analizi projelerinde dikkat edilmesi gereken önemli bir nokta verimlilik uğruna “istatistiksel anlamlılıktan” vazgeçilmemesidir.
İstatistiksel güç analizi (power analizi), bir hipotez testi sonucunda tespit edilen farkın/etkinin (effect) karar verme sürecinde kullanılabilecek kadar güvenilir olup olmadığını tespit etmek için kullanılan istatistiksel bir yöntemdir. Bu yöntem aynı zamanda belli bir güç seviyesini yakalamak için gereken örneklem büyüklüğünü hesaplamak için de sıklıklıkla kullanılabilir.
Örneklem büyüklüğü neden önemlidir?
Araştırma için gereken örneklem büyüklüğünün doğru belirlenmesi testin güvenilirliğini sağlarken, maliyet avantajlarını da koruması açısından önemlidir.
Örneklem büyüklüğünün:
- çok küçük olması durumunda sonuçların kalitesini düşüren, aykırı olarak sayılabilecek gözlemler dahil edilebilir.
- çok büyük olması durumunda, araştırma karmaşık, pahalı ve zaman alıcı bir hale dönüşerek örneklem kullanmanın sağladığı avantajları yitirebilir. Ayrıca, uygulama alanı olarak anlamlı olmayan bir uygulamanın istatistiksel olarak anlamlı sonuçlanması riski vardır.
Hipotez testi ve temel kavramlar
Bir hipotez testinin gücü ve güç analizi hakkında konuşmadan önce hipotez testi ve güç analizini anlamayı kolaylaştıracak temel kavramlardan bahsedelim.
Hipotez testi, popülasyondan elde edilen ve popülasyonu temsil ettiğine inanılan bir örneklem kullanılarak, popülasyon hakkında çıkarımlarda bulunmaya imkan veren bir istatistiksel yöntemdir.
Hipotez testi ile eldeki veriyi analiz ederek, sıfır (H0) ve alternatif hipotez (Ha) olarak isimlendirilen birbirine karşıt iki hipotez/fikir/önerme arasından verinin hangisini desteklediğini öğrenir ve bir karar veririz. Sonuca göre ya sıfır hipotezini red eder veya reddetmek için yeterli kanıt olmadığına karar veririz.
Hayatın her alanında olduğu gibi hipotez testinde de hata yapma olasılığı vardır. Hipotez testinde iki farklı hata vardır:
- Tip I hata: Sıfır hipotezinin doğru olmasına rağmen reddedilmesi.
- Tip II hata: Sıfır hipotezinin yanlış olmasına rağmen kabul edilmesi.
Başka bir şekilde ifade edecek olursak:
- Tip I hata: Ortada anlamlı bir etki olmamasına rağmen etkinin var olarak kabul edilmesi.
- Tip II hata: Ortada anlamlı bir etki olmasına rağmen etkinin göz ardı edilmesi.
Bu durumu şöyle örnekleyebiliriz. Diyelim ki doktorsunuz ve hastanızın bulgularını incelediniz. Hastanızın AIDS olma ihtimalini düşünüyorsunuz. Bu durumdaki hipotezleriniz:
- H0: Kişi AIDS hastalığına sahip değildir.
- Ha: Kişi AIDS hastalığına sahiptir.
Hastanızın tahlillerini aldınız ve bir karar vermeniz gerekiyor.
- Eğer hastanız AIDS hastalığına sahip değilse ve H0‘ı reddetmiyorsanız veya hastanız AIDS hastalığına sahip ve H0‘ı red ediyorsanız doğru kararları veriyorsunuz.
- Eğer hastanız AIDS hastalığına sahip değilse ve H0‘ı red ediyorsanız Tip I Hata veya hastanız AIDS hastalığına sahip ve H0‘ı reddetmiyorsanız Tip II Hata işliyorsunuz.
Yukarıda anlattığımız durumu bir tablo yardımı ile şöyle özetleyebiliriz:
|Gerçek Durum||Gerçek Durum|
|Doktor kararı||H0 Yanlış: Hasta AIDS’tir.||H0 Doğru: Hasta AIDS değildir.|
|H0 red edilemedi. Hasta AIDS değildir.||Tip II Hata||Doğru karar|
|H0 red edildi. Hasta AIDS’tir.||Doğru karar||Tip I Hata|
Tip I hata yapma olasılığı alfa (α), Tip II hata yapma olasılığı ise beta (β) ile temsil edilir. Alfa değeri, anlamlılık düzeyidir. Anlamlılık düzeyi, Tip I hata yapma (yani sıfır hipotezi doğru olmasına rağmen reddetme) olasılığıdır.
Testin gücü/İstatistiksel güç (Statistical Power) nedir?
Bir hipotez testinin gücü, alternatif hipotezin doğru olduğu durumda sıfır hipotezini reddetme olasılığıdır. Diğer bir deyişle, araştırma sonucunda gerçek bir etki oluştuğu zaman bu etkiyi tespit etme olasılığıdır. Testin gücü 1- β ile ifade edilir.
Testin gücü:
- Bir hakimin bir suçluyu mahkum etmesi,
- Bir yangın alarmının yangın varken çalışması,
- Bir doktorun hasta olan kişiye hastalık teşhisi koyması gibi sadece sıfır hipotezinin yanlış olduğu durumlarda anlamlıdır.
Örnek olarak bir bankanın emekliler için yeni bir kampanya hazırladığını varsayalım. Bu banka, araştırma sonucunda hazırladığı yeni kampanyanın öncekilere göre daha fazla kredi kartı sattırdığına karar veriyor ve sıfır hipotezini red ediyor.
- Peki, sıfır hipotezini red ederek doğru bir karar verildiğinden ne kadar emin olabiliriz?
- Araştırmada kullanılan örneklem yeterince fazla mı?
İstatistiksel güç yukarıdaki gibi ve benzer sorulara cevap verir. Bir hipotez testinde testin gücü arttıkça, Tip II hata yapma olasılığı azalır. Testin gücünün çok düşük olması testin sonuçları karar hakkında yanlış çıkarımlar yapılmasına sebep olabilir. Bu nedenle testin gücünün belli bir seviye ve üzerinde olması hedeflenir.
Araştırmalar, genel bir kural olarak testin gücü en az 0.8 (%80) olacak şekilde tasarlanır.
Örnek olarak bir araştırmanın gücü %80 ise “var olan bir etkiyi tespit etme olasılığı %80’dir.”
Güç analizinin temel prensipleri
Bir testin gücünü etkileyen ve 4 temel faktör vardır:
- Örneklem büyüklüğü
- Anlamlılık seviyesi (alfa (α))
- Etki büyüklüğü
- İstenilen güç seviyesi
Güç analizi ile diğer parametreleri sağlayarak eksik olan parametreyi tahmin edebiliriz.
1. Örneklem büyüklüğü (sample size)
Örneklem büyüklüğü, popülasyonu temsil ettiğine inandığımız örneklem grubunun minimum eleman sayısıdır. Araştırma için gereken örneklem büyüklüğünün doğru belirlenmesi testin güvenilirliğini sağlarken, maliyet avantajlarını da koruması açısından önemlidir.
Örneklem boyutunun artması hipotez testlerinin daha küçük etkileri algılamasına olanak tanır.
Örneklem büyüklüğü yeterli istatistiksel gücü sağlayacak kadar büyük, kaynakları israf etmeyecek kadar da küçük olmalıdır. Veri toplamadan önce yapılan örneklem büyüklüğü hesaplamaları optimum rakamı bulmak için kullanışlıdır.
2. Anlamlılık seviyesi (alfa (α))
Anlamlılık seviyesi/düzeyi, doğru olan bir sıfır hipotezini reddetme anlamına gelen Tip I hata yapma olasılığını temsil eder.
Alfa (α) ile temsil edilen anlamlılık seviyesi (significance level) hipotez testinde sınır görevini görür. Sıfır hipotezini reddetmek için gereken kanıt miktarını belirler. Elimizdeki test istatistiğinden daha aşırı sonuçlar bulma olasılığını temsil eden p değeri ile kıyaslanarak sıfır hipotezi hakkında bir karar vermeye yardımcı olur.
Yaygın olarak araştırmalarda anlamlılık seviyesi 0.01 (%1), 0.05 (%5) veya 0.10 (%10) olarak kullanılır.
Alfa değerinin %5 olması, yaptığımız testin doğru olan bir sıfır hipotezini reddetme olasılığının %5 olmasına razı olduğumuz anlamına gelir.
Alfa değerini düşürdükçe Tip I hata yapma oranını azaltırken, testin geri kalan özelliklerinin değişmediği varsayımında, Tip II hata yapma oranını artırırız. Tip II hata oranının artması da testin gücünü düşürür.
3. Etki büyüklüğü (Effect size)
Etki büyüklüğü/etki boyutu (effect size), sıfır hipotezinden tespit edilmek istenen minimum sapmaya denir. Diğer bir deyişle, araştırma sonucunda elde edilen deneysel etkinin büyüklüğünün nicel bir ölçüsüdür.
Tespit edilen fark istatistiksel olarak anlamlı olmasına rağmen kayda değecek kadar büyük mü?
İstatistiksel anlamlılık araştırma sonucunda tespit edilen farkın istatistiksel olarak anlamlı olup olmadığını anlamaya yardımcı olurken bu farkın boyutu hakkında bilgi vermez. Etki büyüklüğü, aradaki farkın pratik olarak uygulanabilecek kadar anlamlı olup olmadığını anlamak için önemlidir.
Örneklem büyüklüğü arttıkça araştırmanın istatistiksel olarak anlamlı sonuçlar üretme ihtimali artar. Araştırma sonuçları istatistiksel olarak anlamlı olsa da araştırma sonucunda üretilen etki kayda değer olmayabilir. İstatistiksel anlamlılık, örneklem büyüklüğünden etkilenirken etki boyutu örneklem büyüklüğünden etkilenmez. Bazen istatistiksel olarak anlamlı bir sonuç, yalnızca büyük bir örneklem kullanıldığı anlamına gelir.
Araştırma sonuçlarıyla ilgili en az ilgi çekici olan şey istatistiksel anlamlılıktır. Bir tedavinin insanları sadece etkilediğini değil, aynı zamanda ne kadar etkilediğini de açıklamalısınız.Gene V. Glass
Etki büyüklüğünün:
- büyük olması tespit edilen farkın pratik olarak uygulanabilir olduğu,
- küçük olması tespit edilen farkın gerçek dünyada uygulanmasının kısıtlı olacağı anlamına gelir.
Güç ve etki büyüklüğü arasındaki ilişkiyi balıkçılık üzerinden kolaylıkla anlayabiliriz.
Düşük güce sahip çalışmalar büyük boşlukları olan balık ağlarına benzer. Büyük balıkları yakalayabilirken orta ve küçük boy balıkları kaçırırlar. Aynı şekilde, düşük güce sahip araştırmalar da sadece büyük etkileri yakalayabilirken, orta ve küçük etkileri fark edemez.
Yüksek güce sahip çalışmalar daha sık dokunmuş olan ağlara benzer. Büyük balıkları yakalayabildiği gibi orta ve küçük boy balıkları da yakalayabilirler. Yüksek güce sahip araştırmalar da hem büyük etkileri yakalayabilirken hem de orta ve küçük etkileri de fark edebilir. Tahmin edilebileceği gibi yüksek güce sahip araştırmaları hazırlamak daha fazla efor ve kaynak gerektirir.
Etki boyutu hesaplamalarında sıklıkla “Cohen’s d” formülü kullanılır. İki örneklem grubunun ortalamaları arasındaki farkın karşılaştırılması için tasarlanmıştır. d istatistiği, iki grubun ortalamaları arasında kaç tane standart sapma olduğunu söyler.
d = (x̄1 – x̄2) / s x̄1: Birinci grubun/örneklemin ortalaması x̄2: İkinci grubun/örneklemin ortalaması s: Birinci veya ikinci grubun/örneklemin standart sapması
Cohen’e göre etki büyüklüğü 3 kategoriye ayrılır:
|Hipotez testi||İstatistik||Düşük Etki||Orta Etki||Yüksek Etki|
|t-testi||d||0.20||0.50||0.80 ve üzeri|
|ANOVA||f||0.10||0.25||0.40|
|Lineer modeller||f2||0.02||0.15||0.35|
|Oranlar testi||h||0.20||0.50||0.80|
|Ki-kare||w||0.10||0.30||0.50|
|Pearson Korelasyon||ρ||0.10||0.30||0.50|
Etki boyutu belirlenirken ekonomik ve iş alanı ile ilgili nedenler önem kazanır.
- Bazı çalışmalarda, gözlem sayısını artırmak çok maliyetli olabilir. Eğer yüzde kaçlık bir etki boyutunun sizin için değerli olduğunu bilmiyorsanız, araştırmanın maliyeti tahmininizden fazla artabilir. Özellikle, çok pahalı maddelerle (Ör: roketler, kimyasal ürünler vs.) yapılan çalışmalarda veya insan hayatını etkileyebilecek bilimsel araştırmalarda etki büyüklüğünü doğru belirleyebilmek daha da önem kazanır.
- Bazen de çalıştığınız iş alanının sınırları önem kazanabilir. Diyelim ki, e-ticaret sitenizdeki dönüşüm/satış oranlarını artırmak için bir dizi testler yapıyorsunuz. Eğer sitenizin günde 1,000,000 ziyaretçisi varsa %1 artış çok değerli bir fark yaratacakken, günde 1,000 ziyaretçiye sahip bir sitede %1 artış anlamsız olacaktır.
Araştırma için gereken örneklem büyüklüğünü hesaplarken etki büyüklüğünü belirlemek için:
- Cohen’in önerdiği gibi standart yüzdelerden birini kullanabilir,
- Yapacağınız araştırmanın maliyetini karşılayacak bir yüzde belirleyebilir,
- Daha önceden yapılmış uygun bir çalışmada kullanılan yüzdeyi kullanabilir,
- Çalıştığınız şirketin/sektörün beklentilerine uygun bir yüzde seçebilir veya
- Üstteki alternatiflerden emin değilseniz, farklı etki büyüklüklerini karşılaştırarak araştırmanıza uygun bir rakam belirleyebilirsiniz.
4. İstenilen güç seviyesi (Power)
İstatistiksel güç veya kısaca güç, popülasyonda görülen bir farkın örneklemde de tespit edilmesi olasılığını temsil eder. %80 güce sahip bir testin, test sonucunda bir etki oluşması durumunda %80 olasılıkla bu etkiyi yakalayacağı anlamına gelir.
Testin gücü, Tip II hata yapma oranı ile ters orantılıdır. Testin gücü (1 – β) artırıldığı zaman β ile temsil edilen Tip II hata yapma oranı azalır.
Testin gücü belirlenirken çalışma alanı önem kazanır. Yazının önceki bölümlerinde, etki büyüklüğünü anlatırken incelediğimiz Cohen’s d formülünü bilime kazandıran istatistikçi Jacob Cohen‘e göre %80 test gücü Tip I (α) ve Tip II (β) hata arasında makul bir denge sağlar. Araştırmalarda da yaygın olarak testin gücü 0.8 (%80) veya 0.9 (%90) olarak belirlenir.
Tüm diğer parametreler sabit tutulup, testin gücü artırıldığı zaman örneklem büyüklüğü de artar. Bu nedenle testin gücünü artırırken, istatistiksel anlamlılık için daha büyük bir örnekleme ihtiyaç duyulacağını da hatırlatmakta fayda var.
Python’da güç analizi ile örneklem büyüklüğü hesaplama
Python’da güç analizi yapabilmek için iki farklı yöntem bulunur.
- Hazır kütüphanelerden faydalanarak güç analizi yapmak.
- Simülasyonlar üzerinden güç hesaplaması yapmak.
Simülasyon bazlı teknikleri denemek isterseniz, aşağıdaki kaynakları inceleyebilirsiniz:
- Using simulations to estimate the sample size for cluster-based permutation test
- Experimental design—power analysis and its visualisation
Bu yazının örnek uygulamasında Python’ın istatistik hesaplamaları için geliştirilmiş Statsmodels kütüphanesini kullanacağız.
Örneklem büyüklüğü hesaplaması kullanılacak hipotez testinden ve testin kuyruk sayısından etkilenir. Bu nedenle, farklı testler için farklı hesaplamalar yapacağız.
Her zaman olduğu gibi herhangi bir işlem yapmadan önce ilk olarak yazı boyunca kullanacağımız Python kütüphanelerini çalışma dosyasına çağırarak başlayacağız.
Veri manipülasyonu için Pandas ve NumPy, veri görselleştirme için ise Matplotlib’i kullanacağız.
import pandas as pd import numpy as np import matplotlib.pyplot as plt
Yazının geri kalanındaki uygulamayı bağımsız çift örneklem t testi üzerinde sürdüreceğiz.
Bağımsız çift örneklem t testi (Independent two samples t-test)
Bağımsız çift örneklem t testi ile birbirinden bağımsız iki örneklemin ortalamaları kıyaslanır. Genel olarak tüm t testleri, ana kütle standart sapmasının bilinmediği durumlarda ve/veya örneklem büyüklüğünün az olduğu durumlarda z testi yerine kullanılır.
Bu hayali hipotez testi için ulaşmak istediğimiz güç %80, anlamlılık seviyesi (alfa) %5 ve etki boyutu ise 0.8 olsun.
pwr = 0.8 d = 0.8 alpha = 0.05 power_analysis = TTestIndPower() sample_size = power_analysis.solve_power(effect_size = d, power = pwr, alpha = alpha, nobs1 = None, alternative="two-sided") print(sample_size)
25.52457250047935
- Python’da t testi için güç analizini uygulamak üzere StatsModels kütüphanesinden “TTestIndPower” class’ını çağırırız.
- Örneğin başında belirlediğimiz güç değerini pwr, etki büyüklüğünü d ve anlamlılık seviyesini de alpha değişkenine atadık.
- İlk adımda TTestIndPower() class’ından bir nesne oluşturduk ve power_analysis değişkenine atadık.
- Daha sonrasında oluşturduğumuz nesnenin solve_power() fonksiyonunu kullanarak örneklem büyüklüğünü hesapladık.
- solve_power() fonksiyonu güç analizi için kullanılan 4 parametreden eksik girilen parametreyi hesaplar. Bu fonksiyon parametre olarak:
- effect_size: Etki büyüklüğü.
- nobs1: Birinci örneklemin örneklem büyüklüğü. Bu örnekte örneklem büyüklüğünü bulmak istediğimiz için “None” değerini alır.
- alpha: Anlamlılık seviyesi.
- power: İstatistiksel güç.
- ratio: Örneklem büyüklüklerin birbirine oranı. Eğer iki örneklem birbiriyle eşit büyüklükte veya yakınsa bu parametre 1 değerini alır. Varsayılan olarak “1” değerine sahiptir.
- alternative: Testin kuyrukları. Varsayılan olarak “two-sided” değerine sahiptir.
- “two-sided”: Çift kuyruk
- “larger”: Tek kuyruk, alternatif hipotez büyüktür.
- “smaller”: Tek kuyruk, alternatif hipotez küçüktür.
Yukarıdaki bilgilere göre bu test için gerken örneklem sayısı 25‘tir.
Bir sonraki adımda güç grafiğini (power curve) çizerek farklı etki boyutlarında gereken örneklem sayısını karşılaştıralım.
power_plots = TTestIndPower() effect_sizes = np.array([0.2, 0.5, 0.8]) sample_sizes = np.array(range(5, 100)) power_plots.plot_power(dep_var = "nobs", nobs = sample_sizes, effect_size = effect_sizes) plt.show()
- Grafiği çizdirmeden önce yine TTestIndPower() class’ından farklı bir nesne oluşturduk ve power_plots değişkenine atadık.
- Daha sonrasında grafiğin eğrisini oluşturacak etki büyüklükleri ve örneklem büyüklüklerini oluşturduk. Üç farklı etki boyutunda örneklem büyüklüklerini karşılaştırmak istiyoruz. Bu nedenle Cohen’in önerdiği 0.2, 0.5 ve 0.8 değerlerini aldık.
- Örneklem aralığının 5 ve 100 arasında olmasını istiyoruz. Bu örnek çalışma için 100’den fazla örnek toplamak istemediğimize karar verdik.
- Hem etki boyutu hem de örneklem büyüklüklerini NumPy’ın array veri tipinde oluşturduk. Bunun sebebi birazdan açıklayacağımız plot_power() fonksiyonunun çalışmak için bu veri tipini tercih etmesidir.
- İlk adımda oluşturduğumuz nesnenin plot_power() fonksiyonunu kullanarak güç grafiğini çizdirdik.
- plot_power() fonksiyonu güç analizi için kullanılan parametreleri alarak güç grafiğini çizer. Bu fonksiyon parametre olarak:
- dep_var: Yatay eksende (x-ekseninde) olacak değişken. Bu parametre aşağıdaki değerleri alabilir:
- ‘nobs’: Örneklem büyüklüğü
- ‘effect_size’: Etki büyüklüğü
- ‘alpha’: Anlamlılık seviyesi
- nobs: Örneklem büyüklüğü değerleri. NumPy’ın array formatında olmalıdır.
- effect_size: Etki büyüklüğü değerleri. NumPy’ın array formatında olmalıdır.
- alpha: Anlamlılık seviyesi değerleri. NumPy’ın array formatında olmalıdır.
- dep_var: Yatay eksende (x-ekseninde) olacak değişken. Bu parametre aşağıdaki değerleri alabilir:
- X ekseninde yer alacak değişkeni belirledikten sonra Y ekseninde olacak değişken örneklem büyüklüğü, etki büyüklüğü veya anlamlılık seviyesi değişkenlerinden bir tanesi olabilir.
Güç grafiğinde üç farklı etki boyutunda güç ve örnek büyüklüklerini karşılaştıran grafiği elde ettik. Bu grafik üzerinden şu çıkarımları yapabiliriz:
- İstatistiksel güç arttıkça, örneklem büyüklüğü de artar. Testin gücünü artırmak için örneklem büyüklüğü artırılabilir.
- Küçük etkileri yakalayabilmek için daha büyük örneklemlere ihtiyaç duyulur.
- Eğri belli bir noktadan sonra düzleşmeye başlar. Bu da belli bir seviye güce ulaşıldıktan sonra daha fazla örneklemi büyütmenin yarardan çok zarar (Ör: maliyet, zaman kaybı vs.) getirdiğini gösterir.
Statsmodels kütüphanesinin aşağıdaki hipotez testleri için:
- Bağımlı örneklem t testi
- Tek örneklem t testi
- Bağımsız iki örneklem Z testi
- Tekrarlanan Ölçümler için Tek Faktörlü ANOVA
- F testi
- Ki-kare testi
desteklediği güç analizi class’ları mevcuttur.
Non-parametrik testler için örneklem büyüklüğü hesaplama
Non-parametrik testler parametrik testlerden daha zayıf olmasına rağmen verinin normal dağılıma sahip olmadığı durumlarda veya verinin dağılımı hakkında bir varsayım yapılamadığında tercih edilmektedir. Güç analizi daha çok parametrik testler üzerinde yoğunlaşmıştır.
Non-parametrik testler için iki farklı yol vardır:
- Monte Carlo simülasyonu yardımı ile güç analizi ve örneklem büyüklüğü hesaplamak.
- Erich Lehmann tarafından Nonparametrics: Statistical Methods Based on Ranks, Revised kitabında önerilen parametrik teste göre örneklem büyüklüğünü hesaplayıp %15 fazlasını örneklem boyutu olarak almak.
Veri bilimciler/analistleri için güç analizi, hem araştırma öncesi hem de sonrasında büyük faydalar sağlar. Herhangi bir araştırmaya başlamadan önce yapılan güç analizi ile ulaşılması gereken örneklem büyüğü belirlenip, kaynakların doğru kullanılması sağlanırken araştırmanın da kalitesinin korunabilir.