class TrigRegression extends Predictor with Error
The TrigRegression
class supports trigonometric regression. In this case,
't' is expanded to [1, sin (wt), cos (wt), sin (2wt), cos (2wt), ...].
Fit the parameter vector 'b' in the regression equation
y = b dot x + e = b_0 + b_1 sin (wt) + b_2 cos (wt) + b_3 sin (2wt) + b_4 cos (2wt) + ... + 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 = x_pinv * y
where 'x_pinv' is the pseudo-inverse.
- See also
link.springer.com/article/10.1023%2FA%3A1022436007242#page-1
- Alphabetic
- By Inheritance
- TrigRegression
- Error
- Predictor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
TrigRegression(t: VectorD, y: VectorD, k: Int, w: Double = Pi, technique: RegTechnique = QR)
- t
the input vector: t_i expands to x_i
- y
the response vector
- k
the maximum multiplier in the trig function 'kwt'
- w
the base displacement angle in radians
- technique
the technique used to solve for b in x.t*x*b = x.t*y
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
b: VectoD
Coefficient/parameter vector [b_0, b_1, ...
Coefficient/parameter vector [b_0, b_1, ... b_k]
- Attributes
- protected
- Definition Classes
- Predictor
-
def
backElim(): (Int, VectoD, VectorD)
Perform backward elimination to remove the least predictive variable from the model, returning the variable to eliminate, the new parameter vector, the new quality of fit
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
coefficient: VectoD
Return the vector of coefficient/parameter values.
Return the vector of coefficient/parameter values.
- Definition Classes
- Predictor
-
val
e: VectoD
Residual/error vector [e_0, e_1, ...
Residual/error vector [e_0, e_1, ... e_m-1]
- Attributes
- protected
- Definition Classes
- Predictor
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
expand(t: Double): VectorD
Expand the scalar 't' into a vector of powers of 't': '[1, sin (wt), cos (wt), sin (2wt), cos (2wt), ...]'.
Expand the scalar 't' into a vector of powers of 't': '[1, sin (wt), cos (wt), sin (2wt), cos (2wt), ...]'.
- t
the scalar to expand into the vector
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fit: VectorD
Return the quality of fit including 'rSquared'.
Return the quality of fit including 'rSquared'.
- Definition Classes
- TrigRegression → Predictor
-
def
fitLabels: Array[String]
Return the labels for the fit.
Return the labels for the fit. Override when necessary.
- Definition Classes
- Predictor
-
final
def
flaw(method: String, message: String): Unit
Show the flaw by printing the error message.
Show the flaw by printing the error message.
- method
the method where the error occurred
- message
the error message
- Definition Classes
- Error
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
predict(z: VectoD): Double
Predict the value of y = f(z) by evaluating the formula y = b dot z, e.g., (b_0, b_1, b_2) dot (1, z_1, z_2).
Predict the value of y = f(z) by evaluating the formula y = b dot z, e.g., (b_0, b_1, b_2) dot (1, z_1, z_2).
- z
the new vector to predict
- Definition Classes
- TrigRegression → Predictor
-
def
predict(z: Double): Double
Predict the value of y = f(z) by evaluating the formula y = b dot expand (z), e.g., (b_0, b_1, b_2) dot (1, z, z^2).
Predict the value of y = f(z) by evaluating the formula y = b dot expand (z), e.g., (b_0, b_1, b_2) dot (1, z, z^2).
- z
the new scalar to predict
-
def
predict(z: VectorI): 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
- val rg: Regression
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
train(yy: VectorD): Unit
Retrain the predictor by fitting the parameter vector (b-vector) in the multiple regression equation yy = b dot x + e = [b_0, ...
Retrain the predictor by fitting the parameter vector (b-vector) in the multiple regression equation yy = b dot x + e = [b_0, ... b_k] dot [expanded t] + e using the least squares method.
- yy
the new response vector
-
def
train(): Unit
Train the predictor by fitting the parameter vector (b-vector) in the regression equation y = b dot x + e = [b_0, ...
Train the predictor by fitting the parameter vector (b-vector) in the regression equation y = b dot x + e = [b_0, ... b_k] dot [expanded t] + e using the least squares method.
- Definition Classes
- TrigRegression → Predictor
-
def
vif: VectorD
Compute the Variance Inflation Factor 'VIF' for each variable to test for multi-collinearity by regressing 'xj' against the rest of the variables.
Compute the Variance Inflation Factor 'VIF' for each variable to test for multi-collinearity by regressing 'xj' against the rest of the variables. A VIF over 10 indicates that over 90% of the variance of 'xj' can be predicted from the other variables, so 'xj' is a candidate for removal from the model.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- val x: MatrixD