The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
how to do 30 days forecast
Attributes which I use (i-th day):
...
day i: att1 att2 att3(day i-1) att4(day i-2) att5(day i-3) att6(day i-4) att7(day i-5) label:att8(day i)
...
I make example set and generate model. This is not a problem, but if I want to do prediction for 30 days ahead, my test set must include previous predicted values:
day 1: x1 y1 a1 b1 c1 d1 e1 f1-prediction
day 2: x2 y2 f1 a1 b1 c1 d1 f2
day 3: x3 y3 f2 f1 a1 b1 c1 f3
....
day 30: x30 y30 f29 f28 f27 f26 f25 f30.
I want to do prediction for 30 day ahead at once, and how I can do that if possible?
...
day i: att1 att2 att3(day i-1) att4(day i-2) att5(day i-3) att6(day i-4) att7(day i-5) label:att8(day i)
...
I make example set and generate model. This is not a problem, but if I want to do prediction for 30 days ahead, my test set must include previous predicted values:
day 1: x1 y1 a1 b1 c1 d1 e1 f1-prediction
day 2: x2 y2 f1 a1 b1 c1 d1 f2
day 3: x3 y3 f2 f1 a1 b1 c1 f3
....
day 30: x30 y30 f29 f28 f27 f26 f25 f30.
I want to do prediction for 30 day ahead at once, and how I can do that if possible?
0
Answers
usually you are using a horizon of 30 days during the windowing if you are going to predict whats going on 30 days ahead.
Greetings,
Sebastian
I have test set like this for predict one day ahead:
1: 11.1 2.2 267460 274321 277649 278393 269084 f1-prediction
and if I apply model, RM give me f1 and that is ok.
But for example if I want to predict two days ahead, my test set is:
1: 11.1 2.2 267460 274321 277649 278393 269084 f1
2: 6.7 4 f1 215147 267460 274321 277649 f2
you see that I need the predicted value from day before to use for prediction of next day.
I can do this manual but that isn't efficiently.
One more thing is that the first and second attribute aren't time-series data unlike attributes from 3 to 5 which are time-series data.
Sebastian said to use windowing operator but I think that won't help in this problem, or maybe I don't understand windowing operator.
I use LibSVM (Suport Vector Regression) for load forecasting. I want to put predicted value for Monday into input vector for Tuesday (to use predicted values for 7 days before for predicting next day, so I need to add predicted values into input vectors for next day). Can this be done automatically in some kind of loop ? Otherwise I must manually to to shift vector for one position in left and copy predicted value for day before into input vector. All this must be done in test phase (during execution of LibSVM).
unfortunately there's currently no operator supporting this directly, at least as far as I know. I would ask one of our experts for time series prediction, but both are currently working at a customer's site.
I think the only way you can handle this problem is renaming the attribute after each application and using the prediction for as last time point for applying the model again.
I tried to model this in a process, that performs this automatically, but unfortunately I'm lacking the time to debug it. Perhaps it helps you anyway, so I will post it here: There's another, possibly better way around, but I can only sketch it up here:
Write a translation in the form old name, new name for each attribute manually. Load it as an example set and iterate over this example set using the Example iterator. Retrieve the data from the current example using the extract macro operator and use this two value for renaming the attributes.
My process fails because the order of the attributes changes intermediate, so that attributes are renamed to wrong names. The above solution would avoid this.
Greetings,
Sebastian