  Machine learning (ML) applications continue to revolutionize many domains. In
recent years, there has been considerable research interest in building novel
ML applications for a variety of Internet of Things (IoT) domains, such as
precision agriculture, smart cities, and smart manufacturing. IoT domains are
characterized by continuous streams of data originating from diverse,
geographically distributed sensors, and they often require a real-time or
semi-real-time response. IoT characteristics pose several fundamental
challenges to designing and implementing effective ML applications.
Sensor/network failures that result in data stream interruptions is one such
challenge. Unfortunately, the performance of many ML applications quickly
degrades when faced with data incompleteness. Current techniques to handle data
incompleteness are based upon data imputation ( i.e., they try to fill-in
missing data). Unfortunately, these techniques may fail, especially when
multiple sensors' data streams become concurrently unavailable (due to
simultaneous sensor failures). With the aim of building robust IoT-coupled ML
applications, this paper proposes SECOE, a unique, proactive approach for
alleviating potentially simultaneous sensor failures. The fundamental idea
behind SECOE is to create a carefully chosen ensemble of ML models in which
each model is trained assuming a set of failed sensors (i.e., the training set
omits corresponding values). SECOE includes a novel technique to minimize the
number of models in the ensemble by harnessing the correlations among sensors.
We demonstrate the efficacy of the SECOE approach through a series of
experiments involving three distinct datasets. The experimental findings reveal
that SECOE effectively preserves prediction accuracy in the presence of sensor
failures.
