SARY

scalation.modeling.forecasting.SARY
See theSARY companion object
class SARY(x: MatrixD, y: VectorD, hh: Int, fname: Array[String], tRng: Range = ..., hparam: HyperParameter = ..., bakcast: Boolean = ...) extends ARY

The SARY class provides basic time series analysis capabilities for SARY models. These models extend ARY models by including seasonal (periodic) lags. SARY models utilize multiple linear regression based on lagged values of y. Given time series data stored in vector y, its next value y_t = combination of the last p lagged values of y and the last ps seasonally lagged values.

y_t = b dot x_t + e_t

where y_t is the value of y at time t, b is the parameter vector, x_t collects past lagged (both regular and seasonal) values, and e_t is the residual/error term.

Value parameters

bakcast

whether a backcasted value is prepended to the time series (defaults to false)

fname

the feature/variable names

hh

the maximum forecasting horizon (h = 1 to hh)

hparam

the hyper-parameters (defaults to MakeMatrix4TS.hp)

tRng

the time range, if relevant (time index may suffice)

x

the data/input matrix (lagged columns of y) @see SARY.apply

y

the response/output vector (time series data)

Attributes

Companion
object
Graph
Supertypes
class ARY
class Forecaster
trait Forecast
trait Model
class Diagnoser
trait Fit
trait FitM
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def forge(xx: VectorD, yy: VectorD, h: Int): VectorD

Forge a new vector from the first spec values of x, the available actual values, and recent values from the forecasts.

Forge a new vector from the first spec values of x, the available actual values, and recent values from the forecasts.

Value parameters

h

the forecasting horizon, number of steps ahead to produce forecasts

xx

the t-th row of the input matrix (lagged actual values)

yy

the t-th row of the forecast matrix (forecasted future values)

Attributes

Definition Classes

Inherited methods

inline def PIbounds(yp: VectorD, ihw_: MatrixD): (MatrixD, MatrixD)

Attributes

Inherited from:
Fit
inline def PIbounds(yp: VectorD, ihw: VectorD): (VectorD, VectorD)

Make the PREDICTION INTERVAL (PI) lower and upper bound vectors from the point predictions and the interval half widths.

Make the PREDICTION INTERVAL (PI) lower and upper bound vectors from the point predictions and the interval half widths.

Value parameters

ihw

the vector of interval half widths (one for each prediction)

yp

the vector of point predictions (y-hat)

Attributes

Inherited from:
Fit
def align(tr_size: Int, y: VectorD): (VectorD, VectorD)

Align the actual response vector for comparison with the predicted/forecasted response vector, returning a time vector and sliced response vector.

Align the actual response vector for comparison with the predicted/forecasted response vector, returning a time vector and sliced response vector.

Value parameters

tr_size

the size of the initial training set

y

the actual response for the full dataset (to be sliced)

Attributes

Inherited from:
Forecaster
def backwardElim(cols: LinkedHashSet[Int], first: Int = ...)(using qk: Int): BestStep

Perform backward elimination to find the least predictive variable to remove from the existing model, returning the variable to eliminate, the new parameter vector and the new Quality of Fit (QoF). May be called repeatedly. Adapt from regression to time series forecasting.

Perform backward elimination to find the least predictive variable to remove from the existing model, returning the variable to eliminate, the new parameter vector and the new Quality of Fit (QoF). May be called repeatedly. Adapt from regression to time series forecasting.

Value parameters

cols

the columns of matrix x currently included in the existing model

first

first variable to consider for elimination (default (1) assume intercept x_0 will be in any model)

qk

index of Quality of Fit (QoF) to use for comparing quality

Attributes

See also

Fit for index of QoF measures.

Inherited from:
Forecaster_Reg
override def backwardElimAll(first: Int = ..., cross: String = ...)(using qk: Int): (LinkedHashSet[Int], ArrayBuffer[VectorD])

Perform BACKWARD ELIMINATION to find the LEAST predictive variables to remove from the full model, returning the variables left and the new Quality of Fit (QoF) measures for all steps.

Perform BACKWARD ELIMINATION to find the LEAST predictive variables to remove from the full model, returning the variables left and the new Quality of Fit (QoF) measures for all steps.

Value parameters

cross

indicator to include the cross-validation/validation QoF measure (defaults to "none")

first

first variable to consider for elimination

qk

index of Quality of Fit (QoF) to use for comparing quality

Attributes

See also

modeling.Fit for index of QoF measures.

modeling.Predictor for more information

Definition Classes
Inherited from:
Forecaster_Reg
def beamSelAll(cross: String = ..., bk: Int = ...)(using qk: Int): (LinkedHashSet[Int], ArrayBuffer[VectorD])

Perform BEAM SEARCH SELECTION to find a GOOD COMBINATION of predictive features/variables to have in the model, returning the top k sets of features/variables selected and the new Quality of Fit (QoF) measures/metrics for all steps. At each step, iterate over the models in the beam (top k) and create candidates by adding features (phase 1) and then removing features (phase 2). From all the candidates, keep the best k and start a new iteration. Stops when there is no improvement in any of top k or the maximum number of features is reached.

Perform BEAM SEARCH SELECTION to find a GOOD COMBINATION of predictive features/variables to have in the model, returning the top k sets of features/variables selected and the new Quality of Fit (QoF) measures/metrics for all steps. At each step, iterate over the models in the beam (top k) and create candidates by adding features (phase 1) and then removing features (phase 2). From all the candidates, keep the best k and start a new iteration. Stops when there is no improvement in any of top k or the maximum number of features is reached.

Value parameters

bk

the beam width holding the top k models (defaults to 8)

cross

indicator to include the cross-validation/validation QoF measure (defaults to "many")

qk

index of Quality of Fit (QoF) to use for comparing quality

Attributes

See also

Fit for index of QoF measures/metrics.

Inherited from:
Forecaster_Reg
def buildModel(x_cols: MatrixD, fname2: Array[String] = ...): RidgeRegression

Build a sub-model that is restricted to the given columns of the data matrix. Must be implemented for models that support feature selection. Otherwise, use @see `NoBuildModel

Build a sub-model that is restricted to the given columns of the data matrix. Must be implemented for models that support feature selection. Otherwise, use @see `NoBuildModel

Value parameters

fname2

the variable/feature names for the new model (defaults to null)

x_cols

the columns that the new model is restricted to

Attributes

Inherited from:
Forecaster_Reg
def cap: Int

Return the maximum lag used by the model (its capacity to look into the past). Models that use more than one past value to make predictions/forecasts must override this method, e.g., ARMA (2, 3) should set the cap to max(p, q) = 3.

Return the maximum lag used by the model (its capacity to look into the past). Models that use more than one past value to make predictions/forecasts must override this method, e.g., ARMA (2, 3) should set the cap to max(p, q) = 3.

Attributes

Inherited from:
Forecast
def convertReg2Forc(cols: LinkedHashSet[Int] = ...): ARY

Build an ARY model using the cols with the selected features.

Build an ARY model using the cols with the selected features.

Value parameters

cols

the cols of the input matrix with selected features

Attributes

Inherited from:
ARY
def correctQoF(skip: Int, best: BestStep): BestStep

Correct the QoF in best when the optional skip is applied.

Correct the QoF in best when the optional skip is applied.

Value parameters

best

the best model selected so far

skip

the number of time-steps to skip at the beginning

Attributes

Inherited from:
Forecaster_Reg
def crossValidate(k: Int, rando: Boolean): Array[Statistic]

The standard signature for prediction does not apply to time series.

The standard signature for prediction does not apply to time series.

Attributes

Inherited from:
Forecast
override def diagnose(y: VectorD, yp: VectorD, w: VectorD = ...): VectorD

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, from the error/residual vector and the predicted & actual responses. For some models the instances may be weighted. For time series, the first few predictions use only part of the model, so may be skipped.

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, from the error/residual vector and the predicted & actual responses. For some models the instances may be weighted. For time series, the first few predictions use only part of the model, so may be skipped.

Value parameters

w

the weights on the instances (defaults to null)

y

the actual response/output vector to use (test/full)

yp

the predicted response/output vector (test/full)

Attributes

Definition Classes
Inherited from:
Diagnoser

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, for all horizons and print the results in a table. For time series, the first few predictions use only part of the model, so may be skipped. The version is for models that perform DIRECT multi-horizon forecasting.

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, for all horizons and print the results in a table. For time series, the first few predictions use only part of the model, so may be skipped. The version is for models that perform DIRECT multi-horizon forecasting.

Value parameters

yf

the entire FORECAST MATRIX

yy

the actual response/output matrix over all horizons

Attributes

Inherited from:
ForecastMatrix
def diagnoseAll(y_: VectorD, yf: MatrixD, tRng: Range = ..., showYf: Boolean = ...): MatrixD

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, for all horizons and print the results in a table. For time series, the first few predictions use only part of the model, so may be skipped. The version is for models that perform RECURSIVE multi-horizon forecasting.

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, for all horizons and print the results in a table. For time series, the first few predictions use only part of the model, so may be skipped. The version is for models that perform RECURSIVE multi-horizon forecasting.

Value parameters

rRng

the time range, defaults to null (=> full time range)

showYf

whether to show the forecast matrix

y_

the actual response/output vector

yf

the entire FORECAST MATRIX

Attributes

Inherited from:
ForecastMatrix
def diagnose_(y: VectorD, yp: VectorD, low_up: (VectorD, VectorD), α: Double = ..., w: VectorD = ...): VectorD

Diagnose the health of the model by computing the Quality of Fit (QoF) metrics/measures, from the error/residual vector and the predicted & actual responses. For some models the instances may be weighted. This method also includes PREDICTION INTERVAL (PI) metrics/measures.

Diagnose the health of the model by computing the Quality of Fit (QoF) metrics/measures, from the error/residual vector and the predicted & actual responses. For some models the instances may be weighted. This method also includes PREDICTION INTERVAL (PI) metrics/measures.

Value parameters

low_up

the predicted (lower, upper) bounds vectors

w

the weights on the instances (defaults to null)

y

the actual response/output vector to use (test/full)

yp

the point prediction mean/median

α

the significance/nominal level of uncertainty (α) (defaults to 0.1, 10%)

Attributes

See also

otexts.com/fpp2/prediction-intervals.html Note: wis should be computed separately as the bounds are matrices.

Inherited from:
Fit
def diagnose_mat(yy: MatrixD, yyp: MatrixD, w: VectorD = ...): MatrixD

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, from the predicted & actual matrix responses (output variable per column). For some models the instances may be weighted.

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, from the predicted & actual matrix responses (output variable per column). For some models the instances may be weighted.

Value parameters

w

the weights on the instances (defaults to null)

yy

the actual response/output matrix to use (test/full)

yyp

the predicted response/output matrix (test/full)

Attributes

See also

Regression_WLS

Inherited from:
Fit
def diagnose_pi(y: VectorD, yp: VectorD, low_up: (MatrixD, MatrixD), α: VectorD = ..., : Int = ...): (VectorD, Int)

Diagnose the health of the model by computing the Quality of Fit (QoF) measures for both POINT PREDICTIONS and PREDICTION INTERVALS.

Diagnose the health of the model by computing the Quality of Fit (QoF) measures for both POINT PREDICTIONS and PREDICTION INTERVALS.

Value parameters

the index for the main significance level out of the vector α

low_up

the predicted (lower, upper) bounds matrices for various α levels (column for each α level)

y

the given time-series (must be aligned with the interval forecast)

yp

the point prediction mean/median

α

the vector of significance levels (defaults to the K = 11 prediction intervals used by the CDC Forecast Hub)

Attributes

Inherited from:
Fit
def diagnose_wis(y: VectorD, yp: VectorD, low_up: (MatrixD, MatrixD), α: VectorD = ...): Double

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, specifically for the weighted interval score that allows using custom α levels.

Diagnose the health of the model by computing the Quality of Fit (QoF) measures, specifically for the weighted interval score that allows using custom α levels.

Value parameters

low_up

the predicted (lower, upper) bounds matrices for various α levels (column for each α level)

y

the given time-series (must be aligned with the interval forecast)

yp

the point prediction mean/median

α

the vector of significance levels (defaults to the K = 11 prediction intervals used by the CDC Forecast Hub)

Attributes

Inherited from:
Fit
def equation: String

Print the model prediction equation in readable form. Override per model.

Print the model prediction equation in readable form. Override per model.

Attributes

Inherited from:
Model
def equationLaTeX: String

Print the model prediction equation in LaTex form. Override per model.

Print the model prediction equation in LaTex form. Override per model.

Attributes

Inherited from:
Model
override def fit: VectorD

Return the Quality of Fit (QoF) measures corresponding to the labels given. Note, if sse > sst, the model introduces errors and the rSq may be negative, otherwise, R^2 (rSq) ranges from 0 (weak) to 1 (strong). Override to add more quality of fit measures.

Return the Quality of Fit (QoF) measures corresponding to the labels given. Note, if sse > sst, the model introduces errors and the rSq may be negative, otherwise, R^2 (rSq) ranges from 0 (weak) to 1 (strong). Override to add more quality of fit measures.

Attributes

Definition Classes
Fit -> FitM
Inherited from:
Fit
override def forecast(t: Int, y_: VectorD = ...): VectorD

Produce a vector of size hh, h = 1 to hh-steps ahead forecasts for the model, i.e., forecast the following time points: t+1, ..., t+h. Intended to work with rolling validation (analog of predict method).

Produce a vector of size hh, h = 1 to hh-steps ahead forecasts for the model, i.e., forecast the following time points: t+1, ..., t+h. Intended to work with rolling validation (analog of predict method).

Value parameters

t

the time point from which to make forecasts

y_

the actual values to use in making predictions

Attributes

Definition Classes
Inherited from:
Forecaster_Reg
def forecastAll(y_: VectorD = ...): MatrixD

Forecast values for all y_.dim time points and all horizons (1 through hh-steps ahead). Record these in the FORECAST MATRIX yf, where

Forecast values for all y_.dim time points and all horizons (1 through hh-steps ahead). Record these in the FORECAST MATRIX yf, where

yf(t, h) = h-steps ahead forecast for y_t

Value parameters

y_

the actual values to use in making forecasts

Attributes

Inherited from:
Forecaster
override def forecastAt(h: Int, y_: VectorD = ...): VectorD

Forecast values for all y_.dim time points at horizon h (h-steps ahead). Assign into FORECAST MATRIX and return the h-steps ahead forecast. Note, predictAll provides predictions for h = 1.

Forecast values for all y_.dim time points at horizon h (h-steps ahead). Assign into FORECAST MATRIX and return the h-steps ahead forecast. Note, predictAll provides predictions for h = 1.

Value parameters

h

the forecasting horizon, number of steps ahead to produce forecasts

y_

the actual values to use in making forecasts

Attributes

See also

forecastAll method in Forecaster trait.

Definition Classes
Inherited from:
Forecaster_Reg
def forecastAtI(y_: VectorD, yfh: VectorD, h: Int, p: Double = ...): (VectorD, VectorD)

Forecast intervals for all y_.dim time points at horizon h (h-steps ahead). Create prediction intervals (two vectors) for the given time points at level p.

Forecast intervals for all y_.dim time points at horizon h (h-steps ahead). Create prediction intervals (two vectors) for the given time points at level p.

Value parameters

h

the forecasting horizon, number of steps ahead to produce forecasts

p

the level (1 - alpha) for the prediction interval

y_

the aligned actual values to use in making forecasts

yfh

the forecast vector at horizon h

Attributes

Inherited from:
Forecaster
def forwardSel(cols: LinkedHashSet[Int])(using qk: Int): BestStep

Perform forward selection to find the most predictive variable to add the existing model, returning the variable to add and the new model. May be called repeatedly. Adapt from regression to time series forecasting.

Perform forward selection to find the most predictive variable to add the existing model, returning the variable to add and the new model. May be called repeatedly. Adapt from regression to time series forecasting.

Value parameters

cols

the lags/columns currently included in the existing model

qk

index of Quality of Fit (QoF) to use for comparing quality

Attributes

See also

Fit for index of QoF measures.

Inherited from:
Forecaster_Reg
override def forwardSelAll(cross: String = ...)(using qk: Int): (LinkedHashSet[Int], ArrayBuffer[VectorD])

Perform FORWARD SELECTION to find the MOST predictive variables to have in the model, returning the variables added and the new Quality of Fit (QoF) measures for all steps.

Perform FORWARD SELECTION to find the MOST predictive variables to have in the model, returning the variables added and the new Quality of Fit (QoF) measures for all steps.

Value parameters

cross

indicator to include the cross-validation/validation QoF measure (defaults to "many")

qk

index of Quality of Fit (QoF) to use for comparing quality

Attributes

See also

modeling.Fit for index of QoF measures.

modeling.Predictor for more information

Definition Classes
Inherited from:
Forecaster_Reg

Return the best model found from feature selection.

Return the best model found from feature selection.

Attributes

Inherited from:
Forecaster_Reg
override def getFname: Array[String]

Return the feature/variable names. Overrides definition in Forecast trait.

Return the feature/variable names. Overrides definition in Forecast trait.

Attributes

Definition Classes
Inherited from:
Forecaster_Reg
override def getX: MatrixD

Get the data/input matrix built from lagged y (and optionally xe) values.

Get the data/input matrix built from lagged y (and optionally xe) values.

Attributes

Definition Classes
Inherited from:
Forecaster_Reg
def getXy: MatrixD

Return the data matrix x concatenated with response vector y.

Return the data matrix x concatenated with response vector y.

Attributes

Inherited from:
Model
def getY: VectorD

Return the used response/output vector y.

Return the used response/output vector y.

Attributes

Inherited from:
Forecaster

Return the y-transformation.

Return the y-transformation.

Attributes

Inherited from:
Fit
def getYY: MatrixD

Return the used response matrix y, if needed.

Return the used response matrix y, if needed.

Attributes

See also

neuralnet.PredictorMV

Inherited from:
Model

Return the used original/untransformed response/output vector y.

Return the used original/untransformed response/output vector y.

Attributes

Inherited from:
Forecaster
def getYb: VectorD

Return the used response/output vector yb (y prepended by one backcast value).

Return the used response/output vector yb (y prepended by one backcast value).

Attributes

Inherited from:
Forecaster
def getYf: MatrixD

Return the used FORECAST MATRIX yf.

Return the used FORECAST MATRIX yf.

Attributes

Inherited from:
Forecaster
override def help: String

Return the help string that describes the Quality of Fit (QoF) measures provided by the Fit trait. Override to correspond to fitLabel.

Return the help string that describes the Quality of Fit (QoF) measures provided by the Fit trait. Override to correspond to fitLabel.

Attributes

Definition Classes
Fit -> FitM
Inherited from:
Fit

Return the hyper-parameters.

Return the hyper-parameters.

Attributes

Inherited from:
Forecaster
def importance(cols: Array[Int], rSq: MatrixD): Array[(Int, Double)]

Return the relative importance of selected variables, ordered highest to lowest, rescaled so the highest is one.

Return the relative importance of selected variables, ordered highest to lowest, rescaled so the highest is one.

Value parameters

cols

the selected columns/features/variables

rSq

the matrix R^2 values (stand in for sse)

Attributes

Inherited from:
Forecaster_Reg
override def inSample_Test(skip: Int = ..., showYf: Boolean = ...): (VectorD, VectorD)

Perform In-Sample Testing, i.e. train and test on the full data set. Return the prediction and the Quality of Fit.

Perform In-Sample Testing, i.e. train and test on the full data set. Return the prediction and the Quality of Fit.

Value parameters

showYf

whether to show the forecast matrix

skip

the number of initial time points to skip (due to insufficient past)

Attributes

Definition Classes
Inherited from:
Forecaster_Reg
def ll(ms: Double = ..., s2: Double = ..., m2: Int = ...): Double

The log-likelihood function times -2. Override as needed.

The log-likelihood function times -2. Override as needed.

Value parameters

ms

raw Mean Squared Error

s2

MLE estimate of the population variance of the residuals

Attributes

See also
Inherited from:
Fit
def makeForecastMatrix(y_: VectorD = ..., hh_: Int = ...): MatrixD

Make the full FORECAST MATRIX where the zeroth column holds the actual time series and the last column is its time/time index. Columns 1, 2, ... hh are for h steps ahead forecasts.

Make the full FORECAST MATRIX where the zeroth column holds the actual time series and the last column is its time/time index. Columns 1, 2, ... hh are for h steps ahead forecasts.

Value parameters

hh_

the maximum forecasting horizon, number of steps ahead to produce forecasts

y_

the actual time series vector to use in making forecasts

Attributes

Inherited from:
ForecastMatrix
def mcols: LinkedHashSet[Int]

Return the set of columns (numbers) for the features in this model.

Return the set of columns (numbers) for the features in this model.

Attributes

Inherited from:
Forecaster_Reg
override def mod_resetDF(size: Int): Unit

Models need to provide a means for updating the Degrees of Freedom (DF).

Models need to provide a means for updating the Degrees of Freedom (DF).

Value parameters

size

the size of dataset (full, train, or test)

Attributes

Definition Classes
Inherited from:
Forecaster_Reg
inline def modelName: String

Get the model name.

Get the model name.

Attributes

Inherited from:
Model
inline def mse_: Double

Return the mean of the squares for error (sse / df). Must call diagnose first.

Return the mean of the squares for error (sse / df). Must call diagnose first.

Attributes

Inherited from:
Fit
def nparams: Int

Attributes

Inherited from:
Forecaster

Return the vector of parameter/coefficient values (they are model specific). Override for models with other parameters besides b.

Return the vector of parameter/coefficient values (they are model specific). Override for models with other parameters besides b.

Attributes

Inherited from:
Forecaster
override def predict(t: Int, y_: VectorD): Double

Predict a value for y_t using the 1-step ahead forecast.

Predict a value for y_t using the 1-step ahead forecast.

Value parameters

t

the time point being predicted

y_

the actual values to use in making predictions

Attributes

See also

modeling.rectify define in Predictor.scala

Definition Classes
Inherited from:
Forecaster_Reg
def predict(z: VectorD): Double

The standard signature for prediction does not apply to time series.

The standard signature for prediction does not apply to time series.

Attributes

Inherited from:
Forecast
def predictAll(y_: VectorD = ...): VectorD

Predict all values corresponding to the given time series vector y_. Update FORECAST MATRIX yf and return PREDICTION VECTOR yp as second (1) column of yf with last value removed.

Predict all values corresponding to the given time series vector y_. Update FORECAST MATRIX yf and return PREDICTION VECTOR yp as second (1) column of yf with last value removed.

Value parameters

y_

the actual time series values to use in making predictions

Attributes

See also

forecastAll to forecast beyond horizon h = 1.

Inherited from:
Forecaster
def predictInt(x_: MatrixD, df_: Double = ..., α: Double = ...): VectorD

Produce a PREDICTION INTERVAL half width for each prediction yp (y-hat).

Produce a PREDICTION INTERVAL half width for each prediction yp (y-hat).

Value parameters

df_

the error/residual degrees of freedom

x_

the testing/full data/input matrix

α

the significance level α = .1 for TWO TAILS: left tail .05 | 1 - α = .90 | .05 right tail e.g., for AutoMPG, t_crit (385, 0.90) = 1.6488210657096942 t_crit (385, 0.95) = 1.966

Attributes

See also

predictCInt in Predictor

stats.stackexchange.com/questions/585660/what-is-the-formula-for-prediction-interval-in-multivariate-case

Inherited from:
Fit
def predictInt_(x_: MatrixD, df_: Double = ..., α: VectorD = ...): MatrixD

Produce a PREDICTION INTERVAL half width for each prediction yp (y-hat) and each significance level.

Produce a PREDICTION INTERVAL half width for each prediction yp (y-hat) and each significance level.

Value parameters

df_

the error/residual degrees of freedom

x_

the testing/full data/input matrix

α

the significance levels to be used (defaults to Fit.α_)

Attributes

Inherited from:
Fit
def qof2Stat(qof: VectorD): Array[Statistic]

Convert QoF results into an array (of size 1) of Statistic for compatibility with the crossValidate method.

Convert QoF results into an array (of size 1) of Statistic for compatibility with the crossValidate method.

Value parameters

qof

the Quality of Fit (QoF) results

Attributes

Inherited from:
Model
inline def rSq0_: Double

Attributes

Inherited from:
FitM
inline def rSq_: Double

Return the coefficient of determination (R^2). Must call diagnose first.

Return the coefficient of determination (R^2). Must call diagnose first.

Attributes

Inherited from:
FitM
def report(ftMat: MatrixD): String

Return a basic report on a trained and tested multi-variate model.

Return a basic report on a trained and tested multi-variate model.

Value parameters

ftMat

the matrix of qof values produced by the Fit trait

Attributes

Inherited from:
Model
def report(ftVec: VectorD): String

Return a basic report on a trained and tested model.

Return a basic report on a trained and tested model.

Value parameters

ftVec

the vector of qof values produced by the Fit trait

Attributes

Inherited from:
Model
def resetBest(): Unit

Reset the best-step to default

Reset the best-step to default

Attributes

Inherited from:
Forecaster_Reg
def resetDF(df_update: (Double, Double)): Unit

Reset the degrees of freedom to the new updated values. For some models, the degrees of freedom is not known until after the model is built.

Reset the degrees of freedom to the new updated values. For some models, the degrees of freedom is not known until after the model is built.

Value parameters

df_update

the updated degrees of freedom (regression/model, error)

Attributes

Inherited from:
Fit

Return the vector of residuals/errors.

Return the vector of residuals/errors.

Attributes

Inherited from:
Forecaster
def rollValidate(rc: Int = ..., growing: Boolean = ..., doPlot: Boolean = ...): MatrixD

Use rolling-validation to compute test Quality of Fit (QoF) measures by dividing the dataset into a TRAINING SET (tr) and a TESTING SET (te). as follows: [ <-- tr_size --> | <-- te_size --> ] Calls forecast for h-steps ahead out-of-sample forecasts. Return the FORECAST MATRIX.

Use rolling-validation to compute test Quality of Fit (QoF) measures by dividing the dataset into a TRAINING SET (tr) and a TESTING SET (te). as follows: [ <-- tr_size --> | <-- te_size --> ] Calls forecast for h-steps ahead out-of-sample forecasts. Return the FORECAST MATRIX.

Value parameters

doPlot

whether to show the plots

growing

whether the training grows as it roll or keeps a fixed size

rc

the retraining cycle (number of forecasts until retraining occurs)

Attributes

Inherited from:
Forecaster
def screen(xy: MatrixD, thr1: Double = ..., thr2: Double = ...)(dep: MatrixD = ...): (MatrixD, VectorI)

Screen the x-columns of matrix xy based on the two thresholds, returning the reduced matrix and the column indices/predictor variables selected.

Screen the x-columns of matrix xy based on the two thresholds, returning the reduced matrix and the column indices/predictor variables selected.

Value parameters

dep

the variable/column dependency measure (defaults to correlation)

thr1

the threshold used to compare the predictor x-columns to the y-column only want variables above some minimal dependency level

thr2

the threshold used to compare the predictor x-columns with each other only want variables below some cut-off dependency/collinearity level

xy

the [ x, y ] combined data-response matrix

Attributes

Inherited from:
Model
def selectFeatures(tech: SelectionTech, cross: String = ..., first: Int = ..., swap: Boolean = ...)(using qk: Int): (LinkedHashSet[Int], ArrayBuffer[VectorD])

Perform feature selection to find the most predictive features/variables to have in the model, returning the features/variables added and the new Quality of Fit (QoF) measures/metrics for all steps.

Perform feature selection to find the most predictive features/variables to have in the model, returning the features/variables added and the new Quality of Fit (QoF) measures/metrics for all steps.

Value parameters

cross

indicator to include the cross-validation/validation QoF measure (defaults to "many")

first

first variable to consider for elimination (default (1) assume intercept x_0 will be in any model)

qk

index of Quality of Fit (QoF) to use for comparing quality

swap

whether to allow a swap step (swap out a feature for a new feature in one step)

tech

the feature selection technique to apply

Attributes

See also

Fit for index of QoF measures/metrics.

Inherited from:
FeatureSelection
def setSkip(skip_: Int): Unit

Set the number of data points/elements to skip at the beginning of a time series for purposes of diagnosis or computing a loss function. For In-Sample, the first value (time t = 0) is not forecastable without backcasting.

Set the number of data points/elements to skip at the beginning of a time series for purposes of diagnosis or computing a loss function. For In-Sample, the first value (time t = 0) is not forecastable without backcasting.

Value parameters

skip

skip this many elements at the beginning of the time series

Attributes

Inherited from:
Diagnoser
def showQoF(qof: VectorD): Unit

Show the QoF metrics/measures in vector qof.

Show the QoF metrics/measures in vector qof.

Value parameters

qof

the QoF metrics (e.g., for point and interval predictions/forecasts)

Attributes

Inherited from:
Fit
def slant(yf: MatrixD): MatrixD

Return the slanted/diagonalized-down version of the forecast matrix where each row is at a fixed time point and, for example, the random walk model simply pushes the values down diagonals. Note unshiftDiag reverses the process. Also reset the last column that holds the time index to 0, 1, 2, 3, ...

Return the slanted/diagonalized-down version of the forecast matrix where each row is at a fixed time point and, for example, the random walk model simply pushes the values down diagonals. Note unshiftDiag reverses the process. Also reset the last column that holds the time index to 0, 1, 2, 3, ...

Value parameters

yf

the current forecast matrix

Attributes

Inherited from:
ForecastMatrix
inline def sse_: Double

Return the sum of the squares for error (sse). Must call diagnose first.

Return the sum of the squares for error (sse). Must call diagnose first.

Attributes

Inherited from:
FitM
def ssef(y: VectorD, yp: VectorD): Double

Compute the sum of squares errors (loss function), assuming the first 'skip' errors are zero.

Compute the sum of squares errors (loss function), assuming the first 'skip' errors are zero.

Value parameters

y

the actual response vector

yp

the predicted response vector (one-step ahead)

Attributes

Inherited from:
Diagnoser
override def stepwiseSelAll(cross: String = ..., swap: Boolean = ...)(using qk: Int): (LinkedHashSet[Int], ArrayBuffer[VectorD])

Perform STEPWISE SELECTION to find a GOOD COMBINATION of predictive variables to have in the model, returning the variables selected and the new Quality of Fit (QoF) measures for all steps. At each step it calls forwardSel and backwardElim and takes the best of the two actions. Stops when neither action yields improvement.

Perform STEPWISE SELECTION to find a GOOD COMBINATION of predictive variables to have in the model, returning the variables selected and the new Quality of Fit (QoF) measures for all steps. At each step it calls forwardSel and backwardElim and takes the best of the two actions. Stops when neither action yields improvement.

Value parameters

cross

indicator to include the cross-validation/validation QoF measure (defaults to "none")

qk

index of Quality of Fit (QoF) to use for comparing quality

swap

whether to allow a swap step (swap out a feature for a new feature in one step)

Attributes

See also

modeling.Fit for index of QoF measures.

modeling.Predictor for more information

modeling.FeatureSelection for GIVENS for qk and slack_base

Definition Classes
Inherited from:
Forecaster_Reg
override def summary(x_: MatrixD = ..., fname_: Array[String] = ..., b_: VectorD = ..., vifs: VectorD = ...): String

Produce a QoF summary for a model with diagnostics for each predictor 'x_j' and the overall Quality of Fit (QoF).

Produce a QoF summary for a model with diagnostics for each predictor 'x_j' and the overall Quality of Fit (QoF).

Value parameters

b_

the parameters/coefficients for the model

fname_

the array of feature/variable names

vifs

the Variance Inflation Factors (VIFs)

x_

the testing/full data/input matrix

Attributes

Definition Classes
Inherited from:
Forecaster_Reg
inline def taskType: TaskType

Get the type of the task performed by model.

Get the type of the task performed by model.

Attributes

Inherited from:
Model
def test(x_null: MatrixD, y_: VectorD): (VectorD, VectorD)

Test PREDICTIONS of a forecasting model y_ = f(lags (y_)) + e and return its predictions and QoF vector. Testing may be in-sample (on the training set) or out-of-sample (on the testing set) as determined by the parameters passed in. Note: must call train before test. Must override to get Quality of Fit (QoF).

Test PREDICTIONS of a forecasting model y_ = f(lags (y_)) + e and return its predictions and QoF vector. Testing may be in-sample (on the training set) or out-of-sample (on the testing set) as determined by the parameters passed in. Note: must call train before test. Must override to get Quality of Fit (QoF).

Value parameters

x_null

the data/input matrix (ignored, pass null)

y_

the actual testing/full response/output vector

Attributes

Inherited from:
Forecaster
override def tnT_Test(skip: Int = ..., rc: Int = ..., showYf: Boolean = ...): Unit

Perform Train-n-Test (TnT) Testing, i.e. train and test with rolling validation.

Perform Train-n-Test (TnT) Testing, i.e. train and test with rolling validation.

Value parameters

rc

the retraining cycles (how often to retrain the model)

showYf

whether to show the forecast matrix

skip

the number of initial time points to skip (due to insufficient past)

Attributes

Definition Classes
Inherited from:
Forecaster_Reg
override def train(x_: MatrixD, y_: VectorD): Unit

Train/fit a Forecaster_Reg model to the times-series data y_ = f(x_). Estimate the coefficient vector b for a Forecaster_Reg model. Uses OLS Matrix Fatorization to determine the coefficients, e.g., the b (φ) vector.

Train/fit a Forecaster_Reg model to the times-series data y_ = f(x_). Estimate the coefficient vector b for a Forecaster_Reg model. Uses OLS Matrix Fatorization to determine the coefficients, e.g., the b (φ) vector.

Value parameters

x_

the data/input matrix (e.g., full x)

y_

the training/full response vector (e.g., full y)

Attributes

Definition Classes
Inherited from:
Forecaster_Reg
def trainNtest(y_: VectorD = ...)(yy: VectorD = ...): (VectorD, VectorD)

Train and test the forecasting model y_ = f(y-past) + e and report its QoF and plot its predictions. Return the predictions and QoF.

Train and test the forecasting model y_ = f(y-past) + e and report its QoF and plot its predictions. Return the predictions and QoF.

Value parameters

y_

the training/full response/output vector (defaults to full y)

yy

the testing/full response/output vector (defaults to full y)

Attributes

Inherited from:
Forecaster
def trainNtest_x(x_: MatrixD = ..., y_: VectorD = ...)(xx: MatrixD = ..., yy: VectorD = ...): (VectorD, VectorD)

Train and test the forecasting model y_ = f(x_) + e and report its QoF and plot its predictions. Return the predictions and QoF. NOTE: must use trainNtest_x when an x matrix is used, such as in ARX.

Train and test the forecasting model y_ = f(x_) + e and report its QoF and plot its predictions. Return the predictions and QoF. NOTE: must use trainNtest_x when an x matrix is used, such as in ARX.

Value parameters

x_

the training/full data/input matrix (defaults to full x)

xx

the testing/full data/input matrix (defaults to full x)

y_

the training/full response/output vector (defaults to full y)

yy

the testing/full response/output vector (defaults to full y)

Attributes

Inherited from:
Forecaster_Reg
def validate(rando: Boolean = ..., ratio: Double = ...)(idx: IndexedSeq[Int] = ...): (VectorD, VectorD)

Attributes

Inherited from:
Forecaster

Inherited fields

var modelConcept: URI

The optional reference to an ontological concept

The optional reference to an ontological concept

Attributes

Inherited from:
Model
protected var skip: Int

Attributes

Inherited from:
Diagnoser