R İle Tek Yönlü Tekrarlı Ölçümler için Varyans Analizi Uygulaması

Bu yazıda ikiden çok bağımlı örneklemlerin çekildikleri kitlelerin ortalamalarının eşitliğini test edeceğiz. Yazıyı hazırlarken teorik ve uygulamalı kısımları kaynaklar kısmında belirttiğim Doç.Dr. Mehmet Mert’in kitabından  kontrol ederek ilerledim. Testin tek yönlü varyans analizinden farkı adından da anlaşılacağı üzere aynı örneklem birimlerinden kez tekrarlanan ölçümlerin yapılması.

Veri setini buradan indirebilirsiniz.

Veri setimizde ortalamaları karşılaştırılacak 4 kitle vardır.(Avm kurulmadan önceki,kurulduktan 1,2 ve 3 ay sonraki 25 işyerinin ciroları) Hipotezimizi aşağıdaki şekilde kurabiliriz.

    \begin{align*} { H }_{ 0 }:{ \mu }_{ once }={ \mu }_{ sonra1 }={ \mu }_{ sonra2 }={ \mu }_{ sonra3 } \end{align*}

    \begin{align*} { H }_{ s }:En\quad az\quad bir\quad { \mu }_{ j }\quad farklıdır. \end{align*}

Öncelikle verileri R’ a alalım ve veri setinin bir kısmını görelim.

install.packages("readxl")
library(readxl)
rpanova2=read_xlsx("C:/Users/compaq/Desktop/rmavbo/rpanova2.xlsx")
head(rpanova2)

Çıktı;

 

ID sütunu işyeri numaralarını belirtmekte. Şimdi 4 birim için ortalamaları hesaplayalım. Bu sayede ciroların  avm öncesi ve sonrası dönemlerdeki değişimini kabataslak olarak görebiliriz.

once=mean(rpanova2once) sonra1=mean(rpanova2sonra1)
sonra2=mean(rpanova2sonra2) sonra3=mean(rpanova2sonra3)
ortalama=rbind(once,sonra1,sonra2,sonra3)
colnames(ortalama)=c("Ciro Ortalamaları")
ortalama

Çıktı;

Ortalamalara bakarak avm kurulduktan sonra ciroların düştüğünü görmekteyiz. Fakat biz bu farklılıkların istatistiksel olarak anlamlı olup olmadığını merak ediyoruz. Buna bakmadan önce Tek Yönlü Tekrarlı Ölçümlü Varyans Analizinin varsayımlarının sağlanıp sağlanmadığını öğrenmemiz gerek. 2 varsayım vardır;

  • Tekrarlı ölçümlerden elde edilen gruplar normal dağılmalı. Grupların çoklu bir şekilde normalliğini test edemeyeceğimiz için her grup için ayrı ayrı  Shapiro-Wilk testi yapacağız.Hipotezimizi aşağıdaki gibi kurabiliriz.

H0 : Gözlemimiz normal dağılıyor.

H1: Gözlemimiz normal dağılmıyor.

shapiro.test(rpanova2once) shapiro.test(rpanova2sonra1)
shapiro.test(rpanova2sonra2) shapiro.test(rpanova2sonra3)

Çıktı;

Sonuçlara göre tüm p-value değerleri 0.05’ten büyük olduğu için temel hipotezimizi kabul edebiliriz. Yani tüm gruplar normal dağılımaktadır.

  • İkinci varsayımımız ise küresellik (shpericity) varsayımı. Ölçümler arası farkların korelasyonlarının bir birine eşit olması. Bu varsayımın sağlanıp sağlanmadığını modelimizi kurduktan sonra göreceğiz.

Modeli kurmadan verileri biraz dönüştüreceğiz bunun için reshape2 paketi içerisindeki melt() fonksiyonunu kullanarak ayrı ayrı sütunlara ayırdığımız dönemlerimizi tek bir sütunda toplayacak ve bu dönemlere karşılık gelen ciroları da ayrı bir sütun olarak dönüştüreceğiz.

install.packages("reshape2")
library(reshape2)

rpanova2.1 = melt(rpanova2,
                measure.vars = c("once","sonra1","sonra2","sonra3"),
                variable.name = "Donem",
                value.name ="ciro" )
rpanova2.1

Çıktı;

Dönüştürdüğümüz veriler için grafik çizebilir ve aykırı gözlem varsa bunları öğrenebiliriz

ggplot(rpanova2.1, aes(Donem,ciro))
+geom_boxplot(aes(col=Donem))
+labs(title="25 İşyerinin AVM Öncesi ve Sonrası 3 Aylık Ciroları ")
boxplot.stats(rpanova2.1ciro[rpanova2.1Donem == "sonra3"])

Çıktı;

57.43 ve 58.57 olmak üzere 2 aykırı değerimiz bulunmakta ve bunlar conf ile belirtilen güven aralığının  altında kalan değerler.  Modeli elde etmek için <strong>ez </strong>paketi içerisindeki <strong>ezANOVA </strong>fonksiyonunu kullanacağız. <pre class="lang:r decode:true ">install.packages("ez") library(ez) model=ezANOVA(data=rpanova2.1,              dv =  ciro,              wid =  ID,              within = Donem,              detailed = TRUE,return_aov = TRUE) print(model)</pre> Çıktı;  <img class="alignnone wp-image-7951" src="https://www.veribilimiokulu.com/wp-content/uploads/2019/01/ezanova-300x276.png" alt="" width="485" height="446" />  Küresellik varsayımının sağlanıp sağlanmadığnı görmek için Mauchly's Test For Sphericity başlığına bakmalıyız. Buna göre prob değeri 0.1196>0.05 olduğu için küresellik varsayımı sağlanmıştır diyebiliriz. Normallik ve küresellik varsayımları sağlandığına göre hipotezimizi test edebiliriz. Çıktığının en üstünde yer alan Donem değişkeni için hesaplanan F istatistiği 129.7494 'ün prob değeri 0.05 ten küçük olduğu için yokluk hipotezi reddedilir. Ölçümler arasındaki farklılıkları anlamlı bulduk, işyerlerinin ciroları arasında avm kurulmadan önce ve kurulduktan sonra anlamlı farklılıklar var.  Farklılığın hangi ölçümlerden meydana geldiğine karar vermek için eşli karşılaştırmalar yapacağız. İkili karşılaştırmalarda  bonferroni düzeltmesi kullanalım. <pre class="lang:default decode:true">pairwise.t.test(rpanova2.1ciro,rpanova2.1$Donem,
p.adjust.method =”bonferroni”,paired = T)
Çıktı;

Prob değerleri 0.05’ten küçük olduğu için ölçümlerin farklılıkları istatistiksel olarak anlamlıdır diyebiliriz. Örneğin avm kurulduktan sonraki 1. ve 2. ay ortalama ciroları arasındaki fark 84.7760-78.2140=6.5620 (0.0156<0.05) istatistiksel olarak anlamlıdır. Yani avm kurulduktan sonra cirolar anlamlı bir şekilde azalmıştır.

Kaynakça

https://cran.r-project.org/web/packages/ez/ez.pdf

https://seananderson.ca/2013/10/19/reshape/

Mert M., “SPSS STATA Yatay Kesit Veri Analizi Bilgisayar Uygulamaları”, Detay Yayıncılık, ANKARA, 2016

Yazar Hakkında
Toplam 2 yazı
Buğra POLAT
Buğra POLAT
Yorumlar (Yorum yapılmamış)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara