| Algorithm 2: PSO-ANN-DS algorithm. |
| Input: Four single eigenvalues, and fault data with high levels of uncertainty. |
| Output: Decision-level fusion result Fus(m). |
| 01: /* Step 1 */ 02: Train_data = {STD, Peak, RMSEE, Skewness} /* Four single eigenvalues */ 03: for i = 1 to 4 do 04: = PSO-ANN_algorithm(Input = Train_data [i]) 05: PRE[i] = (test_data = fault data with high 06: uncertainty). prediction_accuracy 07: end for 08: /* Step 2 */ 09: for i = 1 to 4 do 10: CRD[i] = PRE[i] / sum(PRE) 11: end for 12: /* Step 3 */ 13: for i = 1 to 4 do 14: MUN[i] = Calculate the value with Equation (8) and (9) 15: end for 16: /* Step 4 */ 17: for i = 1 to 4 do 18: MCRD[i] = CRD[i] * MUN[i] 19: end for 20: /* Step 5 */ 21: for i = 1 to 4 do 22: NMCRD[i] = MCRD[i] / sum(MCRD) 23: end for 24: /* Step 6 */ 25: for j = 1 to J do /* J is the number of fault types */ 26: WAE[j] = 0 27: for i = 1 to 4 do 28: WAE[j] = WAE[j] + NMCRD[i] * .prediction_result(fault_type = j) 29: end for 30: end for 31: /* Step 7 */ 32: Fus(m) = WAE 33: for i = 1 to 3 do /* There are 4 single features, which need to be merged 3 times. */ 34: Fus(m) = Fus(m) WAE /* refers to the DS fusion rule */ 35: end for |