parampositions {RandomFields} | R Documentation |
The function returns the internal positions of the model parameters
parampositions(model, param, trend=NULL, dim, print=1)
model |
see |
param |
see |
trend |
trend |
dim |
dimension of the field |
print |
if |
The model is printed and returned where the values of the parameters are the positions in the internal representation.
An error appears if the model can be substantially simplified.
Martin Schlather, martin.schlather@math.uni-goettingen.de http://www.stochastik.math.uni-goettingen.de/~schlather
CovarianceFct
,
fitvario
sophisticated
##################### ## output examples ## ##################### ## basic models parampositions(model="exp", param=c(1,2,3,NA), dim=1, print=3) parampositions(model="exp", param=c(0,1,NA,NA), dim=1, print=3) ## nested parampositions(model="whi", param=rbind(c(1, NA, 3), c(4, 5, NA)), dim=1, print=3) ## complicated models model <- list("+", list("$", aniso=matrix(c(5:7, NA), nc=2), var=NA, list("exp")), list("$", var=2, scale=7, list("whittle", nu=NA))) parampositions(model=model, dim=2, print=3) ######################################################## ## internal estimation of log(scale) instead of scale ## ######################################################## ## simulate x <- c(0, 10, 0.1) model <- list("$", var=1, scale=1, list("exponential")) z <- GaussRF(x, model=model, gridtriple=TRUE, n=10) ## usual estimation est.model <- list("+", list("$", var=NA, scale=NA, list("exponential")), list("$", var=NA, list("nugget"))) fit <- fitvario(x, gridtriple=TRUE, data=z, model=est.model) str(fit$ml) ## estimating internally log(scale) instead of scale -- ## the return is scale itself! However, in this setup ## the transformation leads to worse results ## parampositions(est.model, dim=1) # indicates where scale is stored; ## namely in the second position: trafo <- function(param) {param[2] <- exp(param[2]); param} lower <- list("+", list("$", var=NA, scale=-3, list("exponential")), list("$", var=NA, list("nugget"))) upper <- list("+", list("$", var=NA, scale=3, list("exponential")), list("$", var=NA, list("nugget"))) guess <- list("+", list("$", var=1, scale=0, list("exponential")), list("$", var=1, list("nugget"))) fitlog <- fitvario(x, gridtriple=TRUE, data=z, model=est.model, transform=trafo, lower=lower, upper=upper, users.guess=guess) str(fitlog$ml) ## note that scale is returned, not log(scale) !