R'de manova nasıl gerçekleştirilir
MANOVA’yı anlamak için öncelikle ANOVA’yı anlamak faydalı olacaktır.
Üç veya daha fazla bağımsız grubun ortalamaları arasında istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek için ANOVA (varyans analizi) kullanılır.
Örneğin, çalışma tekniğinin bir sınıftaki öğrencilerin sınav puanları üzerinde etkisinin olup olmadığını bilmek istediğimizi varsayalım. Sınıfı rastgele üç gruba ayırdık. Her grup bir sınava hazırlanmak için bir ay boyunca farklı bir çalışma tekniği kullanır. Ay sonunda tüm öğrenciler aynı sınava girerler.
Çalışma tekniğinin sınav puanları üzerinde etkisi olup olmadığını öğrenmek için tek yönlü bir ANOVA gerçekleştirebiliriz; bu bize üç grubun ortalama puanları arasında istatistiksel olarak anlamlı bir fark olup olmadığını söyleyecektir.
ANOVA’da bir yanıt değişkenimiz var. Ancak MANOVA’da (çok değişkenli varyans analizi), birden fazla yanıt değişkenimiz vardır.
Örneğin, eğitim seviyesinin (lise, önlisans, lisans, yüksek lisans vb.) hem yıllık gelir hem de öğrenci borcu miktarı üzerindeki etkisinin ne olduğunu bilmek istediğimizi varsayalım. Bu durumda elimizde bir faktör (eğitim düzeyi) ve iki yanıt değişkenimiz (yıllık gelir ve öğrenci borcu) var, dolayısıyla tek yönlü bir MANOVA gerçekleştirebiliyoruz.
İlgili: ANOVA, ANCOVA, MANOVA ve MANCOVA Arasındaki Farkları Anlamak
R’de MANOVA nasıl gerçekleştirilir
Aşağıdaki örnekte, üç farklı türe (“setosa”, “virginica”) yönelik farklı çiçek ölçümlerinin uzunluğu ve genişliği hakkında bilgi içeren yerleşik iris veri kümesini kullanarak R’de tek yönlü MANOVA’nın nasıl gerçekleştirileceğini göstereceğiz. , “çok renkli”):
#view first six rows of iris dataset
head(iris)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
#6 5.4 3.9 1.7 0.4 setosa
Türlerin çanak yaprak uzunluğu ve genişliği üzerinde bir etkisinin olup olmadığını bilmek istediğimizi varsayalım. Türleri bağımsız değişken olarak ve sepal uzunluğu ve genişliğini yanıt değişkenleri olarak kullanarak, R’deki manova() işlevini kullanarak tek yönlü bir MANOVA gerçekleştirebiliriz.
manova() işlevi aşağıdaki sözdizimini kullanır:
manova (cbind (rv1, rv2, …) ~ iv, veri)
Altın:
- rv1, rv2 : yanıt değişkeni 1, yanıt değişkeni 2, vb.
- iv : bağımsız değişken
- data : veri çerçevesinin adı
İris veri seti içeren örneğimizde, bir MANOVA yerleştirebilir ve aşağıdaki sözdizimini kullanarak sonuçları görüntüleyebiliriz:
#fit the MANOVA model model <- manova(cbind(Sepal.Length, Sepal.Width) ~ Species, data = iris) #view the results summary(model) # Df Pillai approx F num Df den Df Pr(>F) #Species 2 0.94531 65.878 4,294 < 2.2e-16 *** #Residuals 147 #--- #Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Sonuçtan F istatistiğinin 65,878 olduğunu ve buna karşılık gelen p değerinin son derece küçük olduğunu görebiliriz. Bu durum sepal ölçümlerinde türlere göre istatistiksel olarak anlamlı bir farklılık olduğunu göstermektedir.
Teknik not: Manova() varsayılan olarak Pillai test istatistiğini kullanır. Bu test istatistiğinin dağılımı karmaşık olduğundan, daha kolay yorumlanabilmesi için yaklaşık bir F değeri de verilmiştir.
Ek olarak, aşağıdaki sözdizimini kullanarak test istatistiği olarak ‘Roy’, ‘Hotelling-Lawley’ veya ‘Wilks’i belirtmek mümkündür: Summary(model, test = ‘Wilks’)
Sepal uzunluğu ve genişliğinin türlerden tam olarak nasıl etkilendiğini bulmak için aşağıdaki kodda gösterildiği gibi Summary.aov() işlevini kullanarak tek değişkenli ANOVA’lar gerçekleştirebiliriz:
summary.aov(model) # Response Sepal.Length: # Df Sum Sq Mean Sq F value Pr(>F) #Species 2 63.212 31.606 119.26 < 2.2e-16 *** #Residuals 147 38.956 0.265 #--- #Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 # Response Sepal.Width: # Df Sum Sq Mean Sq F value Pr(>F) #Species 2 11.345 5.6725 49.16 < 2.2e-16 *** #Residuals 147 16.962 0.1154 #--- #Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Sonuçtan, her iki tek değişkenli ANOVA’nın p değerlerinin son derece düşük olduğunu (<2.2e-16) görebiliyoruz, bu da türlerin sepal genişlik ve uzunluk üzerinde istatistiksel olarak anlamlı bir etkiye sahip olduğunu gösteriyor.
Grubun kaynaklarını görselleştirin
Sonuçlarımızı daha iyi anlamak için bağımsız değişken türlerimizin her düzeyine ilişkin grup ortalamalarını görselleştirmek de yararlı olabilir.
Örneğin, türlere göre sepallerin ortalama uzunluğunu görselleştirmek için gplots kütüphanesini veplotmeans() fonksiyonunu kullanabiliriz:
#load gplots library library(gplots) #visualize mean sepal length by species plotmeans(iris$Sepal.Length ~ iris$Species)
Grafikten ortalama sepal uzunluğunun türler arasında büyük ölçüde değiştiğini görebiliriz. Bu, bize türler arasında sepal ölçümlerde istatistiksel olarak anlamlı bir fark olduğunu söyleyen MANOVA’mızın sonuçlarıyla eşleşiyor.
Ayrıca türlere göre sepallerin ortalama genişliğini de görselleştirebiliriz:
plotmeans(iris$Sepal.Width ~ iris$Species)
Manova() işlevine ilişkin tüm belgelere buradan bakın.