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