Hi
I am getting low anomaly score but difference between actual and prediction value is high,
Here is my setup
I have generated sample data as shown below
y = (.6x1+.3x2+ .1x3)
I have created MultiEncoder for the below fields
timestamp
y
x1
x2
x
created publisher and subscriber and assinged to network object as shown below
Network nt= Network.create(netWorkName, p).add(Network.createRegion("Region 1")
.add(Network.createLayer("Layer 1/3", p).alterParameter(KEY.AUTO_CLASSIFY, Boolean.TRUE)
.add(Anomaly.create()).add(new TemporalMemory()).add(new SpatialPooler()).add(me)
add(Sensor.create(ObservableSensor::create, SensorParams.create(Keys::obs, "", manual)))));
nt.observe().subscribe(getSensorSubscriber());
nt.start();
passed values in the below format
timestamp,y,x1,x2,x3
sample value
06/29/17 23:34:36, 41.7,60,13,18
Here is graphical output of actual vs predicted and anomaly scores
when we pass multiple values , is the predicted value is based on all values (y,x1,x2,x3 ) or single value(y) ,
another problem I am facing is ,I am always getting .5 Anomaly Probability.
Date date = new Date(Long.parseLong(this.sensorMessage.getDateTime()));
DateTime dateTime = new DateTime(date);
AnomalyLikelihood AnomalyLikelihood =new AnomalyLikelihood(false,0,false ,200,200);
double anamolyLikelyhood =AnomalyLikelihood.anomalyProbability(Double.parseDouble(message.getRawValues()[0]),response.getAnomalyScore(),dateTime);
Thanks & Regards
MH