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

29 lines
1.3 KiB
C++

#ifndef AICWEIGHTS_H
#define AICWEIGHTS_H
#include <vector>
using namespace std;
// êðèòåðèé Àêàèêå. Íàñëåäóåòñÿ îò êëàññà Estimation.
// ðåàëèçóåò ìåòîä "ïîëó÷èòü çíà÷åíèå êðèòåðèÿ"
class AicWeights {
private:
static double getMinValue(vector<double> AicWeights); // Íàéòè ìèíèìàëüíûé ýëåìåíò âåêòîðà
//For fuzzy adoptive weights calculate
//Delta koeff
static double delta;
static double N;
static double relativeError(double value, double forecastedValue);
static double forecastedTendency(vector<double> realSeria);
static double grayTendency(double forecastedTendency, vector<double> timeSeria, vector<vector<double>> forecastedSeries);
static double grayBasicWeight(double relativeError, vector<double> timeSeria, vector<vector<double>> forecastedSeries);
static double adaptiveControlCoefficient(int i);
static double beta(vector<double> timeSeria, vector<vector<double>> forecastedSeries);
static double alpha(vector<double> timeSeria, vector<vector<double>> forecastedSeries);
public:
AicWeights();
~AicWeights();
static vector<double> calculateWeights(vector<double> AicWeights); //Ðàññ÷èòàòü çíà÷åíèÿ âåñîâ
static vector<double> calculateFuzzyAdaptiveWeights(vector<double> timeSeria, vector<vector<double>> forecastedSeries); //Ðàññ÷èòàòü çíà÷åíèÿ âåñîâ
};
#endif