
Euler-Maruyama Ornstein-Uhlenbeck simulation
Source:R/tps_stochastic.R
morie_tps_langevin_simulate.RdFits an OU process \(dX_t = theta(mu - X_t) dt + sigma dW_t\)
to daily incident counts via OLS on first-differences, then runs
n_paths forward simulations of length T_days.
Usage
morie_tps_langevin_simulate(
df,
ds_name = "?",
n_paths = 100L,
T_days = 365L,
dt = 1,
seed = 42L
)Value
A morie_rich_result list with theta,
mu, sigma, paths (matrix of n_paths x
n_steps), and final-day quantiles.
Examples
set.seed(1)
df <- data.frame(OCC_YEAR = rep(2014:2023, each = 30),
OCC_MONTH = sample(month.name, 300, TRUE),
HOOD_158 = sample(sprintf("%03d", 1:20), 300, TRUE),
LAT_WGS84 = runif(300, 43.6, 43.8),
LONG_WGS84 = runif(300, -79.5, -79.2))
res <- try(morie_tps_langevin_simulate(df, ds_name = "synthetic", n_paths = 20L))
if (!inherits(res, "try-error")) str(res, max.level = 1)
#> List of 5
#> $ title : chr "Langevin OU -- synthetic"
#> $ call : chr "morie_tps_langevin_simulate(df=<300r>, n_paths=20, T_days=365)"
#> $ summary_lines : list()
#> $ warnings : chr "only 0 timestamps"
#> $ interpretation: chr "No analysis: at least 60 timestamps required."
#> - attr(*, "class")= chr [1:3] "morie_tps_stochastic_result" "morie_rich_result" "list"