Detecting false data injection attacks using outlier detection

1) Input: Training data from state estimator

Z = [ z ( 1 ) , z ( 2 ) , , z ( 1000 ) ] T ,

(Total number of the samples is set as 1000)

2) Preprocess the data set Principal Component Analysis:

dimensional feature reduction of Z from 41 to 2;

2) Parameters set for the outlier detectors:

size of samples n = 200, contamination rate = 0.1 and 0.2;

3) Fit the training data in the outlier detection estimators

Estimator.fit(Z_train)

4) Sort out the outliers with the predict function of the algorithm:

Estimator .predict ( Z_test )

5) Return: Predicted labels { 1 , z ( p ) isnormal 1 , z ( p ) isabnormal ,

z ( p ) is some data point in the measurement data set