Bir seviye ile diğerlerinin ortalaması arasındaki fark için bir kontrast matrisi (R cinsinden) nasıl belirtilir?


9

benzeyen bir regresyon modelim var:

Y=β0+β1X1+β2X2+β3X3+β12X1X2+β13X1X3+β123X1X2X3

... veya R gösterimi ile: y ~ x1 + x2 + x3 + x1:x2 + x1:x3 + x1:x2:x3

Diyelim ki ve kategorik değişkenler ve sayısal. Karmaşık üç seviye ve standart kontrastlar yerine, test etmek gerekir:X1X2X3X1X1a,X1b,X1c

  • seviyesinin kesişmesinin ve seviyelerinin ortalama kesişiminden önemli ölçüde farklı olup olmadığı .X1aX1bX1c
  • yanıtının seviyesi ile ve seviyelerinin ortalaması arasında önemli ölçüde farklı olup olmadığı .X2X1aX1bX1c
  • eğiminin seviyesi ile ve seviyelerinin ortalaması arasında önemli ölçüde farklı olup olmadığı .X3X1aX1bX1c

Bu yazıya dayanarak istediğim matris ...

 2
-1
-1

Ben de öyle contrasts(mydata$x1)<-t(ginv(cbind(2,-1,-1))). tahmini değişir, ancak diğerleri de değişir. ve grubu ortalamalarının ( ve referans seviyedeyken) öngörülen değerlerini bu düzeylerde değerinin iki katından çıkararak yeni tahminini yeniden oluşturabilirim . Ancak benzer şekilde diğer katsayıları türetemediğim sürece kontrast matrisimi doğru bir şekilde belirlediğime güvenemiyorum.β1beta1X1bX1cX3=0X2X1a

Başımın hücre araçları ve kontrastlar arasındaki ilişkinin etrafına nasıl sarılacağı konusunda herhangi bir tavsiyesi var mı? Teşekkürler. Bu tür kontrast için standart bir isim var mı?


Aha! Glen_b'nin cevabında yayınlanan bağlantıya göre , sonuçta , istediğiniz herhangi bir grup aracı karşılaştırmasını aşağıdaki gibi bir R tarzı kontrast özelliğine dönüştürebilirsiniz:

  1. Kare bir matris yapın. Satırlar, faktörünüzün düzeylerini ve sütunlar kontrastları temsil eder. Modele, kesişmenin neyi temsil etmesi gerektiğini söyleyen ilk hariç.
  2. Kesişiminizin büyük ortalama olmasını istiyorsanız, ilk sütunu aynı sıfır olmayan değerle doldurun, ne olduğu önemli değil. Kesmenin seviye araçlarından biri olmasını istiyorsanız, bu satıra bir sayı koyun ve gerisini sıfırlarla doldurun. Kesmenin birkaç seviyenin ortalaması olmasını istiyorsanız, bu satırlara sayılar ve geri kalanlara sıfırlar koyun. Ağırlıklı bir ortalama olmasını istiyorsanız, farklı sayılar kullanın, aksi takdirde aynı sayıyı kullanın. Kesişme sütununa negatif değerler bile koyabilirsiniz ve bu muhtemelen bir şey ifade eder, ancak diğer kontrastları tamamen değiştirir, bu yüzden bunun ne için olduğu hakkında hiçbir fikrim yok
  3. Diğer sütunlara kıyasla, hangi seviyeleri istediğinizi gösteren pozitif ve negatif değerlerle diğer sütunları doldurun. Neden sıfıra toplamanın önemli olduğunu unuttum, ancak sütunları sıfıra eşitleyecek şekilde değerleri ayarlayın.
  4. t()İşlevi kullanarak matrisi aktarın .
  5. Kullanım ginv()gelen MASSpaket veya solve()aktarılmamıştır matrisin tersini almak için.
  6. İlk sütunu bırakın, örn mycontrast<-mycontrast[,-1]. Artık apx p-1 matrisiniz var, ancak kesişiminiz için girdiğiniz bilgiler 5. adımda bir bütün olarak matriste kodlandı.
  7. Özet çıktısındaki etiketlerin lm()ve diğerlerinin varsayılan çıktısından daha hoş bir şekilde okunmasını istiyorsanız, matrisinizin sütunlarını buna göre adlandırın. Ancak kesme her zaman otomatik olarak adlandırılır (Intercept).
  8. Matrisinizi söz konusu faktör için yeni kontrast haline getirin, ör. contrasts(mydata$myfactor)<-mymatrix
  9. Çalışma lm()(ve formüller kullanmak muhtemelen birçok diğer fonksiyonlar) yüke sahip olmayan standart R normal olarak glht, doByya da contrasts.

Glen_b, teşekkür ederim ve teşekkür ederim UCLA İstatistiksel Danışmanlık Grubu. Uygulamalı istatistikler prof profilim bu konuyu birkaç gün el ele geçirdi ve hala kendi kontrast matrisimi nasıl yazacağımı bilmiyordum. Ve şimdi, bir saat okuma ve R ile oynama ve sonunda anladığımı düşünüyorum. Sanırım bunun yerine UCLA'ya başvurmalıydım. Veya StackExchange Üniversitesi.

Yanıtlar:


5

Birinin sonraki tüm değişkenlerin ortalamasıyla karşılaştırılması (ölçek dışında) Helmert kodlaması veya Helmert kontrastları olarak adlandırılır . Verdiğiniz biri ilk kontrast, diğeri ise(0,1,1).

R'nin helmert kodlaması dediği, bu 'ters Helmert' olarak adlandırılır. Değişken düzenindeki bir değişikliğe denktirler.


Eşdeğer "değişken düzende bir değişikliğe kadar", "düzeylerin sırasının tersine çevrilmesi" gerekir mi? Bu nedenle, SAS / SPSS tipi helmert'ı elde etmek için (kalan düzeylerin ortalamasına kıyasla), ilgili faktörün düzeylerinin sırasını tersine çevirmek veya her sütunun rev () ardından matrisin her satırını rev () yapmak gerekir. tarafından döndü contra.helmert?
tim

@tim "değişken düzende değişiklik", "değişken düzende herhangi bir değişiklik " anlamına gelmez , ancak kelimenin tam anlamıyla Değişken düzende bir değişiklik (özellikle bir tane).
Glen_b
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.