ts-aggregator/project_template/MultTrendMultSeasonality.h
2022-12-13 12:36:06 +04:00

34 lines
1021 B
C++

#ifndef MULTTRENDMULTSEASONALITY_H
#define MULTTRENDMULTSEASONALITY_H
#include "Method.h"
#include "Aic.h"
#include "Param.h"
using namespace std;
// êîíêðåòíàÿ ðåàëèçàöèÿ àáñòðàêòíîãî êëàññà Method
// ðåàëèçóåò ìåòîä ýêñïîíåíöèàëüíîãî ñãëàæèâàíèÿ ñ ìóëüòèïëèêàòâíûì òðåíäîì, ìóëüòèïëèêàòèâíîé ñåçîííîñòüþ
class MultTrendMultSeasonality : public Method {
public:
double alpha; // ïàðàìåòð ñãëàæèâàíèÿ
vector<double> S; // ñãëàæåííûé äàííûì ìåòîäîì ðÿä
double gamma; // ïàðàìåòð ñãëàæèâàíèÿ òðåíäà
vector<double> T; // ñãëàæåííûé òðåíä
double delta; // ïàðàìåòð ñãëàæèâàíèÿ ñåçîííîé êîìïîíåíòû
vector<double> I; // ñåçîííàÿ êîìïîíåíòà
int p; // ïåðèîä ñåçîííîñòè
MultTrendMultSeasonality(vector<double>, int);
~MultTrendMultSeasonality();
vector<double> getForecast();
void init();
void createModel();
void createModelForEstimation();
void setParam(string, double);
double calcEstimation(Aic *);
Param* optimize(Estimation *); // ìåòîä îïòèìèçàöèè îäíîãî ïàðàìåòðà
};
#endif