RegularizedRegressionModel Class

Represents a regularized (ridge or LASSO) regression model.

Definition

Namespace: Numerics.NET.Statistics
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.4
C#
public class RegularizedRegressionModel : RegressionModel<double>
Inheritance
Object  →  Model  →  RegressionModel<Double>  →  RegularizedRegressionModel

Remarks

Use the RegularizedRegressionModel class to analyze a linear relationship between two or more numerical variables where the problem is ill-posed. A multiple linear regression model tries to express one variable, called the dependent variable, as a linear combination of one or more other variables called independent variables or predictors.

Regularized regression compensates for the ill-posed nature of the problem by trading some increase bias for a reduction in variance.

Two regularization methods are supported by the RegularizedRegressionModel class: the LASSO (least absolute shrinkage and selection operator) and elastic net. Ridge regression can be performed using the LinearRegressionModel class.

In ordinary least squares, the parameter values are computed by minimizing the sum of the squared residuals. In the LASSO, a multiple of the one-norm of the parameters is added to the objective function. The multiplier is specified as the RegularizationParameter property.

The elastic net is a generalization of the LASSO that also adds a multiple of the squared two-norm of the parameters to the objective function. The ratio of the coefficients is specified through the RegularizationRatio property. This is a value between 0 and 1. A value of 1 indicates LASSO (this is the default). A value of zero indicates ridge regression. However, the calculation of ridge regression coefficients in this fashion is not reliable.

Constructors

Properties

AdjustedRSquared Gets the adjusted R Squared value for the regression.
(Inherited from RegressionModel<T>)
AnovaTable Gets the AnovaTable that summarizes the results of this model.
(Inherited from RegressionModel<T>)
BaseFeatureIndex Gets an index containing the keys of the columns that are required inputs to the model.
(Inherited from Model)
CoefficientOfVariation Gets the coefficient of variation for the regression.
Computed Gets whether the model has been computed.
(Inherited from Model)
Obsolete.
CovarianceMatrix Gets the covariance matrix of the model parameters.
(Inherited from RegressionModel<T>)
Data Gets an object that contains all the data used as input to the model.
(Inherited from Model)
DegreesOfFreedom Gets the total degrees of freedom of the data.
(Inherited from RegressionModel<T>)
DependentVariable Gets a vector that contains the dependent variable that is to be fitted.
(Inherited from RegressionModel<T>)
Fitted Gets whether the model has been computed.
(Inherited from Model)
FStatistic Gets the F statistic for the regression.
(Inherited from RegressionModel<T>)
IndependentVariables Gets a matrix whose columns contain the independent variables in the model.
(Inherited from RegressionModel<T>)
InputSchema Gets the schema for the features used for fitting the model.
(Inherited from Model)
LogLikelihood Gets the log-likelihood that the model generated the data.
(Inherited from RegressionModel<T>)
MaxDegreeOfParallelism Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from Model)
ModelSchema Gets the collection of variables used in the model.
(Inherited from Model)
NoIntercept Gets or sets whether to include the intercept or constant term in the regression model.
NumberOfObservations Gets the number of observations the model is based on.
(Inherited from Model)
ParallelOptions Gets or sets an object that specifies how the calculation of the model should be parallelized.
(Inherited from Model)
Parameters Gets the collection of parameters associated with this model.
(Inherited from RegressionModel<T>)
ParameterValues Gets the values of the parameters associated with this model.
(Inherited from RegressionModel<T>)
Predictions Gets a vector containing the model's predicted values for the dependent variable.
(Inherited from RegressionModel<T>)
PValue Gets the probability corresponding to the F statistic for the regression.
(Inherited from RegressionModel<T>)
RegularizationParameter Gets or sets the scale factor for the regularization terms in the model.
RegularizationRatio Gets or sets the scale factor for the regularization terms in the model.
RegularizePositive Gets or sets whether the regression parameters should be forced to be positive or zero.
Residuals Gets a vector containing the residuals of the model.
(Inherited from RegressionModel<T>)
ResidualSumOfSquares Gets the sum of squares of the residuals of the model.
(Inherited from RegressionModel<T>)
RSquared Gets the R Squared value for the regression.
(Inherited from RegressionModel<T>)
StandardError Gets the standard error of the regression.
(Inherited from RegressionModel<T>)
Standardize Gets or sets whether the variables should be standardized prior to computing the regression.
Status Gets the status of the model, which determines which information is available.
(Inherited from Model)
SupportsWeights Indicates whether the model supports case weights.
(Inherited from Model)
Weights Gets or sets the actual weights.
(Inherited from Model)

Methods

Compute() Computes the model.
(Inherited from Model)
Obsolete.
Compute(ParallelOptions) Computes the model.
(Inherited from Model)
Obsolete.
Contains Returns whether another RegressionModel<T> is nested within this instance.
(Inherited from RegressionModel<T>)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Fit() Fits the model to the data.
(Inherited from Model)
Fit(ParallelOptions) Fits the model to the data.
(Inherited from Model)
FitCore Computes the model to the specified input using the specified parallelization options.
(Overrides Model.FitCore(ModelInput, ParallelOptions))
GetAkaikeInformationCriterion Returns the Akaike information criterion (AIC) value for the model.
(Inherited from RegressionModel<T>)
GetBayesianInformationCriterion Returns the Bayesian information criterion (BIC) value for the model.
(Inherited from RegressionModel<T>)
GetDurbinWatsonStatistic Gets the Durbin-Watson statistic for the residuals of the regression.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetNormalityOfResidualsTest() Returns a test to verify that the residuals follow a normal distribution.
GetNormalityOfResidualsTest(TestOfNormality) Returns a test to verify that the residuals follow a normal distribution.
GetRegularizationPath Returns a matrix whose rows contain the parameter values of the model using the corresponding value in the supplied vector of regularization parameters.
GetRegularizationPathParameters() Constructs a vector of suitable regularization parameter values based on the model's data.
GetRegularizationPathParameters(Int32) Constructs a range of suitable regularization parameter values based on the model's data.
GetRegularizationPathParameters(Int32, Double) Constructs a range of suitable regularization parameter values based on the model's data.
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Predict(IDataFrame, ModelInputFormat) Predicts the value of the output corresponding to the specified features.
(Inherited from RegressionModel<T>)
Predict(Matrix<T>, ModelInputFormat) Predicts the value of the output corresponding to the specified features.
(Inherited from RegressionModel<T>)
Predict(Vector<T>, ModelInputFormat) Predicts the value of the output corresponding to the specified features.
(Inherited from RegressionModel<T>)
PredictCore(Matrix<T>, Boolean) Predicts the value of the dependent variable based on the specified values of the features.
(Inherited from RegressionModel<T>)
PredictCore(Vector<T>, Boolean) Predicts the value of the dependent variable based on the specified values of the features.
(Inherited from RegressionModel<T>)
ResetComputation Clears all fitted model parameters.
(Inherited from Model)
Obsolete.
ResetFit Clears all fitted model parameters.
(Inherited from Model)
SetDataSource Uses the specified data frame as the source for all input variables.
(Inherited from Model)
Summarize() Returns a string containing a human-readable summary of the object using default options.
(Inherited from Model)
Summarize(SummaryOptions) Returns a string containing a human-readable summary of the object using the specified options.
(Inherited from RegressionModel<T>)
ToStringReturns a string that represents the current object.
(Inherited from Model)

See Also