-
Notifications
You must be signed in to change notification settings - Fork 69
Description
Two issues related to each other:
-
As I can see in the code, self.beta is directly responsible for prediction. However, this matrix is being updated recursively up to the end of the process (to be more exact
len(sequence)-predictionStep.
For instance in FOS_ELM we have:
self.beta = self.beta + np.dot(self.M, np.dot(Ht, targets - np.dot(H, self.beta)))
and this train process is in a for loop with prediction of the next:
for i in range(numLags, len(sequence)-predictionStep-1):
net.train(X[[i], :], T[[i], :])
Y = net.predict(X[[i+1], :])
predictedInput[i+1] = Y[-1]
I believe this update should be continued up to the end of the training, then one needs to feed the testdata only to prediction function. -
The whole data is normalized but if you divide the dataset to test and train, you cannot normalize test set. (you can use mean and variance of train set for normalizing test).
Based on these two issues, the NRMSE mentioned at the end of the process is not reliable.