Skip to content

Dividing the dataset into train and testΒ #3

@mamadpierre

Description

@mamadpierre

Two issues related to each other:

  1. 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.

  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions