This function is available only with RAP – The Trading Edition Enterprise.
Calculates the exact maximum likelihood estimation of the parameters in a univariate ARMA (autoregressive moving average) time series model, and returns likelihood value (ln) for the fitted model.
TS_MAX_ARMA_LIKELIHOOD (timeseries_expression)
OVER (window-spec)
timeseries_expression A numeric expression, generally a column name, containing an element in a time series.
window-spec TS_MAX_ARMA_LIKELIHOOD is an OLAP function requiring an OVER () clause.
This function returns a double-precision floating-point value containing the value of -2*(ln(likelihood)). TS_MAX_ARMA_LIKELIHOOD calls the function imsls_d_max_arma in the IMSL libraries.
The arguments of TS_MAX_ARMA_LIKELIHOOD map to the IMSL library function imsls_d_max_arma as follows:
params = imsls_d_max_arma(n_objs, z, p, q, IMSLS_LOG_LIKELIHOOD, &likelihood, 0);
n_objs Contains the number of rows in the current window frame.
z[] Contains the value of timeseries_expression for the current window frame.
likelihood Provided by the function call. Contains the log likelihood result.
For detailed information on how the IMSL function imsls_d_max_arma performs time series calculations, see IMSL Numerical Library User’s Guide: Volume 2 of 2 C Stat Library.
This example shows an input data table, a SQL statement containing the TS_MAX_ARMA_LIKELIHOOD function, and the data values returned by the function. This example uses the following table (called DATASET) as its input data. The DATASET table contains 50 rows of time series data:
rownum |
data |
---|---|
1 |
0.315523 |
2 |
0.485859 |
3 |
0.676886 |
4 |
1.97381 |
5 |
2.77555 |
6 |
2.73657 |
7 |
2.64233 |
8 |
4.26118 |
9 |
3.13641 |
10 |
4.16566 |
11 |
2.95952 |
12 |
2.14504 |
13 |
1.98799 |
14 |
0.805859 |
15 |
0.833405 |
16 |
2.29075 |
17 |
1.30045 |
18 |
0.467122 |
19 |
-0.170107 |
20 |
-0.256657 |
21 |
-0.382597 |
22 |
-0.505511 |
23 |
-1.90147 |
24 |
-0.981688 |
25 |
-1.43116 |
26 |
-1.39389 |
27 |
-2.34823 |
28 |
-2.91122 |
29 |
-0.927423 |
30 |
-0.044383 |
31 |
-0.389648 |
32 |
0.545008 |
33 |
0.614096 |
34 |
0.364668 |
35 |
1.16043 |
36 |
-0.654063 |
37 |
0.616094 |
38 |
2.00875 |
39 |
1.86696 |
40 |
2.80171 |
41 |
3.78422 |
42 |
4.11499 |
43 |
2.77188 |
44 |
4.00312 |
45 |
4.21298 |
46 |
5.00413 |
47 |
4.74498 |
48 |
4.89621 |
49 |
3.93273 |
50 |
4.31592 |
The following SQL statement returns the likelihood value of the maximum likelihood estimation on data from the data column:
Select ts_max_arma_likelihood(data) over (order by rownum rows between unbounded preceding and unbounded following) as res FROM DATASET
Sybase IQ returns 50 rows, each containing the same value:
res |
---|
-11.7818 |
-11.7818 |
-11.7818 |
-11.7818 |
-11.7818 |
-11.7818 |
-11.7818 |
-11.7818 |
-11.7818 |
-11.7818 |
... |
-11.7818 |
Chapter 2, “Using OLAP” in the System Administration Guide: Volume 2
IMSL Numerical Library User’s Guide: Volume 2 of 2 C Stat Library