Does Swarming produces correct model param?

I have cpu utillization dataset which are of 15min interval.Total no of records are 3821.
I ran swarming and got the model param…using this param I am predicting the output.However the prediction is exactly same as the input.
If i modify the model params, then it is showing some deviation…I am really worried if the generated model params are correct?

In the model params…why do cpu_percent,timestamp_dayOfWeek,timestamp_timeOfDay are None?

Is it telling these three parameters does not contribute for prediction?

'sensorParams': { 'encoders': { '_classifierInput': { 'classifierOnly': True,
                                                                         'clipInput': True,
                                                                         'fieldname': 'cpu_percent',
                                                                         'maxval': 100.0,
                                                                         'minval': 0.0,
                                                                         'n': 488,
                                                                         'name': '_classifierInput',
                                                                         'type': 'ScalarEncoder',
                                                                         'w': 21},
                                                   u'cpu_percent': None,
                                                   u'timestamp_dayOfWeek': None,
                                                   u'timestamp_timeOfDay': None,
                                                   u'timestamp_weekend': { 'fieldname': 'timestamp',
                                                                           'name': 'timestamp',
                                                                           'type': 'DateEncoder',
                                                                           'weekend': ( 21,
                                                                                        1)}},

input data sample:-

timestamp,cpu_percent
datetime,float
T,
4/23/18 16:00,17.27
4/23/18 16:15,9
4/23/18 16:30,8.74
4/23/18 16:45,8.93
4/23/18 17:00,8.12
4/23/18 17:15,8.62
4/23/18 17:30,8.09
4/23/18 17:45,8.05
4/23/18 18:00,7.67
4/23/18 18:15,9.11

input plot:-

Swarm description:-

SWARM_DESCRIPTION = {
  "includedFields": [
    {
      "fieldName": "timestamp",
      "fieldType": "datetime"
    },
    {
      "fieldName": "cpu_percent",
      "fieldType": "float",
      "maxValue": 100.0,
      "minValue": 0.0
    }
  ],
  "streamDef": {
    "info": "cpu_percent",
    "version": 1,
    "streams": [
      {
        "info": "cpu_percent",
        "source": "file://cpu-percent-every15m.csv",
        "columns": [
          "*"
        ]
      }
    ]
  },

  "inferenceType": "TemporalMultiStep",
  "inferenceArgs": {
    "predictionSteps": [
      1
    ],
    "predictedField": "cpu_percent"
  },
  "iterationCount": -1,
  "swarmSize": "large"
}

output sample:-

2018-04-23 16:00:00,17.27,17.27
2018-04-23 16:15:00,9.0,9.0
2018-04-23 16:30:00,8.74,8.74
2018-04-23 16:45:00,8.93,8.93
2018-04-23 17:00:00,8.12,8.12
2018-04-23 17:15:00,8.62,8.62
2018-04-23 17:30:00,8.09,8.09
2018-04-23 17:45:00,8.05,8.05
2018-04-23 18:00:00,7.67,7.67
2018-04-23 18:15:00,9.11,9.11

A simple answer to your question is no, swarming does not produce correct model params. It guesses and refines in as much time as it has to do so, then returns the best it found.

To find out if the scalar data you are analyzing has anomalies NuPIC can find, run it through HTM Studio first. If you get good anomalies there, it’s a good sign. Then you know exactly what params to use.

1 Like

2 posts were split to a new topic: Getting aggregation data from HTM Studio