a020f876c5c95171c10a7e531feddc0e0c5c977e
[pspp] / src / math / ts / innovations.h
1 /*
2   src/math/ts/innovations.h
3   
4   Copyright (C) 2006 Free Software Foundation, Inc. Written by Jason H. Stover.
5   
6   This program is free software; you can redistribute it and/or modify it under
7   the terms of the GNU General Public License as published by the Free
8   Software Foundation; either version 2 of the License, or (at your option)
9   any later version.
10   
11   This program is distributed in the hope that it will be useful, but WITHOUT
12   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14   more details.
15   
16   You should have received a copy of the GNU General Public License along with
17   this program; if not, write to the Free Software Foundation, Inc., 51
18   Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
19  */
20 /*
21   Find preliminary ARMA coefficients via the innovations algorithm.
22   Also compute the sample mean and covariance matrix for each series.
23
24   Reference:
25
26   P. J. Brockwell and R. A. Davis. Time Series: Theory and
27   Methods. Second edition. Springer. New York. 1991. ISBN
28   0-387-97429-6. Sections 5.2, 8.3 and 8.4.
29  */
30 #ifndef INNOVATIONS_H
31 #define INNOVATIONS_H
32 #include <math/coefficient.h>
33 struct innovations_estimate
34 {
35   const struct variable *variable;
36   double mean;
37   double variance;
38   double *cov;
39   double *scale;
40   double n_obs;
41   double max_lag;
42   coefficient **coeff;
43 };
44 struct innovations_estimate ** pspp_innovations (const gsl_matrix *, size_t);
45 #endif