class NonLinRegression extends Predictor with Error
The NonLinRegression
class supports non-linear regression. In this case,
'x' can be multi-dimensional '[1, x1, ... xk]' and the function 'f' is non-linear
in the parameters 'b'. Fit the parameter vector 'b' in the regression equation
y = f(x, b) + e
where 'e' represents the residuals (the part not explained by the model). Use Least-Squares (minimizing the residuals) to fit the parameter vector 'b' by using Non-linear Programming to minimize Sum of Squares Error 'SSE'.
- See also
www.bsos.umd.edu/socy/alan/stats/socy602_handouts/kut86916_ch13.pdf
- Alphabetic
- By Inheritance
- NonLinRegression
- Error
- Predictor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
NonLinRegression(x: MatrixD, y: VectorD, f: (VectoD, VectoD) ⇒ Double, b_init: VectorD)
- x
the input/design matrix augmented with a first column of ones
- y
the response vector
- f
the non-linear function f(x, b) to fit
- b_init
the initial guess for the parameter vector b
Value Members
-
def
coefficient: VectoD
Return the vector of coefficient/parameter values.
Return the vector of coefficient/parameter values.
- Definition Classes
- Predictor
-
def
diagnose(yy: VectoD): Unit
Compute diagostics for the regression model.
Compute diagostics for the regression model.
- yy
the response vector
- Definition Classes
- NonLinRegression → Predictor
-
def
fit: VectorD
Return the quality of fit.
Return the quality of fit.
- Definition Classes
- NonLinRegression → Predictor
-
def
fitLabels: Seq[String]
Return the labels for the fit.
Return the labels for the fit.
- Definition Classes
- NonLinRegression → Predictor
-
final
def
flaw(method: String, message: String): Unit
- Definition Classes
- Error
-
def
predict(z: VectoD): Double
Predict the value of y = f(z) by evaluating the formula y = f(z, b), i.e.0, (b0, b1) dot (1.0, z1).
Predict the value of y = f(z) by evaluating the formula y = f(z, b), i.e.0, (b0, b1) dot (1.0, z1).
- z
the new vector to predict
- Definition Classes
- NonLinRegression → Predictor
-
def
predict(z: VectoI): Double
Given a new discrete data vector z, predict the y-value of f(z).
Given a new discrete data vector z, predict the y-value of f(z).
- z
the vector to use for prediction
- Definition Classes
- Predictor
-
def
residual: VectoD
Return the vector of residuals/errors.
Return the vector of residuals/errors.
- Definition Classes
- Predictor
-
def
sseF(b: VectoD): Double
Function to compute the Sum of Squares Error 'SSE' for given values for the parameter vector 'b'.
Function to compute the Sum of Squares Error 'SSE' for given values for the parameter vector 'b'.
- b
the parameter vector
-
def
train(yy: VectoD): Unit
Train the predictor by fitting the parameter vector (b-vector) in the non-linear regression equation for the response passed into the class 'y'.
Train the predictor by fitting the parameter vector (b-vector) in the non-linear regression equation for the response passed into the class 'y'.
- yy
the response vector
- Definition Classes
- NonLinRegression → Predictor
-
def
train(): Unit
Train the predictor by fitting the parameter vector (b-vector) in the non-linear regression equation
Train the predictor by fitting the parameter vector (b-vector) in the non-linear regression equation
y = f(x, b)
using the least squares method. Caveat: Optimizer may converge to an unsatisfactory local optima. If the regression can be linearized, use linear regression for starting solution.
- Definition Classes
- NonLinRegression → Predictor