2

モデルを選択し、入力変数 (rain、brk、onset、wid) の効果サイズを計算するために、R の「MuMIn」パッケージを使用しています。arm変数間で効果サイズを比較できるようにするために、パッケージの標準化関数を使用してそれらを標準化しました。これが私がフォローしているコードです:

参考として、この論文の付録を参照してください 。2011: 生態学と進化におけるマルチモデル推論: 課題と解決策

data1<-read.csv("data.csv",header=TRUE)       #reads the data

global.model<-lmer(yld.res ~ rain + brk + onset + wid + (1|state),data=data1,REML="FALSE")               # prepares a global model

stdz.model <- standardize(global.model,standardize.y = FALSE)          # standardise the input varaibles 

model.set <- dredge(stdz.model)      ### generates the full submodel set

top.models <- get.models(model.set, subset= delta<2)   # selects models with delta AIC <2

model.avg(top.models)       # calculates the average effect size of input variables

model.avg(top.models)これは、各入力変数の平均効果サイズを与える結果です

Coefficients: 
         (Intercept)     brk         rain         wid        onset
subset -4.281975e-14   -106.0919   51.54688    39.82837    35.68766

標準化機能がどのように機能するかを読みました-平均を減算し、2SDで除算します。

私の質問は次のとおりです。入力変数を標準化したので、効果の大きさは -1 から 1 の間であるべきではありませんか? または出力が示す効果の大きさは正しいですか?

お知らせ下さい

どうもありがとう

4

1 に答える 1

3

これはプログラミングの問題というよりも統計的な問題ですが、応答変数ではなく予測変数のみを標準化しています (指定したstandardize.y=FALSE)。したがって、各係数は、予測子の 2 SD 変化あたりの応答の期待される変化 (応答の単位で!) を表します。応答の範囲が大きい場合 (例のように)、非常に大きな変化が生じる可能性があります。たとえば、ミリグラム単位で測定されたゾウの体重の変化を分析している場合、予測因子 (性別、年齢、食物の入手可能性など) の適度に小さな変化に対して、反応が非常に大きく変化すると予想できます。おそらく使用する必要がありますstandardize.y=TRUE本当に無次元/無単位の効果サイズが必要な場合。無次元の効果でさえ、必ずしも -1 から +1 の間に制約されるわけではありませんが、これほど大きいとは驚くべきことです。

ところで、あなたのstandardize関数は( )armからではなく、パッケージから来ていると思います。MuMInlibrary("sos"); findFn("standardize",sortby="Function)

于 2014-07-31T20:12:59.840 に答える