diff --git a/EpiAware/src/EpiLatentModels/autoregressive.jl b/EpiAware/src/EpiLatentModels/autoregressive.jl index a6f86b996..04927cc9f 100644 --- a/EpiAware/src/EpiLatentModels/autoregressive.jl +++ b/EpiAware/src/EpiLatentModels/autoregressive.jl @@ -1,11 +1,6 @@ -""" +@doc raw" The autoregressive (AR) model struct. - -# Fields -- `damp_prior::D`: The prior distribution for the damping factor. -- `std_prior::S`: The prior distribution for the standard deviation. -- `init_prior::I`: The prior distribution for the initial values. -""" +" @with_kw struct AR{D <: Priors, S <: Distribution, I <: Priors} <: AbstractLatentModel damp_prior::D = truncated(Normal(0.0, 0.05), 0.0, 1) std_prior::S = truncated(Normal(0.0, 0.05), 0.0, Inf) @@ -13,10 +8,11 @@ The autoregressive (AR) model struct. @assert length(damp_prior)==length(init_prior) "damp_prior and init_prior must have the same length" end -""" +@doc raw" Generate a latent AR series. # Arguments + - `latent_model::AR`: The AR model. - `n::Int`: The length of the AR series. @@ -27,7 +23,7 @@ Generate a latent AR series. # Notes - The length of `damp_prior` and `init_prior` must be the same. - `n` must be longer than the order of the autoregressive process. -""" +" @model function generate_latent(latent_model::AR, n) p = length(latent_model.damp_prior) ϵ_t ~ MvNormal(ones(n - p))