Internet-of-Things (IoT) devices generate a vast amount of sensing data. The reliability of this data is a vital issue to ensure IoT service quality. However, IoT data usually suffers from missing and incomplete values due to various reasons, such as noise, collision, unstable network communication, equipment failure, and manual system closure. Transferring all IoT data to the cloud level to solve missing data problem may negatively affect network performance and service quality due to excessive latency, bandwidth limitation, and high communication costs. Therefore, missing data problem should be taken care of as early as possible by offloading tasks, such as data prediction or estimation closer to the edge devices in the network. In this article, we propose a missing data prediction protocol called DeepMDP for IoT systems with unreliable data sources, which can reduce the amount of data transmission and delay in the network significantly. The proposed protocol can work on resource-constrained IoT devices as well as fog and cloud servers. Besides, to evaluate the proposed protocol, we design a real-world testbed architecture called DeepArch consisting of edge, fog, and cloud layers. Under several application scenarios, we evaluate the efficiency of DeepMDP on the DeepArch platform. The experimental results show that the proposed protocol can significantly reduce the amount of data transmission and delay while accurately predicting missing data.