Using NuPIC


NuPIC API Docs NuPIC Core API Docs
NuPIC API Docs NuPIC Core API Docs
## Guides

Beginner’s Guide to NuPIC

Beginner's Guide to NuPIC

A detailed introduction to the components of NuPIC. Includes encoders, the spatial pooler, and swarming. Contains live code running in an iPython Notebook, which is included as a reference.


Hot Gym

The “hot gym” sample application has been around for a long time, and was one of the first real-world applications of NuPIC that actually worked. The data used is real energy consumption data from a gym in Australia. It is aggregated hourly already, so the input CSV file simply contains a timestamp and float value for energy consumption during that hour.

This tutorial shows how to take that data file, create a swarm to find the best NuPIC Model parameters, then use those Model parameters to create a NuPIC Model and feed the data into it, getting 1-step-ahead predictions for each row of data being fed into NuPIC. Essentially, this example shows how NuPIC can predict the energy consumption of a building one hour into the future.

Following where the One Hot Gym Prediction Tutorial leaves off, this screencast and example app shows you how to convert to an anomaly detection model using the same data set.

HTM Engine Traffic Tutorial

HTM Engine Traffic Tutorial

A walkthrough of the HTM Engine, which allows users to create and run hundreds of anomaly detection NuPIC models simultaneously, with an example application of New York City live traffic speeds.

Source Code & README

Code Examples

Swarming Using Multiple Fields

Subutai Ahmad put together a set of examples. They demonstrate swarming for prediction and anomaly detection models. The example shows how to use swarming to select between multiple fields and the effect of noise. It uses the same sine wave dataset used in the sine wave tutorial above.

Creating CSV Data Files

NuPIC Input Data File Format

Public Data

There are a myriad of free online data sets that could be processed and used as input for NuPIC models.

Tips and Tricks

  • Put dates in increasing order - typically time should always be increasing for NuPIC.

  • Format dates correctly - YYYY-MM-DD HH:MM:SS

  • Specify date in the included fields attribute of the model parameters

  • Specify min/max values for numerical data fields. Performance is usually a bit better with the min/max specified.

  • For best accuracy, it is usually best to swarm for each prediction step individually as we have found that the parameters are slightly different for different prediction windows. If you specify both 1 and 10, I believe the swarm will optimize for 1. In my experiments I did separate swarms for 1 step and 10 step prediction.


Swarming in NuPIC



I have 2 questions if you can help with please.

1. What version of nupic API we should use for the reference and use. There is 1.0.6.dev0, Stable or prerelease version…?
I noticed there are some differences in suggestion with parameter’s default value but which one is most reliable version to use please?

2. what is different two documents, nupic API docs and nupic core API docs?

Use stable. Use NAB model params for anomaly detection. Use the NuPIC python api not the C++ api.

1 Like

May you have the NuPIC API Docs/NuPIC Core API Docs in pdf format?

Sorry @Moti I don’t have the API docs in PDF (neither to most software APIs).

Never mind :slight_smile:
Thanks for your wonderful work,

1 Like

You can generate the docs and output to pdf if you like, download the source from github and run (completely untested):

 sphinx-build -b pdf -c docs/source/
1 Like