Skip to content
Curve Fitting in JavaScript.
JavaScript
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist Switched to uglifyJS Dec 10, 2017
src Move from default export Jul 15, 2017
test Move from default export Jul 15, 2017
.babelrc Switched to uglifyJS Dec 10, 2017
.editorconfig Updated build system Jul 9, 2017
.eslintrc Updated build system Jul 9, 2017
.gitignore Added codeclimate Jul 14, 2017
.npmignore Updated build system Jul 9, 2017
.travis.yml Added codeclimate config Jul 15, 2017
CHANGELOG.md Switched to uglifyJS Dec 10, 2017
LICENSE 1.4.0 Dec 18, 2016
README.md Update README.md Oct 4, 2017
bower.json v2.0.0 Jul 15, 2017
package.json Switched to uglifyJS Dec 10, 2017
yarn.lock Switched to uglifyJS Dec 10, 2017

README.md

regression-js

npm version npm downloads

regression-js is a JavaScript module containing a collection of linear least-squares fitting methods for simple data analysis.

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 equation
  • string: A string representation of the equation
  • points: an array containing the predicted data in the domain of the input
  • r2: 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 y = mx + c. It returns the coefficients in the form [m, c].

regression.exponential(data[, options])

Fits the input data to a exponential curve with the equation y = ae^bx. It returns the coefficients in the form [a, b].

regression.logarithmic(data[, options])

Fits the input data to a logarithmic curve with the equation y = a + b ln x. 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 y = ax^b. It returns the coefficients in the form [a, b].

regression.polynomial(data[, options])

Fits the input data to a polynomial curve with the equation anx^n ... + a1x + a0. 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.
You can’t perform that action at this time.