This algorithm is checking whether the last record is more than 4 standard deviations (σ) from the preceding 1,000 values. 4σ should have an anomaly 1 in every 15,787 readings or once every 4 hours. If we were to change that to 4.5 it would be once every 40 hours.
We import scipy for our Z-score evaluation and numpy for data manipulation. We then add the script to the Raspberry Pi startup so that the script will start automatically whenever there is a power reset. The machine needs to wait for peripherals, such as the Sense HAT initialization. The 60-second delay allows the OS to be aware of the Sense HAT before trying to initialize it. Then we initialize our variables. These variables are the device name, the IP address of the Kafka server, and the Sense HAT. Then we enable the Sense HAT's internal measuring units (IMUs). We disable the compass and enable the gyroscope and accelerometer. Finally, we create two arrays to put the data...