The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Data generation

This vignette shows how to build stochastic models, combine them with +, generate data, and plot the results.

library(gmwmx2)
set.seed(123)

Available models

You can build a single stochastic process with any of the following model constructors:

Each constructor returns a time_series_model object that can be plotted or combined with others using +.

Stochastic models

White noise

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)
## [1] -0.56047565 -0.23017749  1.55870831  0.07050839  0.12928774  1.71506499

AR(1)

model_ar1 <- ar1(phi = 0.8, sigma2 = 1)
series_ar1 <- generate(model_ar1, n = 500)
plot(series_ar1)

Power-law

model_pl <- pl(kappa = 0.3, sigma2 = 1)
series_pl <- generate(model_pl, n = 500)
plot(series_pl)

Matérn

model_matern <- matern(sigma2 = 1, lambda = 1, alpha=1)
series_matern <- generate(model_matern, n = 500)
plot(series_matern)

Random walk

model_rw <- rw(sigma2 = 0.1)
series_rw <- generate(model_rw, n = 500)
plot(series_rw)

Flicker

model_fl <- flicker(sigma2 = 1)
series_fl <- generate(model_fl, n = 500)
plot(series_fl)

Reproducible generation

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)
## [1] TRUE
all.equal(series_a$series, series_c$series)
## [1] "Mean relative difference: 1.310458"

Composite models (sum of processes)

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)
## [1] "sum_model"
series_wn_ar1 <- generate(model_wn_ar1, n = 500)
plot(series_wn_ar1)

The composite output is a generated_composite_model_time_series with:

names(series_wn_ar1)
## [1] "series"     "components" "n"          "model"      "parameters"

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.