Table 3 Algorithm for Real-time anomaly detection.
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)\) |