Package org.pepstock.charba.client.ml
Contains all classes to activate the ML library to use the regression capabilities.
- Author:
- Andrea "Stock" Stocchero
-
Interface Summary Interface Description IsRegression Maps all common methods of a regression. -
Class Summary Class Description ExponentialRegression Exponential regression is a non-linear regression technique that looks like this:
y = A * eB * x
LinearRegression Simple Linear Regression is a type of Regression algorithms that models the relationship between a dependent variable and a single independent variable.
The relationship shown by a Simple Linear Regression model is linear or a sloped straight line, hence it is called Simple Linear Regression.
The key point in Simple Linear Regression is that the dependent variable must be a continuous/real value.
However, the independent variable can be measured on continuous or categorical values.
The Simple Linear Regression model can be represented using the below equation:
y = a0 + a1x
where
a0 is the intercept of the Regression line (can be obtained putting x=0) a1 is the slope of the regression line, which tells whether the line is increasing or decreasingPolynomialRegression Polynomial Regression is a regression algorithm that models the relationship between a dependent(y) and independent variable(x) as nth degree polynomial.
The Polynomial Regression equation is given below:
y = b0 + b1x1 + b2x12 + b2x13 +......PowerRegression Power regression is a non-linear regression technique that looks like this:
y = A * xBRegressionBuilder Builds regressions instances.RegressionDataset This is aLineDataset
which is created to add the regression line, calculate by a regression, to a chart.RegressionDatasetBuilder Builds regressions datasets instances.RegressionDescriptor It maps a regression and it can be used to clone or create new instance.RegressionScore When building a regression model, you need to evaluate the goodness of the model, that is how well the model fits the training data used to build the model and how accurate is the model in predicting the outcome for new unseen test observations.
It maps the most commonly known evaluation metrics.
Metrics:
R (R), which is the proportion of variation in the outcome that is explained by the predictor variables.RobustPolynomialRegression Robust regression is a form of regression analysis designed to overcome some limitations of traditional parametric and non-parametric methods.
Regression analysis seeks to find the relationship between one or more independent variables and a dependent variable.TheilSenRegression In TheilSen Regression, the estimation of the model is done by calculating the slopes and intercepts of a subpopulation of all possible combinations of subsample points.
The final slope and intercept is then defined as the spatial median of these slopes and intercepts.
The TheilSen Regression model can be represented using the below equation:
y = a0 + a1x
where
a0 is the intercept of the Regression line (can be obtained putting x=0) a1 is the slope of the regression line, which tells whether the line is increasing or decreasing
This regression can be computed efficiently, and is insensitive to outliers.
It can be significantly more accurate than non-robust simple linear regression (least squares) for skewed and heteroskedastic data, and competes well against least squares even for normally distributed data in terms of statistical power.
It has been called "the most popular nonparametric technique for estimating a linear trend".
See details on Theil–Sen estimator.