I am running HTM.java-examples, I found that, the multiencoder can encode different fields of the same data record into the same SDR as the input of SP, but the output of the prediction value is for which field?
In the HTM.java-NetworkAPIDemo example, I changed the csv data set into the following(random values)
I changed the field timestamp frome datetime into integer, and I modified some configs of the file NetworkDemoHarness.java respectively to run the demo with no errors. I changed the encoder of the field timestamp to the scalarencoder.
The ScalarEncoder for each field is configured the same as n=50 , w=21 and no periodic.
For the SP, 2048 columns with 32 cells per column. I have specified the classifiers for each field like:
Map<String, Class> fieldMap = new HashMap<String, Class>(); fieldMap.put("consumption", SDRClassifier.class); fieldMap.put("timestamp", SDRClassifier.class); p.set(KEY.INFERRED_FIELDS, fieldMap);
From the output of this demo, we can see that the two fields:timestamp and consumpution are encoded into the same SDR with 42 bits on of 100bits total.
1, 27.00, prediction= 43.00, 16.00, anomaly score=1.0 0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0  2, 48.00, prediction= 27.00, 21.00, anomaly score=1.0 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0  3, 11.00, prediction= 27.00, 16.00, anomaly score=1.0 0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
the question is ,of which field the predicted value is? From the output, I guess the prediction is for the consumpution field ,and why not the timestamp field? How does it decide which field value should be predicted ?