R'de ne normallik ne de varyans eşitliği olan veriler üzerinde iki yönlü ANOVA nasıl çalıştırılır?


16

Şu anda yüksek lisans tezim üzerinde çalışıyorum ve SigmaPlot ile istatistikleri çalıştırmayı planlıyorum. Ancak, verilerimle biraz zaman geçirdikten sonra SigmaPlot benim sorunum için uygun olmayabilir sonucuna geldim (yanılmış olabilir) bu yüzden tam olarak kolaylaştırmadı R, ilk denemeleri başladı.

Plan, verilerim üzerinde 3 farklı protein ve 8 farklı tedaviden kaynaklanan basit bir İKİ YÖN-ANOVA çalıştırmaktı, bu yüzden iki faktörüm protein ve tedaviler. Her ikisini de kullanarak normalliği test ettim

> shapiro.test(time)

ve

> ks.test(time, "norm", mean=mean(time), sd=sqrt(var(time)))

Her iki durumda da (şaşırtıcı olmayabilir) normal olmayan bir dağılımla sonuçlandım.

Hangi varyans eşitliği için kullanılacak ilk soruları beni bıraktı. İle geldim

> chisq.test(time)

ve sonuç olarak verilerimde de varyans eşitliği yok.

Farklı veri dönüşümlerini (log, center, standardization) denedim, bunların hepsi varyanslarla ilgili sorunlarımı çözmedi.

Şimdi, hangi proteinlerin ve hangi tedavilerin birbirinden önemli ölçüde farklı olduğunu test etmek için ANOVA'nın nasıl yürütüleceğini kaybettim. Bir Kruskal-Walis-Testi hakkında bir şey buldum, ama sadece bir faktör için (?). Ayrıca sıralama veya randamizasyon ile ilgili şeyler buldum, ancak bu teknikleri R'de nasıl uygulayacağımı henüz bilmiyorum.

Ne yapmam gerektiğini öneren var mı?

Düzenleme: Cevaplarınız için teşekkür ederim, okuma ile biraz boğulmuşum (sadece daha az yerine giderek daha fazla oluyor gibi görünüyor), ama tabii ki devam edeceğim.

Burada verilerimin bir örneği, önerildiği gibi (Biçim için çok üzgünüm, başka bir çözüm veya dosya koymak için bir yer bulamadım. Hala hepsine yeniyim.):

protein treatment   time  
A   con 2329.0  
A   HY  1072.0  
A   CL1 4435.0  
A   CL2 2971.0  
A   CL1-HY sim  823.5  
A   CL2-HY sim  491.5  
A   CL1+HY mix  2510.5  
A   CL2+HY mix  2484.5  
A   con 2454.0  
A   HY  1180.5  
A   CL1 3249.7  
A   CL2 2106.7  
A   CL1-HY sim  993.0  
A   CL2-HY sim  817.5  
A   CL1+HY mix  1981.0  
A   CL2+HY mix  2687.5  
B   con 1482.0  
B   HY  2084.7  
B   CL1 1498.0  
B   CL2 1258.5  
B   CL1-HY sim  1795.7  
B   CL2-HY sim  1804.5  
B   CL1+HY mix  1633.0  
B   CL2+HY mix  1416.3  
B   con 1339.0  
B   HY  2119.0  
B   CL1 1093.3  
B   CL2 1026.5  
B   CL1-HY sim  2315.5  
B   CL2-HY sim  2048.5  
B   CL1+HY mix  1465.0  
B   CL2+HY mix  2334.5  
C   con 1614.8  
C   HY  1525.5  
C   CL1 426.3  
C   CL2 1192.0  
C   CL1-HY sim  1546.0  
C   CL2-HY sim  874.5  
C   CL1+HY mix  1386.0  
C   CL2+HY mix  364.5  
C   con 1907.5  
C   HY  1152.5  
C   CL1 639.7  
C   CL2 1306.5  
C   CL1-HY sim  1515.0  
C   CL2-HY sim  1251.0  
C   CL1+HY mix  1350.5  
C   CL2+HY mix  1230.5

2
Görünüşe göre R ile iyi yoldasınız, ancak zorluklarınızın hiç R ile ilgili olmayabileceğini hissediyorum. Belki de sorunun kavrayışını elde etmek için önce bir istatistikçiye danışmanız gerekir, ancak o zaman bunu pratik olarak halledersiniz. Şu anki sorunuz çok ayrıntılı ve insanların bu konuda bir şey yapmasını engelleyebilir. Teknik bölüm için birkaç site var: ats.ucla.edu/stat/R/seminars/Repeated_Measures/… ve personality-project.org/R/r.anova.html
Roman Luštrik 16:30 '

4
Sıralama testlerine çok iyi bir alternatif, permütasyon ANOVA'sını kullanmaktır ( uvm.edu/~dhowell/StatPages/More_Stuff/Permutation%20Anova/… ). Bu yaklaşımla, hetero-esneklik önemli değil. İnsanların sıralama testlerini kullanmasının ana nedeni, hesaplama açısından çok daha kolay olmalarıdır. Bu artık önemli değil. R ve verimli bilgisayarlarımız var ...
Mikko

1
Cevap nedir? Yanıtın normal dağılım olup olmadığını gerçekten umursamadığımızı unutmayın - analizdeki artıkların benzer varyanslarla yaklaşık normal olup olmadığını kontrol etmek istiyoruz. Ancak aslında bir tedavi etkisi varsa, cevabın normal olarak marjinal olarak dağılmasını beklemezdik.
Dason

1
Sadece kaydettiğiniz verileri anladım ve iki yollu anova'yı çalıştırdım ve artıklar üzerinde bir shapiro wilks testi yaptım ve bu 0.5022'lik bir p değeri verdi, bu da çok fazla endişe yaratmıyor.
Dason

1
@Sabine normu genellikle ANOVA'ya gelince büyük bir endişe kaynağı değildir, ancak örneklerinizin aynı popülasyondan gelmesi gerekir, bu da varyans eşitliğinin en önemli, elbette randomizasyondan sonraki varsayım olduğu anlamına gelir. Varyanslarınız yaklaşık olarak eşit değilse bir şeyler yapmalısınız (deneyin ?bartlett.test)
Mikko

Yanıtlar:


12

Bu, bir yanıttan çok bir yorum olabilir, ancak bir yorum olarak uymaz. Burada size yardımcı olabiliriz, ancak bu birkaç tekrarlama gerektirebilir; daha fazla bilgiye ihtiyacımız var.

İlk olarak, yanıt değişkeniniz nedir?

İkincisi, cevabınızın marjinal dağılımının normal olması gerekmediğine dikkat edin , daha ziyade modele (yani artıklara) bağlı dağılım olmalıdır - artıklarınızı incelediğiniz açık değildir. Ayrıca, normallik doğrusal bir modelin (örneğin bir ANOVA) en az önemli varsayımıdır; artıkların tamamen normal olması gerekmeyebilir. Normallik testleri genellikle faydalı değildir ( CV hakkında bir tartışma için buraya bakın ), araziler çok daha iyidir. Artıklarınızın bir qq-komplo denemek istiyorum. Gelen Rbu ile yapılır qqnorm(), ya da denemek qqPlot()içindecarpaketlemek. Ayrıca, artıkların normal olmadığı şekilde düşünmeye değer: özellikle çarpıklıklar gruplar arasında alternatif yönler varsa, çarpıklık fazla basıklıktan daha zararlıdır.

Gerçekten endişelenmeye değer bir sorun varsa, dönüşüm iyi bir stratejidir. Ham verilerinizin günlüğünü almak bir seçenektir, ancak tek seçenek değildir. Merkezleme ve standardizasyonun bu anlamda gerçekten dönüşüm olmadığını unutmayın. Box & Cox güç dönüşümleri ailesine bakmak istiyorsunuz . Ve unutmayın, sonuç mükemmel bir şekilde normal olmak zorunda değil, sadece yeterince iyi.

Daha sonra, mükemmel derecede iyi olmasına rağmen, varyans homojenliği için ki kare testi kullanımınızı takip etmiyorum. Ben kullandığınız öneririm Levene Testi (kullanımını leveneTest()içinde car). Heterojenite normallikten daha zararlıdır, ancak heterojenite küçükse ANOVA oldukça sağlamdır. Standart bir kural, en büyük grup varyansının güçlü problemler olmaksızın en küçük dört katına kadar olabileceğidir. İyi bir dönüşüm heterojenliği de ele almalıdır.

Bu stratejiler yetersizse, muhtemelen parametrik olmayan bir yaklaşımı denemeden önce güçlü regresyonu keşfederdim .

Sorunuzu düzenleyebilir ve verileriniz hakkında daha fazla şey söyleyebilirseniz, daha spesifik bilgiler sağlamak için bunu güncelleyebilirim.


Benim ikinci noktam, son zamanlarda burada bu sorunu daha açık hale getirmeye yardımcı olabilecek bir cevap yazdım . Okumak isteyebilirsiniz.
gung - Monica'yı eski durumuna döndürün

8

( not: bu yanıt soru taşınmadan ve SO'dan birleştirilmeden önce yayınlanmıştır, bu nedenle burada ele alınmayan soruya ayrıntılar eklenmiştir. Birçoğu yorumlarda ve cevapta @gung tarafından ele alınmıştır).

Birçok farklı yaklaşım vardır ve bu soru bu sitenin başka bir yerinde ele alınmıştır. Sitedeki diğer sorulara ve bazı referanslara bağlantılar içeren bazı yaklaşımların listesi:

  1. Box-Cox güç dönüşümü , doğrusal olmayan ölçekte kalıntıları normalleştirebilir
  2. Sıralanan verilerdeki ANOVA çok kolaydır, ancak gücü azalır ve yorumlanması zordur. Bkz Conover ve iman, (1981)
  3. Orantılı Oranlar sıralı lojistik modeli
  4. Permütasyon Testleri ( Anderson ve ter Braak 2003 ), Anderson tarafından uygulanan ve R Vegan paketindekiadonis fonksiyon olarak tanımlanmıştır
  5. Bootstrapping
  6. Hiyerarşik Bayesci modelleme ( Gelman 2005 )

+1, bu, keşfedilecek bazı seçeneklerin güzel bir listesidir.
gung - Monica'yı eski durumuna döndürün

Aşağıda, başlangıçta Yığın Taşması ile değiştirilen ve taşıma sırasında bir şekilde kaybedilen yorumlar yer almaktadır. Bkz. Meta.stats.stackexchange.com/q/1157/930 .
chl

Anderson ve Braak'ın fikirlerinin uygulanıp uygulanmadığını biliyor musunuz? - Henrik 16 Mayıs, 15:15
chl

@Henrik R fonksiyonu aracılığıyla kullanılabilir FORTRAN Anderson 2005'te bir uygulama olduğu adonisiçinde VeganR paketinin / David 16:20 Mayıs 16
kloroferoksi

Teşekkürler. adonistek değişkenli dvs ile bile çalışıyor gibi görünüyor. Ancak, Terms added sequentially (first to last)her çalıştırırken iletiyi aldığımda kareler tip 1 toplamları gibi bir şey kullandığını hissediyorum . Kullandınız mı veya herhangi bir şey söyleyebilir misiniz? - Henrik 16 Mayıs 17:03
chl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.