線形モデルの空間共分散をどのように説明できますか?


10

バックグラウンド

私は、2つのブロックのそれぞれに4つの処理レベルと6つの複製があるフィールド調査のデータを持っています。(4x6x2 = 48観測)

ブロックは約1マイル離れており、ブロック内には、42のグリッド、2m x 4mの区画、および1mの幅の歩道があります。私の研究では、各ブロックで24のプロットのみを使用しました。

空間共分散の評価を評価したいと思います。

以下は、空間共分散を考慮しない、単一ブロックのデータを使用した分析の例です。データセットで、plotはプロットID、xy各プロットのx位置とy位置で、プロット1は0を中心とし、0 levelは処理レベルでresponseあり、は応答変数です。

layout <- structure(list(plot = c(1L, 3L, 5L, 7L, 8L, 11L, 12L, 15L, 16L, 
17L, 18L, 22L, 23L, 26L, 28L, 30L, 31L, 32L, 35L, 36L, 37L, 39L, 
40L, 42L), level = c(0L, 10L, 1L, 4L, 10L, 0L, 4L, 10L, 0L, 4L, 
0L, 1L, 0L, 10L, 1L, 10L, 4L, 4L, 1L, 1L, 1L, 0L, 10L, 4L), response = c(5.93, 
5.16, 5.42, 5.11, 5.46, 5.44, 5.78, 5.44, 5.15, 5.16, 5.17, 5.82, 
5.75, 4.48, 5.25, 5.49, 4.74, 4.09, 5.93, 5.91, 5.15, 4.5, 4.82, 
5.84), x = c(0, 0, 0, 3, 3, 3, 3, 6, 6, 6, 6, 9, 9, 12, 12, 12, 
15, 15, 15, 15, 18, 18, 18, 18), y = c(0, 10, 20, 0, 5, 20, 25, 
10, 15, 20, 25, 15, 20, 0, 15, 25, 0, 5, 20, 25, 0, 10, 20, 
25)), .Names = c("plot", "level", "response", "x", "y"), row.names = c(NA, 
-24L), class = "data.frame")

model <- lm(response ~ level, data = layout)      
summary(model)

ご質問

  1. 共分散行列を計算して回帰に含めるにはどうすればよいですか?
  2. ブロックは非常に異なり、強力な処理*ブロックの相互作用があります。それらを個別に分析することは適切ですか?

1
プロット37と39はどちらもx = 18、y = 10にあります。打ち間違え?
アーロンがスタックオーバーフローを去った

@アーロンはそれを指摘してくれてありがとう。y = [0,10]。修繕。
David LeBauer、

回答:


10

1)nlmeライブラリとの空間相関をモデル化できます。あなたが選ぶかもしれないいくつかの可能なモデルがあります。Pinheiro / Batesの260〜266ページを参照してください。

最初の良いステップは、バリオグラムを作成して、相関が距離にどのように依存するかを確認することです。

library(nlme)
m0 <- gls(response ~ level, data = layout)  
plot(Variogram(m0, form=~x+y))

ここで、サンプルのセミバリオグラムは距離とともに増加し、観測値が実際に空間的に相関していることを示しています。

相関構造の1つのオプションは、球形構造です。これは次の方法でモデル化できます。

m1 <- update(m0, corr=corSpher(c(15, 0.25), form=~x+y, nugget=TRUE))

このモデルは、相関構造のないモデルよりもうまく適合しているように見えますが、他の可能な相関構造の1つで改善することも完全に可能です。

> anova(m0, m1)
   Model df     AIC      BIC    logLik   Test  L.Ratio p-value
m0     1  3 46.5297 49.80283 -20.26485                        
m1     2  5 43.3244 48.77961 -16.66220 1 vs 2 7.205301  0.0273

2)また含む試みることができるxy直接モデルに。これは、相関のパターンが距離だけではない場合に適しています。あなたの場合(セスクの写真を見ると)、とにかくこのブロックでは斜めのパターンがあるようです。

ここではm0の代わりに元のモデルを更新しています。これは、固定効果のみを変更しているため、モデルは両方とも最尤法を使用して近似されているはずです。

> model2 <- update(model, .~.+x*y)
> anova(model, model2)
Analysis of Variance Table

Model 1: response ~ level
Model 2: response ~ level + x + y + x:y
  Res.Df    RSS Df Sum of Sq      F   Pr(>F)   
1     22 5.3809                                
2     19 2.7268  3    2.6541 6.1646 0.004168 **

3つすべてのモデルを比較するglsには、REMLのデフォルトの方法ではなく、最尤法ですべてを適合させる必要があります。

> m0b <- update(m0, method="ML")
> m1b <- update(m1, method="ML")
> m2b <- update(m0b, .~x*y)
> anova(m0b, m1b, m2b, test=FALSE)
    Model df      AIC      BIC     logLik
m0b     1  3 38.22422 41.75838 -16.112112
m1b     2  5 35.88922 41.77949 -12.944610
m2b     3  5 29.09821 34.98847  -9.549103

特に研究についての知識があれば、これらのどれよりも優れたモデルを思い付く可能性があることを覚えておいてください。つまり、モデルm2bが必ずしも最高であると見なされる必要はありません。

注:これらの計算は、プロット37のx値を0に変更した後に実行されました。


役立つ回答をありがとうございます。パート2でなぜのmodel代わりに更新したのかは明らかではありませんm0m2 <- update(m0, .~.+x*y)を使用して、3つのモデルすべてを比較できますanova(m0,m1,m2)。これを行った後m2、大幅に緩い(AIC = 64)ように思われます
David LeBauer

ps最後の行は「プロット37のy値を5に変更した後」でなければなりません。実際の値は0ですが、結果は同等です。
David LeBauer、

例えるならばm0m1m2あなたが警告を受ける示唆として:Fitted objects with different fixed effects. REML comparisons are not meaningful. 固定効果を比較するには、代わりにREMLの通常の最大尤度を使用する必要があります。編集を参照してください。
アーロンがスタックオーバーフローを去った

たくさんのご協力ありがとうございます。理由はわかりませんが、たとえばPinheiroとBatesの例のようにcorExpを使用するなど、他の相関構造を適合させようとするとエラーが発生します。私はこのエラーについてSOに関する質問開きましたが、あなたの入力をいただければ幸いです。
デビッドルバウアー

4

1)空間説明変数は何ですか?x * y平面は空間効果の貧弱なモデルになるようです。

処理と応答のプロット

i=c(1,3,5,7,8,11,14,15,16,17,18,22,23,25,28,30,31,32,35,36,39,39,41,42)
l=rep(NA,42)[i];l[i]=level
r=rep(NA,42)[i];r[i]=response
image(t(matrix(-l,6)));title("treatment")
image(t(matrix(-r,6)));title("response")

2)ブロック間の距離が1マイルで、わずか30メートルの効果が見られると考えると、それらを個別に分析することは完全に適切だと思います。


視覚化は役立ちますが、図の右下と右上を比較すると、場所の方がレベルよりも効果があるように見えます。(ps l [i] = responseはr [i] = ...である必要があると思います)
David LeBauer

はい。場所の効果は顕著であるため、治療効果の推定を開始する前に、そのための優れたモデルが本当に必要です。残念ながら、欠けているデータがたくさんあるので、それがどうあるべきかを言うのは難しいです-私が思いつくことができる最高のものは、近隣の応答+ランダム成分の平均として位置効果をモデル化し、それに対して処理を試みることです。それは非常に疑わしいので、追加のドメイン知識があれば価値があります。タイプミスを修正しました。
sesqu

@sesqu ...欠損データはなく、ランダムに配置された24のプロットすべてからのデータがあります。
David LeBauer、

すべてのX、Yペアにデータがあるわけではないという意味で、欠落データがあります。
アーロンがスタックオーバーフローを去った
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.