Introduction

Here, we provide some background on CARMA models and the connection between CARMA and Gaussian Process (GP).

CARMA

CARMA stands for continuous-time autoregressive moving average, it is the continuous-time version of the better known autoregressive moving average (ARMA) model. In recent years, CARMA have been utilized to study time-domain data across many disciplines. In short, CARMA processes are defined as the solutions to the following stochastic differential equation:

\[\mathrm{d}^{p}x + \alpha_{1} \mathrm{d}^{p-1}x + \ldots + \alpha_{p-1} \mathrm{d}x + \alpha_{p}x = \beta_{0} (\mathrm{d}W) + \ldots + \beta_{q} \mathrm{d}^{q}(\mathrm{d}W),\]

where \(\alpha_*\) and \(\beta_*\) are the parameters of a CARMA model. The order of the underlying differential equation can be specified using two numbers \(p\) and \(q\), where \(p\) is the autoregressive (AR) order and \(q\) is the moving average (MA) order. Thus, a particular CARMA model can also be referred to as a CARMA(p,q) model. For example, a CARMA(2,1) model will have a corresponding stochastic differential equation defined by:

\[\mathrm{d}^{2}x + \alpha_{1} \mathrm{d}x + \alpha_{2}x = \beta_{0} (\mathrm{d}W) + \beta_{1} \mathrm{d}^{1}(\mathrm{d}W)\]

In fact, the popular (in astronomy) Damped Random Walk (DRW) model is simply the lowest order CARMA model, namely CARMA(1,0) with a stochastic differential equation defined by:

\[\mathrm{d}x + \alpha_{1}x = \beta_{0} (\mathrm{d}W)\]

For more on CARMA models, please see:

Note

The notation used in this section (and through out EzTao) follows the standard using in Brockwell 2001.

CARMA as GPs -> EzTao

CARMA processes (driven by Gaussian noises) are in fact Gaussian Processes (GPs) by definition, thus, in principle the likelihood function of CARMA can be evaluated using GPs. However, such as a process requires inverting the autocovariance matrix, which scales as \(O(N^{3})\), where \(N\) is the number data points in a time series. The high computational cost, especially for time series having large number of data points, makes it intractable to use GPs to evaluate the likelihood function of CARMA models. Recent development in GPs, in particular, the generalization of Rybicki & Press 1995’s method to a much larger set of kernels (demonstrated in Foreman-Mackey et al. 2017 has made it possible to compute the likelihood of CARMA models in \(O(NJ^{2})\) operations, where \(J\) is the p order of a CARMA(p, q) model. Although the computational complexity for the GP solution is the same as that of the Kalman filter solution, the GP solution is about 10 times faster on average.

\(\mathit{celerite}\) provides built-in support for evaluation of DRW’s likelihood function using the real kernel, but not any other CARMA model. EzTao generalizes this approach to ALL CARMA models, and provides tools to facilitate the simulation and analysis of time series data using CARMA. EzTao uses a set of CARMA kernels, which you can define using regular CARMA notation, to handle the conversion between CARMA and \(\mathit{celerite}\)’s GPs. Those CARMA kernels are listed in the eztao.carma.CARMATerm module.