|
epinowcast
|
Go to the source code of this file.
Functions | |
| real | intercept_centring_offset (vector means_fixed, vector beta, vector beta_sd, matrix rdesign, int neffs) |
| tuple (real, real) centring_offsets(vector means_fixed | |
| return (design, latent) | |
| vector | regression_predictor (array[] real intercept, vector beta, int nobs, int neffs, matrix fdesign, tuple(vector, array[] int, array[] int) sparse, vector beta_sd, matrix rdesign, int add_intercept, int sparse_design, int centre, int arima_present, int arima_T, int arima_G, int arima_p, int arima_d, int arima_q, int arima_n_obs, matrix arima_z, vector arima_pacf, vector arima_theta, array[] real arima_sigma, array[] int arima_flat_idx, int gp_present, int gp_T, int gp_G, int gp_M, real gp_L, int gp_type, real gp_nu, int gp_d, matrix gp_PHI, matrix gp_eta, array[] real gp_rho, array[] real gp_alpha, array[] int gp_flat_idx) |
| void | regression_priors_lp (vector beta, vector beta_sd, array[,] real beta_sd_p, int fixed, int random, int arima_present, int arima_p, int arima_q, matrix arima_z, vector arima_pacf, vector arima_theta, array[] real arima_sigma, array[,] real arima_sigma_p, array[,] real arima_pacf_p) |
| void | gp_priors_lp (int gp_present, matrix gp_eta, array[] real gp_rho, array[] real gp_alpha, array[,] real gp_rho_p, array[,] real gp_alpha_p) |
Variables | |
| vector | beta |
| vector vector | beta_sd |
| vector vector matrix | rdesign |
| vector vector matrix int | neffs |
| vector vector matrix int int | centre |
| vector vector matrix int int int | arima_present |
| vector vector matrix int int int int | arima_T |
| vector vector matrix int int int int int | arima_G |
| vector vector matrix int int int int int int | arima_p |
| vector vector matrix int int int int int int int | arima_d |
| vector vector matrix int int int int int int int int | arima_q |
| vector vector matrix int int int int int int int int matrix | arima_z |
| vector vector matrix int int int int int int int int matrix vector | arima_pacf |
| vector vector matrix int int int int int int int int matrix vector vector | arima_theta |
| vector vector matrix int int int int int int int int matrix vector vector array[] real | arima_sigma |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int | gp_present |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int | gp_T |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int | gp_G |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int int | gp_M |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int int real | gp_L |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int int real int | gp_type |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int int real int real | gp_nu |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int int real int real int | gp_d |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int int real int real int matrix | gp_PHI |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int int real int real int matrix matrix | gp_eta |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int int real int real int matrix matrix array[] real | gp_rho |
| vector vector matrix int int int int int int int int matrix vector vector array[] real int int int int real int real int matrix matrix array[] real array[] real | gp_alpha |
| real | latent |
| void gp_priors_lp | ( | int | gp_present, |
| matrix | gp_eta, | ||
| array[]real | gp_rho, | ||
| array[]real | gp_alpha, | ||
| array real | gp_rho_p[,], | ||
| array real | gp_alpha_p[,] ) |
Priors for an approximate Gaussian process latent term.
The spectral coefficients eta get a unit-normal (non-centred) prior. The length scale rho gets a log-normal prior and the magnitude alpha a half-normal prior, with each prior (mean, sd) supplied as data. Inert when gp_present == 0.
Definition at line 179 of file regression.stan.
| real intercept_centring_offset | ( | vector | means_fixed, |
| vector | beta, | ||
| vector | beta_sd, | ||
| matrix | rdesign, | ||
| int | neffs ) |
Single entry points for the regression layer.
regression_predictor() composes combine_effects() (fixed + partially-pooled random effects via the design matrices) with apply_arima_residual() (parameter-dependent ARIMA(p, d, q) latent residual) and apply_gp_term() (Hilbert-space approximate Gaussian process). Each module that owns a per-observation predictor calls this once instead of calling the layers separately, so every module routed through it gains the ARIMA and GP latent terms for free.
regression_priors_lp() is the matching one-shot priors helper: effect priors plus ARIMA priors (shocks, MA coefficients, latent standard deviation; partial autocorrelations get an implicit uniform prior via their parameter bounds). GP priors are supplied by the separate gp_priors_lp() helper so the long argument list stays manageable.
Both layers are inert when their term is absent: when arima_present == 0 and gp_present == 0, regression_predictor() returns the bare combine_effects() result; each apply_* call short-circuits on its own presence flag.
Every per-observation module routes through these helpers: expr, expl, refnp, and miss apply the latent terms directly at the observation level, while the sparse-row modules refp and rep supply a flat_idx built from the joint (covariate row x time x group) deduplication so the same gather works at sparse-row granularity. The ARIMA and GP terms share this scheme. See vignettes/arima.Rmd and vignettes/gaussian-process.Rmd. Intercept centring offset for a fixed-effects design.
Returns dot(means_fixed, scaled_beta), the mean of the fixed-effect contribution X * scaled_beta over the observations (with means_fixed the observation-weighted column means of the design). Subtracting this from the linear predictor centres the design so the intercept becomes the predictor mean rather than its value at the covariate origin, decorrelating the intercept from the slopes. brms centres the population-level design matrix the same way; it then places the prior on the centred intercept, whereas here the original-scale intercept is recovered via int_raw = int - offset (an additive shift, so the change of variables has unit Jacobian) and the user's prior is placed on the recovered int_raw. A very tight intercept prior therefore reintroduces a little of the intercept/slope coupling, but the user's stated prior is honoured on the original-scale intercept.
Returns 0 when there are no fixed effects (neffs == 0).
Definition at line 51 of file regression.stan.
| vector regression_predictor | ( | array[]real | intercept, |
| vector | beta, | ||
| int | nobs, | ||
| int | neffs, | ||
| matrix | fdesign, | ||
| tuple(vector, array[] int, array[] int) | sparse, | ||
| vector | beta_sd, | ||
| matrix | rdesign, | ||
| int | add_intercept, | ||
| int | sparse_design, | ||
| int | centre, | ||
| int | arima_present, | ||
| int | arima_T, | ||
| int | arima_G, | ||
| int | arima_p, | ||
| int | arima_d, | ||
| int | arima_q, | ||
| int | arima_n_obs, | ||
| matrix | arima_z, | ||
| vector | arima_pacf, | ||
| vector | arima_theta, | ||
| array[]real | arima_sigma, | ||
| array[]int | arima_flat_idx, | ||
| int | gp_present, | ||
| int | gp_T, | ||
| int | gp_G, | ||
| int | gp_M, | ||
| real | gp_L, | ||
| int | gp_type, | ||
| real | gp_nu, | ||
| int | gp_d, | ||
| matrix | gp_PHI, | ||
| matrix | gp_eta, | ||
| array[]real | gp_rho, | ||
| array[]real | gp_alpha, | ||
| array[]int | gp_flat_idx ) |
Definition at line 96 of file regression.stan.
| void regression_priors_lp | ( | vector | beta, |
| vector | beta_sd, | ||
| array real | beta_sd_p[,], | ||
| int | fixed, | ||
| int | random, | ||
| int | arima_present, | ||
| int | arima_p, | ||
| int | arima_q, | ||
| matrix | arima_z, | ||
| vector | arima_pacf, | ||
| vector | arima_theta, | ||
| array[]real | arima_sigma, | ||
| array real | arima_sigma_p[,], | ||
| array real | arima_pacf_p[,] ) |
Definition at line 144 of file regression.stan.
| return | ( | design | , |
| latent | ) |
| tuple | ( | real | , |
| real | ) |
Bundle a module's design and latent centring offsets.
Returns (design, latent), where design is the fixed-effect design offset (see intercept_centring_offset) and latent is the summed grand-mean offsets of the integrated ARIMA and GP latents (see arima_latent_mean_offset and gp_latent_mean_offset). A module recovers its original-scale intercept as int_c - design - latent and subtracts only design from the centred predictor (the latent is already grand-mean centred in apply_arima_residual / apply_gp_term). All shifts are additive, so the recovery has unit Jacobian. This keeps the per-module recovery to a single call rather than three.
| vector vector matrix int int int int int int int arima_d |
Definition at line 76 of file regression.stan.
| vector vector matrix int int int int int arima_G |
Definition at line 75 of file regression.stan.
| vector vector matrix int int int int int int arima_p |
Definition at line 76 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector arima_pacf |
Definition at line 77 of file regression.stan.
| vector vector matrix int int int arima_present |
Definition at line 75 of file regression.stan.
| vector vector matrix int int int int int int int int arima_q |
Definition at line 76 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real arima_sigma |
Definition at line 78 of file regression.stan.
| vector vector matrix int int int int arima_T |
Definition at line 75 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector arima_theta |
Definition at line 77 of file regression.stan.
| vector vector matrix int int int int int int int int matrix arima_z |
Definition at line 77 of file regression.stan.
| vector beta |
Definition at line 73 of file regression.stan.
| vector vector beta_sd |
Definition at line 73 of file regression.stan.
| vector vector matrix int int centre |
Definition at line 74 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int int real int real int matrix matrix array [] real array [] real gp_alpha |
Definition at line 81 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int int real int real int gp_d |
Definition at line 80 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int int real int real int matrix matrix gp_eta |
Definition at line 80 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int gp_G |
Definition at line 79 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int int real gp_L |
Definition at line 79 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int int gp_M |
Definition at line 79 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int int real int real gp_nu |
Definition at line 80 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int int real int real int matrix gp_PHI |
Definition at line 80 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int gp_present |
Definition at line 79 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int int real int real int matrix matrix array [] real gp_rho |
Definition at line 81 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int gp_T |
Definition at line 79 of file regression.stan.
| vector vector matrix int int int int int int int int matrix vector vector array [] real int int int int real int gp_type |
Definition at line 80 of file regression.stan.
| real latent |
Definition at line 86 of file regression.stan.
| vector vector matrix int neffs |
Definition at line 73 of file regression.stan.
| vector vector matrix rdesign |
Definition at line 73 of file regression.stan.