45 lines
2.0 KiB
C++
45 lines
2.0 KiB
C++
#ifndef METHOD_H
|
||
#define METHOD_H
|
||
#include "Estimation.h"
|
||
#include "Aic.h"
|
||
#include "Param.h"
|
||
#include <vector>
|
||
|
||
using namespace std;
|
||
|
||
// абстрактный класс метода сглаживания и прогнозирования временных рядов
|
||
// хранит в себе поля, отвечающие за части ряда для обучения, тестирования, прогнозную часть
|
||
//
|
||
class Method {
|
||
public:
|
||
vector<double> x; // первоначальный временной ряд
|
||
vector<double> xLearning; // временной ряд для обучения
|
||
vector<double> xEstimation; // временной ряд для тестирования
|
||
vector<double> forecast; // прогноз ряда
|
||
unsigned int countPointForecast; // количеcтво прогнозируемых точек
|
||
|
||
//Vovks variables
|
||
char * name;
|
||
//double weight = 0.5; //start weight
|
||
//double value = 0; //last forecast
|
||
double weight; //start weight
|
||
double value; //last forecast
|
||
|
||
//bool isActive = true;
|
||
bool isActive;
|
||
//Vovks variables
|
||
virtual vector<double> getForecast() = 0; // виртуальный метод получения прогноза
|
||
virtual void createModel() = 0; // виртуальный метод для формирования модели
|
||
virtual void createModelForEstimation() = 0; // виртуальный метод для формирования модели на участке для обучения
|
||
virtual double calcEstimation(Aic *) = 0; // виртуальный метод получения оценки модели
|
||
//virtual double calcEstimation(Aicc *) = 0; // виртуальный метод получения оценки модели
|
||
//virtual double calcEstimation(Bic *) = 0; // виртуальный метод получения оценки модели
|
||
virtual Param* optimize(Estimation *) = 0; // виртуальный метод оптимизации одного параметра
|
||
virtual void setParam(string, double) = 0; // виртуальный метод оптимизации задания параметров
|
||
void partition(); // разделить временной ряд на части для обучения и тестирования
|
||
void partition(int); // разделить временной ряд на части для обучения и тестирования
|
||
vector<double> getXLearning(); // метод получения части временного ряда для обучения
|
||
vector<double> getXEstimation(); // метод получения части временного ряда для тестирования
|
||
virtual int getNamberParam();
|
||
};
|
||
#endif |