This function is available only with RAP – The Trading Edition Enterprise.
Calculates the least-square estimates of parameters for an autoregressive moving average (ARMA) model, and returns an estimated constant.
TS_ARMA_CONST (timeseries_expression, method)
OVER (window-spec)
timeseries_expression A numeric expression, generally a column name, containing an element in a time series.
method An integer that identifies the type of procedure used to compute estimates. 0 (the default value) = method of least squares; 1 = method of moments.
window-spec TS_ARMA_CONST is an OLAP function requiring an OVER () clause.
This time series function returns a double-precision floating-point value containing the constant estimate produced by the function. TS_ARMA_CONST calls the function imsls_d_arma in the IMSL libraries.
The arguments of TS_ARMA_CONST map to the IMSL library function imsls_d_arma as follows:
params = imsls_d_arma(n_objs, z, p, q, IMSLS_CONSTANT, method_id, 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.
MethodID Maps to the method argument of TS_ARMA_CONST.
For detailed information on how the function imsls_d_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_ARMA_CONST 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 an estimated constant from the data column using the method of least squares:
SELECT TS_ARMA_CONST(data,0) 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 |
---|
0.082077 |
0.082077 |
0.082077 |
0.082077 |
0.082077 |
0.082077 |
0.082077 |
0.082077 |
0.082077 |
... |
0.082077 |
This example provides a sample query that returns estimates for the AR, MA, and constant parameters. The first element for AR and MA in the array contains one element. See Table 4-29 for the DATASET table.
select ts_arma_ar(data,1,1,0) over (order by rownum rows between unbounded preceding and unbounded following) as ar_param, ts_arma_ma(data,1,1,0) over (order by rownum rows between unbounded preceding and unbounded following) as ma_param, ts_arma_const(data,0) over (order by rownum rows between unbounded preceding and unbounded following) as const_param FROM DATASET
Sybase IQ returns 50 rows of data, each containing the same three values:
ar_param |
ma_param |
const_param |
---|---|---|
0.898793 |
0.105075 |
0.082077 |
0.898793 |
0.105075 |
0.082077 |
0.898793 |
0.105075 |
0.082077 |
0.898793 |
0.105075 |
0.082077 |
0.898793 |
0.105075 |
0.082077 |
0.898793 |
0.105075 |
0.082077 |
0.898793 |
0.105075 |
0.082077 |
0.898793 |
0.105075 |
0.082077 |
0.898793 |
0.105075 |
0.082077 |
... |
... |
... |
0.898793 |
0.105075 |
0.082077 |
Chapter 2, “Using OLAP” in the System Administration Guide: Volume 2
IMSL Numerical Library User’s Guide: Volume 2 of 2 C Stat Library