yat
0.11.3pre
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
yat
regression
MultiDimensionalWeighted.h
1
#ifndef _theplu_yat_regression_multidimensionalweighted_
2
#define _theplu_yat_regression_multidimensionalweighted_
3
4
// $Id: MultiDimensionalWeighted.h 2127 2009-12-22 20:45:22Z peter $
5
6
/*
7
Copyright (C) 2006, 2007, 2008 Jari Häkkinen, Peter Johansson
8
Copyright (C) 2009 Peter Johansson
9
10
This file is part of the yat library, http://dev.thep.lu.se/yat
11
12
The yat library is free software; you can redistribute it and/or
13
modify it under the terms of the GNU General Public License as
14
published by the Free Software Foundation; either version 3 of the
15
License, or (at your option) any later version.
16
17
The yat library is distributed in the hope that it will be useful,
18
but WITHOUT ANY WARRANTY; without even the implied warranty of
19
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
General Public License for more details.
21
22
You should have received a copy of the GNU General Public License
23
along with yat. If not, see <http://www.gnu.org/licenses/>.
24
*/
25
26
#include "yat/utility/Matrix.h"
27
#include "yat/utility/Vector.h"
28
29
#include <gsl/gsl_multifit.h>
30
31
namespace
theplu {
32
namespace
yat {
33
namespace
regression {
34
38
class
MultiDimensionalWeighted
39
{
40
public
:
41
45
MultiDimensionalWeighted
(
void
);
46
50
~MultiDimensionalWeighted
(
void
);
51
55
double
chisq
(
void
)
const
;
56
64
void
fit
(
const
utility::Matrix
& X,
const
utility::VectorBase
& y,
65
const
utility::VectorBase
& w);
66
70
double
predict
(
const
utility::VectorBase
& x)
const
;
71
76
double
prediction_error2
(
const
utility::VectorBase
& x,
77
const
double
w=1)
const
;
78
82
double
standard_error2
(
const
utility::VectorBase
& x)
const
;
83
87
const
utility::Vector
&
fit_parameters
(
void
)
const
;
88
92
double
s2
(
const
double
w=1.0)
const
;
93
94
private
:
95
// no copy allowed
96
MultiDimensionalWeighted
(
const
MultiDimensionalWeighted
&);
97
MultiDimensionalWeighted
& operator=(
const
MultiDimensionalWeighted
&);
98
99
double
chisquare_;
100
utility::Matrix
covariance_;
101
utility::Vector
fit_parameters_;
102
double
s2_;
103
gsl_multifit_linear_workspace* work_;
104
105
};
106
107
}}}
// of namespaces regression, yat, and theplu
108
109
#endif
Generated on Sat May 24 2014 03:33:05 for yat by
1.8.2