# NAG CL Interfaceg13bdc (multi_​transf_​prelim)

Settings help

CL Name Style:

## 1Purpose

g13bdc calculates preliminary estimates of the parameters of a transfer function model.

## 2Specification

 #include
 void g13bdc (double r0, const double r[], Integer nl, Nag_TransfOrder *transfv, double s, double wds[], Integer isf[], NagError *fail)
The function may be called by the names: g13bdc, nag_tsa_multi_transf_prelim or nag_tsa_transf_prelim_fit.

## 3Description

g13bdc calculates estimates of parameters ${\delta }_{1},{\delta }_{2},\dots ,{\delta }_{p}$, ${\omega }_{0},{\omega }_{1},\dots ,{\omega }_{q}$ in the transfer function model
 $yt=δ1yt-1+δ2yt-2+⋯+δpyt-p+ω0xt-b-ω1xt-b-1-⋯-ωqxt-b-q$
given cross-correlations between the series ${x}_{t}$ and lagged values of ${y}_{t}$:
 $rxy(l), l=0,1,…,L$
and the ratio of standard deviations ${s}_{y}/{s}_{x}$, as supplied by g13bcc.
It is assumed that the series ${x}_{t}$ used to calculate the cross-correlations is a sample from a time series with true autocorrelations of zero. Otherwise the cross-correlations between the series ${b}_{t}$ and ${a}_{t}$, as defined in the description of g13bac, should be used in place of those between ${y}_{t}$ and ${x}_{t}$.
The estimates are obtained by solving for ${\delta }_{1},{\delta }_{2},\dots ,{\delta }_{p}$ the equations
 $rxy(b+q+j)=δ1rxy(b+q+j-1)+⋯+δprxy(b+q+j-p), j=1,2,…,p$
then calculating
 $ωi = ± (sy/sx) [rxy(b+i)-δ1rxy(b+i-1)-⋯-δprxy(b+i-p)] , i= 0,1,…,q$
where the ‘$+$’ is used for ${\omega }_{0}$ and ‘$-$’ for ${\omega }_{i}$, $i>0$.
Any value of ${r}_{xy}\left(l\right)$ arising in these equations for $l is taken as zero. The parameters ${\delta }_{1},{\delta }_{2},\dots ,{\delta }_{p}$ are checked as to whether they satisfy the stability criterion.

## 4References

Box G E P and Jenkins G M (1976) Time Series Analysis: Forecasting and Control (Revised Edition) Holden–Day

## 5Arguments

1: $\mathbf{r0}$double Input
On entry: the cross-correlation between the two series at lag $0$, ${r}_{xy}\left(0\right)$.
Constraint: $-1.0\le {\mathbf{r0}}\le 1.0$.
2: $\mathbf{r}\left[{\mathbf{nl}}\right]$const double Input
On entry: the cross-correlations between the two series at lags $1$ to $L$, ${r}_{xy}\left(\mathit{l}\right)$, for $\mathit{l}=1,2,\dots ,L$.
Constraint: $-1.0\le {\mathbf{r}}\left[\mathit{i}\right]\le 1.0$, for $\mathit{i}=0,1,\dots ,{\mathbf{nl}}-1$.
3: $\mathbf{nl}$Integer Input
On entry: $L$, the number of lagged cross-correlations in the array r.
Constraint: ${\mathbf{nl}}\ge \mathrm{max}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{transfv}}\mathbf{.}\mathbf{nag_b}+{\mathbf{transfv}}\mathbf{.}\mathbf{nag_q}+{\mathbf{transfv}}\mathbf{.}\mathbf{nag_p},1\right)$.
4: $\mathbf{transfv}$Nag_TransfOrder * Input
On entry: the orders of the transfer function model where the triplet (transfv. nag_b, transfv. nag_q, transfv. nag_p) corresponds to the triplet $\left(b,q,p\right)$ as described in Section 2.3.1 in the G13 Chapter Introduction.
Constraints:
• ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_b}\ge 0$;
• ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_q}\ge 0$;
• ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_p}\ge 0$.
5: $\mathbf{s}$double Input
On entry: the ratio of the standard deviation of the $y$ series to that of the $x$ series, ${s}_{y}/{s}_{x}$.
Constraint: ${\mathbf{s}}>0.0$.
6: $\mathbf{wds}\left[\mathit{dim}\right]$double Output
Note: the dimension, dim, of the array wds must be at least ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_q}+{\mathbf{transfv}}\mathbf{.}\mathbf{nag_p}+1$.
On exit: the preliminary estimates of the parameters of the transfer function model in the order of $q+1$ MA-like parameters followed by the $p$ AR-like parameters. If the estimation of either type of parameter fails then these arguments are set to $0.0$.
7: $\mathbf{isf}\left[2\right]$Integer Output
On exit: indicators of the success of the estimation of MA-like and AR-like parameters respectively. A value $0$ indicates that there are no parameters of that type to be estimated. A value of $1$ or $-1$ indicates that there are parameters of that type in the model and the estimation of that type has been successful or unsuccessful respectively. Note that there is always at least one MA-like parameter in the model.
8: $\mathbf{fail}$NagError * Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).

## 6Error Indicators and Warnings

NE_ALLOC_FAIL
Dynamic memory allocation failed.
See Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
On entry, argument $⟨\mathit{\text{value}}⟩$ had an illegal value.
NE_CONSTRAINT
Constraint: ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_b}\ge 0$.
Constraint: ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_p}\ge 0$.
Constraint: ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_q}\ge 0$.
NE_INT_4
On entry, ${\mathbf{nl}}=⟨\mathit{\text{value}}⟩$, ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_b}=⟨\mathit{\text{value}}⟩$, ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_q}=⟨\mathit{\text{value}}⟩$ and ${\mathbf{transfv}}\mathbf{.}\mathbf{nag_p}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{nl}}\ge \mathrm{max}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{transfv}}\mathbf{.}\mathbf{nag_b}+{\mathbf{transfv}}\mathbf{.}\mathbf{nag_q}+{\mathbf{transfv}}\mathbf{.}\mathbf{nag_p},1\right)$.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
See Section 7.5 in the Introduction to the NAG Library CL Interface for further information.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library CL Interface for further information.
NE_REAL
On entry, ${\mathbf{r0}}=⟨\mathit{\text{value}}⟩$.
Constraint: $-1.0\le {\mathbf{r0}}\le 1.0$.
On entry, ${\mathbf{s}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{s}}>0.0$.
NE_REAL_ARRAY_ELEM_CONS
On entry, $i=⟨\mathit{\text{value}}⟩$ and ${\mathbf{r}}\left[i-1\right]=⟨\mathit{\text{value}}⟩$.
Constraint: $-1.0\le {\mathbf{r}}\left[\mathit{i}\right]\le 1.0$.

## 7Accuracy

Equations used in the computations may become unstable, in which case results are reset to zero with array isf values set accordingly.

## 8Parallelism and Performance

g13bdc is threaded by NAG for parallel execution in multithreaded implementations of the NAG Library.
g13bdc makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this function. Please also consult the Users' Note for your implementation for any additional implementation-specific information.

The time taken by g13bdc is roughly proportional to ${{\mathbf{transfv}}\mathbf{.}\mathbf{nag_q}+{\mathbf{transfv}}\mathbf{.}\mathbf{nag_p}+1}^{3}$.

## 10Example

This example reads the cross-correlations between two series at lags $0$ to $6$. It then reads a $\left(3,2,1\right)$ transfer function model and calculates and prints the preliminary estimates of the parameters of the model.

### 10.1Program Text

Program Text (g13bdce.c)

### 10.2Program Data

Program Data (g13bdce.d)

### 10.3Program Results

Program Results (g13bdce.r)