선형 모델에서 공간 공분산을 어떻게 설명 할 수 있습니까?


10

배경

두 블록 각각에 4 개의 치료 수준과 6 개의 복제물이있는 현장 연구의 데이터가 있습니다. (4x6x2 = 48 개의 관측치)

블록은 약 1 마일 떨어져 있으며 블록 내에 42, 2m x 4m 플롯 그리드와 1m 너비의 산책로가 있습니다. 내 연구는 각 블록에 24 개의 플롯 만 사용했습니다.

공간 공분산을 평가하고 싶습니다.

다음은 공간 공분산을 고려하지 않고 단일 블록의 데이터를 사용하는 분석 예입니다. 데이터 세트에서, plot플롯 ID는 플롯 ID이고, 플롯 1은 0, 0을 중심으로하는 각 플롯 x의 x 위치 및 yy 위치입니다 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에 있습니다. 오식?
Aaron은 Stack Overflow를

@Aaron이 지적 해 주셔서 감사합니다. 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))

여기에서 표본 반 변형은 거리가 증가함에 따라 관측 값이 실제로 공간적으로 상관되어 있음을 나타냅니다.

상관 구조의 한 가지 옵션은 구형 구조입니다. 다음과 같은 방식으로 모델링 할 수 있습니다.

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

이 모델은 상관 구조가없는 모델보다 더 적합 해 보이지만 다른 가능한 상관 구조 중 하나를 사용하여 개선 할 수도 있습니다.

> 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직접 모델; 상관 패턴이 단순한 거리 이상에 의존하는 경우에 적합 할 수 있습니다. 귀하의 경우 (sesqu의 사진을 보면) 어쨌든이 블록의 경우 대각선 패턴이있을 수 있습니다.

여기서는 고정 효과 만 변경하기 때문에 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 **

세 가지 모델을 모두 비교하려면 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대신 업데이트 한 이유가 확실하지 않습니다 m0. m2 <- update(m0, .~.+x*y)세 모델 모두를 사용하여 비교할 수 있도록 anova(m0,m1,m2); 이 작업을 수행 한 후, m2보인다 큰 느슨한 (AIC = 64)입니다 당신의 부분
데이비드 LeBauer

ps 마지막 줄은 '플롯 37의 y 값을 5로 변경 한 후'이어야합니다. 실제 값은 0이지만 결과는 같습니다.
David LeBauer

당신이 비교하는 경우 m0, m1그리고 m2당신이 경고를 제안 같이 Fitted objects with different fixed effects. REML comparisons are not meaningful. 고정 효과를 비교하기 위해 대신 REML 정기적으로 최대의 가능성을 사용해야합니다. 편집을 참조하십시오.
Aaron은 Stack Overflow를

당신의 모든 도움에 감사드립니다. 왜 그런지 잘 모르겠지만 Pinheiro 및 Bates 예제 에서처럼 corExp를 사용하는 등 다른 상관 관계 구조를 맞추려고 할 때 오류가 발생합니다. 나는 한 SO에 질문을 열어 이 오류에 대해,하지만 귀하의 의견을 주시면 감사하겠습니다.
David LeBauer

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] = 응답은 r [i] = ...이어야한다고 생각한다)
David

예. 위치 효과가 현저하기 때문에 치료 효과를 추정하기 전에 그에 대한 좋은 모델을 원할 것입니다. 불행히도 누락 된 데이터가 많기 때문에 무엇이 필요한지 말하기가 어렵습니다. 내가 생각할 수있는 최선의 방법은 이웃 응답의 평균 + 임의의 구성 요소로 모델링 위치 효과를 사용한 다음 처리를 시도하는 것입니다. . 그것은 매우 의심 스러우므로 추가 도메인 지식은 가치가 있습니다. 오타 수정.
sesqu

@sesqu ... 누락 된 데이터가 없으며 무작위로 위치한 24 개의 모든 플롯의 데이터가 있습니다.
David LeBauer

모든 x, y 쌍에 데이터가있는 것은 아닙니다.
Aaron은 Stack Overflow를
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.