| Input: the wind speed time series data |
| Output: forecasting performance indices |
(1) | The wind speed time series data are measured every 5 minutes, being averaged two times for 30 minutes and 1 hour, respectively. |
(2) | The wind datasets are split into Training, Validation, and Test sets. |
(3) | Initiate the multi-lags-one-step (MLOS) arrays for Training, Validation, and Test sets. |
(4) | Define MLOS range as {1 : 10} to optimize the number of needed lags. |
(5) | loop 1: |
| Split the first set based on MLOS range |
| Initiate and Extract set features with CNN layer |
| Pass the output to a defined LSTM layer |
| Select the first range of the number of hidden neurons |
| Generate prediction results performance indices |
| Count time to execute and produce prediction results |
| Save and compare results with previous ones |
| loop 2: |
| Select next MLOS range |
| If MLOS range = maximum range, then goto loop 3 and initialize MLOS range |
| goto loop 1 |
| loop 3: |
| Select new number of hidden neurons |
| If number of hidden neurons range = maximum range, then goto loop 4 and initialize number of hidden neurons range |
| goto loop 1 |
(6) | loop 4: |
| Select new dataset from the sets {5 min, 30 min, and 1 hr} |
| goto loop 1 |
| If set range = maximum range, then: |
| Generate the performance indices of all tested sets. |
| Select the best results metrics |