benzeyen bir regresyon modelim var:
... 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:
- seviyesinin kesişmesinin ve seviyelerinin ortalama kesişiminden önemli ölçüde farklı olup olmadığı .
- yanıtının seviyesi ile ve seviyelerinin ortalaması arasında önemli ölçüde farklı olup olmadığı .
- eğiminin seviyesi ile ve seviyelerinin ortalaması arasında önemli ölçüde farklı olup olmadığı .
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.
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:
- 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ç.
- 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
- 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.
t()
İşlevi kullanarak matrisi aktarın .- Kullanım
ginv()
gelenMASS
paket veyasolve()
aktarılmamıştır matrisin tersini almak için. - İ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ı. - Ö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)
. - Matrisinizi söz konusu faktör için yeni kontrast haline getirin, ör.
contrasts(mydata$myfactor)<-mymatrix
- Çalışma
lm()
(ve formüller kullanmak muhtemelen birçok diğer fonksiyonlar) yüke sahip olmayan standart R normal olarakglht
,doBy
ya dacontrasts
.
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.
contra.helmert
?