#ifndef METHOD_H #define METHOD_H #include "Estimation.h" #include "Aic.h" #include "Param.h" #include using namespace std; // абстрактный класс метода сглаживания и прогнозирования временных рядов // хранит в себе поля, отвечающие за части ряда для обучения, тестирования, прогнозную часть // class Method { public: vector x; // первоначальный временной ряд vector xLearning; // временной ряд для обучения vector xEstimation; // временной ряд для тестирования vector 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 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 getXLearning(); // метод получения части временного ряда для обучения vector getXEstimation(); // метод получения части временного ряда для тестирования virtual int getNamberParam(); }; #endif