![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Verilere derinlemesine daldığımızda, içgörünün gizli mücevherlerini ortaya çıkarmaya çalışırken, çoğu zaman kendimizi bir dizi hipotezle hokkabazlık yaparken buluruz. Her konuğun maske taktığı bir partide olduğunuzu ve her birinin arkasında kimin olduğunu bulmaya çalıştığınızı hayal edin. Ne kadar çok kişiyi tahmin ederseniz, hata yapma şansınız o kadar yüksek olur. İstatistiklerdeki çoklu karşılaştırma probleminin zorluğu budur; test ettiğiniz her hipotez için bir başkası ortaya çıkar ve en az bir kez yanılma şansınızı artırır. İşleri hafif tutmak için bu konsepti biraz Python stili ve biraz mizahla parçalayalım.
Şunu hayal edin: deneyler veya anketler yürütüyorsunuz ve cevaplamaya çalıştığınız bir dizi soru (hipotez) var. İşin püf noktası şu ki, ne kadar çok soru sorarsanız, bazı yanıtları o kadar yanlış alırsınız (merhaba, Tip I hatalar !). Çoklu karşılaştırma sorunu olarak bilinen istatistiksel bir parti faulü.
Boş Hipotez (H0): Sıfır hipotezi, özel bir şeyin olmadığına dair temel varsayımınızdır. Bu, partinizdeki bir misafire bakıp "Sen sadece sıradan bir insansın, maskeli bir ünlü değil" demek gibi bir şey. Birden fazla hipotezi test ederken, temel olarak bir grup misafirden herhangi birinin ünlü olup olmadığını kontrol ediyoruz.
Tip I Hata: Tip I hata, yanlışlıkla bir ünlüyü gördüğünüzü düşünmenizdir, ancak bu sadece gerçekten iyi bir kostüm giymiş biridir. İstatistik dünyasında, boş hipotezi yanlışlıkla reddettiğinizde, ortada önemli bir etki veya fark olmadığı halde önemli bir etki veya fark bulduğunuzu düşünürsünüz.
Aile Bazında Hata Oranı (FWER): FWER, sıradan bir misafirin bile yanlışlıkla partinizde ünlü olarak tanımlanması konusunda aşırı endişelenmek gibidir. Yaptığınız tüm testler arasında en az bir Tip I hata yapma olasılığıdır. 20 hipotezi test ediyorsanız, FWER 20 testin tamamında tek bir hata bile yapmamaya önem verir. Bonferroni ayarlaması gibi düzeltmeler, anlamlılık kriterlerini daha sıkı hale getirerek FWER'nin kontrol edilmesine yardımcı olur. Yanlış "ünlü" diye bağırarak kendinizi utandırmamanızı sağlayarak Tip I hata yapma şansınızı azaltırlar.
Yanlış Keşif Oranı (FDR): FDR daha çok dengeyle ilgilidir. Bu, "Tamam, birkaç sıradan misafire yanlışlıkla ünlüler diyebilirdim ama mümkün olduğunca çok sayıda gerçek ünlüyü yakaladığımdan emin olmak istiyorum." demek gibi bir şey bu. FDR, yaptığınız tüm keşifler arasında beklenen yanlış keşif oranını kontrol eder. FWER ile karşılaştırıldığında biraz daha rahattır ve çoğu zaman haklı olduğunuz sürece bazı misafirlerin ünlü olduğu konusunda yanılmanıza olanak tanır. Bu yaklaşım, bazı yanlış alarmların sürecin bir parçası olduğunu kabul ederek, daha fazla potansiyel içgörü keşfetmek için bazı riskler almayı kabul ettiğinizde faydalıdır.
Bonferroni düzeltmesi, bir partide, kalabalıktaki ünlüleri tanımlarken herhangi bir hata yapmamanızı sağlayan son derece dikkatli arkadaşınızdır. Aynı anda birçok olasılığa bakarken, her keşiften ekstra emin olmanızı gerektirir.
Nasıl çalışır:
Formül:
Burada α , başlangıçtaki kesinlik düzeyinizdir (genellikle 0,05) ve n , test ettiğiniz hipotezlerin sayısıdır.
Darbe:
Bu yöntem, önemli sonuç olarak kabul edilenler için çıtayı daha yükseğe ayarlayarak yanlış keşif (Tip I hataları) olasılığını büyük ölçüde azaltır. Ancak bunun katılığı, tıpkı hata yapmamaya çok odaklandığınız için bir ünlüyü tanıyamamanız gibi, gerçek bulguları fark etmenizi de engelleyebilir.
Özünde, Bonferroni düzeltmesi, gerçek keşifleri kaçırma riskiyle karşı karşıya kalarak yanlış pozitiflerden kaçınmaya öncelik verir ve bu da onu hipotez testinde muhafazakar bir seçim haline getirir.
Akıl sağlığımızı kaybetmeden bu çoklu hipotez labirentinde gezinmek için biraz Python koduyla ellerimizi kirletelim.
Öncelikle iş için doğru araçlara sahip olduğunuzdan emin olun:
pip install numpy statsmodels
ve devam et
from statsmodels.stats.multitest import multipletests import numpy as np # Imagine these are your p-values from testing various hypotheses p_values = [0.005, 0.0335, 0.098543, 0.00123] # Let's say we did 4 tests # Applying Bonferroni correction bonf_rejected, bonf_corrected, _, _ = multipletests(p_values, alpha=0.05, method='bonferroni') print("Bonferroni Approach") print(f"Rejected: {bonf_rejected}") print(f"Adjusted p-values: {bonf_corrected}\n")
Bonferroni düzeltmesini p değerlerinize uyguladıktan sonra elde ettiğimiz sonuçları inceleyelim:
Reddedilen hipotezler : Bonferroni düzeltmesi bize düzeltilmiş eşiğe göre hangi hipotezlerin reddedilmesi gerektiğini söyler. Burada, ilk ( True
) ve son ( True
) hipotezler reddedilir; bu, çoklu karşılaştırmalar için düzeltmeler yapıldıktan sonra bile istatistiksel olarak anlamlı sonuçlar verdikleri anlamına gelir.
Düzeltilmiş p değerleri : Ayarlanan p değerleri [0.02, 0.134, 0.394172, 0.00492]
dir. Ayarlama, çoklu testlerle birlikte gelen Tip I hataların (yanlış pozitifler) artan riskini kontrol etmek için p değerlerini artırır.
Yorum: p değerleri için [0.005, 0.00123]
(orijinal): Düzeltmeden sonra bunlar [0.02, 0.00492]
olur. 0,05 eşiğinin altında kalıyorlar, bu da bulguların istatistiksel olarak anlamlı olduğunu gösteriyor
Benjamin-Hochberg düzeltmesi, bir partide dengeli bir bekçi görevi görüyor ve aşırı katı olmadan sıradan misafirlerin ünlülerle karıştırılması riskini ustalıkla yönetiyor. Yönetilebilir bir risk düzeyini kabul ederken gerçek keşifleri güvenle belirlemenize olanak tanıyan bir orta yol bulur.
Nasıl çalışır:
Senaryo: Partiye gidenler arasında ünlüleri tespit etmeye benzer şekilde birden fazla bulguyu değerlendiriyorsunuz.
Benjamin-Hochberg'in Stratejisi: Bu yöntem, her p değerinin sırasına göre anlamlılık düzeylerini ayarlar ve katı Bonferroni düzeltmesine kıyasla daha esnek bir yaklaşıma izin verir. Yapılan tüm keşifler arasında yanlış keşiflerin beklenen oranı olan Yanlış Keşif Oranını (FDR) kontrol eder.
Süreç:
Sıra P değerleri: En küçükten en büyüğe.
Önem Düzeylerini Ayarlayın: Her hipotez için farklı bir eşik hesaplar; bu eşik, daha küçük p değerlerine sahip hipotezler için daha esnek hale gelir. Bu onların sıralamasına ve toplam test sayısına bağlıdır.
Darbe:
Benjamin-Hochberg düzeltmesi, FDR'yi kontrol etmeye odaklanarak daha fazla keşfin önemli olarak tanınmasına olanak tanır, bazılarının yanlış pozitif olabileceğini kabul eder, ancak bu hataların genel oranının kontrol altında tutulmasını sağlar. Bu yaklaşım, özellikle birçok hipotezi araştırdığınızda ve önemli bulguları kaçırmamak için belirli düzeyde yanlış keşiflere tolerans göstermeye istekli olduğunuzda faydalıdır.
Özetle, Benjamin-Hochberg düzeltmesi, gerçek etkilerin keşfedilmesi ile yanlış pozitiflerin oranının kontrol edilmesi arasında pratik bir denge sunarak, onu çoklu karşılaştırmalarla uğraşan araştırmacılar için değerli bir araç haline getiriyor.
Kurtarmaya Python:
# Benjamini-Hochberg correction for the brave from statsmodels.stats.multitest import multipletests import numpy as np # Imagine these are your p-values from testing various hypotheses p_values = [0.005, 0.0335, 0.098543, 0.00123] # Let's say we did 4 tests # Applying BH correction bh_rejected, bh_corrected, _, _ = multipletests(p_values, alpha=0.05, method='fdr_bh') print("Benjamini-Hochberg Approach") print(f"Rejected: {bh_rejected}") print(f"Adjusted p-values: {bh_corrected}")
Reddedilen Hipotezler : [True, True, False, True]
düzeltilmiş p değerlerine göre hangi hipotezlerin reddedildiğini gösterir. Bu durumda 1., 2. ve 4. hipotezlerin reddedilmesi bu durumlarda anlamlı bulguların olduğunu düşündürmektedir.
Düzeltilmiş p değerleri : [0.01, 0.04466667, 0.098543, 0.00492]
düzeltmeden sonra her hipotezin düzeltilmiş anlamlılık düzeylerine karşılık gelir. Hangi hipotezlerin reddedildiğini belirlemek için bu değerler alfa düzeyiyle (bu durumda 0,05) karşılaştırılır.
Yorum: p değerleri için [0.005, 0.0335, 0.00123]
(orijinal): Düzeltmeden sonra bunlar [0.01, 0.04466667, 0.00492]
olur. 0,05 eşiğinin altında kalıyorlar, bu da bulguların istatistiksel olarak anlamlı olduğunu gösteriyor
Birinci ve Dördüncü Hipotez (Her İkisi Tarafından da Kabul Edildi): Bunlar, ne kadar dikkatli veya maceracı olursanız olun, herkesin tanıdığı şaşmaz ünlüler gibidir. Her iki yöntem de bu bulguların önemli olduğu konusunda hemfikir; gözden kaçırılmayacak ünlüleri tespit etmek gibi.
İkinci Hipotez (BH Tarafından Tanındı, Ancak Bonferroni Tarafından Tanınmadı): Bu, BH yönteminin ihtiyat ve iyimserlik karışımıyla üzerine bahse girmeye hazır olduğu daha niş veya gelecek vaat eden bir ünlüyü temsil ediyor. Ancak aşırı muhafazakar Bonferroni, yanlış pozitif sonuç korkusundan dolayı dikkatli olmayı tercih ediyor.
Bu metafor, istatistiksel düzeltmelerdeki hassasiyet ve spesifiklik arasındaki doğal dengeyi ve araştırmanızın bağlamına veya eğlenceli benzetmemizde katıldığınız partinin türüne göre doğru yaklaşımı seçmenin önemini vurgulamaktadır.
Pek çok hipotezi göz önünde bulundurmak, istatistiksel hataların olduğu bir mayın tarlasında gezinmeye benzer. Ancak doğru araçlarla (teşekkürler Python!) ve stratejilerle (merhaba Bonferroni ve Benjamin-Hochberg), bilimsel bütünlüğünüzü korurken bunun üstesinden gelebilirsiniz. Unutmayın, her şey risk ve ödülü dengelemekle ilgilidir. İster kendinizi reasürans ettiriyor olun, ister altın peşinde koşuyor olun, çoklu karşılaştırmaları anlayıp düzeltmek, sonuçlarınızın çok daha güvenilir olmasını sağlayacaktır. İyi bir veri avı geçirin!