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

35 lines
1.0 KiB
C++

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