knitr::opts_chunk$set( fig.width = 10, fig.height = 6, fig.align = "center" )
This vignette shows how to build stochastic models, combine them with +,
generate data, and plot the results.
library(gmwmx2) set.seed(123)
You can build a single stochastic process with any of the following model constructors:
wn() (white noise)ar1() (AR(1))pl() (power-law)matern() (Matérn)rw() (random walk)flicker() (flicker)Each constructor returns a time_series_model object that can be plotted or
combined with others using +.
model_wn <- wn(sigma2 = 1) series_wn <- generate(model_wn, n = 500) plot(series_wn)
The generated object is a generated_time_series with a numeric series in
$series:
head(series_wn$series)
model_ar1 <- ar1(phi = 0.8, sigma2 = 1) series_ar1 <- generate(model_ar1, n = 500) plot(series_ar1)
model_pl <- pl(kappa = 0.3, sigma2 = 1) series_pl <- generate(model_pl, n = 500) plot(series_pl)
model_matern <- matern(sigma2 = 1, lambda = 1, alpha=1) series_matern <- generate(model_matern, n = 500) plot(series_matern)
model_rw <- rw(sigma2 = 0.1) series_rw <- generate(model_rw, n = 500) plot(series_rw)
model_fl <- flicker(sigma2 = 1) series_fl <- generate(model_fl, n = 500) plot(series_fl)
You can set a random seed before calling generate(), or pass a seed directly
to generate(), to make the output deterministic. Using the same seed and
model parameters produces the exact same time series.
model_wn <- wn(sigma2 = 1) set.seed(1234) series_a <- generate(model_wn, n = 100) series_b <- generate(model_wn, n = 100, seed = 1234) series_c <- generate(model_wn, n = 100, seed = 4321) all.equal(series_a$series, series_b$series) all.equal(series_a$series, series_c$series)
Use + to build a composite model from multiple stochastic processes. The
result is a sum_model that can be passed to generate().
model_wn_ar1 <- wn(sigma2 = 1) + ar1(phi = 0.8, sigma2 = 0.5) class(model_wn_ar1) series_wn_ar1 <- generate(model_wn_ar1, n = 500) plot(series_wn_ar1)
The composite output is a generated_composite_model_time_series with:
series (the total sum)components (a list of each component series)n (length of the series)model (names of each component)parameters (parameters of each component)names(series_wn_ar1)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.