00001 #ifndef _theplu_yat_regression_naiveweighted_
00002 #define _theplu_yat_regression_naiveweighted_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "OneDimensionalWeighted.h"
00027
00028 #include <cmath>
00029 #include <utility>
00030
00031 namespace theplu {
00032 namespace yat {
00033 namespace utility {
00034 class VectorBase;
00035 }
00036 namespace regression {
00037
00043 class NaiveWeighted : public OneDimensionalWeighted
00044 {
00045
00046 public:
00050 NaiveWeighted(void);
00051
00055 virtual ~NaiveWeighted(void);
00056
00063 void fit(const utility::VectorBase& x,
00064 const utility::VectorBase& y,
00065 const utility::VectorBase& w);
00066
00071 double predict(const double x) const;
00072
00082 double s2(const double w=1) const;
00083
00090 double standard_error2(const double x) const;
00091
00092 private:
00096 NaiveWeighted(const NaiveWeighted&);
00097
00098 };
00099
00100 }}}
00101
00102 #endif