ar1_ng | R Documentation |
Constructs a simple non-Gaussian model where the state dynamics follow an AR(1) process.
ar1_ng(y, rho, sigma, mu, distribution, phi, u, beta, xreg = NULL)
y |
A vector or a |
rho |
A prior for autoregressive coefficient.
Should be an object of class |
sigma |
A prior for the standard deviation of noise of the AR-process.
Should be an object of class |
mu |
A fixed value or a prior for the stationary mean of the latent
AR(1) process. Should be an object of class |
distribution |
Distribution of the observed time series. Possible
choices are |
phi |
Additional parameter relating to the non-Gaussian distribution.
For negative binomial distribution this is the dispersion term, for gamma
distribution this is the shape parameter, and for other distributions this
is ignored. Should an object of class |
u |
A vector of positive constants for non-Gaussian models. For Poisson, gamma, and negative binomial distribution, this corresponds to the offset term. For binomial, this is the number of trials. |
beta |
A prior for the regression coefficients.
Should be an object of class |
xreg |
A matrix containing covariates with number of rows matching the
length of |
An object of class ar1_ng
.
model <- ar1_ng(discoveries, rho = uniform(0.5,-1,1),
sigma = halfnormal(0.1, 1), mu = normal(0, 0, 1),
distribution = "poisson")
out <- run_mcmc(model, iter = 1e4, mcmc_type = "approx",
output_type = "summary")
ts.plot(cbind(discoveries, exp(out$alphahat)), col = 1:2)
set.seed(1)
n <- 30
phi <- 2
rho <- 0.9
sigma <- 0.1
beta <- 0.5
u <- rexp(n, 0.1)
x <- rnorm(n)
z <- y <- numeric(n)
z[1] <- rnorm(1, 0, sigma / sqrt(1 - rho^2))
y[1] <- rnbinom(1, mu = u * exp(beta * x[1] + z[1]), size = phi)
for(i in 2:n) {
z[i] <- rnorm(1, rho * z[i - 1], sigma)
y[i] <- rnbinom(1, mu = u * exp(beta * x[i] + z[i]), size = phi)
}
model <- ar1_ng(y, rho = uniform_prior(0.9, 0, 1),
sigma = gamma_prior(0.1, 2, 10), mu = 0.,
phi = gamma_prior(2, 2, 1), distribution = "negative binomial",
xreg = x, beta = normal_prior(0.5, 0, 1), u = u)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.