Ergodicity is one of the most important concepts in statistics. More importantly, it has a lot of real world applications. In this case, it’s applicable to the staggering number of internet connected devices in the world of Internet of Things (IoT). Most of the experiments conducted by research labs, businesses, and marketing agencies often rely on statistics to compile the results. This can be about a set of customers, voters, viewers, or any other segment. Ever wondered why the results are often inaccurate? One of the main reasons is the underlying assumption about ergodicity. What exactly is it?
What is ergodicity?
Ergodicity is a property of a system that behaves the same way when averaged over time as it does when average over its phase space. Super clear, right? Not really! The actual concept gets lost in mathematical formulations. That’s why those results are inaccurate. Let’s go ahead and talk about it like normal people.
Consider the example of movies. We want to know what kind of movies are being watched by movie-goers in the US. This will allow movie makers to understand the viewers’ taste and preferences. One way to find out is to take a snapshot in time of all the movie theaters in US. Another way to do it would be to pick a movie-goer, say Karen, and see what type of movies she watches throughout the whole year.
This way, we get two results. In the first method, we got the output over the entire ensemble of movie-goers at a certain point of time. The second method gave the output for a single person over a period of time. What are the pros and cons? Well, in the first one, we only got an isolated snapshot that doesn’t tell me how the behavior changes over that period of time. In the second one, we only got an idea about a single person that’s not exactly representative of all the movie-goers.
Now this group, also called ensemble, would be called ergodic if the above two types of methods give the same result. This is actually a very important concept. As you can image, the movie-goers ensemble is certainly not ergodic.
How is it relevant in IoT?
IoT is the ecosystem of internet connected devices. So it’s an ensemble in that way. Let’s construct an example similar to the one in the previous section, but we will use devices instead of humans this time. If you look at a production plant, you will see that there are a lot of assets that working together. These assets can be pumps, filters, conveyor belts, robotic arms, and so on. Ergodicity becomes relevant when you want to characterize the behavior of the system for monitoring.
In order to understand the behavior of each type of asset, we need to understand the behavior of all the assets of a particular type at any given time as well as the behavior of each asset over its lifetime. This goes a long way when you build simulators to understand how your system will behave in the future. Once you understand this behavior, you can drive up the operational efficiency.
We can extend this framework to include all types of devices in IoT. These devices emit timestamped data, which allows us to build time-series models. We can then use this to understand the behavior of the devices using statistics. But before doing that, we need to understand whether the given system is ergodic or not. How do we do that?
How do we know if a system is ergodic?
For a system to be ergodic, every sizable subset should be representative of the whole population in terms of statistical parameters. This is a bit simplistic and reductive, but you get the idea. In the case of ensembles, it boils down to the rules of data generation. We can only see the outcome, but we don’t know what’s happening inside. In the case of movie-goers, we can only know what movies they watched. We don’t know why they made those decisions. Our goal is to find out the underlying patterns using observable data. So ergodicity is as assumption about the simplicity of the rules governing the data generation.
Non-ergodic systems don’t allow us to use ensemble statistics to get the results. We cannot infer anything about that particular entity. So ergodicity is used as a way to simplify a given problem. If a system is ergodic, it lends itself nicely for analysis. In the real world, we do some simple tests. If it’s close enough, we call the system ergodic and continue with the analysis. For example, sometimes it might be very difficult to find out exact values or simulate the process. So we assume the system is ergodic and do the thing that’s easier to compute. This is frequently used in various types of simulators.