#ifndef AIC_H #define AIC_H #include "Estimation.h" #include using namespace std; // критерий Акаике. Наследуется от класса Estimation. // реализует метод "получить значение критерия" class Aic : public Estimation { private: static double getMinValue(vector 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 realSeria); static double grayTendency(double forecastedTendency, vector timeSeria, vector> forecastedSeries); static double grayBasicWeight(double relativeError, vector timeSeria, vector> forecastedSeries); static double adaptiveControlCoefficient(int i); static double beta(vector timeSeria, vector> forecastedSeries); static double alpha(vector timeSeria, vector> forecastedSeries); public: Aic(); ~Aic(); static int getParamsCount(vector model); static double logLikNLS(vector model, vector weights); static double logLikLM(vector model, vector weights); static vector calculateWeights(vector AicWeights); //Рассчитать значения весов static vector calculateFuzzyAdaptiveWeights(vector timeSeria, vector> forecastedSeries); //Рассчитать значения весов double getBicValue(int paramsCount, vector original, vector model); double getAiccValue(int paramsCount, vector original, vector model); double getValue(int paramsCount,// int tsLen, bool isSecondOrder, vector original, vector model); //получить значение оценки модели double getValue(// int tsLen, bool isSecondOrder, vector original, vector model); //получить значение оценки модели }; #endif