Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于predict.merMod函数参数_R_Predict_Lme4_Mixed Models_Random Effects - Fatal编程技术网

关于predict.merMod函数参数

关于predict.merMod函数参数,r,predict,lme4,mixed-models,random-effects,R,Predict,Lme4,Mixed Models,Random Effects,在lme4包的函数predict.merMod中,如果我们只有一个随机截距,allow.new.levels=TRUE、re.form=NA和re.form=~0之间有什么区别 re.form:…如果NA或~0,则不包括随机效应 换句话说,这两种选择中的任何一种都会在总体水平上对所有观测值(或newdata中指定的预测值集)进行预测,将所有随机效应设置为零 allow.new.levels:如果newdata中的新级别(或NA值)为 允许。如果FALSE(默认),则在newdata 会引发错误;

lme4
包的函数
predict.merMod
中,如果我们只有一个随机截距,
allow.new.levels=TRUE
re.form=NA
re.form=~0
之间有什么区别

re.form
:…如果
NA
~0
,则不包括随机效应

换句话说,这两种选择中的任何一种都会在总体水平上对所有观测值(或
newdata
中指定的预测值集)进行预测,将所有随机效应设置为零

allow.new.levels
:如果
newdata
中的新级别(或
NA
值)为 允许。如果
FALSE
(默认),则在
newdata
会引发错误;如果
TRUE
,则预测将使用 具有的数据的无条件(总体级别)值 以前未观察到的水平(或
NA
s)


换句话说,对于随机效应分组变量为
NA
的观测值/预测值集或用于拟合的原始数据集中未出现的水平,仅进行总体水平预测(假设
re.form
不是
NA
~0
)。(如果在具有多个分组变量的模型中,仅将分组变量的子集设置为
NA
/新值,则仅将与这些分组变量对应的随机效应设置为零[此细节仅在模型中存在多个随机效应项时相关]。)

我对我的答案进行了一些编辑,以回应您的编辑,但没有多大区别。如果你不明白我的答案,也许你可以澄清/集中你的问题?因此在我的例子中,我认为三个参数的设置是等效的,因为我只有一个随机截距,并且我在原始数据中没有投影水平。另外,当我设置re.form=NULL时,我发现交叉验证的性能比设置re.form=NA要好,但我的问题是,我的原始数据中没有未来预测的级别。这听起来是对的。当然,如果您能够访问特定于组的信息并使用它(即
re.form=NULL
),您将获得更好的性能……我想做的是从中获益。使用参数re.form=NULL用于交叉验证和定义固定年份的未来预测(我有光栅文件),例如:predict(graster.stack,GLMM,const=(data.frame(year=2011)))。你觉得这种方法怎么样?我认为如果预测是针对未来(未知)年的,那就太傻了。您应该对实际要预测的相同场景进行交叉验证,即
re.form=NA
。你也应该小心你的交叉验证,即考虑块交叉验证(见罗伯茨等)对时间、空间、层级或系统发育结构的数据的交叉验证策略。“生态,2016年12月1日,N/A/N/A。