| getPar0 | R Documentation |
momentuHMM or momentuHierHMM model fitFor nested models, this function will extract starting parameter values (i.e., Par0 in fitHMM or MIfitHMM) from an existing momentuHMM or momentuHierHMM model fit based on the provided arguments for the new model.
Any parameters that are not in common between model and the new model (as specified by the arguments) are set to 0. This function is intended to help users incrementally build and fit more complicated models from simpler nested models (and vice versa).
getPar0(model, ...) ## Default S3 method: getPar0( model, nbStates = length(model$stateNames), estAngleMean = model$conditions$estAngleMean, circularAngleMean = model$conditions$circularAngleMean, formula = model$conditions$formula, formulaDelta = model$conditions$formulaDelta, stationary = model$conditions$stationary, mixtures = model$conditions$mixtures, formulaPi = model$conditions$formulaPi, DM = model$conditions$DM, betaRef = model$conditions$betaRef, stateNames = model$stateNames, ... ) ## S3 method for class 'hierarchical' getPar0( model, hierStates = model$conditions$hierStates, estAngleMean = model$conditions$estAngleMean, circularAngleMean = model$conditions$circularAngleMean, hierFormula = model$conditions$hierFormula, hierFormulaDelta = model$conditions$hierFormulaDelta, mixtures = model$conditions$mixtures, formulaPi = model$conditions$formulaPi, DM = model$conditions$DM, ... )
model |
A |
... |
further arguments passed to or from other methods |
nbStates |
Number of states in the new model. Default: |
estAngleMean |
Named list indicating whether or not the angle mean for data streams with angular
distributions ('vm' and 'wrpcauchy') are to be estimated in the new model. Default: |
circularAngleMean |
Named list indicating whether circular-linear or circular-circular
regression on the mean of circular distributions ('vm' and 'wrpcauchy') for turning angles are to be used in the new model. See |
formula |
Regression formula for the transition probability covariates of the new model (see |
formulaDelta |
Regression formula for the initial distribution covariates of the new model (see |
stationary |
|
mixtures |
Number of mixtures for the state transition probabilities (see |
formulaPi |
Regression formula for the mixture distribution probabilities (see |
DM |
Named list indicating the design matrices to be used for the probability distribution parameters of each data stream in the new model (see |
betaRef |
Numeric vector of length |
stateNames |
Character vector of length |
hierStates |
A hierarchical model structure |
hierFormula |
A hierarchical formula structure for the transition probability covariates for each level of the hierarchy (see |
hierFormulaDelta |
A hierarchical formula structure for the initial distribution covariates for each level of the hierarchy ('formulaDelta'). Default: |
All other fitHMM (or MIfitHMM) model specifications (e.g., dist, hierDist, userBounds, workBounds, etc.) and data are assumed to be the same
for model and the new model (as specified by nbStates, hierStates, estAngleMean, circularAngleMean, formula, hierFormula, formulaDelta, hierFormulaDelta, DM, etc.).
Note that for hierarchical models, getPar0 will return hierarchical data.tree objects (hierBeta and hierDelta) with the default values for fixPar, betaCons, and deltaCons;
if hierarchical t.p.m. or initial distribution parameters are subject to constraints, then these must be set manually on the list object returned by getPar0.
A named list containing starting values suitable for Par0 and beta0 arguments in fitHMM or MIfitHMM:
Par |
A list of vectors of state-dependent probability distribution parameters for
each data stream specified in |
beta |
Matrix of regression coefficients for the transition probabilities |
delta |
Initial distribution of the HMM. Only returned if |
getPar, getParDM, fitHMM, MIfitHMM
# model is a momentuHMM object, automatically loaded with the package
model <- example$m
data <- model$data
dist <- model$conditions$dist
nbStates <- length(model$stateNames)
estAngleMean <- model$conditions$estAngleMean
newformula <- ~cov1+cov2
Par0 <- getPar0(model,formula=newformula)
## Not run:
newModel <- fitHMM(model$data,dist=dist,nbStates=nbStates,
Par0=Par0$Par,beta0=Par0$beta,
formula=newformula,
estAngleMean=estAngleMean)
## End(Not run)
newDM1 <- list(step=list(mean=~cov1,sd=~cov1))
Par0 <- getPar0(model,DM=newDM1)
## Not run:
newModel1 <- fitHMM(model$data,dist=dist,nbStates=nbStates,
Par0=Par0$Par,beta0=Par0$beta,
formula=model$conditions$formula,
estAngleMean=estAngleMean,
DM=newDM1)
## End(Not run)
# same model but specify DM for step using matrices
newDM2 <- list(step=matrix(c(1,0,0,0,
"cov1",0,0,0,
0,1,0,0,
0,"cov1",0,0,
0,0,1,0,
0,0,"cov1",0,
0,0,0,1,
0,0,0,"cov1"),nrow=nbStates*2))
# to be extracted, new design matrix column names must match
# column names of model$conditions$fullDM
colnames(newDM2$step)<-paste0(rep(c("mean_","sd_"),each=2*nbStates),
rep(1:nbStates,each=2),
rep(c(":(Intercept)",":cov1"),2*nbStates))
Par0 <- getPar0(model,DM=newDM2)
## Not run:
newModel2 <- fitHMM(model$data,dist=dist,nbStates=nbStates,
Par0=Par0$Par,beta0=Par0$beta,
formula=model$conditions$formula,
estAngleMean=estAngleMean,
DM=newDM2)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.