Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

Chapter Contents
Chapter Introduction
NAG Toolbox

# NAG Toolbox: nag_tsa_multi_transf_prelim (g13bd)

## Purpose

nag_tsa_multi_transf_prelim (g13bd) calculates preliminary estimates of the parameters of a transfer function model.

## Syntax

[wds, isf, ifail] = g13bd(r0, r, nna, s, 'nl', nl)
[wds, isf, ifail] = nag_tsa_multi_transf_prelim(r0, r, nna, s, 'nl', nl)

## Description

nag_tsa_multi_transf_prelim (g13bd) calculates estimates of parameters δ1,δ2,,δp${\delta }_{1},{\delta }_{2},\dots ,{\delta }_{p}$, ω0,ω1,,ωq${\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 $yt=δ1yt-1+δ2yt-2+⋯+δpyt-p+ω0xt-b-ω1xt-b-1-⋯-ωqxt-b-q$
given cross-correlations between the series xt${x}_{t}$ and lagged values of yt${y}_{t}$:
 rxy(l),  l = 0,1, … ,L $rxy(l), l=0,1,…,L$
and the ratio of standard deviations sy / sx${s}_{y}/{s}_{x}$, as supplied by nag_tsa_multi_xcorr (g13bc).
It is assumed that the series xt${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 bt${b}_{t}$ and at${a}_{t}$, as defined in the description of nag_tsa_multi_filter_arima (g13ba), should be used in place of those between yt${y}_{t}$ and xt${x}_{t}$.
The estimates are obtained by solving for δ1,δ2,,δp${\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 $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 $ωi = ± ( sy / sx ) [ rxy (b+i) - δ1 rxy (b+i- 1) - ⋯ - δp rxy (b+i-p) ] , i= 0,1,…,q$
where the ‘ + $+$’ is used for ω0${\omega }_{0}$ and ‘$-$’ for ωi${\omega }_{i}$, i > 0$i>0$.
Any value of rxy(l)${r}_{xy}\left(l\right)$ arising in these equations for l < b$l is taken as zero. The parameters δ1,δ2,,δp${\delta }_{1},{\delta }_{2},\dots ,{\delta }_{p}$ are checked as to whether they satisfy the stability criterion.

## References

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

## Parameters

### Compulsory Input Parameters

1:     r0 – double scalar
The cross-correlation between the two series at lag 0$0$, rxy(0)${r}_{xy}\left(0\right)$.
Constraint: 1.0r01.0$-1.0\le {\mathbf{r0}}\le 1.0$.
2:     r(nl) – double array
nl, the dimension of the array, must satisfy the constraint nlmax (nna(1) + nna(2) + nna(3),1)${\mathbf{nl}}\ge \mathrm{max}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{nna}}\left(1\right)+{\mathbf{nna}}\left(2\right)+{\mathbf{nna}}\left(3\right),1\right)$.
The cross-correlations between the two series at lags 1$1$ to L$L$, rxy(l)${r}_{xy}\left(\mathit{l}\right)$, for l = 1,2,,L$\mathit{l}=1,2,\dots ,L$.
Constraint: 1.0r(i)1.0$-1.0\le {\mathbf{r}}\left(\mathit{i}\right)\le 1.0$, for i = 1,2,,nl$\mathit{i}=1,2,\dots ,{\mathbf{nl}}$.
3:     nna(3$3$) – int64int32nag_int array
The transfer function model orders in the standard form b,q,p$b,q,p$ (i.e., delay time, number of moving-average MA-like followed by number of autoregressive AR-like parameters).
Constraint: nna(i)0${\mathbf{nna}}\left(\mathit{i}\right)\ge 0$, for i = 1,2,3$\mathit{i}=1,2,3$.
4:     s – double scalar
The ratio of the standard deviation of the y$y$ series to that of the x$x$ series, sy / sx${s}_{y}/{s}_{x}$.
Constraint: s > 0.0${\mathbf{s}}>0.0$.

### Optional Input Parameters

1:     nl – int64int32nag_int scalar
Default: The dimension of the array r.
L$L$, the number of lagged cross-correlations in the array r.
Constraint: nlmax (nna(1) + nna(2) + nna(3),1)${\mathbf{nl}}\ge \mathrm{max}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{nna}}\left(1\right)+{\mathbf{nna}}\left(2\right)+{\mathbf{nna}}\left(3\right),1\right)$.

nwds wa iwa

### Output Parameters

1:     wds(nwds) – double array
nwds = nna(2) + nna(3) + 1$\mathit{nwds}={\mathbf{nna}}\left(2\right)+{\mathbf{nna}}\left(3\right)+1$.
The preliminary estimates of the parameters of the transfer function model in the order of q + 1$q+1$ MA-like parameters followed by the p$p$ AR-like parameters. If the estimation of either type of parameter fails then these parameters are set to 0.0$0.0$.
2:     isf(2$2$) – int64int32nag_int array
Indicators of the success of the estimation of MA-like and AR-like parameters respectively. A value 0$0$ indicates that there are no parameters of that type to be estimated. A value of 1$1$ or 1$-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.
3:     ifail – int64int32nag_int scalar
${\mathrm{ifail}}={\mathbf{0}}$ unless the function detects an error (see [Error Indicators and Warnings]).

## Error Indicators and Warnings

Errors or warnings detected by the function:
ifail = 1${\mathbf{ifail}}=1$
 On entry, nna(i) < 0${\mathbf{nna}}\left(\mathit{i}\right)<0$, for i = 1,2,3$\mathit{i}=1,2,3$, or nl < max (nna(1) + nna(2) + nna(3),1)${\mathbf{nl}}<\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{nna}}\left(1\right)+{\mathbf{nna}}\left(2\right)+{\mathbf{nna}}\left(3\right),1\right)$, or r0 < − 1.0${\mathbf{r0}}<-1.0$ or r0 > 1.0${\mathbf{r0}}>1.0$, or r(i) < − 1.0${\mathbf{r}}\left(i\right)<-1.0$ or r(i) > 1.0${\mathbf{r}}\left(i\right)>1.0$, for some i = 1,2, … ,nl$i=1,2,\dots ,{\mathbf{nl}}$, or s ≤ 0.0${\mathbf{s}}\le 0.0$, or nwds ≠ nna(2) + nna(3) + 1$\mathit{nwds}\ne {\mathbf{nna}}\left(2\right)+{\mathbf{nna}}\left(3\right)+1$, or iwa < nna(3) × (nna(3) + 1)$\mathit{iwa}<{\mathbf{nna}}\left(3\right)×\left({\mathbf{nna}}\left(3\right)+1\right)$.
ifail = 999${\mathbf{ifail}}=-999$
Internal memory allocation failed.

## Accuracy

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

If nna(3) > 0${\mathbf{nna}}\left(3\right)>0$,a local workspace array of fixed length is allocated internally by nag_tsa_multi_transf_prelim (g13bd). The total size of this array amounts to nna(3)${\mathbf{nna}}\left(3\right)$ integer elements and nna(3) × (nna(3) + 1)${\mathbf{nna}}\left(3\right)×\left({\mathbf{nna}}\left(3\right)+1\right)$ double elements.
The time taken by nag_tsa_multi_transf_prelim (g13bd) is roughly proportional to nwds3${\mathit{nwds}}^{3}$.

## Example

```function nag_tsa_multi_transf_prelim_example
r0 = -0.0155;
r = [0.0339;
-0.0374;
-0.2895;
-0.343;
-0.4518;
-0.2787];
nna = [int64(3);2;1];
s = 1.9256;
[wds, isf, ifail] = nag_tsa_multi_transf_prelim(r0, r, nna, s)
```
```

wds =

-0.5575
0.3166
0.4626
0.6169

isf =

1
1

ifail =

0

```
```function g13bd_example
r0 = -0.0155;
r = [0.0339;
-0.0374;
-0.2895;
-0.343;
-0.4518;
-0.2787];
nna = [int64(3);2;1];
s = 1.9256;
[wds, isf, ifail] = g13bd(r0, r, nna, s)
```
```

wds =

-0.5575
0.3166
0.4626
0.6169

isf =

1
1

ifail =

0

```