Anova ile post-hoc testini kullanma kılavuzu


ANOVA, üç veya daha fazla bağımsız grubun ortalamaları arasında istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek için kullanılan istatistiksel bir testtir.

ANOVA’da kullanılan varsayımlar aşağıdaki gibidir:

Sıfır hipotezi (H 0 ): µ 1 = µ 2 = µ 3 = … = µ k (ortalamalar her grup için eşittir)

Alternatif hipotez: (Ha): Araçlardan en az biri diğerlerinden farklıdır

ANOVA’nın p değeri anlamlılık seviyesinin altındaysa sıfır hipotezini reddedebilir ve grup ortalamalarından en az birinin diğerlerinden farklı olduğunu söylemek için yeterli kanıtımız olduğu sonucuna varabiliriz.

Ancak bu bize hangi grupların birbirinden farklı olduğunu söylemez. Bu bize basitçe tüm grup ortalamalarının eşit olmadığını söyler.

Hangi grupların birbirinden farklı olduğunu tam olarak bilmek için, bir yandan aileyi kontrol ederken bir yandan da birden fazla grubun ortalamaları arasındaki farkı keşfetmemize olanak tanıyan post hoc testi (çoklu karşılaştırma testi olarak da bilinir) yapmamız gerekir. . makul hata oranı.

Teknik Not: Yalnızca ANOVA p değeri istatistiksel olarak anlamlı olduğunda post hoc testi yapmamız gerektiğini unutmamak önemlidir. P değerinin istatistiksel olarak anlamlı olmaması tüm grupların ortalamalarının birbirinden farklı olmadığını gösterir. Bu nedenle hangi grupların birbirinden farklı olduğunu belirlemek için post hoc test yapılmasına gerek yoktur.

Aile hata oranı

Daha önce de belirtildiği gibi post hoc testler, birden fazla grubun ortalamaları arasındaki farkı test etmemize ve ayrıca aile başına hata oranını kontrol etmemize olanak tanır.

Hipotez testinde her zaman anlamlılık seviyemiz (alfa) tarafından tanımlanan ve bize gerçekten doğru olan bir sıfır hipotezini reddetme olasılığını söyleyen bir Tip I hata oranı vardır. Yani gerçekte durum böyle değilken gruplar arasında istatistiksel olarak anlamlı bir fark olduğunu iddia ettiğimizde “yanlış pozitif” elde etme olasılığıdır.

Hipotez testi yaptığımızda Tip I hata oranı genellikle 0,01, 0,05 veya 0,10 olarak seçilen anlamlılık düzeyine eşittir. Ancak birden fazla hipotez testini aynı anda çalıştırdığımızda yanlış pozitif sonuç alma olasılığı artar.

Örneğin 20 kenarlı bir zarı attığımızı düşünün. Zarın “1” gelme olasılığı sadece %5’tir. Ancak iki zarı aynı anda atarsanız, zarlardan birinin “1” rakamına gelme olasılığı %9,75’e çıkar. Aynı anda beş zar atarsak olasılık %22,6’ya çıkar.

Ne kadar çok zar atarsak, zarlardan birinin “1” rakamına gelme olasılığı o kadar yüksek olur. Benzer şekilde, 0,05 anlamlılık düzeyini kullanarak birden fazla hipotez testini aynı anda çalıştırırsak, yanlış pozitif alma olasılığımız yalnızca 0,05’in üzerine çıkar.

ANOVA’da çoklu karşılaştırmalar

ANOVA yaptığımızda genellikle üç veya daha fazla grubu karşılaştırırız. Dolayısıyla, grup ortalamaları arasındaki farkı araştırmak için bir post hoc testi uyguladığımızda, çoklu ikili karşılaştırmaları araştırmak istiyoruz.

Örneğin, diyelim ki dört grubumuz var: A, B, C ve D. Bu, post hoc testle incelemek istediğimiz toplam altı ikili karşılaştırmanın olduğu anlamına gelir:

A – B (A grubu ortalaması ile B grubu ortalaması arasındaki fark)
AC
DUYURU
M.Ö.
çizgi roman
CD

Dörtten fazla grubumuz varsa yapmak isteyeceğimiz ikili karşılaştırmaların sayısı daha da artacaktır. Aşağıdaki tabloda her grup sayısıyla ilişkili ikili karşılaştırmaların sayısı ve aile başına hata oranı gösterilmektedir:

Grup sayısı (ve dolayısıyla ikili karşılaştırma sayısı) arttıkça aile başına hata oranının hızla arttığına dikkat edin. Aslında altı gruba ulaştığımızda yanlış pozitif sonuç alma şansımız aslında %50’nin üzerindedir!

Bu, aile bazında hata oranımızın bu kadar yüksek olduğunu bilerek bu kadar çok ikili karşılaştırma yapmak zorunda kalsaydık, sonuçlarımız hakkında ciddi şüphelerimiz olacağı anlamına gelir.

Neyse ki post-hoc testler, ailelere göre hata oranını kontrol ederken gruplar arasında birden fazla karşılaştırma yapmamıza olanak tanıyor.

Örnek: Post-hoc testlerle tek yönlü ANOVA

Aşağıdaki örnek, post hoc testlerle tek yönlü ANOVA’nın nasıl gerçekleştirileceğini göstermektedir.

Not: Bu örnekte R programlama dili kullanılmaktadır ancak test sonuçlarını veya önemli çıkarımları anlamak için R bilmenize gerek yoktur.

İlk olarak, grup başına 20 gözlem içeren dört grup (A, B, C, D) içeren bir veri seti oluşturacağız:

 #make this example reproducible
set.seed(1)

#load tidyr library to convert data from wide to long format
library(tidyr)

#create wide dataset
data <- data.frame(A = runif(20, 2, 5),
                   B = runif(20, 3, 5),
                   C = runif(20, 3, 6),
                   D = runif(20, 4, 6))

#convert to long dataset for ANOVA
data_long <- gather(data, key = "group", value = "amount", A, B, C, D)

#view first six lines of dataset
head(data_long)

# group amount
#1 To 2.796526
#2 A 3.116372
#3 A 3.718560
#4 A 4.724623
#5 A 2.605046
#6 A 4.695169

Daha sonra veri kümesine tek yönlü bir ANOVA yapacağız:

 #fit anova model
anova_model <- aov(amount ~ group, data = data_long)

#view summary of anova model
summary(anova_model)

# Df Sum Sq Mean Sq F value Pr(>F)    
#group 3 25.37 8.458 17.66 8.53e-09 ***
#Residuals 76 36.39 0.479            

ANOVA tablosu sonucunda F istatistiğinin 17,66 olduğunu ve buna karşılık gelen p değerinin son derece küçük olduğunu görüyoruz.

Bu, tüm grup ortalamalarının eşit olduğunu öne süren sıfır hipotezini reddetmek için yeterli kanıtımız olduğu anlamına gelir. Daha sonra hangi grup ortalamalarının birbirinden farklı olduğunu belirlemek için post hoc testi kullanabiliriz.

Aşağıdaki post hoc testlerin örneklerini inceleyeceğiz:

Tukey testi – olası tüm ikili karşılaştırmaları yapmak istediğinizde kullanışlıdır

Holm’un yöntemi – Tukey testinden biraz daha konservatif bir test

Dunnett düzeltmesi – her grubun ortalamasını bir kontrol ortalamasıyla karşılaştırmak istediğinizde ve tedavi ortalamalarını birbiriyle karşılaştırmak istemediğinizde kullanışlıdır.

Tukey testi

Yerleşik R işlevi TukeyHSD()’yi kullanarak çoklu karşılaştırmalar için Tukey testini aşağıdaki gibi gerçekleştirebiliriz:

 #perform Tukey's Test for multiple comparisons
TukeyHSD(anova_model, conf.level=.95) 

#Tukey multiple comparisons of means
# 95% family-wise confidence level
#
#Fit: aov(formula = amount ~ group, data = data_long)
#
#$group
# diff lwr upr p adj
#BA 0.2822630 -0.292540425 0.8570664 0.5721402
#CA 0.8561388 0.281335427 1.4309423 0.0011117
#DA 1.4676027 0.892799258 2.0424061 0.0000000
#CB 0.5738759 -0.000927561 1.1486793 0.0505270
#DB 1.1853397 0.610536271 1.7601431 0.0000041
#DC 0.6114638 0.036660419 1.1862672 0.0326371

Güven düzeyimizin %95 olduğunu belirttiğimizi unutmayın, bu da aile başına hata oranımızın 0,05 olmasını istediğimiz anlamına gelir. R bize her bir ikili farkı karşılaştırmak için iki ölçüm verir:

  • Ortalama fark için güven aralığı ( lwr ve upr değerleriyle verilir)
  • Ortalama farka göre ayarlanan p değeri

Güven aralığı ve p değeri aynı sonuca varacaktır.

Örneğin C grubu ile A grubu arasındaki ortalama fark için %95 güven aralığı (0,2813, 1,4309) olup, bu aralık sıfır içermediğinden bu iki grubun ortalamaları arasındaki farkın istatistiksel olarak anlamlı olduğunu biliyoruz. Özellikle güven aralığının alt sınırı sıfırdan büyük olduğundan farkın pozitif olduğunu biliyoruz.

Benzer şekilde Grup C ile Grup A arasındaki ortalama farkın p değeri 0,0011 olup bizim anlamlılık düzeyimiz olan 0,05’ten düşüktür, bu da iki grubun ortalamaları arasındaki farkın istatistiksel olarak anlamlı olduğunu göstermektedir.

Ayrıca Tukey testinden elde edilen %95 güven aralıklarını R’dekiplot () fonksiyonunu kullanarak görselleştirebiliriz:

 plot(TukeyHSD(anova_model, conf.level=.95))

Aralık sıfır içeriyorsa, grup ortalamaları arasındaki farkın istatistiksel olarak anlamlı olmadığını biliyoruz. Yukarıdaki örnekte BA ve CB’ye ilişkin farklar istatistiksel olarak anlamlı değildir ancak diğer dört ikili karşılaştırmaya ilişkin farklar istatistiksel olarak anlamlıdır.

Holm’un yöntemi

Gerçekleştirebileceğimiz bir diğer post hoc test ise Holm’un yöntemidir. Bu testin genellikle Tukey testinden daha konservatif olduğu düşünülmektedir.

Çoklu ikili karşılaştırmalarda Holm yöntemini çalıştırmak için R’de aşağıdaki kodu kullanabiliriz:

 #perform holm's method for multiple comparisons
pairwise.t.test(data_long$amount, data_long$group, p.adjust="holm") 
# Pairwise comparisons using t tests with pooled SD 
#
#data: data_long$amount and data_long$group 
#
#ABC
#B 0.20099 - -      
#C 0.00079 0.02108 -      
#D 1.9e-08 3.4e-06 0.01974
#
#P value adjustment method: holm

Bu test, her ikili karşılaştırma için bir p değerleri tablosu sağlar. Örneğin A grubu ile B grubunun ortalaması arasındaki farkın p değeri 0,20099’dur.

Bu testteki p değerlerini Tukey testindeki p değerleriyle karşılaştırırsanız, C ve D grupları arasındaki fark dışında ikili karşılaştırmaların her birinin aynı sonuca vardığını fark edeceksiniz. Bu farkın değeri Tukey testinde 0,0505 iken Holm yönteminde 0,02108 idi.

Böylece Tukey testini kullanarak C grubu ile D grubu arasındaki farkın 0,05 anlamlılık düzeyinde istatistiksel olarak anlamlı olmadığı, Holm yöntemini kullanarak ise C grubu ile D grubu arasındaki farkın istatistiksel olarak anlamlı olduğu sonucuna vardık.

Genel olarak Holm yöntemiyle üretilen p değerleri, Tukey testiyle üretilenlerden daha düşük olma eğilimindedir.

Dunnett’in düzeltmesi

Çoklu karşılaştırmalar için kullanabileceğimiz bir diğer yöntem ise Dunett düzeltmesidir. Her grubun ortalamasını bir kontrol ortalamasıyla karşılaştırmak istediğimizde ve tedavi ortalamalarını birbiriyle karşılaştırmak istemediğimizde bu yaklaşımı kullanırız.

Örneğin aşağıdaki kodu kullanarak B, C ve D’nin grup ortalamalarını A grubunun ortalamalarıyla karşılaştırıyoruz. Bu nedenle A grubunu kontrol grubu olarak kullanıyoruz ve B, C grupları arasındaki farklarla ilgilenmiyoruz. . ve D.

 #load multcomp library necessary for using Dunnett's Correction
library(multicomp)

#convert group variable to factor 
data_long$group <- as.factor(data_long$group)

#fit anova model
anova_model <- aov(amount ~ group, data = data_long)

#performcomparisons
dunnet_comparison <- glht(anova_model, linfct = mcp(group = "Dunnett"))

#view summary of comparisons
summary(dunnet_comparison)

#Multiple Comparisons of Means: Dunnett Contrasts
#
#Fit: aov(formula = amount ~ group, data = data_long)
#
#Linear Assumptions:
#Estimate Std. Error t value Pr(>|t|)    
#B - A == 0 0.2823 0.2188 1.290 0.432445    
#C - A == 0 0.8561 0.2188 3.912 0.000545 ***
#D - A == 0 1.4676 0.2188 6.707 < 1e-04 ***

Çıktıdaki p değerlerinden aşağıdakileri görebiliriz:

  • B grubu ortalaması ile A grubu ortalaması arasındaki fark istatistiksel olarak 0,05 anlamlılık düzeyinde anlamlı değildir . Bu testin p değeri 0,4324’tür .
  • C Grubu ile A Grubu ortalamaları arasındaki fark istatistiksel olarak 0,05 anlamlılık düzeyinde anlamlıdır . Bu testin p değeri 0,0005’tir .
  • D Grubu ile A Grubu ortalamaları arasındaki fark istatistiksel olarak 0,05 anlamlılık düzeyinde anlamlıdır . Bu testin p değeri 0,00004’tür .

Daha önce belirtildiği gibi, bu yaklaşım A Grubunu “kontrol” grubu olarak ele alır ve diğer tüm grupların ortalamasını A Grubunun ortalamasıyla karşılaştırır. B, C ve D grupları arasındaki farklar için hiçbir test yapılmadığını unutmayın çünkü yapma. Bu gruplar arasındaki farklarla ilgilenmiyorum.

Post-hoc testler ve istatistiksel güç üzerine bir not

Post hoc testler, aile bazında hata oranını kontrol etme konusunda mükemmel bir iş çıkarır, ancak bunun karşılığı, karşılaştırmaların istatistiksel gücünü azaltmalarıdır. Aslında aile bazında hata oranını azaltmanın tek yolu, tüm bireysel karşılaştırmalar için daha düşük bir anlamlılık düzeyi kullanmaktır.

Örneğin, altı ikili karşılaştırma için Tukey testini kullandığımızda ve aile bazında hata oranını 0,05 olarak korumak istediğimizde, her bir anlamlılık düzeyi için yaklaşık 0,011’lik bir anlamlılık düzeyi kullanmalıyız. Ne kadar çok ikili karşılaştırma yaparsak, her bir anlamlılık düzeyi için kullanmamız gereken anlamlılık düzeyi o kadar düşük olur.

Sorun, daha düşük anlamlılık düzeylerinin daha düşük istatistiksel güce karşılık gelmesidir. Bu, popülasyonda grup ortalamaları arasında bir fark gerçekten varsa, daha az güçlü bir çalışmanın bunu tespit etme olasılığının daha düşük olduğu anlamına gelir.

Bu değiş tokuşun etkilerini azaltmanın bir yolu, yaptığımız ikili karşılaştırmaların sayısını azaltmaktır. Örneğin önceki örneklerde dört farklı grup için altı ikili karşılaştırma yaptık. Ancak çalışmanızın ihtiyaçlarına bağlı olarak yalnızca birkaç karşılaştırma yapmak isteyebilirsiniz.

Daha az karşılaştırma yaparak istatistiksel gücü o kadar azaltmanıza gerek kalmaz.

ANOVA’yı gerçekleştirmeden önce tam olarak hangi gruplarda karşılaştırma yapmak istediğinizi ve bu karşılaştırmaları yapmak için hangi post hoc testi kullanacağınızı belirlemeniz gerektiğini unutmamanız önemlidir. Aksi takdirde, hangi post hoc testin istatistiksel olarak anlamlı sonuçlar ürettiğini görmek çalışmanın bütünlüğünü azaltır.

Çözüm

Bu yazıda aşağıdakileri öğrendik:

  • ANOVA, üç veya daha fazla bağımsız grubun ortalamaları arasında istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek için kullanılır.
  • Bir ANOVA anlamlılık seviyemizin altında bir p değeri üretirse, hangi grup ortalamalarının birbirinden farklı olduğunu bulmak için post hoc testleri kullanabiliriz.
  • Post-hoc testler, birkaç ikili karşılaştırma yaparken aile başına hata oranını kontrol etmemize olanak tanır.
  • Aile bazında hata oranını kontrol etmenin karşılığı daha az istatistiksel güçtür. Daha az ikili karşılaştırma yaparak daha düşük istatistiksel gücün etkilerini azaltabiliriz.
  • Öncelikle hangi gruplar üzerinde ikili karşılaştırma yapmak istediğinizi ve bunu yapmak için hangi post hoc testi kullanacağınızı belirlemelisiniz.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir