|
13 | 13 |
|
14 | 14 | ## Start application
|
15 | 15 |
|
16 |
| -- Open the Anomaly Detection App on or IED |
| 16 | +- Open the Anomaly Detection App on your IED |
17 | 17 |
|
18 |
| -<p align="center"><kbd><img src="graphics/01AD_HomeScreen.PNG" /></kbd></p> |
| 18 | +<p align="left"><kbd><img src="graphics/01AD_HomeScreen.PNG" /></kbd></p> |
19 | 19 |
|
20 | 20 | ### Create new model
|
21 | 21 |
|
22 |
| -- To create a new model, go to the 'Model generation' section add a new model and give a specific name. |
| 22 | +- To create a new model, go to the 'Model generation' section add a new model. |
23 | 23 |
|
24 |
| -<p align="center"><kbd><img src="graphics/02NewModel.PNG" /></kbd></p> |
| 24 | +<p align="left"><kbd><img src="graphics/02NewModel.PNG" /></kbd></p> |
25 | 25 |
|
26 | 26 | ### Select data
|
27 | 27 |
|
28 |
| -- Select relevant input data for the Anomaly Detection’s AI |
29 |
| -- Click on the 'Add variable' button and unhide the Asset structure on the left side. |
30 |
| -- Then select all variables you want to use for model creation (in case you are using the Screw Simulation select all six tags) |
31 |
| -- Next step is to define a sample rate for your input data |
| 28 | +- Select relevant input data for the creaton of the Anomaly Detection algorithm. |
| 29 | +- Click on the 'Add variable' button. |
| 30 | +- Then select all variables you want to use for model creation (in case you are using the Screw Simulation select all six tags - Fx,Fy,Fz,Tx,Ty,Tz) |
32 | 31 |
|
33 |
| -<p align="center"><kbd><img src="graphics/03SelectVariables.PNG" /></kbd></p> |
| 32 | +<p align="left"><kbd><img src="graphics/03SelectVariables.PNG" /></kbd></p> |
34 | 33 |
|
35 | 34 | - After you have selected the variables click on the 'Edit' icon in the 'Time range for model generation' section
|
36 | 35 | - On the top of the window you can enter a time range for displaying the data
|
37 | 36 | - The time range for the model creation will then be defined in the section at the bottom of the window (red marked)
|
38 |
| -- This time range is then marked with the blue section in the data window |
39 |
| - |
40 |
| -<p align="center"><kbd><img src="graphics/04SetTimeRange.PNG" /></kbd></p> |
| 37 | +- This time range is used for the model creation to learn the realations of the input variables and therefor should not contain anomalies |
| 38 | + |
| 39 | +<p align="left"><kbd><img src="graphics/04SetTimeRange.PNG" /></kbd></p> |
41 | 40 |
|
42 | 41 | ### Transform and normalize data
|
43 | 42 | - Before we feed the force values of your screwing simulation into the network we want to perform a data transformation
|
44 |
| -- The Forces Fx and Fy in x and y direction are representing the horizontal force values, in this case we are not interested weather the force is peformed in negativ or positiv direction so we need the absolute value |
45 |
| -- Therefore click on the 'Data Transformation' section |
46 |
| -- By clicking on the connection between to nodes 'Fx' and 'Normalization' additional transformation nodes can be added, in this case select “abs” |
47 |
| -- Redo this step for the connection between the node 'Fy' and 'Normalization' |
| 43 | +- The Forces Fx and Fy are representing the horizontal force values in x and y direction, however we are only interested in the resulting horizontal force and therefor have to to a littel vector addition |
| 44 | +- To do this click on the 'Data Transformation' section |
| 45 | +- By clicking on the connection between the nodes 'Fx' and 'Normalization' additional transformation nodes can be added. |
| 46 | + |
| 47 | +<p align="left"><kbd><img src="graphics/05DataTransformation.PNG" /></kbd></p> |
48 | 48 |
|
49 |
| -<p align="center"><kbd><img src="graphics/05DataTransformation.PNG" /></kbd></p> |
| 49 | +- Add the same transorfmation nodes to your flow chart as you see it in the picture below. |
50 | 50 |
|
| 51 | +<p align="left"><kbd><img src="graphics/18VariableFlow.PNG" /></kbd></p> |
51 | 52 |
|
| 53 | +- At the and you can also change the name and the color of the output variables. |
52 | 54 |
|
53 |
| -<p align="center"><kbd><img src="graphics/06SelectNormalizationBlocks.PNG" /></kbd></p> |
| 55 | +<p align="left"><kbd><img src="graphics/15ChangeColor.PNG" /></kbd></p> |
54 | 56 |
|
55 | 57 | - Before we feed the transformed data into our model creation the values should be normalized.
|
56 | 58 | - Select all normalization blocks by clicking on 'Normalization' (red marked)
|
57 | 59 | - By clicking on 'Derive from time series data...' (green marked) the scaling and translation factor for each signal is automatically calculated
|
| 60 | +- |
| 61 | +<p align="left"><kbd><img src="graphics/06SelectNormalizationBlocks.PNG" /></kbd></p> |
58 | 62 |
|
59 |
| -<p align="center"><kbd><img src="graphics/07CalculatedNormalization.PNG" /></kbd></p> |
| 63 | +<p align="left"><kbd><img src="graphics/07CalculatedNormalization.PNG" /></kbd></p> |
60 | 64 |
|
61 | 65 | - Now apply the values
|
62 | 66 |
|
63 | 67 | ### Define algorithm and perform model creation
|
64 | 68 |
|
65 | 69 | - Change to the 'Algorithm' section
|
66 |
| -- Select Full Relationship Analysis (if you use an IPC127 or IPC 227 this algorithm is already selected and cannot be changed) |
67 |
| -- Set the Epochs to 20, which means that the defined time range we previously defined is used 20 times in order to come up with a better model for each epoch. The so called training losses can then be observed for each epoch |
68 |
| -- We will also use a smoothing algorithm: Define a 0.2 Exponential smoothing of the calculated deviation curve which represents the anomaly score |
69 |
| -- Because we will select the threshold for detected anomalies after the model creation we select here the 'Only manually' method |
| 70 | +- Select Full Relationship Analysis (if you use an IPC 127 or IPC 227 this algorithm is already selected and cannot be changed) |
| 71 | +- Set the batch size down to 4, which means that during the model training 4 time frames are sent trougth the network simultaniously. |
| 72 | +- Set the Epochs to 8, which means that the defined time range we previously defined is used 8 times in order to come up with a better model for each epoch. The so called training losses can then be observed for each epoch. |
70 | 73 |
|
71 |
| -<p align="center"><kbd><img src="graphics/08AlgorithmSetting.PNG" /></kbd></p> |
| 74 | +<p align="left"><kbd><img src="graphics/08AlgorithmSetting.PNG" /></kbd></p> |
72 | 75 |
|
73 | 76 | - Now you can switch to the 'Model calculation' section and start the model creation.
|
74 | 77 |
|
75 | 78 | <p align="center"><kbd><img src="graphics/09ClacProcess.PNG" /></kbd></p>
|
76 | 79 |
|
77 |
| -- The model creation may take a while (in this example about 10 - 20 minutes depending on the selected time range and epochs) so feel free to grab a coffee ;-) |
| 80 | +- The model creation may take a while (depending on the selected time range and epochs) so feel free to grab a coffee in the meanwhile ;-) |
78 | 81 |
|
79 | 82 | ### Set threshold and deploy model for Live Anomaly Detection
|
80 | 83 |
|
81 | 84 | - The model creation is now completed
|
82 | 85 | - The lower your training loss is at the last epoch the better your training performed as you can see in the chart in top right corner
|
83 |
| - |
| 86 | +- In main window you can see the calculated devations for each tag. A high deviation means that the difference between predicted value und actual value is high. |
| 87 | + |
84 | 88 | <p align="center"><kbd><img src="graphics/10TrainResults.PNG" /></kbd></p>
|
85 | 89 |
|
86 |
| -- To only get the calculated deviation displayed you can hide the feature signal in the 'Features' section (red marked) by clicking on the 'eye' icons |
| 90 | +- As the anomaly detection is an unsupervised learning we have to determin at which threshold an anomaly should be marked. |
| 91 | +- To only get the average calculated deviation displayed you can hide the feature signals in the 'Features' section by clicking on the 'eye' icons |
87 | 92 |
|
88 |
| -<p align="center"><kbd><img src="graphics/11DeviationDetails.PNG" /></kbd></p> |
| 93 | +<p align="center"><kbd><img src="graphics/16HideFeatures.PNG" /></kbd></p> |
| 94 | + |
| 95 | +- To filter out outliers and smoothen the deviation function and Moving average with Windowsize 3 should be defined |
89 | 96 |
|
90 |
| -- Now you set the threshold for the calculated anomaly score in that way that it is between 'normal' screwing process and the screwing processes where some abnormal behavior occurred |
| 97 | +- Now you set the threshold for the calculated anomaly score in that way that it is between 'normal' screwing process and the screwing processes where some abnormal behavior occurred |
| 98 | + |
| 99 | +<p align="center"><kbd><img src="graphics/11DeviationDetails.PNG" /></kbd></p> |
91 | 100 |
|
92 | 101 | - When the threshold is set, you can finally go to the 'Deploy' section and deploy your just created model in order to execute the Live Anomaly Detection on your live data
|
| 102 | +- Here you can also define if the data for the live anomaly detection is taken driectly from the Databus or the IIH Essentials database. |
93 | 103 |
|
94 | 104 | <p align="center"><kbd><img src="graphics/12DeployModel.PNG" /></kbd></p>
|
95 | 105 |
|
|
105 | 115 | <p align="center"><kbd><img src="graphics/14AnomalyView.PNG" /></kbd></p>
|
106 | 116 |
|
107 | 117 | - Every time the calculated deviation exceeds the threshold an anomaly is indicated
|
108 |
| -- The main contributors for a specific anomaly can be indicated by clicking on the anomaly marker (red marked) |
| 118 | +- The main contributors for a specific anomaly can be indicated by clicking on the anomaly marker. |
0 commit comments