Files
Upsilon/apps/regression/model/power_model.h
Léa Saviot f6c15198bc [apps/regression] Power regression uses logarithm of series
This matches other apps results and we directly compute the values from
the data instead of doing a gradient descent.
2020-02-12 15:13:21 +01:00

27 lines
938 B
C++

#ifndef REGRESSION_POWER_MODEL_H
#define REGRESSION_POWER_MODEL_H
#include "model.h"
namespace Regression {
class PowerModel : public Model {
public:
using Model::Model;
Poincare::Layout layout() override;
I18n::Message formulaMessage() const override { return I18n::Message::PowerRegressionFormula; }
double evaluate(double * modelCoefficients, double x) const override;
double levelSet(double * modelCoefficients, double xMin, double step, double xMax, double y, Poincare::Context * context) override;
double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override;
void fit(Store * store, int series, double * modelCoefficients, Poincare::Context * context) override;
int numberOfCoefficients() const override { return 2; }
int bannerLinesCount() const override { return 2; }
protected:
bool dataSuitableForFit(Store * store, int series) const override;
};
}
#endif