What is regression?
The 'regression' npm package is a simple and efficient library for performing various types of regression analysis. It supports multiple regression models including linear, exponential, logarithmic, power, and polynomial regression. This package is useful for fitting data to a model and making predictions based on that model.
What are regression's main functionalities?
Linear Regression
Performs linear regression on a set of data points. The result includes the equation of the line, the slope, the intercept, and the R-squared value.
const regression = require('regression');
const data = [[0, 1], [32, 67], [12, 79]];
const result = regression.linear(data);
console.log(result);
Exponential Regression
Performs exponential regression on a set of data points. The result includes the equation of the curve and the R-squared value.
const regression = require('regression');
const data = [[0, 1], [32, 67], [12, 79]];
const result = regression.exponential(data);
console.log(result);
Logarithmic Regression
Performs logarithmic regression on a set of data points. The result includes the equation of the curve and the R-squared value.
const regression = require('regression');
const data = [[0, 1], [32, 67], [12, 79]];
const result = regression.logarithmic(data);
console.log(result);
Power Regression
Performs power regression on a set of data points. The result includes the equation of the curve and the R-squared value.
const regression = require('regression');
const data = [[0, 1], [32, 67], [12, 79]];
const result = regression.power(data);
console.log(result);
Polynomial Regression
Performs polynomial regression on a set of data points. The result includes the equation of the curve and the R-squared value. The order of the polynomial can be specified.
const regression = require('regression');
const data = [[0, 1], [32, 67], [12, 79]];
const result = regression.polynomial(data, { order: 2 });
console.log(result);
Other packages similar to regression
simple-statistics
The 'simple-statistics' package provides a wide range of statistical tools, including various types of regression analysis. It is more comprehensive than 'regression' as it includes additional statistical functions such as mean, median, standard deviation, and more.
ml-regression
The 'ml-regression' package is part of the 'ml' suite of machine learning tools. It offers multiple regression models including linear, polynomial, and multivariate linear regression. It is designed to be used in conjunction with other machine learning tools in the 'ml' suite.
Installation
This module works on node and in the browser. It is available as the 'regression' package on npm. It is also available on a CDN.
npm
npm install --save regression
Usage
import regression from 'regression';
const result = regression.linear([[0, 1], [32, 67], [12, 79]]);
const gradient = result.equation[0];
const yIntercept = result.equation[1];
Data is passed into the model as an array. A second parameter can be used to configure the model. The configuration parameter is optional. null
values are ignored. The precision option will set the number of significant figures the output is rounded to.
Configuration options
Below are the default values for the configuration parameter.
{
order: 2,
precision: 2,
}
Properties
equation
: an array containing the coefficients of the equationstring
: A string representation of the equationpoints
: an array containing the predicted data in the domain of the inputr2
: the coefficient of determination (R2)predict(x)
: This function will return the predicted value
API
regression.linear(data[, options])
Fits the input data to a straight line with the equation . It returns the coefficients in the form [m, c]
.
regression.exponential(data[, options])
Fits the input data to a exponential curve with the equation . It returns the coefficients in the form [a, b]
.
regression.logarithmic(data[, options])
Fits the input data to a logarithmic curve with the equation . It returns the coefficients in the form [a, b]
.
regression.power(data[, options])
Fits the input data to a power law curve with the equation . It returns the coefficients in the form [a, b]
.
regression.polynomial(data[, options])
Fits the input data to a polynomial curve with the equation . It returns the coefficients in the form [an..., a1, a0]
. The order can be configure with the order
option.
Example
const data = [[0,1],[32, 67] .... [12, 79]];
const result = regression.polynomial(data, { order: 3 });
Development
- Install the dependencies with
npm install
- To build the assets in the
dist
directory, use npm run build
- You can run the tests with:
npm run test
.