
This function creates residual plots for an estimated ctsmTMB object
Source:R/S3methods.R
plot.ctsmTMB.fit.Rd
This function creates residual plots for an estimated ctsmTMB object
Arguments
- x
A R6 ctsmTMB fit object
- print.plot
a single integer determining which element out of all states/observations (depending on the argument to
type
). A value of 0 means not to plot anything.- type
a character vector either 'residuals' or 'states' determining what to plot.
- state.type
a character vector either 'prior', 'posterior' or 'smoothed' determining what kind of states to plot.
- against.obs
name of an observation to plot state predictions against.
- ggtheme
ggplot2 theme to use for creating the ggplot.
- ylims
limits on the y-axis for residual time-series plot
- residual.burnin
integer N to remove the first N residuals
- residual.vs.obs.and.inputs
the residual plots also include a new window with time-series plots of residuals, associated observations and inputs
- ...
additional arguments
Examples
library(ctsmTMB)
model <- ctsmTMB$new()
# create model
model$addSystem(dx ~ theta * (mu+u-x) * dt + sigma_x*dw)
model$addObs(y ~ x)
model$setVariance(y ~ sigma_y^2)
model$addInput(u)
model$setParameter(
theta = c(initial = 1, lower=1e-5, upper=50),
mu = c(initial=1.5, lower=0, upper=5),
sigma_x = c(initial=1, lower=1e-10, upper=30),
sigma_y = 1e-2
)
model$setInitialState(list(1,1e-1))
# fit model to data
fit <- model$estimate(Ornstein)
#> Checking model components...
#> Checking and setting data...
#> Constructing objective function and derivative tables...
#> Minimizing the negative log-likelihood...
#> 0: 160.35328: 1.00000 1.50000 1.00000
#> 10: 89.603625: 2.58436 2.91384 1.15608
#> Optimization finished!:
#> Elapsed time: 0.008 seconds.
#> The objective value is: 7.387879e+01
#> The maximum gradient component is: 9.9e-08
#> The convergence message is: relative convergence (4)
#> Iterations: 19
#> Evaluations: Fun: 29 Grad: 20
#> See stats::nlminb for available tolerance/control arguments.
#> Returning results...
#> Finished!
# plot residuals
if (FALSE) plot(fit) # \dontrun{}
plot(fit)
# plot filtered states
if (FALSE) plot(fit, type="states") # \dontrun{}