örnek verilere dayanarak popülasyonlar hakkında sonuç çıkarmak ve tahminler yapmak için güçlü bir araçtır. . İstatistiksel çıkarımın popüler uygulamalarından biri, üstün performansı belirlemek için iki versiyonu veya tedaviyi karşılaştırdığımız . Ancak ? İstatistiksel çıkarım, Bilgiye dayalı kararlar almamızı ve farklı seçeneklerin etkinliğini anlamamızı sağlar A/B testidir deneye daha fazla versiyon veya tedavi kattığımızda ne olur Bir deneyde ek versiyonların tanıtılması, daha iyi kararlar alınması için bir fırsat gibi görünebilir. , doğru şekilde ele alınmazsa, . Bu zorluk olarak bilinir. Ne yazık ki test edilebilir hipotezlerin sayısının artması yanıltıcı sonuçlara ve yanlış kararlara yol açabilir çoklu karşılaştırma problemi Bu makalede çoklu hipotez testi kavramını, potansiyel tuzaklarını açıklayacağım ve Python simülasyonu tarafından desteklenen olası bir çözümü sunacağım. Çoklu hipotez testi nedir? Çoklu hipotez testini anlamak için, temel kavramlarını inceleyerek başlayalım. iki değişkeni içeren basit bir A/B testinin Bir A/B testinde, iki rakip hipotez formüle ederek başlıyoruz: değişkenler arasında fark olmadığını temsil eden ve bir farkın varlığını öne süren . sıfır hipotezi alternatif hipotez Daha sonra olarak gösterilen bir belirleriz. Bu eşik, belirler. Yaygın olarak kullanılan anlamlılık seviyeleri 0,05 (%5) ve 0,01 (%1)'dir; bu alpha anlamlılık düzeyi sıfır hipotezini reddetmek için gereken kanıt miktarını , sıfır hipotezinin doğru olması durumunda verilerin gözlemlenme olasılığını gösterir. Deneyi yürütüp verileri topladıktan sonra hesaplıyoruz. . Eğer p değeri anlamlılık düzeyinden küçükse, sıfır hipotezini alternatif hipotez lehine reddederiz. p değerlerini P-değeri, sıfır hipotezinin doğru olması durumunda, gözlemlenen veriler kadar aşırı veya bundan daha aşırı bir sonuç elde etme olasılığını temsil eder alpha Düşük bir p değerinin sıfır hipotezine karşı güçlü bir kanıt ortaya koyduğunu ve gözlemlenen verilerin tek başına şans eseri ortaya çıkma ihtimalinin düşük olduğunu belirtmek önemlidir. Ancak bu kesinlik anlamına gelmez. Sıfır hipotezi doğru olsa bile örnekler arasında bir fark gözlemleme olasılığı sıfırdan farklı kalır. olduğu bir durumla karşılaştığımızda buna diyoruz. Bu gibi durumlarda, birden fazla testi aynı anda yürütmenin potansiyel etkisini dikkatle değerlendirmemiz gerektiğinden karmaşıklık artar. Birden fazla alternatif hipotezin çoklu hipotez testi Çoklu hipotez testinin tuzakları Çoklu hipotez testinin tuzağı, anlamlılık düzeyini ayarlamadan birden fazla hipotezi test ettiğimizde ortaya çıkar. Bu gibi durumlarda, , bu da eğiliminde olduğumuz (farkı bulun) (hiç fark yok). alpha yanlışlıkla "Tip I" hata oranını artırırız boş bir hipotezi reddetme anlamına gelirken, bu sıfır hipotezi aslında doğrudur Eş zamanlı olarak ne kadar çok hipotez test edersek, hipotez için daha düşük bir p değeri bulma ve hatalı bir şekilde anlamlı bir fark sonucuna varma şansımız o kadar yüksek olur. en az bir alpha Bu sorunu açıklamak için, birden fazla yeni web sayfası tasarımından hangisinin istenen ile daha fazla müşteri çektiğini belirlemek için hipotezini test etmek istediğimiz bir senaryoyu düşünün. bildiğimizi varsayalım; bu da sıfır hipotezinin tüm durum için geçerli olduğu anlamına gelir. alpha = 0.05 N Yeni tasarımlardan hiçbirinin varsayılan tasarımdan daha iyi olmadığını N Bununla birlikte, her durumda, veya yapma olasılığı %5'tir (sıfır hipotezinin doğru olduğu varsayılarak). Başka bir deyişle, yanlış pozitifin doğru şekilde tespit edilmeme olasılığı %95'tir. Teorik olarak, test arasında en az bir yanlış pozitif olma olasılığı eşittir. Örneğin, olduğunda bu olasılık yaklaşık %40'tır ve başlangıçtaki %5'ten önemli ölçüde yüksektir. "Tip I" hata yanlış pozitif N 1 - (1 - alpha)^N = 1 - 0.95^N N = 10 Test edilen hipotezlerin sayısı arttıkça sorun daha da belirgin hale gelir. Yalnızca birkaç değişkenin ve alt örneğin dahil olduğu senaryolarda bile karşılaştırmaların sayısı hızla birikebilir. Örneğin, üç D1, D2 ve D3 tasarımının tüm kullanıcılar için, daha sonra C1 ülkesindeki kullanıcılar için ayrı ayrı ve yine C1 dışındaki ülkelerdeki kullanıcılar için karşılaştırılması, toplam dokuz karşılaştırmayla sonuçlanır. Tip I hata oranlarının müteakip enflasyonunu fark etmeden, farkında olmadan birden fazla karşılaştırma yapmak kolaydır. Çoklu hipotez testleri kullanılarak bir somonun dirilişi Birden fazla hipotezi test ederken "Tip I" hataları kontrol etmemenin sonuçlarını vurgulayan inceleyelim. ilgi çekici bir örneği 2009 yılında Bu beklenmedik sonucun nasıl ortaya çıktığını anlamak için fMRI taramalarının doğasını keşfetmemiz gerekiyor. bir grup araştırmacı ölü bir Atlantik somonu üzerinde fMRI taraması yaptı ve şaşırtıcı bir şekilde sanki canlıymış gibi beyin aktivitesi keşfetti! . Tarayıcılar, beyin aktivitesinin bir göstergesi olarak kanın oksijenlenmesindeki değişiklikleri izliyor. Araştırmacılar genellikle belirli ilgi alanlarına odaklanır ve bu da onların tüm vücut hacmini voksel adı verilen küçük küplere bölmelerine yol açar. . Yüksek çözünürlüklü taramalara duyulan istek nedeniyle, fMRI tarayıcıları, her hasta üzerinde çok sayıda testin yapıldığı kapsamlı deneysel platformlar olarak hizmet vermektedir Her voksel, söz konusu küp içindeki beyin aktivitesinin varlığını test eden bir hipotezi temsil eder fMRI tarayıcıları tek bir prosedür sırasında binlerce hipotezi değerlendirmek zorunda kalıyor. Bu durumda, araştırmacılar anlamlılık düzeyini uygun şekilde ve Ancak bu sonuç, yönündeki anlayışımızla çelişiyor. ve bu da Tip I hatalar sorununun ele alınmasının önemini ortaya koydu. başlangıçtaki alpha = 0.001 kasıtlı olarak düzeltmediler ölen somonda beyin aktivitesine sahip üç voksel belirlediler. somonun gerçekten öldüğü Anlamlılık düzeyinin düzeltilmesi üzerine yeniden diriliş benzeri olgu ortadan kalktı Tek bir deneyde birden fazla hipotez test edildiğinde, bu zorluğun üstesinden gelmek ve Tip I hataları kontrol etmek çok önemli hale gelir. Çoklu hipotez testleriyle ilişkili şişirilmiş yanlış pozitif oranı azaltmak için gibi çeşitli istatistiksel teknikler kullanılabilir. Bonferroni düzeltmesi Bonferroni düzeltmesi hipotez testi sırasında çoklu karşılaştırma zorluğunu gidermek için özel olarak tasarlanmış istatistiksel bir prosedürdür. Bonferroni düzeltmesi, Teori Bir deney sırasında Tip I hata olasılığının altında kalmasını sağlarken hipotezi test etmeniz gerektiğini varsayalım. alpha N Prosedürün altında yatan fikir basittir: . En az bir yanlış pozitif olasılığı formülünü hatırlıyor musunuz? Bu formülde, genel olasılığı azaltmak için azaltılabilen değerimiz var. Her alternatif hipotez için sıfır hipotezini reddetmek için gereken önem düzeyini azaltın alpha Dolayısıyla, birden fazla hipotez arasında en az bir yanlış pozitif olasılığının daha düşük olmasını sağlamak için her p değerini ile değil daha küçük bir değerle karşılaştırabilirsiniz. alpha Peki "daha küçük bir şey" tam olarak nedir? her bir hipotez için anlamlılık düzeyi olarak kullanılmasının, Tip I hatanın genel olasılığının altında kalmasını sağladığı ortaya çıktı. bonferroni_alpha = alpha / N alpha Örneğin, 10 hipotezi test ediyorsanız ( ) ve istenen anlamlılık düzeyi %5 ( ) ise, her bir p-değerini ile karşılaştırmalısınız. dolayısıyla, en az bir doğru sıfır hipotezinin yanlışlıkla reddedilme olasılığı istenen 0,05 düzeyini aşmayacaktır. N = 10 alpha = 0.05 bonferroni_alpha = alpha / N = 0.05 / 10 = 0.005 Bu dikkat çekici teknik belirten nedeniyle işe yarar. Resmi bir matematiksel kanıt mevcut olsa da görsel açıklamalar sezgisel bir anlayış sağlar: , olayların birleşme olasılığının, olayların bireysel olasılıklarının toplamından küçük veya ona eşit olduğunu Boole eşitsizliği Dolayısıyla, her bir hipotez anlamlılık düzeyinde test edilirken, yanlış pozitif olma ihtimali vardır. Bu tür test için "yanlış pozitif" olayların birleşme olasılığı, bireysel olasılıkların toplamından daha az veya ona eşittir. Bu, tüm N testinde boş hipotezin geçerli olduğu en kötü senaryoda, eşittir. bonferroni_alpha = alpha / N bonferroni_alpha N N * bonferroni_alpha = N * (alpha / N) = alpha Pratik Daha önce tartışılan kavramları daha da desteklemek için simülasyon yapalım. Sonuçları gözlemleyeceğiz ve Bonferroni düzeltmesinin etkinliğini değerlendireceğiz. Python'da bir Tek bir testte 10 alternatif hipotezimizin olduğu bir senaryo düşünün. 10 durumun tamamında sıfır hipotezinin doğru olduğunu varsayalım. Analiziniz için anlamlılık düzeyinin uygun olduğunu kabul ediyorsunuz. alpha = 0.05 Bununla birlikte, şişirilmiş Tip I hataya yönelik herhangi bir düzeltme yapılmadan, en az bir hatalı pozitif sonucun yaşanmasının teorik olasılığının yaklaşık %40 olmasını bekliyoruz. Bonferroni düzeltmesi uygulandıktan sonra bu olasılığın %5'i aşmamasını bekliyoruz. Belirli bir deney için ya en az bir Yanlış Pozitif alırız ya da alamayız. Bu olasılıklar ancak çoklu deney ölçeğinde görülebilir. Daha sonra her bir deneyin simülasyonunu 100 kez çalıştıralım ve en az bir Yanlış Pozitif (p değeri anlamlılık seviyesinin altında) içeren deneylerin sayısını hesaplayalım! Bu simülasyonu çalıştırmak ve grafikler oluşturmak için tüm kodu içeren dosyasını GitHub'daki havuzumda bulabilirsiniz - .ipynb IgorKhomyanin/blog/bonferroni-and-salmon import numpy as np import matplotlib.pyplot as plt # To replicate the results np.random.seed(20000606) # Some hyperparameters too play with N_COMPARISONS = 10 N_EXPERIMENTS = 100 # Sample p-values # As we assume that null hypothesis is true, # the p-value would be distributed uniformly sample = np.random.uniform(0, 1, size=(N_COMPARISONS, N_EXPERIMENTS)) # Probability of type I error we are ready to accept # Probabiltiy of rejecting null hypothesis when it is actually true alpha = 0.05 # Theoretical False Positive Rate # # 1. # Probability that we cocnlude a significant difference for a given comparison # is equal to alpha by definition in our setting of true null hypothesis # Then [(1 - alpha)] is the probability of not rejecting the null hypothesis # # 2. # As experiments are considered independent, the probability of not rejecting # the null hypothesis in [(1 - alpha)]^N # # 3. # Probability that at least one is a false positive is equal to # 1 - (probability from 2.) prob_at_least_one_false_positive = 1 - ((1 - alpha) ** N_COMPARISONS) # Observed False Positive Rate # We conclude that experiment is a false positive when p-value is less than alpha false_positives_cnt = np.sum(np.sum(sample <= alpha, axis=0) > 0) false_positives_share = false_positives_cnt / N_EXPERIMENTS # Bonferroni correction bonferroni_alpha = alpha / N_COMPARISONS bonferroni_false_positive_comparisons_cnt = np.sum(np.sum(sample <= bonferroni_alpha, axis=0) > 0) bonferroni_false_positive_comparisons_share = bonferroni_false_positive_comparisons_cnt / N_EXPERIMENTS print(f'Theoretical False Positive Rate Without Correction: {prob_at_least_one_false_positive:0.4f}') print(f'Observed False Positive Rate Without Correction: {false_positives_share:0.4f} ({false_positives_cnt:0.0f} out of {N_EXPERIMENTS})') print(f'Observed False Positive Rate With Bonferroni Correction: {bonferroni_false_positive_comparisons_share:0.4f} ({bonferroni_false_positive_comparisons_cnt:0.0f} out of {N_EXPERIMENTS})') # Output: # Theoretical False Positive Rate Without Correction: 0.4013 # Observed False Positive Rate Without Correction: 0.4200 (42 out of 100) # Observed False Positive Rate With Bonferroni Correction: 0.0300 (3 out of 100) İşte sonuçların görselleştirilmesi: Üstteki resim, her kareyi bireysel bir karşılaştırmanın (hipotez testi) p değeri olarak temsil eder. Kare ne kadar koyu olursa p değeri o kadar yüksek olur. Sıfır hipotezinin her durumda geçerli olduğunu bildiğimizden, herhangi bir anlamlı sonuç yanlış pozitif olacaktır. Ortadaki grafik düzeltmesiz deneyleri temsil ederken alttaki grafik Bonferroni düzeltmeli deneyleri temsil etmektedir. P değeri anlamlılık seviyesinden düşük olduğunda (neredeyse beyaz karelerle gösterilir), sıfır hipotezini reddederiz ve yanlış pozitif sonuç elde ederiz. En az bir yanlış pozitif içeren deneyler kırmızı renkle renklendirilmiştir. Açıkçası, düzeltme etkili bir şekilde işe yaradı. Düzeltme olmadan, 100 deneyden 42'sinde en az bir hatalı pozitiflik gözlemliyoruz; bu da teorik ~%40 olasılıkla yakından uyumludur. Bununla birlikte , Bonferroni düzeltmesi ile 100 deneyden yalnızca 3 tanesinde en az bir yanlış pozitiflik var ve istenen %5 eşiğinin oldukça altında kalıyor. bunun çoklu hipotez testindeki kullanışlılığını daha da doğrulayabiliriz. Bu simülasyon aracılığıyla, Bonferroni düzeltmesinin yanlış pozitiflerin oluşumunu azaltmadaki etkisini görsel olarak gözlemleyebiliriz ve Çözüm Bu yazımda çoklu hipotez testi kavramını açıkladım ve potansiyel tehlikesine dikkat çektim. Bu artan olasılık, uygun şekilde ele alınmadığı takdirde tesadüfen meydana gelmiş olabilecek önemli etkiler hakkında hatalı sonuçlara varılmasına yol açabilir. A/B testi sırasında birden fazla karşılaştırma yapmak gibi birden fazla hipotezi test ederken nadir görülen bir "Yanlış Pozitif" olayının gözlemlenme olasılığı artar. . Boole eşitsizliğinden yararlanan bu düzeltme, genel anlamlılık düzeyinin istenen eşikte kontrol edilmesine yardımcı olarak yanlış pozitif riskini azaltır. Bu soruna olası bir çözüm, her bir hipotez için anlamlılık düzeylerini ayarlayan Bonferroni düzeltmesidir Ancak her çözümün bir bedeli olduğunu bilmek önemlidir. Bu, aynı farklılıkları tespit etmek için daha büyük bir örneklem büyüklüğünün veya daha güçlü etkilerin gerekli olabileceği anlamına gelir. Araştırmacılar, Bonferroni düzeltmesini veya diğer düzeltme yöntemlerini uygulamaya karar verirken bu ödünleşimi dikkatle düşünmelidir. Bonferroni düzeltmesi kullanıldığında gerekli önem düzeyi azalır ve bu da deneyin gücünü etkileyebilir. Bu makalede ele alınan içerikle ilgili herhangi bir sorunuz veya yorumunuz varsa, lütfen bunları paylaşmaktan çekinmeyin. İstatistiksel tekniklerin daha fazla tartışılması ve araştırılması, pratikte daha iyi anlaşılması ve uygulanması için esastır. Referanslar - Simülasyonu çalıştırmak ve grafikler oluşturmak için gereken tüm kodu içeren GitHub Repo'm IgorKhomyanin/blog/bonferroni-and-salmon Kapak resmi oluşturmak için Kandinsky 2.1 Bennett, CM, MB Miller ve GL Wolford. “Ölüm Sonrası Atlantik Somonunda Türler Arası Perspektif Almayla İlgili Sinirsel İlişkiler: Çoklu Karşılaştırma Düzeltmesine Yönelik Bir Tartışma.” NeuroImage 47 (Temmuz 2009): S125. https://doi.org/10.1016/s1053-8119(09)71202-9 Vikipedi - Boferroni Düzeltmesi Vikipedi - Boole eşitsizliği