Research Article

Multidimensional Meteorological Variables for Wind Speed Forecasting in Qinghai Region of China: A Novel Approach

Algorithm 1

RF-GSFS-WOA algorithm.
(i)INPUTS: , the wind speed dataset.
(ii)PARAMETERS:
 Nstd: noise standard deviation in CEEMDAN
 NR: number of realizations in CEEMDAN
 MaxIter: maximum number of sifting iterations that are allowed in CEEMDAN
  q: variable that is selected in GSFS
  MaxIterRF: maximum number of iterations in random forest
  NTress: number of trees in random forest
  N: number of whales in WOA
  MaxIterWOA: maximum number of iterations in WOA
(iii)OUTPUTS : the forecasting error
(1)The original dataset is divided into training dataset and test dataset .
(2)Decomposition using CEEMDAN, which results in I IMFs: .
(3)Establish a quadratic model of and , which results in and
(4)INITIALIZATION: set , .
(5) IF DO
(6)  Calculate the pseudoresponse
(7)  Perform regression on the data with a pseudoresponse and select the most strongly correlated variable
(8)  Update the response and .
(9) END IF
(10) FOR to DO
(11)  Orthogonalize via the Gram–Schmidt method.
(12)  Perform regression on the data with a pseudoresponse and select the most strongly correlated variable
(13)  Update the response and .
(14) END FOR
(15)Build the solution path and use HDIC to select the optimal solution, including q important variables.
(16)Grow a random forest with NTress = 3000 trees using the selected variables with MaxIterRF iterations.
(17)Initialize the whale population for weight matrix in which the columns are weights for established RF models.
(18)Calculate the fitness function using and RF models
(19)Let be the current best weights
(20)WHILE DO
(21) FOR each weight DO
(22)  Update and
(23)  IF THEN
(24)  IF THEN
(25)  Update the positions of the current weight via (12) and (13)
(26)  ELSE IF THEN
(27)  Randomly select a search agent
(28)  Update the position of the current search agent via (17)
(29)  END IF
(30) ELSE IF THEN
(31)Update the position of the current weight via (16)
(32) END FOR
(33)Check if any search agent goes beyond the search space
(34)Calculate the fitness function of each weight
(35)Update if there is a better solution
(36)
(37)END WHILE
(38)Obtain the optimal weights
(39)Calculate the forecasting error using the optimal weights and the RF model that is generated by and .