Giter Club home page Giter Club logo

zodiac-ts's Introduction

Zodiac-ts alt tag

Build Status

Zodiac-ts is a time series library written in Javascript. Currently, it implements the following algorithms :

  • Simple exponential smoothing;
  • Double exponential smoothing;
  • Holt Smoothing;
  • Holt Winters smoothing;
  • Moving average.

How to use Zodiac-ts ?

  • You can install it using npm, by writting : npm install zodiac-ts
  • Or you can simply clone it using git clone
zodiac = require("zodiac-ts");
var data = [25, 29, 24, 21, 26, 23, 27, 25, 21, 24, 26, 29, 25];

//Case of simple exponential smoothing
var alpha = 0.4;

var ses = new zodiac.SimpleExponentialSmoothing(data, alpha);
var forecast = ses.predict(); //return an array with estimated values until t+1

//You can optimize alpha value
var optimizedAlpha = ses.optimizeParameter(20); //You have to pass the number of iterations as parameter
//After the optimization, the value of alpha is directly set to optimizedAlpha

//You can predict again with the optimized value of alpha
var optimizedForecast = ses.predict();


//Case of double exponential smoothing
var des = new zodiac.DoubleExponentialSmoothing(data, alpha);
forecast = des.predict(3); //You have to pass the horizon of the prediction

//You can also optimize alpha value
optimizedAlpha = des.optimizeParameter(20);
//After the optimization, the value of alpha is directly set to optimizedAlpha

//Case of Holt smoothing
var gamma = 0.3;
var hs = new zodiac.HoltSmoothing(data, alpha, gamma)
forecast = hs.predict(3); //Horizon of 3
var optimizedParameters = hs.optimizeParameters(20); //return an object containing the optimized value of alpha and gamma
//After the optimization, the value of alpha and gamma are directly set to the optimized values

//Case of Holt Winters smoothing
var delta = 0.5;
var seasonLength = 4;
var multiplicative = false; //indicates if the model is additive or multiplicative

var hws = new zodiac.HoltWintersSmoothing(data, alpha, gamma, delta, seasonLength, multiplicative);
forecast = hws.predict();
optimizedParameters = hws.optimizeParameters(20); //return an object containing the optimized values of alpha, gamma and delta
//After the optimization, the value of alpha, gamma and delta are directly set to the optimized values

//Case of moving average
var ma = new zodiac.MovingAverage(data);
var order = 1;
dataSmoothed = ma.smooth(order);
//The mean is taken from an equal number (order) of data on either side of a central value 

zodiac-ts's People

Contributors

antoinevastel avatar

Stargazers

Emmanuel Ulloa Arguello avatar  avatar  avatar Aliona Surikova avatar Josh Passenger avatar Shirish Veerabattini avatar Michael W McDowell avatar Artem Kovalchuk avatar Gabirieli Lalasava avatar Victor P avatar  avatar Vic avatar Shuky (Elchanan) Shukrun avatar Pipe Vildoso Castillo avatar Richard Schubert avatar Thomas Coats avatar Al-Ekram Elahee Hridoy avatar Joaquim Pedro Antunes avatar polybius avatar Marcelo Auquer avatar Kevin Brammer avatar Ali Farahat avatar  avatar Robert Laverty avatar  avatar  avatar

Watchers

James Cloos avatar  avatar  avatar

zodiac-ts's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.