This function is available only with RAP – The Trading Edition Enterprise.
Performs the lack-of-fit test for a univariate time series or transfer function, given the appropriate correlation function.
TS_LACK OF FIT (timeseries_expression, p_value, q_value, lagmax, [tolerance])
OVER (window-spec)
timeseries_expression A numeric expression, generally a column name, containing an element in a time series.
p_value An integer containing the number of autoregressive parameters.
q_value An integer containing the number of moving average parameters.
lagmax An integer containing the maximum lag of the correlation function.
tolerance (An optional parameter). A floating-point value level used to determine convergence of the nonlinear least-squares algorithm. The default value is 0.
window-spec TS_LACK_OF_FIT is an OLAP function requiring an OVER () clause.
This function returns a double-precision floating-point value containing the lack-of-fit statistic (q) for the time series. TS_LACK_OF_FIT calls the function imsls_d_lack_of_fit in the IMSL libraries.
The arguments of TS_LACK_OF_FIT map to the IMSL library function imsls_d_lack_of_fit as follows:
params = imsls_d_arma(n_objs, z[], p, q, IMSLS_LEAST_SQUARES, IMSLS_CONVERGENCE_TOLERANCE, tolerance, IMSL_RESIDUAL, &residual, 0);correlations = imsls_d_autocorrelation(n_objs-p+lagmax, residuals, lagmax, 0);result = imsls_d_lack_of_fit(n_objs, correlations, lagmax, npfree, 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.
p Maps to the p_value argument defined in TS_LACK_OF_FIT.
q Maps to the q_value argument defined in TS_LACK_OF_FIT.
lagmax Maps to the lagmax argument defined in TS_LACK_OF_FIT.
tolerance An optional argument using IMSLS_CONVERGENCE_TOLERANCE. If null, the IMSL library applies a default value and does not use IMSLS_CONVERGENCE_TOLERANCE.
For detailed information on how the IMSL function imsls_d_lack_of_fit 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_LACK_OF_FIT 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 lack of fit statistic on data from the data column:
select ts_lack_of_fit(data,1,1,5,0.225) 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 |
---|
3.96751 |
3.96751 |
3.96751 |
3.96751 |
3.96751 |
3.96751 |
3.96751 |
3.96751 |
3.96751 |
3.96751 |
... |
3.96751 |
Chapter 2, “Using OLAP” in the System Administration Guide: Volume 2
IMSL Numerical Library User’s Guide: Volume 2 of 2 C Stat Library