R:gls错误“;错误收敛(8)“;和GLS控制功能

R:gls错误“;错误收敛(8)“;和GLS控制功能,r,nlme,R,Nlme,我已经看到,在R中从nlme包运行广义最小二乘(gls)时的一个常见错误是“错误收敛(8)”。我试图运行gls模型来解释残差的空间相关性,但我遇到了同样的问题。例如: library(nlme) set.seed(2) samp.sz<-400 lat<-runif(samp.sz,-4,4) lon<-runif(samp.sz,-4,4) exp1<-rnorm(samp.sz) exp2<-rnorm(samp.sz) resp<-1+4*exp1-

我已经看到,在R中从nlme包运行广义最小二乘(gls)时的一个常见错误是“错误收敛(8)”。我试图运行gls模型来解释残差的空间相关性,但我遇到了同样的问题。例如:

library(nlme)

set.seed(2)
samp.sz<-400
lat<-runif(samp.sz,-4,4)
lon<-runif(samp.sz,-4,4)
exp1<-rnorm(samp.sz)
exp2<-rnorm(samp.sz)

resp<-1+4*exp1-3*exp2-2*lat+rnorm(samp.sz)
mod.cor<-gls(resp~exp1+exp2,correlation=corGaus(form=~lat,nugget=TRUE))

Error in gls(resp ~ exp1 + exp2, correlation = corGaus(form = ~lat, nugget = TRUE)) : 
  false convergence (8)
库(nlme)
种子(2)

问题是熔核效应非常小。提供更好的起始值:

mod.cor <- gls(resp ~ exp1 + exp2, 
  correlation = corGaus(c(200, 0.1), form = ~lat, nugget = TRUE))
summary(mod.cor)
#<snip>
#Correlation Structure: Gaussian spatial correlation
# Formula: ~lat 
# Parameter estimate(s):
#       range       nugget 
#2.947163e+02 5.209379e-06
#</snip>

mod.cor非常感谢您。在估计良好的熔核启动效果的情况下(10,0.1)。因为使用半变异函数来估计它需要首先运行模型,所以您始终可以运行没有相关结构的模型并调查残差。
mod.cor2<-gls(resp~exp1,correlation=corGaus(form=~lat,nugget=TRUE))
mod.cor3<-gls(resp~exp2,correlation=corGaus(form=~lat,nugget=TRUE))
mod.cor <- gls(resp ~ exp1 + exp2, 
  correlation = corGaus(c(200, 0.1), form = ~lat, nugget = TRUE))
summary(mod.cor)
#<snip>
#Correlation Structure: Gaussian spatial correlation
# Formula: ~lat 
# Parameter estimate(s):
#       range       nugget 
#2.947163e+02 5.209379e-06
#</snip>