Skip to main content
. 2024 Dec 15;24(24):8006. doi: 10.3390/s24248006
Algorithm 1: Combine KFs and RBFNNs.
Based on the training data set (Tr): {Inputs, Targets} → {Model’s Forecast, Observations}
  for each element in Tr do
Apply the non-linear Kalman filter and obtain x*
  endfor
Create the Input data for the RBF network CorrectedSWHt=SWHt+Btx*
Create the training and validation datasets for the RBF Distinct training and validation datasets for each training. Same for every topology
for each Cluster do
  for each penalty parameter do
    for each Activation function do
      Form the RBF structure.% number of clusters, regularization parameter λ, activation function
      while train ≤ maxtrain % Conduct multiple trainings for each structure
       Determine the centroids from the training dataset using the K-means++ and compute the widths.
       Train network using LLS based on the training data set.
       performance → Network’s performance % SSE based on the validation data set
         if performance < Initial Value
          Set Initial Value equal to performance
          The best results for every combination are stored in a cell array. Number of clusters, performance, penalty parameter, activation function, train time, best centers, widths, and external weights.
         endif
       train → train+1
      endwhile
      train → 1
    endfor
   endfor
   readjust Initial Value
Endfor
Define the optimal RBF network structure
  if several indices in the Total SSE vector display similar results. % Their absolute difference remains smaller than a specified threshold
  position → the index with minimum train time
  else
  position → the minimum SSE index
  end
Best RBFNN structure → best results{position}.