# Solution Overview

We intend to do following here:

- Find anomaly for battery_voltage for any event. This we wish to do by projecting the
`battery_voltage`

based on number of past data (train a model for this), then finding the difference with the actual data. Then we wish to compute the running average of the this difference and when the difference is more than 10% in last 5 min then it's an anomaly. As you see, it's not just a simple computation but rather quite comprehensive. - Train a model to predict the speed of the vehicle, note this is different from projection as done in previous case. Then follow the same steps as in (a) above to compute anomaly. In this case the model is trained using following attributes :
- Find a pattern using CEP (complex event processing). The pattern is following:
- Compute running statistics for several attributes, like coolant_temp, battery_voltage, cuurent_draw, speed, emgine_vibration_amplitude etc.

Speed of a car is more than 35 unit and is increasing continuously. And if we observe this for 3 consicutive times in last 1000 sec, then this is a pattern for us and we should keep finding this pattern continuously for all carsAll of these anomalies should be pushed to different streams for notifications or further analysis or action need to be taken as required.