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