CurveFitterLibraries
Classes and methods for fitting growth curves
|
A wrapper class for the alglib functions, used to fit non-linear models More...
Public Types | |
enum | TerminationType : int { NotYetSet = -2, WrongParams = -1, SumOfSquaresChangeConverge = 1, ParameterConverge = 2, MaxIterations = 5 } |
Protected Member Functions | |
abstract void | EvaluateSumofSquaresFunction (double[] Params, ref double func, object obj) |
Used by the fitting routine to evaluate possible values, meant to stay compatible with alg lig More... | |
abstract void | EvaluateSumofSquaresFunction22 (double[] Params, double[] func, object obj) |
abstract void | EvaluateSumOfSquaresGradient (double[] Params, ref double func, double[] GradientVec, object obj) |
abstract void | EvaluateSumOfSquaresGradient22 (double[] Params, double[] fi, double[,] GradientVec, object obj) |
abstract void | CreateHessianDelegates () |
abstract double[] | CreateInitialParameterGuess () |
alglib.minlmreport | GeneralLMFitting () |
See the example in alglib on levenberg marquadt to understand this code. Based entirely on their example, somethings kept around for compatibility More... | |
Protected Member Functions inherited from GrowthCurveLibrary.AbstractFitter | |
void | VerifyInput (double[] XDATA, double[] YDATA) |
void | makeYHAT () |
double | calculateRMSE () |
double | calculateR2 () |
abstract void | FitModel () |
Protected Attributes | |
Delegates.DerivativePortionCalculator[,] | HessianFunctions |
double | EPSX |
stopping criterion. Algorithm stops if |X(k+1)-X(k)| <= EpsX*(1+|X(k)|) More... | |
Protected Attributes inherited from GrowthCurveLibrary.AbstractFitter | |
double[] | x |
double[] | y |
double[] | ypred |
double[] | pParameters |
Additional Inherited Members | |
Public Member Functions inherited from GrowthCurveLibrary.AbstractFitter | |
double | CalculateLogLikelihoodAssumingNormallyDistributedError (IEnumerable< double > xPoints, IEnumerable< double > yPoints) |
double[] | CalculateResidualsAtNewPoints (double[] xVals, double[] yvals) |
AbstractFitter () | |
double | calculateResidualSumofSquares () |
Only should be called by external classes following a fit More... | |
virtual double | calculateAbsError () |
abstract double | FunctiontoFit (double x) |
virtual void | GenerateFitLine (double LowX, double interval, double HighX, out double[] xvalues, out double[] yvalues) |
virtual IEnumerable< double > | MakePredictionsAtPoints (IEnumerable< double > XValues) |
Public Attributes inherited from GrowthCurveLibrary.AbstractFitter | |
string | name = "" |
Properties inherited from GrowthCurveLibrary.AbstractFitter | |
string | Comment [get, set] |
bool | FitByDefault [get, set] |
int | NumberOfParameters [get] |
double[] | X [get] |
double[] | Y [get] |
double[] | PredictedValues [get] |
double[] | Parameters [get] |
bool | SuccessfulFit [get, set] |
double | RMSE [get] |
double | R2 [get] |
double | AbsError [get] |
double[] | Residuals [get] |
A wrapper class for the alglib functions, used to fit non-linear models
Poorly named class, see fitting method for comments as to why, this no longer uses hessian
|
protectedpure virtual |
Implemented in GrowthCurveLibrary.ExponentialFit.
|
protectedpure virtual |
Implemented in GrowthCurveLibrary.ExponentialFit.
|
protectedpure virtual |
Used by the fitting routine to evaluate possible values, meant to stay compatible with alg lig
Params |
Implemented in GrowthCurveLibrary.ExponentialFit.
|
protectedpure virtual |
Implemented in GrowthCurveLibrary.ExponentialFit.
|
protectedpure virtual |
Implemented in GrowthCurveLibrary.ExponentialFit.
|
protectedpure virtual |
Implemented in GrowthCurveLibrary.ExponentialFit.
|
protected |
See the example in alglib on levenberg marquadt to understand this code. Based entirely on their example, somethings kept around for compatibility
|
protected |
stopping criterion. Algorithm stops if |X(k+1)-X(k)| <= EpsX*(1+|X(k)|)
|
protected |