Generate an ARMA(\(p\),\(q\)) process with supplied vector of Autoregressive Coefficients (\(\phi\)), Moving Average Coefficients (\(\theta\)), and \(\sigma^2\).
gen_arma(N, ar, ma, sigma2 = 1.5, n_start = 0L)A vec that contains the generated observations.
An integer for signal length.
A vec that contains the AR coefficients.
A vec that contains the MA coefficients.
A double that contains process variance.
An unsigned int that indicates the amount of observations to be used for the burn in period.
The Autoregressive order \(p\) and Moving Average order \(q\) (ARMA(\(p\),\(q\))) process with non-zero parameters \(\phi_i \in (-1,+1)\) for the AR components, \(\theta_j \in (-1,+1)\) for the MA components, and \(\sigma^2 \in {\rm I\!R}^{+}\). This process is defined as:
$${X_t} = \sum\limits_{i = 1}^p {{\phi _i}{X_{t - i}}} + \sum\limits_{i = 1}^q {{\theta _i}{\varepsilon _{t - i}}} + {\varepsilon _t}$$ where $${\varepsilon_t}\mathop \sim \limits^{iid} N\left( {0,\sigma^2} \right)$$
The innovations are generated from a normal distribution. The \(\sigma^2\) parameter is indeed a variance parameter. This differs from R's use of the standard deviation, \(\sigma\).
For AR(1), MA(1), and ARMA(1,1) please use their functions if speed is important
as this function is designed to generate generic ARMA processes.