R의 모델 평균을 사용하여 일부 데이터를 분석 한 결과를 이해하고 이해하려고합니다.
주어진 변수에 대한 측정 방법의 효과를 분석하기 위해 다음 스크립트를 사용하고 있습니다. 데이터 세트는 다음과 같습니다.
https://www.dropbox.com/s/u9un273gzw9o30u/VMT4.csv?dl=0
장착 할 모델 :
LM.1 <- gls(VMTf ~ turn+sex+method, na.action="na.fail", method = "ML",VMT4)
준설 풀 모델
require(MuMIn)
d=dredge(LM.1)
print(d)
coefficients(d)
모수 추정값을 얻기 위해 모든 모형의 요약 정보를 얻습니다.
summary(model.avg(d))
모든 모델의 평균을 구할 수 있거나 (전체 모델 평균화) 또는 일부만 (조건부 평균화) 수행 할 수 있습니다. 이제 나는 추론하기 위해 전체 또는 조건부 평균을 사용하는 것이 더 낫다는 것을 알고 싶습니다. 과학 기사에 대해이 모든 것을 무엇으로보고해야합니까? 모델 평균화 상황에서 Z 값과 관련 p가 정확히 무엇을 의미합니까?
내 질문을 더 쉽게 시각화합니다. 결과표는 다음과 같습니다.
> summary(model.avg(d))# now, there are effects
Call:
model.avg(object = d)
Component model call:
gls(model = VMT ~ <8 unique rhs>, data = VMT4, method = ML, na.action =
na.fail)
Component models:
df logLik AICc delta weight
1 4 -247.10 502.52 0.00 0.34
12 5 -246.17 502.83 0.31 0.29
13 5 -246.52 503.52 1.01 0.20
123 6 -245.60 503.88 1.36 0.17
(Null) 2 -258.62 521.33 18.81 0.00
3 3 -258.38 522.95 20.43 0.00
2 3 -258.60 523.39 20.88 0.00
23 4 -258.36 525.05 22.53 0.00
Term codes:
method sex turn
1 2 3
Model-averaged coefficients:
(full average)
Estimate Std. Error Adjusted SE z value Pr(>|z|)
(Intercept) 42.63521 0.37170 0.37447 113.856 < 2e-16 ***
methodlight chamber -1.05276 0.36098 0.36440 2.889 0.00386 **
methodthermal gradient -1.80567 0.36103 0.36445 4.955 7e-07 ***
sex2 0.19023 0.29403 0.29548 0.644 0.51970
turn 0.05005 0.10083 0.10141 0.494 0.62165
(conditional average)
Estimate Std. Error Adjusted SE z value Pr(>|z|)
(Intercept) 42.6352 0.3717 0.3745 113.856 < 2e-16 ***
methodlight chamber -1.0528 0.3609 0.3643 2.890 0.00386 **
methodthermal gradient -1.8058 0.3608 0.3642 4.958 7.1e-07 ***
sex2 0.4144 0.3089 0.3119 1.328 0.18402
turn 0.1337 0.1264 0.1276 1.047 0.29492
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Relative variable importance:
method sex turn
Importance: 1.00 0.46 0.37
N containing models: 4 4 4
답변
문헌 [Grueber et al. 2011, “생태 및 진화의 다중 모델 추론 : 도전 과제”진화 생물학 24 : 699-711.
전체 데이터 또는 조건부 데이터를 사용할지 여부에 대한 목표에 따라 달라집니다. 내 분야에서는 AICC와 같은 기준을 사용하여 가장 지원되는 모델을 결정한 다음 조건부 하위 집합으로 사용합니다. 그런 다음이 정보가보고됩니다. 예를 들어, 처음 네 개의 모델은 모두 서로 2 AIC 단위 내에 있으므로 모두 서브 세트에 포함됩니다. 다른 것들은 거기에 있습니다 (높은 AIC). 정보를 포함하면 실제로 베타 견적의 품질이 떨어집니다.
답변
정확히 전체 평균과 조건 평균의 차이에 대한 전제는 잘못이라고 생각합니다. 하나는 0을 포함하는 평균 (전체)이고 다른 하나는 0을 포함하지 않습니다 (조건부). model.avg () 명령의 도움말 파일에서 :
노트
‘서브 세트'(또는 ‘조건부’) 평균은 매개 변수가 나타나는 모델에 대해서만 평균입니다. 대안으로, ‘전체’평균은 변수가 모든 모델에 포함되어 있다고 가정하지만 일부 모델에서는 해당 계수 (및 해당 분산)가 0으로 설정됩니다. ‘서브 세트 평균’과 달리 값을 0에서 치우치는 경향이 없습니다. ‘전체’평균은 수축 추정기의 한 유형이며 반응과 약한 관계를 갖는 변수의 경우 ‘서브 세트’추정기보다 작습니다.
모델의 하위 집합 만 사용하려면 (예 : 델타 AIC 기반) model.avg ()에서 하위 집합 인수를 사용하십시오. 포함 된 모델 중 일부에 다른 변수가없는 한 여전히 조건부 및 전체 추정치를 얻을 수 있습니다.