Karışık efektler modeli: Rasgele varyans bileşenini bir gruplama değişkeninin seviyeleri arasında karşılaştırın


14

Her biri 20 kez , 10'u bir durumda 10'u diğerinde 10 yanıt veren katılımcım olduğunu varsayalım . Her koşulda karşılaştıran doğrusal karışık efektler modeline uyuyorum . İşte paketi kullanarak bu durumu simüle eden tekrarlanabilir bir örnek :NYYlme4R

library(lme4)
fml <- "~ condition + (condition | participant_id)"
d <- expand.grid(participant_id=1:40, trial_num=1:10)
d <- rbind(cbind(d, condition="control"), cbind(d, condition="experimental"))

set.seed(23432)
d <- cbind(d, simulate(formula(fml), 
                       newparams=list(beta=c(0, .5), 
                                      theta=c(.5, 0, 0), 
                                      sigma=1), 
                       family=gaussian, 
                       newdata=d))

m <- lmer(paste("sim_1 ", fml), data=d)
summary(m)

Model miki sabit etki (koşul için bir kesişim ve eğim) ve üç rastgele etki (bir katılımcıya göre rastgele kesişme, durum için bir katılımcı tarafından rastgele eğim ve bir kesişim-eğim korelasyonu) verir.

Kontrol ve deney koşullarında ayrı ayrı kırmızı ilecondition vurgulanan varyans bileşenini hesaplamak , sonra da bileşenlerin boyutundaki farkın test edilip edilmediğini test etmek için katılımcıya ait rastgele kesişme varyansının boyutunu istatistiksel olarak karşılaştırmak istiyorum sıfırdan farklıdır). Bunu nasıl yaparım (tercihen R cinsinden)?

resim açıklamasını buraya girin


BONUS

Modelin biraz daha karmaşık olduğunu varsayalım: Katılımcıların her biri, her birinde 20 kez, biri 10'da ve diğeri 10'da 10 uyaran yaşıyor. Bu nedenle, iki set çapraz rastgele efekt vardır: katılımcı için rastgele etkiler ve uyaran için rastgele etkiler. İşte tekrarlanabilir bir örnek:

library(lme4)
fml <- "~ condition + (condition | participant_id) + (condition | stimulus_id)"
d <- expand.grid(participant_id=1:40, stimulus_id=1:10, trial_num=1:10)
d <- rbind(cbind(d, condition="control"), cbind(d, condition="experimental"))

set.seed(23432)
d <- cbind(d, simulate(formula(fml), 
                       newparams=list(beta=c(0, .5), 
                                      theta=c(.5, 0, 0, .5, 0, 0), 
                                      sigma=1), 
                       family=gaussian, 
                       newdata=d))

m <- lmer(paste("sim_1 ", fml), data=d)
summary(m)

Tarafından tanımlanan gruplar arasında rastgele katılımcı katılımcı kesişme sapmasının büyüklüğünü istatistiksel olarak karşılaştırmak istiyorum condition. Bunu nasıl yaparım ve süreç yukarıda açıklanan durumdan farklı mıdır?


DÜZENLE

Aradığım şey hakkında biraz daha spesifik olmak gerekirse, bilmek istiyorum:

  1. Soru, "her bir koşuldaki koşullu ortalama yanıtlar mı (yani, her bir koşuldaki rastgele kesişme değerleri), örnekleme hatası nedeniyle bekleyebileceğimizden önemli ölçüde farklı mıdır?" İyi tanımlanmış bir sorudur (yani, bu soru hatta teorik olarak cevaplanabilir)? Değilse, neden olmasın?
  2. (1) sorusunun cevabı evet ise, nasıl cevap verebilirim? Bir Ruygulamayı tercih ederim , ancak lme4pakete bağlı değilim - örneğin, OpenMxpaketin çok gruplu ve çok düzeyli analizleri ( https: //openmx.ssri.psu) barındırma yeteneği var gibi görünüyor . edu / openmx-features ) ve bu bir SEM çerçevesinde yanıtlanması gereken bir tür soru gibi görünüyor.

1
@MarkWhite, yorumlarınıza yanıt olarak soruyu güncelledim. Demek istediğim, katılımcı koşulların kontrol koşullarında cevap verirken vs deney koşulunda cevap verirken standart sapmasını karşılaştırmak istiyorum. Bunu istatistiksel olarak yapmak istiyorum, yani, kesişimin standart sapmasındaki farkın 0'dan farklı olup olmadığını test etmek istiyorum.
Patrick S. Forscher

2
Bir cevap yazdım, ama üzerinde uyuyacağım çünkü çok yararlı olduğundan emin değilim. Soru, kimsenin istediğini yapabileceğini sanmıyorum. Kesişimin rastgele etkisi, katılımcıların kontrol koşullarında oldukları zamanki varyanstır. Dolayısıyla, deneysel durumdaki gözlemler için bunların varyansına bakılamaz. Kesişmeler kişi düzeyinde tanımlanır ve durum gözlem seviyesindedir. Koşullar arasındaki varyansları karşılaştırmaya çalışıyorsanız, koşullu olarak heterossedastik modelleri düşünürüm.
Mark White

2
Bir dizi düzeltme üzerinde çalışıyorum ve uyaran setlerine yanıt veren katılımcıların olduğu bir makale için yeniden gönderiyorum. Her katılımcı birden fazla koşula maruz kalır ve her bir uyarıcı birden fazla koşulda bir yanıt alır - başka bir deyişle, çalışmam "BONUS" açıklamamda tanımladığım düzene öykünür. Grafiklerimden birinde, ortalama katılımcı yanıtının koşullardan birinde diğerlerinden daha fazla değişkenliğe sahip olduğu anlaşılıyor. Bir inceleme benden bunun doğru olup olmadığını test etmemi istedi.
Patrick S. Forscher

2
Bir gruplama değişkeninin her seviyesi için farklı varyans parametrelerine sahip bir lme4 modelinin nasıl ayarlanacağını öğrenmek için lütfen stats.stackexchange.com/questions/322213 adresine bakın . İki varyans parametresinin eşit olup olmadığı konusunda hipotez testi nasıl yapılacağından emin değilim; kişisel olarak, her zaman bir güven aralığı elde etmek için konular ve uyaranlar üzerine önyükleme yapmayı veya belki bir çeşit permütasyon benzeri (yeniden örnekleme tabanlı) hipotez testi kurmayı tercih ederim.
amoeba, Reinstate Monica

3
@MarkWhite'ın "rastgele kesişme varyansları birbirinden önemli ölçüde farklı ..." sorusunun en iyi net olmadığı ve en saçma olduğu için katılıyorum, çünkü kesişim mutlaka belirli bir gruptaki Y değerlerine ( grubunun değeri 0 olarak atanır), bu nedenle, kesin olarak konuşan gruplar arasında "engelleri" karşılaştırmak mantıklı değildir. Bence, sorunuzu anladığım gibi yeniden ifade etmenin daha iyi bir yolu şöyle olacaktır: "katılımcıların A koşuluna karşı B koşulunun koşullu ortalama cevaplarının sapmaları eşit değil mi?"
Jake Westfall

Yanıtlar:


6

Bu hipotezi test etmenin birden fazla yolu var. Örneğin, @ amoeba tarafından özetlenen prosedür çalışmalıdır. Ama bana öyle geliyor ki, bunu test etmenin en basit, en uygun yolu, iki iç içe modeli karşılaştırmak için iyi bir eski olabilirlik oranı testi kullanmaktır. Bu yaklaşımın potansiyel olarak zor olan tek kısmı, tek bir parametrenin bırakılması, eşit olmayan varyansların istenen hipotezini temiz bir şekilde test etmek için model çiftinin nasıl ayarlanacağını bilmektir. Aşağıda bunu nasıl yapacağımı açıklıyorum.

Kısa cevap

Bağımsız değişkeniniz için kontrast (toplam sıfıra) kodlamasına geçin ve tam modelinizi rastgele eğimler ve rastgele kesişimler arasındaki korelasyonu 0 olmaya zorlayan bir modelle karşılaştırarak bir olasılık oranı testi yapın:

# switch to numeric (not factor) contrast codes
d$contrast <- 2*(d$condition == 'experimental') - 1

# reduced model without correlation parameter
mod1 <- lmer(sim_1 ~ contrast + (contrast || participant_id), data=d)

# full model with correlation parameter
mod2 <- lmer(sim_1 ~ contrast + (contrast | participant_id), data=d)

# likelihood ratio test
anova(mod1, mod2)

Görsel açıklama / sezgi

Bu cevabın anlamlı olması için, korelasyon parametresinin farklı değerlerinin gözlemlenen veriler için ne anlama geldiğini sezgisel bir şekilde anlamanız gerekir. Özneye özgü (rasgele değişen) regresyon çizgilerini düşünün. Temel olarak, korelasyon parametresi, katılımcı regresyon çizgilerinin noktasına göre "sağa doğru fanı" (pozitif korelasyon) veya "sola doğru fanı" (negatif korelasyon) olup olmadığını kontrol eder ; burada X, kontrast kodlu bağımsızınızdır değişken. Bunların her ikisi de katılımcıların koşullu ortalama yanıtlarında eşit olmayan bir sapma anlamına gelmektedir. Bu aşağıda gösterilmiştir:X=0

rastgele korelasyon

Bu grafikte, her koşulda her bir özne için sahip olduğumuz çoklu gözlemleri görmezden geliriz ve bunun yerine, her bir öznenin iki rastgele aracını, bunları birleştiren bir çizgi ile, öznenin rastgele eğimini temsil eden şekilde çizeriz. (Bu, OP'de yayınlanan verilerden değil, 10 varsayımsal öznenin verilerinden oluşur.)

Solda, güçlü bir negatif eğim-kesme noktası korelasyonu bulunan sütunda, regresyon çizgileri noktasına göre sola doğru fanı sorar . Eğer, Şekil açıkça görüldüğü gibi durumda deneklerin rastgele aracı daha büyük bir varyansa bu potansiyel durumda daha .X=0X = - 1 X = 1X=1X=1

Sağdaki sütun bu desenin ters, ayna görüntüsünü gösterir. Bu durumda, deneklerin rastgele araçlarında koşulunda koşulundan daha fazla farklılık vardır .X=1X=1

Ortadaki sütun, rastgele eğimler ve rastgele kesişmeler ilişkisiz olduğunda ne olacağını gösterir. Bu, regresyon çizgilerinin noktasına göre tam olarak sağa doğru fanı kadar sola doğru yayıldığı anlamına gelir . Bu, deneklerin araçlarının iki koşuldaki varyanslarının eşit olduğu anlamına gelir.X=0

Biz bir toplamı sıfıra kontrast kodlama şemasını, kullandım burada önemli olduğunu değil kukla kodları (olduğunu, en gruplarını ayarı değil vs ). Öyle sadece biz sapmaları eşit olduğu bu ilişki olduğunu kontrast kodlama plan çerçevesinde ancak ve ancak eğim-kesişim korelasyon 0. ise sürüme denemeden Aşağıdaki şekilde sezgi olun:X=0X=1

resim açıklamasını buraya girin

Bu şeklin gösterdiği, her iki sütundaki aynı veri kümesidir, ancak bağımsız değişken iki farklı şekilde kodlanmıştır. Soldaki sütunda kontrast kodları kullanıyoruz - bu tam olarak ilk şekilde görülen durum. Sağdaki sütunda kukla kodlar kullanıyoruz. Bu, kesişmelerin anlamını değiştirir - şimdi kesişmeler deneklerin kontrol grubunda öngörülen yanıtlarını temsil eder. Alt panel, bu değişikliğin sonucunu, yani veriler derin anlamda aynı olsa ve koşullu varyanslar her iki durumda da eşit olsa da, eğim-kesme korelasyonunun artık 0'a yakın bir yerde olmadığını göstermektedir. Bu hala çok mantıklı görünmüyorsa, bu fenomen hakkında daha fazla konuştuğum önceki cevabımı incelemek yardımcı olabilir.

Kanıt

Let olmak inci yanıtı koşul altında inci konu . (Burada sadece iki var, bu yüzden sadece 1 veya 2'dir.) Sonra karışık model burada deneklerin rastgele kesişmeleridir ve varyans , konuların rastgele eğimidir ve varyans , gözlem düzeyi hata terimidir ve .yijkjikk

yijk=αi+βixk+eijk,
αiσα2βiσβ2eijkcov(αi,βi)=σαβ

Biz göstermek isteyen bu

var(αi+βix1)=var(αi+βix2)σαβ=0.

Bu çıkarımın sol tarafından başlayarak,

var(αi+βix1)=var(αi+βix2)σα2+x12σβ2+2x1σαβ=σα2+x22σβ2+2x2σαβσβ2(x12x22)+2σαβ(x1x2)=0.

Toplam-sıfır kontrast kodları, ve olduğunu ima eder . Ardından, yukarıdakilerin son satırını , bunu kanıtlamak istedik. (Çıkarımın diğer yönünü belirlemek için, aynı adımları tersine uygulayabiliriz.)x1+x2=0x12=x22=x2

σβ2(x2x2)+2σαβ(x1+x1)=0σαβ=0,

Belirtildiği gibi, bu, bu Şekil , bağımsız değişken kontrast (sıfıra toplamı) kodlanmış ise , o zaman, her bir durumda, deneklerin rastgele aracının sapmalar eşittir, ancak ve ancak rastgele pistleri ve rasgele intercepts arasındaki korelasyon 0 ise anahtar tüm alınacak nokta, olan sıfır hipotezinin test edilmesinin OP tarafından tanımlanan eşit varyansların sıfır hipotezini test edeceğidir.σαβ=0

Bağımsız değişken, örneğin kukla kodlanmışsa, bu çalışmaz. Özellikle, yukarıdaki denklemlere ve değerlerini , x1=0x2=1

var(αi)=var(αi+βi)σαβ=σβ22.


Bu zaten müthiş bir cevap, teşekkürler! Sanırım bu sorumu yanıtlamaya en yakın geliyor, bu yüzden kabul ediyorum ve sana lütuf veriyorum (süresi dolmak üzere), ama bunun için zaman ve enerjin varsa cebirsel bir gerekçe görmek isterim.
Patrick S. Forscher

1
@ PatrickS.Forscher Yeni bir kanıt ekledim
Jake Westfall

1
@JakeWestfall Oyuncak örneğimde denekler iki koşulda yanıt vermişlerdir. Bir konu tepkisi varsa koşulu A'da ve koşulu B'de kullandığımız zaman, o zaman ne bu konu için rastgele kesişim BLUP değeri olurdu modeli? Bence sadece 0 olabilir. Eğer tüm denekler sıfıra eşit BLUP'lar varsa, o zaman rastgele kesişme varyansı da sıfırdır. Yani bu model bu oyuncak örneğine hiç uymuyor. Aksine, yukarıda tanımlanan modelin her bir özne için iki BLUP'u olacaktır ve bunlar kolayca ve . Burada bir şey mi eksik? aa(1 | subject)dummyaa
amip diyor Reinstate Monica

1
Görüyorum ki haklısın @amoeba, açıkladığın için teşekkürler. Cevabımı buna göre düzenleyeceğim.
Jake Westfall

1
@amoeba BLUP'ların modelde bir korelasyon parametresi olmadan bile korelasyonlu çıkabilmeleri doğru. Ancak, test amaçları için prosedürün hala amaçlandığı gibi çalıştığına inanıyorum (örneğin, nominal tip 1 hata oranına sahiptir) çünkü sadece korelasyon parametresine sahip model bunu olasılık fonksiyonuna dahil edebilir ve böylece bunun için "kredi alır" . Yani, BLUP'lar daha basit modelde ilişkilendirilmiş olsalar bile, yine de toplam olasılık söz konusu olduğunda etkiler ilişkisiz gibi görünüyor, bu yüzden LR testi işe yarayacak. Sanırım :)
Jake Westfall

6

Lme4 paketinin fonksiyona sahip olduğu tahmini güven aralıkları yardımıyla model parametrelerinin önemini test edebilirsiniz confint.merMod.

önyükleme (bkz. örneğin , önyüklemeden gelen güven aralığı )

> confint(m, method="boot", nsim=500, oldNames= FALSE)
Computing bootstrap confidence intervals ...
                                                           2.5 %     97.5 %
sd_(Intercept)|participant_id                         0.32764600 0.64763277
cor_conditionexperimental.(Intercept)|participant_id -1.00000000 1.00000000
sd_conditionexperimental|participant_id               0.02249989 0.46871800
sigma                                                 0.97933979 1.08314696
(Intercept)                                          -0.29669088 0.06169473
conditionexperimental                                 0.26539992 0.60940435 

olabilirlik profili (bkz. örneğin profil olasılığı ile güven aralıkları arasındaki ilişki nedir? )

> confint(m, method="profile", oldNames= FALSE)
Computing profile confidence intervals ...
                                                          2.5 %     97.5 %
sd_(Intercept)|participant_id                         0.3490878 0.66714551
cor_conditionexperimental.(Intercept)|participant_id -1.0000000 1.00000000
sd_conditionexperimental|participant_id               0.0000000 0.49076950
sigma                                                 0.9759407 1.08217870
(Intercept)                                          -0.2999380 0.07194055
conditionexperimental                                 0.2707319 0.60727448

  • Bir yöntem de vardır, 'Wald'ancak bu yalnızca sabit efektlere uygulanır.

  • Ayrıca lmerTestadlandırılan pakette bir tür anova (olasılık oranı) ifade türü vardır ranova. Ama bundan anlam ifade edemiyorum. Boş hipotez (rastgele etki için sıfır varyans) doğrudur log benzeri, farklılıkların dağılımı değil ki-kare (katılımcılar ve deneme sayısı mantıklı olabilir olabilirlik oran testi yüksektir muhtemelen zaman) dağıttı.


Belirli gruplarda varyans

Belirli gruplarda varyans sonuçları elde etmek için yeniden parametrelendirebilirsiniz

# different model with alternative parameterization (and also correlation taken out) 
fml1 <- "~ condition + (0 + control + experimental || participant_id) "

Veri çerçevesine iki sütun eklediğimizde (bu yalnızca ilişkili olmayan 'kontrol' ve 'deneysel' değerlendirmek istiyorsanız gereklidir; işlev (0 + condition || participant_id), ilişkisiz olmayan durumdaki farklı faktörlerin değerlendirilmesine yol açmaz)

#adding extra columns for control and experimental
d <- cbind(d,as.numeric(d$condition=='control'))
d <- cbind(d,1-as.numeric(d$condition=='control'))
names(d)[c(4,5)] <- c("control","experimental")

Şimdi lmerfarklı gruplar için varyans verecek

> m <- lmer(paste("sim_1 ", fml1), data=d)
> m
Linear mixed model fit by REML ['lmerModLmerTest']
Formula: paste("sim_1 ", fml1)
   Data: d
REML criterion at convergence: 2408.186
Random effects:
 Groups           Name         Std.Dev.
 participant_id   control      0.4963  
 participant_id.1 experimental 0.4554  
 Residual                      1.0268  
Number of obs: 800, groups:  participant_id, 40
Fixed Effects:
          (Intercept)  conditionexperimental  
               -0.114                  0.439 

Ve profil yöntemlerini bunlara uygulayabilirsiniz. Mesela artık çatışma kontrol ve zahmetli varyans için güven aralıkları vermektedir.

> confint(m, method="profile", oldNames= FALSE)
Computing profile confidence intervals ...
                                    2.5 %     97.5 %
sd_control|participant_id       0.3490873 0.66714568
sd_experimental|participant_id  0.3106425 0.61975534
sigma                           0.9759407 1.08217872
(Intercept)                    -0.2999382 0.07194076
conditionexperimental           0.1865125 0.69149396

Basitlik

Olabilirlik işlevini daha gelişmiş karşılaştırmalar elde etmek için kullanabilirsiniz, ancak yol boyunca yaklaşık tahminler yapmanın birçok yolu vardır (örneğin, muhafazakar bir anova / lrt testi yapabilirsiniz, ancak istediğiniz şey bu mu?).

Bu noktada, varyanslar arasındaki bu (çok yaygın olmayan) karşılaştırmanın gerçekte ne olduğunu merak etmemi sağlıyor. Çok sofistike olmaya başlayıp başlamadığını merak ediyorum. Neden fark varyanslar yerine arasındaki oran (klasik F-dağılımı ile ilgilidir) değişkenler arasındaki? Neden sadece güven aralıklarını bildirmiyorsunuz? İstatistiksel konu ve aslında ana konu olan istatistiksel değerlendirmelerle gereksiz ve gevşek bir dokunuş olabilecek gelişmiş yollara girmeden önce bir adım geriye gitmeli ve anlatması gereken verileri ve hikayeyi açıklığa kavuşturmalıyız.

Birinin sadece güven aralıklarını belirtmekten çok daha fazlasını yapması gerekip gerekmediğini merak ediyorum (aslında bir hipotez testinden çok daha fazlasını söyleyebilir. Hipotez testi evet cevap vermez, ancak popülasyonun gerçek yayılımı hakkında bilgi vermez. önemli bir fark olarak bildirilmek üzere küçük bir fark yaratmalıdır). Konuyu daha derinlemesine incelemek (herhangi bir amaç için), sanırım, matematiksel makineyi uygun basitleştirmeleri yapmak için (kesin bir hesaplama mümkün olduğunda veya ne zaman bile olsa) yönlendirmek için daha spesifik (dar olarak tanımlanmış) bir araştırma sorusu gerektirir. simülasyonlar / önyükleme ile yakınlaştırılabilir, o zaman bile bazı ayarlarda hala uygun bir yorum gerektirir). (Özel) bir soruyu (olasılık tabloları hakkında) tam olarak çözmek için Fisher'in kesin testiyle karşılaştırın,

Basit örnek

Mümkün olan basitliğin bir örneğini sağlamak için, bireysel ortalama yanıtlardaki varyansları karşılaştırarak yapılan ve karşılaştırılarak yapılan bir F testine dayanan iki grup varyansı arasındaki farkın basit bir değerlendirmesiyle aşağıda bir simülasyonu (simülasyonlarla) göstereceğim. karışık modelden türetilmiş varyanslar.

F testi için iki gruptaki bireylerin değerlerinin (ortalamalarının) varyansını karşılaştırıyoruz. Bu araçlar, koşulunun şu şekilde dağıtılması içindir:j

Y^i,jN(μj,σj2+σϵ210)

ölçüm hatası varyansı tüm bireyler ve koşullar için eşitse ve iki koşulun varyansı ( ) varyans oranına eşitse koşul 1'deki 40 araç için ve koşul 2'deki 40 araç için varyans, pay ve payda için serbestlik 39 ve 39 dereceleriyle F-dağılımına göre dağıtılır.σ j j = { 1 , 2 }σϵσjj={1,2}

Bunu, aşağıdaki grafiğin simülasyonunda görebilirsiniz; burada örnek üzerinden dayalı F-skoru, modelden tahmin edilen varyanslara (veya kare hatalarının toplamlarına) göre bir F-skoru hesaplanır.

doğruluktaki örnek fark

Görüntü ve kullanılarak 10.000 tekrarla modellenmiştir .σ ϵ = 1σj=1=σj=2=0.5σϵ=1

Bazı farklar olduğunu görebilirsiniz. Bu fark, karma efektler doğrusal modelinin, kare hata toplamlarını (rastgele etki için) farklı bir şekilde elde etmesinden kaynaklanabilir. Ve bu kare hata terimleri (artık) basit bir Chi-kare dağılımı olarak iyi ifade edilmemekte, ancak yine de yakından ilişkilidir ve yakınlaştırılabilir.

Sıfır hipotezi doğru olduğunda (küçük) farkın yanı sıra, sıfır hipotezinin doğru olmadığı durum daha ilginçtir. Özellikle . ortalamalarının dağılımı sadece bu değil aynı zamanda ölçüm hatasına de bağlıdır . Karışık efektler modelinde bu ikinci hata 'filtrelenir' ve rastgele efektler model sapmalarına dayanan F-skorunun daha yüksek bir güce sahip olması beklenir., Y i , j σ j σ sσj=1σj=2Y^i,jσjσϵ

güç farkı örneği

Görüntü , ve kullanılarak 10.000 tekrar ile modellenmiştir .σ j = 2 = 0,25 σ ϵ = 1σj=1=0.5σj=2=0.25σϵ=1

Yani araçlara dayanan model çok kesindir. Ama daha az güçlü. Bu, doğru stratejinin neye / neye ihtiyacınız olduğuna bağlı olduğunu gösterir.

Yukarıdaki örnekte, sağ kuyruk sınırlarını 2.1 ve 3.1 olarak ayarladığınızda, eşit varyans durumunda (10000 vakadan 103 ve 104) nüfusun yaklaşık% 1'ini elde edersiniz, ancak eşit olmayan varyans durumunda bu sınırlar farklılık gösterir çok (5334 ve 6716 dava veren)

kod:

set.seed(23432)

# different model with alternative parameterization (and also correlation taken out)
fml1 <- "~ condition + (0 + control + experimental || participant_id) "
fml <- "~ condition + (condition | participant_id)"

n <- 10000

theta_m <- matrix(rep(0,n*2),n)
theta_f <- matrix(rep(0,n*2),n)

# initial data frame later changed into d by adding a sixth sim_1 column
ds <- expand.grid(participant_id=1:40, trial_num=1:10)
ds <- rbind(cbind(ds, condition="control"), cbind(ds, condition="experimental"))
  #adding extra columns for control and experimental
  ds <- cbind(ds,as.numeric(ds$condition=='control'))
  ds <- cbind(ds,1-as.numeric(ds$condition=='control'))
  names(ds)[c(4,5)] <- c("control","experimental")

# defining variances for the population of individual means
stdevs <- c(0.5,0.5) # c(control,experimental)

pb <- txtProgressBar(title = "progress bar", min = 0,
                    max = n, style=3)
for (i in 1:n) {

  indv_means <- c(rep(0,40)+rnorm(40,0,stdevs[1]),rep(0.5,40)+rnorm(40,0,stdevs[2]))
  fill <- indv_means[d[,1]+d[,5]*40]+rnorm(80*10,0,sqrt(1)) #using a different way to make the data because the simulate is not creating independent data in the two groups 
  #fill <- suppressMessages(simulate(formula(fml), 
  #                     newparams=list(beta=c(0, .5), 
  #                                    theta=c(.5, 0, 0), 
  #                                    sigma=1), 
  #                     family=gaussian, 
  #                     newdata=ds))
  d <- cbind(ds, fill)
  names(d)[6] <- c("sim_1")


  m <- lmer(paste("sim_1 ", fml1), data=d)
  m
  theta_m[i,] <- m@theta^2

  imeans <- aggregate(d[, 6], list(d[,c(1)],d[,c(3)]), mean)
  theta_f[i,1] <- var(imeans[c(1:40),3])
  theta_f[i,2] <- var(imeans[c(41:80),3])

  setTxtProgressBar(pb, i)
}
close(pb)

p1 <- hist(theta_f[,1]/theta_f[,2], breaks = seq(0,6,0.06))       
fr <- theta_m[,1]/theta_m[,2]
fr <- fr[which(fr<30)]
p2 <- hist(fr, breaks = seq(0,30,0.06))



plot(-100,-100, xlim=c(0,6), ylim=c(0,800), 
     xlab="F-score", ylab = "counts [n out of 10 000]")
plot( p1, col=rgb(0,0,1,1/4), xlim=c(0,6), ylim=c(0,800), add=T)  # means based F-score
plot( p2, col=rgb(1,0,0,1/4), xlim=c(0,6), ylim=c(0,800), add=T)  # model based F-score
fr <- seq(0, 4, 0.01)
lines(fr,df(fr,39,39)*n*0.06,col=1)
legend(2, 800, c("means based F-score","mixed regression based F-score"), 
       fill=c(rgb(0,0,1,1/4),rgb(1,0,0,1/4)),box.col =NA, bg = NA)
legend(2, 760, c("F(39,39) distribution"), 
       lty=c(1),box.col = NA,bg = NA)
title(expression(paste(sigma[1]==0.5, " , ", sigma[2]==0.5, " and ", sigma[epsilon]==1)))

Bu yararlıdır, ancak iki koşuldaki varyansların nasıl karşılaştırılacağı sorusunu ele almamaktadır.
amip: Reinstate Monica

@amoeba Bu cevabın sorunun temelini verdiğini (rastgele varyans bileşenlerini test etme hakkında) buldum. OP'nin tam olarak istediği metnin tamamını okumak zordur. "Rastgele kesişme sapmaları" ne anlama gelir? (kesişme ile ilgili çoğul beni karıştırır) Olası bir durum modeli kullanmak olabilir sim_1 ~ condition + (0 + condition | participant_id)", bu durumda kesişme için bir ve etki için bir tane olmak üzere iki parametre yerine iki parametreye (her grup için bir tane) bir parametreleştirme elde edebilirsiniz. gruplar için birleştirilmesi gerekir).
Sextus Empiricus

Her denek koşulu A'da bazı ortalama yanıt ve durumda bazı ortalama tepkisini sahiptir B. soru A'da denekler arasında varyans B'deki denekler arasında varyans farklı olup olmadığını ise
amip eski haline Monica diyor

Bu, "Gruplama değişkeninin düzeyleri arasında rasgele sapma bileşenini karşılaştır" başlığında gösterilen görevi tamamlamaz. Sorunun gövdesinde çözdüğüm kafa karıştırıcı bir yazım hatası olduğunu fark ettim. Ayrıca sorunun ifadesini daha da netleştirmeye çalıştım.
Patrick S. Forscher

Soruyu , kullanıcının keyfi bir hipotezi donatılmış bir modelle test etmesini sağlayan car::linearHypothesisTest( math.furman.edu/~dcs/courses/math47/R/library/car/html/… ) kullanarak cevaplamak mümkün olabilir . Ancak, aynı işlevle donatılmış modelde her iki rastgele kesişim elde etmek için @ amoeba yöntemini kullanmam gerekirdi, böylece bu işlevle karşılaştırılabilirler. Ayrıca yöntemin geçerliliği konusunda biraz emin değilim.
Patrick S. Forscher

5

Nispeten basit bir yol anova, lme4SSS'de açıklandığı gibi olabilirlik oranı testlerini kullanmak olabilir .

Varyansların sınırlandırılmadığı (yani iki farklı varyansa izin verilen) tam bir modelle başlıyoruz ve daha sonra iki varyansın eşit olduğu varsayılan bir kısıtlı modele uyuyoruz. Onları sadece karşılaştırıyoruz anova()( REML = FALSEher ne kadar tamamen uygulanabilir olsa REML = TRUEdaanova(..., refit = FALSE) ayarladığımı unutmayın ).

m_full <- lmer(sim_1 ~ condition + (condition | participant_id), data=d, REML = FALSE)
summary(m_full)$varcor
 # Groups         Name                  Std.Dev. Corr  
 # participant_id (Intercept)           0.48741        
 #                conditionexperimental 0.26468  -0.419
 # Residual                             1.02677     

m_red <- lmer(sim_1 ~ condition + (1 | participant_id), data=d, REML = FALSE)
summary(m_red)$varcor
 # Groups         Name        Std.Dev.
 # participant_id (Intercept) 0.44734 
 # Residual                   1.03571 

anova(m_full, m_red)
# Data: d
# Models:
# m_red: sim_1 ~ condition + (1 | participant_id)
# m_full: sim_1 ~ condition + (condition | participant_id)
#        Df    AIC    BIC  logLik deviance  Chisq Chi Df Pr(>Chisq)
# m_red   4 2396.6 2415.3 -1194.3   2388.6                         
# m_full  6 2398.7 2426.8 -1193.3   2386.7 1.9037      2      0.386

Bununla birlikte, bu test muhtemelen konservatiftir . Örneğin, SSS şöyle diyor:

Boş değer (σ2 = 0 gibi) uygulanabilir alanın sınırında olduğunda LRT tabanlı boş hipotez testlerinin muhafazakar olduğunu unutmayın; en basit durumda (tek rastgele etki varyansı), p değeri olması gerekenden yaklaşık iki kat daha büyüktür (Pinheiro ve Bates 2000).

Birkaç alternatif var:

  1. Genellikle dağılımından oluşan uygun bir test dağıtımı oluşturun . Bkz. Örneğin, Self, SG ve Liang, K.-Y. (1987). Maksimum Olasılık Tahmin Edicilerinin Asimptotik Özellikleri ve Standart Olmayan Koşullarda Olabilirlik Oran Testleri. Amerikan İstatistik Derneği Dergisi, 82 (398), 605. https://doi.org/10.2307/2289471 Ancak, bu oldukça karmaşıktır.χ2

  2. RLRsim(SSS bölümünde açıklandığı gibi) kullanarak doğru dağıtımı simüle edin .

Aşağıda ikinci seçeneği göstereceğim:

library("RLRsim")
## reparametrize model so we can get one parameter that we want to be zero:
afex::set_sum_contrasts() ## warning, changes contrasts globally
d <- cbind(d, difference = model.matrix(~condition, d)[,"condition1"])

m_full2 <- lmer(sim_1 ~ condition + (difference | participant_id), data=d, REML = FALSE)
all.equal(deviance(m_full), deviance(m_full2))  ## both full models are identical

## however, we need the full model without correlation!
m_full2b <- lmer(sim_1 ~ condition + (1| participant_id) + 
                   (0 + difference | participant_id), data=d, REML = FALSE)
summary(m_full2b)$varcor
 # Groups           Name        Std.Dev.
 # participant_id   (Intercept) 0.44837 
 # participant_id.1 difference  0.13234 
 # Residual                     1.02677 

## model that only has random effect to be tested
m_red <- update(m_full2b,  . ~ . - (1 | participant_id), data=d, REML = FALSE)
summary(m_red)$varcor
 # Groups         Name       Std.Dev.
 # participant_id difference 0.083262
 # Residual                  1.125116

## Null model 
m_null <- update(m_full2b,  . ~ . - (0 + difference | participant_id), data=d, REML = FALSE)
summary(m_null)$varcor
 # Groups         Name        Std.Dev.
 # participant_id (Intercept) 0.44734 
 # Residual                   1.03571 

exactRLRT(m_red, m_full2b, m_null)
# Using restricted likelihood evaluated at ML estimators.
# Refit with method="REML" for exact results.
# 
#   simulated finite sample distribution of RLRT.
#   
#   (p-value based on 10000 simulated values)
# 
# data:  
# RLRT = 1.9698, p-value = 0.0719

Gördüğümüz gibi, çıktı ile REML = TRUEkesin sonuçlar alacağımızı gösteriyor . Ancak bu okuyucuya bir alıştırma olarak bırakılmıştır.

Bonus ile ilgili olarak, RLRsimbirden fazla bileşenin eşzamanlı olarak test edilmesine izin verip vermediğinden emin değilim , ancak eğer öyleyse, bu aynı şekilde yapılabilir.


Yoruma verilen yanıt:

Yani, genel olarak, rasgele eğim rastgele kesişim seviyeleri arasında izin verdiği ?θ 0 XθXθ0X

Bu sorunun makul bir cevap alabileceğinden emin değilim.

  • Rastgele bir kesişme, gruplama faktörünün her seviyesi için genel düzeyde kendine özgü bir fark yaratır. Örneğin, bağımlı değişken yanıt süresiyse, bazı katılımcılar daha hızlı, bazıları daha yavaştır.
  • Rastgele bir eğim, gruplama faktörünün her seviyesinin, rastgele eğimlerin tahmin edildiği faktörün kendine özgü bir etkisine izin verir. Örneğin, faktör uyumluluk ise, bazı katılımcılar diğerlerinden daha yüksek uyum etkisine sahip olabilir.

Peki rastgele eğimler rastgele kesmeyi etkiler mi? Bir anlamda bu, gruplandırma faktörünün her seviyesinin, her koşul için tamamen kendine özgü bir etkiye izin vermesi nedeniyle mantıklı olabilir. Sonunda, iki koşul için iki kendine özgü parametreyi tahmin ediyoruz. Bununla birlikte, kesişim tarafından yakalanan genel seviye ile rastgele eğimin yakaladığı duruma özgü etki arasındaki ayrımın önemli olduğunu düşünüyorum ve daha sonra rastgele eğim rastgele kesmeyi gerçekten etkileyemez. Bununla birlikte, yine de, gruplama faktörünün her seviyesinin, durumun her seviyesi için ayrı ayrı kendine özgü bir izin verir.

Yine de, testim hala orijinal sorunun ne istediğini yapıyor. İki koşul arasındaki farkların sıfır olup olmadığını test eder. Sıfırsa, her iki koşuldaki varyanslar eşittir. Başka bir deyişle, sadece rastgele eğime ihtiyaç duyulmadığı takdirde, her iki koşuldaki sapma aynıdır. Umarım bu mantıklıdır.


1
contr.treatmentKontrol koşulunun referans olduğu tedavi kontrastlarını ( ) kullanırsınız (yani rastgele kesişmenin hesaplandığı). Önerdiğim parametreleştirme toplam zıtlıklar (yani contr.sum) kullanıyorum ve kesişme en büyük ortalama. Kesişim kontrol koşulu yerine büyük ortalama olduğunda farkın boş olup olmadığını test etmenin daha mantıklı olduğunu hissediyorum (ancak bunu yazmak nispeten önemsiz olabilir). Singmann.org/download/publications/…
Henrik

1
Teşekkürler! Sorularım biraz farklı olsa da: (1) Cevabınız, sorumun "0'dan farklı durum için rastgele eğim olduğu" anlamına geldiği anlamına geliyor. Bu doğru mu? (2) (1) 'e verilen cevap "evet" ise, bu rastgele eğimin başka bir yorumunu önerir condition: rastgele kesmenin seviyeler arasında değişmesine izin verir condition. Bu doğru mu?
Patrick S. Forscher

2
Benim 2 ¢: @ amoeba'nın Henrik'in önerdiği prosedüre karşı örneği doğru. Henrik neredeyse doğrudur, ancak yanlış çift modelleri karşılaştırır. Yanıtlayan Patrick'in sorusunun model karşılaştırması, Henrik'in m_fullvs adlı modelleri arasında yapılan karşılaştırmadır m_full2b. Olduğu sonucunu verir: eşit değildir B vs A katılımcıların koşullu ortalama tepkilerinin sapmalar IFF rastgele kesişme eğimli korelasyon önemlisi --- sıfırdan farklı toplamı sıfıra kontrast kodlama parametre altında . Rastgele eğim varyansının test edilmesi gerekli değildir. Bunu kısaca nasıl açıklayacağımı düşünmeye çalışıyorum ...
Jake Westfall

2
Bu gerçekten uygun bir açıklama değil, ama burada cevabımı incelemek konuya biraz ışık tutabilir. Temel olarak, korelasyon parametresi katılımcı regresyon çizgilerinin "sağa doğru fanı" (pozitif düzeltme) veya "sola doğru fanı" (negatif düzeltme) olup olmadığını kontrol eder. Bunların her ikisi de katılımcıların koşullu ortalama yanıtlarında eşit olmayan bir sapma anlamına gelmektedir. Toplamdan sıfıra kodlama, X üzerinde doğru noktada korelasyon aramamızı sağlar
Jake Westfall

2
Zaman bulabilirsem resimlerle bir cevap göndermeyi düşüneceğim ...
Jake Westfall

5

Modeliniz

m = lmer(sim_1 ~ condition + (condition | participant_id), data=d)

zaten kontrol koşulundaki özneler arası varyansın deneysel durumdaki özneler arası varyanstan farklı olmasına izin vermektedir. Bu, eşdeğer bir yeniden parametrelendirmeyle daha açık hale getirilebilir:

m = lmer(sim_1 ~ 0 + condition + (0 + condition | participant_id), data=d)

Rasgele kovaryans matrisi artık daha basit bir yoruma sahip:

Random effects:
 Groups         Name                  Variance Std.Dev. Corr
 participant_id conditioncontrol      0.2464   0.4963       
                conditionexperimental 0.2074   0.4554   0.83

Burada iki varyans tam olarak ilgilendiğiniz iki varyanstır: kontrol koşulundaki koşullu ortalama yanıtların [denekler arası] varyansı ve deney koşulunda aynıdır. Simüle edilmiş veri kümenizde, bunlar 0,25 ve 0,21'dir. Aradaki fark

delta = as.data.frame(VarCorr(m))[1,4] - as.data.frame(VarCorr(m))[2,4]

ve 0.039'a eşittir. Sıfırdan önemli ölçüde farklı olup olmadığını test etmek istiyorsunuz.

EDIT: Aşağıda tarif ettiğim permütasyon testinin yanlış olduğunu fark ettim; kontrol / deney koşullarındaki araçlar aynı değilse amaçlandığı gibi çalışmaz (çünkü gözlemler sıfırın altında değiştirilemez). Konuları (veya Bonus durumundaki konuları / eşyaları) önyüklemek ve için güven aralığını elde etmek daha iyi bir fikir olabilir delta.

Bunu yapmak için aşağıdaki kodu düzeltmeye çalışacağım.


Orijinal permütasyon tabanlı öneri (yanlış)

Bir permütasyon testi yaparak kişinin kendini çok fazla sıkıntıdan kurtarabildiğini görüyorum. Gerçekten de, bu durumda kurulumu çok kolaydır. Her bir denek için ayrı ayrı kontrol / deneysel koşullara izin verelim; varyanslardaki herhangi bir fark ortadan kaldırılmalıdır. Bunu birçok kez tekrarlamak, farklılıklar için null dağılım sağlayacaktır.

(R'de programlamıyorum; lütfen herkes aşağıdakileri daha iyi bir R tarzında yeniden yazmaktan çekinmeyin.)

set.seed(42)
nrep = 100
v = matrix(nrow=nrep, ncol=1)
for (i in 1:nrep)
{
   dp = d
   for (s in unique(d$participant_id)){             
     if (rbinom(1,1,.5)==1){
       dp[p$participant_id==s & d$condition=='control',]$condition = 'experimental'
       dp[p$participant_id==s & d$condition=='experimental',]$condition = 'control'
     }
   }
  m <- lmer(sim_1 ~ 0 + condition + (0 + condition | participant_id), data=dp)
  v[i,] = as.data.frame(VarCorr(m))[1,4] - as.data.frame(VarCorr(m))[2,4]
}
pvalue = sum(abs(v) >= abs(delta)) / nrep

Bunun yapılması değerini verir . Kişi 1000'e kadar çıkabilir .p=0.7nrep

Bonus durumunuza tam olarak aynı mantık uygulanabilir.


Süper ilginç, teşekkürler! Yeniden parametrelendirmenin neden işe yaradığı hakkında daha fazla düşünmek zorunda olacağım, çünkü bu, bu cevabın kilit içgörüsü gibi görünüyor.
Patrick S. Forscher

Garip bir şekilde, cevabınızdaki grup başına kesişme değerleri @MartijnWeterings'in cevabındaki değerlerden farklı görünmektedir.
Patrick S. Forscher

@ PatrickS.Forscher Çünkü bence farklı bir veri kümesi oluşturuyor. sim_1 ~ 0 + condition + (0 + dummy(condition, "control") + dummy(condition, "experimental") | participant_id)Formülasyonu kullanabilir ve cevabımdakiyle aynı sonucu alabilirim.
amip diyor Reinstate Monica

1
@ PatrickS.Forscher Hayır, kodunuz tarafından oluşturulan verileri (tohumunuzla birlikte) kullandım. Tohumu sadece permütasyon testi yaparken 42'ye ayarladım. Veri kümesini değiştiren Martijn, ben değil.
amip: Reinstate Monica

1
Bu teklif kesinlikle doğru. Daha önce deneyimlediğinizi düşündüğüm için, çok düzeyli veriler için permütasyon testleri yapmak tamamen kolay değildir. Uygulanması biraz daha kolay olacak benzer bir yaklaşım, parametrik önyükleme olacaktır. Bu, takılan lmer nesnelerinin simulate () yöntemini kullanarak lme4 ile yapılması oldukça kolaydır, yani, bootstrap oluşturmak için birçok kez simulate (m) çağrısı yapın dağılımı. Sadece oynamak için bir fikir.
Jake Westfall

0

Bu soruna biraz farklı bir bakış açısından baktığımızda ve doğrusal karışık modelin "genel" formundan başlayarak, burada , 'koşulunun sabit etkisidir ve , 'koşulundaki katılımcı için rastgele bir vektördür (bazıları buna vektör değerli rastgele etki derler, sanırım) . , ve olarak göstereceğim iki koşul ve var.

yijk=μ+αj+dij+eijk,diN(0,Σ),eijkN(0,σ2)
αjjdi=(di1,,diJ)ij
yi1kyi2kABAkabinde. Dolayısıyla, iki boyutlu rasgele vektör nin kovaryans matrisi genel formdadırdi

Σ=[σA2σABσABσB2]

negatif olmayan ve .σA2σB2

İlk olarak, toplam kontrastları kullandığımızda yeniden parametreli versiyonunun nasıl göründüğüne bakalım . Σ

Büyük ortalamaya karşılık gelen kesişmenin varyansı

σ12:=Var(grand mean)=Var(12(A+B))=14(Var(A)+Var(B)+2Cov(A,B)).

Kontrastın varyansı

σ22:=Var(contrast)=Var(12(AB))=14(Var(A)+Var(B)2Cov(A,B)).

Kesişim ve kontrast arasındaki kovaryans

σ12:=Cov(grand mean, contrast)=Cov(12(A+B),12(AB))=14(Var(A)Var(B)).

Bu nedenle, yeniden parametreli olduğuΣ

Σ=[σ12+σ22+2σ12σ12σ22σ12σ22σ12+σ222σ12]=[σA2σABσABσB2].

Σ içine ayrıştırılabilir

Σ=[σ12σ12σ12σ12]+[σ22σ22σ22σ22]+2[σ1200σ12].

Kovaryans parametre ayarlama sıfıraσ12 elde ederiz

Σ=[σ12σ12σ12σ12]+[σ22σ22σ22σ22]=[σ12+σ22σ12σ22σ12σ22σ12+σ22]

bu, @Jake Westfall'un biraz farklı türetilmiş, eşit sapma hipotezini test biz kovaryans parametre hala sıfıra ayarlanmış / dahildir bir model bu kovaryans parametresi olmayan bir model karşılaştırmak.

Özellikle, başka bir çapraz rasgele gruplama faktörünün (uyaranlar gibi) sokulması, yapılması gereken model karşılaştırmasını değiştirmez, yani @Jake Westfall gibi tanımlandığı ve tanımlandığı şekilde anova(mod1, mod2)(isteğe bağlı olarak refit = FALSEREML tahminini kullandığınızda argüman ile ) .mod1mod2

Çıkarılması ve kontrast varyans bileşeni içinde (@Henrik anlaşılacağı) Sonuçlarσ12σ22

Σ=[σ12σ12σ12σ12]

ki bu, iki koşuldaki varyansların eşit olduğu ve iki koşul arasındaki (pozitif) kovaryansa eşit olduğu hipotezini test eder .


İki koşulumuz olduğunda, (pozitif) bileşik simetrik yapıda iki parametreli bir kovaryans matrisine uyan bir model de şöyle yazılabilir:

# code snippet from Jake Westfall
d$contrast <- 2*(d$condition == 'experimental') - 1

# new model
mod3 <- lmer(sim_1 ~ contrast + (1 | participant_id) + (1 | contrast:participant_id), 
             data = d, REML = FALSE) 

veya (kategorik değişken / faktör kullanılarak condition)

mod4 <- lmer(sim_1 ~ condition + (1 | participant_id) + (1 | condition:participant_id), 
             data = d, REML = FALSE)

ile

Σ=[σ12+σ22σ12σ12σ12+σ22]=[σ12σ12σ12σ12]+[σ2200σ22]

burada ve , sırasıyla katılımcı ve katılımcı-koşul-birleşimi kesişimlerinin varyans parametreleridir. Bu negatif olmayan bir kovaryans parametresi olduğunu unutmayın.σ12σ22Σ

Biz görüyoruz Aşağıda mod1, mod3ve mod4dengi uyuyor verim:

# code snippet from Jake Westfall
d$contrast <- 2*(d$condition == 'experimental') - 1

mod1 <- lmer(sim_1 ~ contrast + (contrast || participant_id),
             data = d, REML = FALSE)

mod2 <- lmer(sim_1 ~ contrast + (contrast | participant_id),
             data = d, REML = FALSE)

# new models 
mod3 <- lmer(sim_1 ~ contrast + (1 | participant_id) + (1 | contrast:participant_id), 
             data = d, REML = FALSE) 

mod4 <- lmer(sim_1 ~ condition + (1 | participant_id) + (1 | condition:participant_id), 
             data = d, REML = FALSE)

anova(mod3, mod1)
# Data: d
# Models:
# mod3: sim_1 ~ contrast + (1 | participant_id) + (1 | contrast:participant_id)
# mod1: sim_1 ~ contrast + ((1 | participant_id) + (0 + contrast | participant_id))
#      Df    AIC    BIC  logLik deviance Chisq Chi Df Pr(>Chisq)
# mod3  5 2396.9 2420.3 -1193.5   2386.9                        
# mod1  5 2396.9 2420.3 -1193.5   2386.9     0      0          1

anova(mod4, mod3)
# Data: d
# Models:
# mod4: sim_1 ~ condition + (1 | participant_id) + (1 | condition:participant_id)
# mod3: sim_1 ~ contrast + (1 | participant_id) + (1 | contrast:participant_id)
#      Df    AIC    BIC  logLik deviance Chisq Chi Df Pr(>Chisq)
# mod4  5 2396.9 2420.3 -1193.5   2386.9                        
# mod3  5 2396.9 2420.3 -1193.5   2386.9     0      0          1

Tedavi tezat ile (varsayılan R ) yeniden parametreli olduğuΣ

Σ=[σ12σ12+σ12σ12+σ12σ12+σ22+2σ12]=[σ12σ12σ12σ12]+[000σ22]+[0σ12σ122σ12]

burada , kesişim (koşul ) için varyans parametresi , kontrast için varyans parametresi ( ) ve karşılık gelen kovaryans parametresidir. σ12Aσ22ABσ12

Ne ı sıfıra ayarlayamadık, sıfır olarak ayarlayamadık (sadece) eşit varyans hipotezini görebiliyoruz. σ12σ22

Bununla birlikte, yukarıda gösterildiği gibi, kontrastları değiştirmenin bu model için parametrelendirmesi üzerinde hiçbir etkisi olmadığından hipotezi test etmek için de kullanabiliriz .mod4Σ

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.