Table 3 Algorithm for Real-time anomaly detection.

From: Anomaly detection with grid sentinel framework for electric vehicle charging stations in a smart grid environment

Real-Time Anomaly Detection with Grid Sentinel Framework

\(\:\mathbf{S}\mathbf{t}\mathbf{e}\mathbf{p}\:1:\:\mathbf{I}\mathbf{n}\mathbf{i}\mathbf{t}\mathbf{i}\mathbf{a}\mathbf{l}\mathbf{i}\mathbf{z}\mathbf{e}\:\mathbf{d}\mathbf{a}\mathbf{t}\mathbf{a}\:\mathbf{s}\mathbf{t}\mathbf{r}\mathbf{e}\mathbf{a}\mathbf{m}\mathbf{s}\:\mathbf{f}\mathbf{r}\mathbf{o}\mathbf{m}\:\mathbf{E}\mathbf{V}\:\mathbf{c}\mathbf{h}\mathbf{a}\mathbf{r}\mathbf{g}\mathbf{i}\mathbf{n}\mathbf{g}\:\mathbf{s}\mathbf{t}\mathbf{a}\mathbf{t}\mathbf{i}\mathbf{o}\mathbf{n}\mathbf{s}\)

\(\:dataStream\:=\:initializeDataStream\left(\right);\)

\(\:\mathbf{S}\mathbf{t}\mathbf{e}\mathbf{p}\:2:\:\mathbf{S}\mathbf{e}\mathbf{t}\:\mathbf{u}\mathbf{p}\:\mathbf{d}\mathbf{e}\mathbf{t}\mathbf{e}\mathbf{c}\mathbf{t}\mathbf{i}\mathbf{o}\mathbf{n}\:\mathbf{a}\mathbf{l}\mathbf{g}\mathbf{o}\mathbf{r}\mathbf{i}\mathbf{t}\mathbf{h}\mathbf{m}\mathbf{s}\)

\(\:Machine\:Learning\:Classifiers\)

\(\:function\:checkMachineLearning\left(data\right):\)

\(\:\:\:\:\:model\:=\:trainSVM\left(data\right)\:\://\:or\:trainDecisionTree\left(data\right)\)

\(\:\:\:\:\:predictions\:=\:model.predict\left(data\right)\)

\(\:\:\:\:\:if\:detectAnomalies\left(predictions\right):\)

\(\:\:\:\:\:\:\:\:\:return\:anomalyDetected\)

\(\:\:\:\:\:return\:noAnomaly\)

\(\:\mathbf{S}\mathbf{t}\mathbf{e}\mathbf{p}\:3:\:\mathbf{M}\mathbf{a}\mathbf{i}\mathbf{n}\:\mathbf{d}\mathbf{e}\mathbf{t}\mathbf{e}\mathbf{c}\mathbf{t}\mathbf{i}\mathbf{o}\mathbf{n}\:\mathbf{l}\mathbf{o}\mathbf{o}\mathbf{p}\)

\(\:while\:dataStream\:is\:active:\)

\(\:\:\:\:\:newData\:=\:dataStream.read\left(\right)\)

\(\:\:\:\:\:if\:checkHybridApproach\left(newData\right)\:==\:anomalyDetected:\)

\(\:\:\:\:\:\:\:\:\:triggerAlert\left(newData\right)\)

\(\:\:\:\:\:\:\:\:\:executeMitigation\left(newData\right)\)

\(\:\:\:\:\:else:\)

\(\:\:\:\:\:\:\:\:\:continueMonitoring\left(newData\right)\)