Split-Plot ANOVA:Rでのモデル比較テスト


12

RのXおよびM引数で使用するための適切なモデル比較を使用して、分割プロットANOVAで効果をテストするにはどうすればよいanova.mlm()ですか?私は?anova.mlmDalgaard(2007)[1]に精通しています。残念ながら、それは分割プロットデザインのみをブラシします。2つの被験者内要因を含む完全にランダム化されたデザインでこれを行います。

N  <- 20  # 20 subjects total
P  <- 3   # levels within-factor 1
Q  <- 3   # levels within-factor 2
DV <- matrix(rnorm(N* P*Q), ncol=P*Q)           # random data in wide format
id <- expand.grid(IVw1=gl(P, 1), IVw2=gl(Q, 1)) # intra-subjects layout of data matrix

library(car)        # for Anova()
fitA <- lm(DV ~ 1)  # between-subjects design: here no between factor
resA <- Anova(fitA, idata=id, idesign=~IVw1*IVw2)
summary(resA, multivariate=FALSE, univariate=TRUE)  # all tests ...

次のモデル比較では、同じ結果が得られます。制限付きモデルには問題の効果は含まれませんが、同じ次数またはそれより低い他のすべての効果には、完全なモデルが問題の効果を追加します。

anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw2, test="Spherical") # IVw1
anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw1, test="Spherical") # IVw2
anova(fitA, idata=id, M=~IVw1 + IVw2 + IVw1:IVw2,
                      X=~IVw1 + IVw2, test="Spherical")          # IVw1:IVw2

1つの被験者内要因と1つの被験者間要因を含むスプリットプロット設計:

idB  <- subset(id, IVw2==1, select="IVw1")          # use only first within factor
IVb  <- gl(2, 10, labels=c("A", "B"))               # between-subjects factor
fitB <- lm(DV[ , 1:P] ~ IVb)                        # between-subjects design
resB <- Anova(fitB, idata=idB, idesign=~IVw1)
summary(resB, multivariate=FALSE, univariate=TRUE)  # all tests ...

これらはanova()テストを複製するコマンドですが、なぜ機能するのかわかりません。次のモデル比較のテストで同じ結果が得られるのはなぜですか?

anova(fitB, idata=idB, X=~1, test="Spherical") # IVw1, IVw1:IVb
anova(fitB, idata=idB, M=~1, test="Spherical") # IVb

2つの被験者内因子と1つの被験者間因子:

fitC <- lm(DV ~ IVb)  # between-subjects design
resC <- Anova(fitC, idata=id, idesign=~IVw1*IVw2)
summary(resC, multivariate=FALSE, univariate=TRUE)  # all tests ...

XとのM引数で使用するために、上記の結果を対応するモデル比較で複製するにはどうすればよいanova.mlm()ですか?これらのモデル比較の背後にあるロジックは何ですか?

編集:suncoolsuは、すべての実用的な目的のために、これらの設計からのデータは混合モデルを使用して分析する必要があることを指摘しました。ただし、summary(Anova())with の結果を複製する方法を引き続き理解したいと思いanova.mlm(..., X=?, M=?)ます。

[1]:Dalgaard、P。2007。多変量解析の新しい関数。Rニュース、7(2)、2-7。


@caracalさん、あなたが「Split-Plot Design」を使用しているのは、Casella氏の本、Statistical Designで定義されている方法ではないと思います。Split Plotは間違いなくネストについて話しますが、相関構造を課す特別な方法です。そしてほとんどの場合、lme4パッケージを使用してモデルに適合しますが、ではありませんlm。しかし、これは非常に具体的な書籍ベースのビューである場合があります。他の人にコメントさせていただきます。あなたとは異なる解釈方法に基づいて例を挙げることができます。
-suncoolsu

2
@suncoolsu社会科学の用語は異なる可能性がありますが、Kirk(1995、p512)とMaxwell&Delaney(2004、p592)はどちらも、1つの因子間および1つの因子内「分割プロット」でモデルを呼び出します。間因子は「プロット」を提供します(農業起源に類似)。
カラカル

私は今、自分の皿にたくさんのものを持っています。あなたの質問により具体的になるように、回答を拡大します。あなたはあなたの質問を組み立てるために多くの努力を注いだと思います。ありがとう。
-suncoolsu

回答:


10

XそしてM基本的にしか被験者内効果の点で、比較したい二つのモデルを指定します。その後間で変化することを被験者内効果を持つ(切片を含む)すべての間に、被験者の効果の相互作用の結果を示しているXM

and fitBのデフォルトを追加すると、上の例が理解しやすくXなりMます。

anova(fitB, idata=idB, M=~1, X=~0, test="Spherical") # IVb
anova(fitB, idata=idB, M=diag(3), X=~1, test="Spherical") # IVw1, IVw1:IVb

最初のモデルは、被験者内効果なし(すべて同じ平均)からそれぞれ異なる平均への変更です。したがって、idランダム効果を追加しました。オン。

2番目のモデルは、id:IVw1相互作用を広告します。これは、テストするのが正しいことでIVw1あり、IVw1:IVb用語に対して反対です。被験者内効果(3つのレベル)が1つしかないためdiag(3)、2番目のモデルのデフォルトはそれを考慮します。実行と同等です

anova(fitB, idata=idB, M=~IVw1, X=~1, test="Spherical") # IVw1, IVw1:IVb

のためにfitC、これらのコマンドがAnova要約を再作成すると信じています。

anova(fitC, idata=id, M=~1, X=~0, test="Spherical") #IVb
anova(fitC, idata=id, M=~IVw1 + IVw2, X=~IVw2, test="Spherical") # IVw1
anova(fitC, idata=id, M=~IVw1 + IVw2, X=~IVw1, test="Spherical") # IVw2
anova(fitC, idata=id, M=~IVw1 + IVw2 + IVw1:IVw2,
                  X=~IVw1 + IVw2, test="Spherical")          # IVw1:IVw2

さて、あなたが発見したように、これらのコマンドは本当にトリッキーです。ありがたいことに、それらを使用する理由はあまりありません。真球度を仮定する場合は、単にを使用する必要がありますaov。または、より簡単な構文を使用lmする場合は、適切なF検定を使用して計算するだけです。球形を仮定lmeしたくない場合は、GGおよびHF補正を使用するよりもはるかに柔軟性が得られるため、実際に使用する方法があります。

たとえば、ののコードaovとを次に示しlmますfitA。最初に長い形式のデータを用意する必要があります。これを行う1つの方法を次に示します。

library(reshape)
d0 <- data.frame(id=1:nrow(DV), DV)
d0$IVb <- IVb
d0 <- melt(d0, id.vars=c(1,11), measure.vars=2:10)
id0 <- id
id0$variable <- factor(levels(d0$variable), levels=levels(d0$variable))
d <- merge(d0, id0)
d$id <- factor(d$id)

そして、ここにlm andaov`コードがあります:

anova(lm(value ~ IVw1*IVw2*id, data=d))
summary(aov(value ~ IVw1*IVw2 + Error(id/(IVw1*IVw2)), data=d))

どうもありがとう、それこそまさに私が探していたものです!ここanova()Anova()説明した問題のために私はまだ興味があっ。ただし、最後の提案は同様に機能し、より簡単です。(些細なこと:最後の2行にはそれぞれ閉じ括弧が1つ欠けていると思うので、を読む必要がありますError(id/(IVw1*IVw2))
カラカル

8

スプリットプロットデザインは農業に由来するため、その名前が付けられました。しかし、それらは頻繁に起こり、私は言うだろう-ほとんどの臨床試験の主力製品。メインプロットは1つの因子のレベルで処理されますが、他のいくつかの因子のレベルはサブプロットで変化します。この設計は、完全なランダム化に対する制限の結果として生じます。たとえば、フィールドは4つのサブプロットに分割できます。サブプロットにさまざまな品種を植えることは可能かもしれませんが、1つのタイプの灌漑だけがフィールド全体に使用できます。スプリットブロックの区別ではありません。ブロックは実験ユニットの機能であり、実験デザインで利用できるオプションがあります。ブロックがあることを知っているからです。一方、スプリットは、可能な因子の割り当てに制限を課します。完全なランダム化を妨げる要件が設計に課せられます。

それらは、ある因子が変化しやすく、別の因子が変化するのにより多くの時間がかかる臨床試験で多く使用されます。実験者が変更しにくい要因の各レベルに対してすべての実行を連続して行う必要がある場合、変更しにくい要因がプロット要因全体を表すスプリットプロット設計になります。

次に例を示します。農業分野の試験の目的は、2つの作物品種と4つの異なる灌漑方法の効果を判断することでした。8つのフィールドが使用可能でしたが、各フィールドに適用できる灌漑は1種類のみです。フィールドは2つの部分に分けられ、各部分でさまざまな種類があります。プロットファクター全体が灌漑であり、フィールドにランダムに割り当てる必要があります。各フィールド内で、品種が割り当てられます。

これはあなたがこれを行う方法ですR

install.packages("faraway")
data(irrigation)
summary(irrigation)

library(lme4)

R> (lmer(yield ~ irrigation * variety + (1|field), data = irrigation))
Linear mixed model fit by REML 
Formula: yield ~ irrigation * variety + (1 | field) 
   Data: irrigation 
  AIC  BIC logLik deviance REMLdev
 65.4 73.1  -22.7     68.6    45.4
Random effects:
 Groups   Name        Variance Std.Dev.
 field    (Intercept) 16.20    4.02    
 Residual              2.11    1.45    
Number of obs: 16, groups: field, 8

Fixed effects:
                       Estimate Std. Error t value
(Intercept)               38.50       3.02   12.73
irrigationi2               1.20       4.28    0.28
irrigationi3               0.70       4.28    0.16
irrigationi4               3.50       4.28    0.82
varietyv2                  0.60       1.45    0.41
irrigationi2:varietyv2    -0.40       2.05   -0.19
irrigationi3:varietyv2    -0.20       2.05   -0.10
irrigationi4:varietyv2     1.20       2.05    0.58

Correlation of Fixed Effects:
            (Intr) irrgt2 irrgt3 irrgt4 vrtyv2 irr2:2 irr3:2
irrigation2 -0.707                                          
irrigation3 -0.707  0.500                                   
irrigation4 -0.707  0.500  0.500                            
varietyv2   -0.240  0.170  0.170  0.170                     
irrgtn2:vr2  0.170 -0.240 -0.120 -0.120 -0.707              
irrgtn3:vr2  0.170 -0.120 -0.240 -0.120 -0.707  0.500       
irrgtn4:vr2  0.170 -0.120 -0.120 -0.240 -0.707  0.500  0.500

基本的に、このモデルでは、灌漑と多様性は固定効果であり、多様性は灌漑内にネストされています。フィールドはランダムな効果であり、絵のようなものになります

I_1 | I_2 | I_3 | I_4

V_1 V_2 | V_1 V_2 | V_1 V_2 | V_1 V_2

しかし、これは固定された全体のプロット効果とサブプロット効果を持つ特別なバリアントでした。1つ以上がランダムであるバリアントがあります。split-split .. plotの設計のような、より複雑な設計があります。基本的には、ワイルドでクレイジーになります。しかし、基礎となる構造と分布(すなわち、固定またはランダム、ネストまたは交差、..)が明確に理解されlmer-Ninjaていれば、モデリングに問題はありません。解釈が混乱する場合があります。

比較に関して、あなたが持っているlmer1と言うlmer2

anova(lmer1, lmer2)

パラメータの差に等しい自由度を持つカイ二乗検定統計量に基づいた適切な検定を提供します。

cf:Faraway、J.、Rによる線形モデルの拡張

Casella、G.、統計デザイン


ミックスエフェクトモデルと詳細な背景情報を使用してスプリットプロットデザインを分析するためのイントロに感謝します!それは確かに分析を実行するための好ましい方法です。私は質問を更新して、この「古い方法」をどのように行うかを引き続き知りたいと強調しています。
カラカル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.