spm-regression
v1.2.1
Published
Javascript least squares data fitting methods
Downloads
8
Readme
regression.js is a javascript library containing a collection of least squares fitting methods for finding a trend in a set of data. It currently contains methods for linear, exponential, logarithmic, power and polynomial trends.
Usage
Most regressions require only two parameters - the regression method (linear, exponential, logarithmic, power or polynomial) and a data source. A third parameter can be used to define the degree of a polynomial when a polynomial regression is required.
regression.js will return an object containing an equation array and a points array.
Linear regression
equation: [gradient, y-intercept]
in the form y = mx + c
var data = [[0,1],[32, 67] .... [12, 79]];
var result = regression('linear', data);
Linear regression through the origin
equation: [gradient]
in the form y = mx
var data = [[0,1],[32, 67] .... [12, 79]];
var result = regression('linearThroughOrigin', data);
Exponential regression
equation: [a, b]
in the form y = ae^bx
Logarithmic regression
equation: [a, b]
in the form y = a + b ln x
Power law regression
equation: [a, b]
in the form y = ax^b
Polynomial regression
equation: [a0, .... , an]
in the form a0x^0 ... + anx^n
var data = [[0,1],[32, 67] .... [12, 79]];
var result = regression('polynomial', data, 4);
Lastvalue
Not exactly a regression. Uses the last value to fill the blanks when forecasting.
Filling the blanks and forecasting
var data = [[0,1], [32, null] .... [12, 79]];
If you use a null
value for data, regressionjs will fill it using the trend.