Roland,

Answers inline below:

On Mon, Jun 2, 2014 at 1:35 PM, Hochmuth, Roland M
<[email protected]> wrote:
> I've bee reading through several of the examples and had a question regarding 
> handling multiple streams of data. I see in the the onegym 
> swarm_description.py a description of the included fields as follows:
>
>
>   "includedFields": [
>     {
>       "fieldName": "timestamp",
>       "fieldType": "datetime"
>     },
>     {
>       "fieldName": "kw_energy_consumption",
>       "fieldType": "float",
>       "maxValue": 53.0,
>       "minValue": 0.0
>     }
>   ],
>
> So in the onegym example, there appears to be one stream of data which has a 
> timestamp and the energy consumed.
>
> I'm wondering how to handle a case where there are many streams such that 
> there is a timestamp and energy consumed for many meters. For example
>
> [{household: "household-1", meter: "energy", timestamp: timestamp, 
> kw_energy_consumption: 0.0},
>  {household: "household-2", meter: "energy",  timestamp: timestamp, 
> kw_energy_consumption: 0.0},
>  …]

You probably want one model per building, in which case you would need
to instantiate two model objects, possibly with the same model params,
but send different data streams into each object. I was planning on
doing an example of this called "many_gyms" (now you can tell why I
called the first one "one_gym").

>
> In that example for each household there is a energy meter which has a 
> timestamp and kw_energy_consumption. Extending on the first example
>
> [{household: "household-1", meter: "energy", timestamp: timestamp, 
> kw_energy_consumption: 1000.0},
>  {household: "household-1", meter: "temperature", timestamp: timestamp, 
> degrees_f: 65.0},
>  {household: "household-2", meter: "energy",  timestamp: timestamp, 
> kw_energy_consumption: 1500.0},
>  {household: "household-2", meter: "temperature",  timestamp: timestamp, 
> degrees_f: 72.0}
>  …]
>
> there are now two meters per household. One for energy and one for 
> temperature.

You probably want to add another field to the input data:

"includedFields": [
    {
      "fieldName": "timestamp",
      "fieldType": "datetime"
    },
    {
      "fieldName": "kw_energy_consumption",
      "fieldType": "float",
      "maxValue": 53.0,
      "minValue": 0.0
    },
    {
      "fieldName": "degrees_f",
      "fieldType": "float",
      "maxValue": 100.0,
      "minValue": 0.0
    }
 ],

This will require a re-swarm, because the data input definition has
changed. All you need to do is add another column to the input data
CSV called "degrees_f" and run a swarm with the updated swarm
description.

>
> I was wondering what is the preferred way to specify the included fields.
>
> As the final result what I would like to do is predict and do anomaly 
> detection on kw_energy_consumption and degrees_f per household. Is there a 
> demo or somewhere in the documentation where this is discussed?

I just finished this:
https://github.com/numenta/nupic/wiki/Using-NuPIC#one-hot-gym-anomaly-tutorial

---------
Matt Taylor
OS Community Flag-Bearer
Numenta

_______________________________________________
nupic mailing list
[email protected]
http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org

Reply via email to