Posted on: February 17, 2021
Written by Harry G. Perros, Author of An Introduction to IoT Analytics.
‘What is IoT?’
Firstly, begin by explaining to the students that IoT, Internet of Things, is a paradigm shift that is slowly becoming part of our daily lives. There are numerous IoT applications in all aspects of our lives, such as, applications for smart cities, structural health, traffic congestion, smart environment, smart water, smart metering, assisted living, healthcare, security and emergency, smart retail, smart agriculture, and smart animal farming. I like to describe it to my non-technical friends as: “whatever has nothing to do with the Internet, will be eventually connected to the Internet!”. In fact, connectivity to the Internet is only a small part of IoT. An IoT application is a closed-loop system that consists of sensors, a server, a network connecting the sensors to the server, and a database that stores the information. The reason this information is collected is because we want to process the data to make decisions which are then fed back into the system. The feedback mechanism varies significantly depending on the IoT application. For instance, the feedback may be sent to actuators that take a specific action; a good example of this is a self-driving car. It may also involve humans, such as, an IoT system may monitor the soil in a farm to advise the farmer what parts of the farm need watering, fertilization, etc.
‘What is IoT Analytics?’
Then delve into the analytics. Analytics is a term that became popular with the advent of data mining, and it refers to the analysis of data to make decisions. The mathematical tools used in analytics come from the areas of Machine Learning and Statistics. There is a plethora of analytics tools, including the well-known artificial neural networks and deep learning. These tools are used to process the data collected from the sensors to make decisions which are then fed back into the system.
Photo by Lukas Blazek from Unsplash
In addition to the above analytics tools, there is another dimension to IoT which has to do with how well an IoT system functions. How quickly do the actuators get the necessary information so that the system responds to monitoring data transmitted by the sensors? How many sensors do we need for the efficient operation of an IoT application? Such questions related to how well an IoT system performs need to be addressed as well. Typically, issues related to the performance of a system can be handled using Performance Evaluation and Modelling techniques. This is a scientific discipline that focuses on studying the performance of a system, such as, a cloud of computers, the Internet, and an IoT system. It is a discipline that dates back to the early 70s, and the techniques used are part of the Operations Research tool set. There is a plethora of performance evaluation techniques related to optimization and stochastic processes.
‘Great! Now how do I get started?’
Prerequisites: Some basic knowledge of statistics and probability theory, good working knowledge of a programming language, and knowledge of a Statistics/Machine Learning software, such as, Python, R, MATLAB, and SAS are needed. If your students are not familiar with such software, they can learn it on the fly as they do their projects. There are a lot of instructions and examples online to get them started!
Approaching Projects: In my book, An Introduction to IoT Analytics, the end of each chapter presents a technique or a group of related techniques. These are involved projects, so that the students will have the opportunity to apply what they have learnt in the chapter. You can use real-life data from various sites for the projects, but I have found that the data does not always have enough structure to help the students understand a technique. In view of this, for each project, I have provided an algorithm to generate a data set artificially. You can modify this algorithm to vary the relation between the variables of the data set. It is important that with all projects the students undertake, that they should attempt to interpret the data rather than force an interpretation of the data to meet some preconceived idea! Students need to understand that data analysis is not a precise science and therefore they should use many different models to analyze a data set to develop a good feel of its structure.
Theory and practice: Finally, I believe that applying analytic algorithms in practice, without understanding the theory behind the algorithms, is not enough to make a student a good data analyst. Many times, a student will show me a nice colorful graph obtained by applying an algorithm. However, when I ask what the graphs says about the data or how the meta parameters of the algorithm tuned, I get a blank look followed by the answer: “Emmm…I don’t know”. It’s easy to apply such algorithms as all one does is search the Internet and find the right code. This is a good first step... but it’s not enough. One can learn how to play the guitar without knowing music theory, but this does not apply to data analysis! Theory can be boring, and sometimes the algorithms can be difficult to follow. Relay to students that it’s okay to skip a few lines of math, but one should have a minimum understanding of how an algorithm works and how its meta parameters can be tuned.