2013 American Control Conference (ACC) Washington, DC, USA, June 17-19, 2013
A model-based control method for decentralized calibration of wireless sensor networks ´ Buadhach´ain and Gregory Provan S´eamus O Abstract— We introduce a control algorithm for automated calibration of sensor networks and fault compensation that reduces overall system error. Our approach uses a novel combination of models (for the spatial phenomena and sensor faults) and data-driven methods, and it works under novel conditions of dynamic sensor noise and bias in which the phenomenon of interest is both time- and space-variant. Our algorithm combines noise compensation using the EM (expectation-maximization) algorithm and a gossip-based protocol for sharing calibration information. We demonstrate its effectiveness in simulations that model real-world sensor fault scenarios.
I. I NTRODUCTION Wireless sensor networks (henceforth, WSNs) are an active area of research for measurement and control applications in domains such as industry, environmental monitoring, and defence. WSNs have several attractive properties; for example, they can be deployed in dense concentrations, and left in place for long periods of time, without the need for wiring or maintenance. However, sensors are susceptible to noise and other errors, and calibration is a major challenge in WSN development [1]. Devices may not be accurately calibrated during production, and their components may degrade over time, introducing further errors after deployment. Traditional solutions to this problem either involve the periodic manual recalibration of devices using a calibration interface, or rely on the factory calibration of high-quality components that are expected to remain calibrated for a long time. As WSNs increase in scale to hundreds or thousands of nodes, however, it becomes impractical to calibrate devices individually. In the dangerous or hostile environments to which WSNs are otherwise well suited (or in such hardto-reach places as the interior of a working engine, for example), access to a sensor’s calibration interface may be difficult or impossible after the network has been deployed. The effort by manufacturers to reduce the size and energy requirements of sensor devices may lead to the removal of calibration interfaces altogether [2]. These are among the motivating forces in the development of methods for automated calibration of sensor networks. The same density of deployment that precludes manual calibration can be exploited to assist in automated calibration. When the phenomena being monitored have known rates of change and spatial variation [3], spatially-correlated nodes can identify and correct for calibration faults by sharing information [4, 5]. ´ Buadhach´ain and G. Provan are with the Cork ComS. O plex Systems Laboratory, University College Cork, Ireland {sdob,
gprovan}@cs.ucc.ie 978-1-4799-0178-4/$31.00 ©2013 AACC
In this paper, we describe an algorithm for the automated decentralized calibration of densely deployed WSNs. Our algorithm reduces the overall system error in simulated networks under a variety of commonly-observed sensor fault conditions. We combine models and data-driven methods to classify sensor error due to random (noise) or systematic (bias) sources [6]. We use the EM (expectationmaximization) algorithm, a well-known algorithm for parameter estimation [7], to recover a sensor node’s value in noise. We present a distributed control methodology, employing a gossip-based algorithm [8], that enables automated, dynamic self-calibration in a sensor network. Specifically, our approach enables spatially-correlated nodes to compute a spatial variable xt while correcting sensor noise δt and bias φt . The control algorithm needs only two input parameters: the frequency of node interactions, and the radius within which nodes will communicate with correlated neighbours. Current approaches to automatic calibration make one or more of a common set of restrictive assumptions: (a) the phenomenon xt under investigation remains constant over time [4], or is spatially uniform [5]; or (b) sensors have constant bias [2, 9, 4]. Our algorithm is novel in that it works under conditions that violate these assumptions. Our approach allows an arbitrary dynamical model for xt that can vary spatially. It mitigates noise and bias where the intensity of the phenomenon varies over time and across the environment. It handles situations in which sensor noise and bias are dynamic, as has been observed to be the case in real-world sensor-network deployments [3]. It compensates for high levels of noise. Finally, a model-based approach can discriminate between recoverable and unrecoverable bias. The rest of this paper is organized as follows. In Section II, we briefly survey the related work in the fields of calibration and fault detection in sensor networks. In Section III, we decribe the formal system model. In Section IV, we outline the assumptions about the target sensor systems and phenomena. In Section V, we describe our control algorithm. In Sections VI and VII, we describe the simulated network on which we have tested our algorithm and evaluate our experimental results. Finally, in Section VIII, we conclude the paper and suggest directions for further work. II. R ELATED WORK Wireless sensor technology is a highly active and dynamic field of research; the surveys in [10, 11, 12] provide good snapshots of the changing state of the art in the last decade, with an emphasis on practical considerations in industrial
6571
settings. Real-world deployments of wireless sensors for environmental monitoring are described in [13, 14, 15]. The impracticality of manual calibration of large-scale sensor networks is discussed in [2]. Automated calibration has been studied in a number of contexts, including localization [2, 16], time synchronization [17], and motion estimation [18]. Dense deployments are exploited to perform calibration in [6]. Methods for automatic calibration which exploit conditions where the mean value of the phenomenon is constant or known are described in [4, 5]. We base our sensor fault simulations on data in [14, 3, 19]. The authors of [14] devised a rule-based system for classifying sensor faults while analysing data from a network deployed to measure the level of arsenic in groundwater. This classification formed the basis for the fault-detection survey in [3], which estimates the prevalence of faults in several real-world data sets. A comprehensive taxonomy of sensor fault types is given in [19]. The EM algorithm was first proven to converge in [7]. A survey of its numerous applications is given in [20]. A good introduction to the general topic of gossip and epidemic models in distributed systems is given in [21]. The use of gossip-based communication to compute aggregate information from values shared among a large network is described in [22, 8]. III. S TATE - SPACE SYSTEM MODEL The state-space representation for the system is given by xt+1
=
f (xt )
yt ut
= =
g(xt , ut ) + φt + δt h(xt , yt , wt ) ,
where: m • xt ∈ R is a space-variant state variable at time t, n • yt ∈ R is the sensor measurement at time t, given additive fault input φt ∈ Rn and sensor noise δt , n • ut ∈ R is the control decision, and • wt is the (state, measurement) history of the system for some number of prior time steps. We describe the control, plant and fault models below. A. Control model Given the system, we aim to measure the value of xt over time using a sensor network with n nodes. We adopt a control methodology that calibrates sensor nodes by modifying their output values given local sensor outputs and the models. Our objective is to use the sensor network to minimize the objective function (derived from [9]) Pn |˜ yi,t − xi,t | (1) J = Pi=1 n |y i=1 i,t − xi,t |
subject to the system model, where y˜i,t is the calibrated measurement of the ith sensor at time t and yi,t is the uncalibrated measurement (where u is null). We treat time as a series of discrete epochs, during each of which each node in the network takes a measurement and, optionally,
Fig. 1.
Baseline experimental temperature
communicates with a neighbour. J is a ratio of the total absolute system error after calibration to the system error before calibration. It is a scale-independent measure; as J approaches 0, the control algorithm is increasingly effective at mitigating error; where J = 1, the algorithm does not add or remove any error during calibration; and values of J > 1 indicate that the algorithm is exacerbating system error. Note that our model allows the system state xt to evolve without being controlled; what we are controlling is the sensor measurement process. B. Plant model Our plant model is based on the common task of temperature monitoring within an indoor environment such as a room in a building or datacentre, where a varying baseline temperature (such as might be caused by solar radiation) and a set of point heat sources exert a combined effect on the environment’s temperature. As a simplification (on which our algorithm does not rely) we assume that all devices are situated on a two-dimensional plane within their environment. In this article, we consider a single state variable, temperature. Further, we assume that the state equation for f (xt ) can be non-linear. As an example of a non-linear function, we model the diurnal temperature variation (due to solar radiation) as a sinusoid (Fig. 1), while we use twodimensional Gaussian functions to model the dispersal from a point source, where the temperature td at a Cartesian point d = (ξd , ψd ), when heated by a single point source s = (ξs , ψs ) at temperature ts , dispersing over space at rate c, is given by −(ξs − ξd )2 − (ψs − ψd )2 . temperature(s, d, c) = ts exp 2c2 We model the combined effect of multiple heat sources on a point additively, so that, where P is a set of point heat sources, the temperature at (ξd , ψd ) is given by X temperature(s, d, c) . (2) td = s∈P
A single-epoch snapshot of the state of one randomlygenerated environment based on this model is shown in Fig. 2, with lighter colours denoting higher temperatures. C. Fault model We model the behaviour of faulty sensors on a subset of the taxonomy in [19]. Specifically, we address the following types of faults:
6572
100
100
80
80
60
60
40
40
20
20
We describe the two steps below and offer a brief discussion of convergence. We have empirically validated the theoretical proof of convergence. A. Mean estimation
0
0 0
20
Fig. 2.
40
60
80
100
Stationary hotspot map
noise faults, where the variance of a node’s measurements suddenly increases; • spike faults, where a node exhibits a greater rate of change than expected between successive measurements; and • calibration faults, where a node reports values that are offset from the ground truth by a constant value. The frequency and magnitude of faults introduced in our simulations are based on data presented in [3]. •
IV. S YSTEM ASSUMPTIONS Our model makes certain assumptions about the design of sensors and the nature of the observed phenomenon. We assume that: • sensors are capable of relative localization in order to discriminate between near and far neighbours; • sensors are capable of persistent limited storage of a history of measurements; • a sensor network forms a connected graph; that is, we do not take network connectivity into account when nodes attempt to communicate, assuming instead that spatial correlation is the only limiting factor; • network topology is static during recalibration (so that communication between neighbours always succeeds), and that messages arrive uncorrupted at their destinations; and • the observed phenomenon changes slowly over time and space with respect to the time elapsed during recalibration and the network density; this ensures that (modulo noise and bias) both temporally-adjacent measurements by an individual node, and simultaneous measurements by spatially-correlated neighbours, produce similar results. V. C ONTROL ALGORITHM Our algorithm (Alg. 1) divides naturally into two steps. In the first step, every node i ∈ S acts independently to compute y˜i,t , compensating for noise. In the second step, we employ a distributed control algorithm to enable the nodes to cooperate to converge on local aggregate means in order to compute a set of calibration factors Φ = {Φi,t |Φi,t ≃ −φi,t ∀ i}. We use the terms mean estimation and distributed calibration, respectively, to refer to these steps.
At time t, each node i measures x at its position, giving yi,t . It applies a calibration factor Φi,t (initially 0 for all nodes) and adds the result to its window wi . We define a window formally as a bounded-cardinality set of (time, measurement) pairs. We apply the EM algorithm to wi in order to recover an estimate for the mean value y˜i,t . We use the implementation of the EM algorithm provided by the Weka machine-learning library [23]. We invoke EM with the data in the node’s window and the parameters c, ν, m. These denote, respectively, the number of distributions into which the EM algorithm attempts to fit the data; the minimum change in likelihood between iterations below which the algorithm is deemed to have eached a local optimum; and the maximum number of times the algorithm may iterate before it returns. We treat the returned data as a set of tuples C = {hµn , σn , πn i | 1 ≤ n ≤ c}, where µn and σn denote the nth distribution’s mean and standard deviation, and πn denotes its proportional contribution to the sample. Having thus clustered a window’s contents into distributions, we compute and return as a measurement a weighted mean of the distributions P n∈C πn µn . y˜i,t ← µC = P n∈C πn B. Distributed calibration
Periodically, nodes communicate with each other in order to compute up-to-date values for Φ. We denote the time difference between calibration attempts by λ. We use a modified implementation of the gossip-based aggregation algorithm [8]. Because x is assumed to be space-variant, we introduce a distance-threshold parameter τ , denoting the maximum distance from itself that a node will look for spatially correlated neighbours. We use distance(i, j) to denote the distance between nodes i and j. When calibration takes place, each node p finds a neighbour q with which it exchanges its estimated mean y˜p . Both nodes update their estimates with the arithmetic mean of the two values. If a node is unable to find a neighbour, it behaves in effect as if it were its own neighbour. C. Convergence Our control algorithm’s two steps are discrete; that is, in Algorithm 1 a node i completes mean estimation on wi (using EM) prior to participating in distributed calibration (using a gossip algorithm). Hence, to demonstrate convergence of the algorithm as a whole, it is sufficient to show that each of the EM and gossip-based algorithms converge independently. Formal proof of the convergence of EM is given in [7], and discussed further in [24, 25]. Briefly, starting from an initial guess, the likelihood of the parameters calculated during each iteration of the algorithm is guaranteed to increase. The
6573
Algorithm 1 Main algorithm Φ ← {i 7→ 0 | i ∈ S} for t = 1 to n do y˜ ← {} for all i ∈ S do {Mean estimation} wi ← yi,t + Φi C ← EM(wi , c, ν, m) y˜i,t ← µC end for if t ≡ 0 (mod λ) then {Distributed calibration} for all p ∈ S do S ′ ← {j | j ∈ S ∧ distance(i, j) ≤ τ } if S ′ 6= ∅ then q ← randomly-chosen member of S ′ y˜ +˜ y y˜p ← y˜q ← p 2 q end if end for Φ ← {} for all i ∈ S do Φi ← y˜i − yi,t end for end if end for
algorithm is considered to have converged, for practical purposes, when the increase in likelihood has fallen below some value ν, chosen at initialization time. Although convergence is guaranteed, under certain conditions, EM can be slow to converge. For this reason, practical implementations such as that used in Weka are also initialized with a maximum number of iterations, after which the algorithm terminates whether or not it has converged. The proof that gossip-based algorithms in a connected network topology such as the one we consider1 reduce is given parenthetically in [8]. Let G be a connected graph, in which each node holds a value y˜v that approximates the true global mean y. Let y˜min be the minimal value held by any node. Either this value is held by all nodes — in which case variance is 0 — or there exists at least one node p connected to a neighbour q such that y˜p < y˜q . During gossip, p and q exchange values; at the end of gossip, both p and q hold a y˜ +˜ y new value y˜p′ = y˜q′ = p 2 q > y˜p . The minimum value is therefore guaranteed to increase (as is the maximum value to decrease), with the result that variance tends to 0. VI. E XPERIMENTAL SETUP Our experiments simulate a 100m × 100m room heated by a background ambient temperature and 20 randomlypositioned point heat sources. As noted in Section III-B, we simulate these sources using Gaussian functions with means drawn randomly from U (20, 50) and standard deviations drawn randomly from U (4, 16).
Our simulation models the changes in the environment’s temperature over the course of a 24-hour period. Our simulated devices measure their environment once every 30 seconds (as in [15]), giving a simulation length of 2880 sampling epochs. The characteristics and behaviour of our simulated sensors are a composite of those in the real-world sensor networks in [14, 15], the simulations in [9], and the fault models in [3, 19]. We assume technical specifications broadly in line with the Shockfish TinyNode2 devices used in [15]. We use a window size for noise correction of |w| = 50, well within the capacity of the TinyNode’s 512KB flash memory (and less, for example, than the window size of 100 used in fault detection in [3]). We assume that correctly-operating nodes are subject to Gaussian noise with δ ∈ N (0, 3), following [9]. We assume that nodes are not factory-calibrated, and are therefore subject to some calibration offset even when functioning normally. Offsets in uncalibrated nodes are drawn uniformly from [−5.625, 5.625], based on a maximum calibration error of ±25% of the mean background temperature of 22.5◦ C, by analogy with the calibration error conditions in [9]. It is common to deploy sensor networks in indoor environments in grids or other regular arrangements. We are specifically interested, however, in the ability of our algorithm to handle variations in the size of spatially-correlated neighbourhoods of nodes. For this reason, we place nodes at random coordinates. Each node is guaranteed to occupy a unique pair of coordinates within the environment; otherwise, nodes’ coordinates are uniformly distributed. To assess the impact of algorithm parameters on performance, we initially test our algorithm under baseline faultfree conditions where sensors are subject only to normal noise and calibration offset. We test for the impact on performance of varying node densities, and varying gossip parameters λ and τ . We then measure performance under examples of each of the three fault scenarios outlined in Section III-C. In the high-noise scenario, we introduce a set of faults after 120 epochs. Following [3], we introduce noise faults, lasting between 60 and 720 epochs, to 9% of nodes. We model the magnitude of faults on [14], where it was observed that devices with low batteries were subject to sensor noise three times that of devices with new batteries; we use Gaussian noise with a distribution of δ ∈ N (0, 9) for faulty nodes. In the spike-fault scenario, again at the 120th epoch, we begin to add faults based on the SHORT errors modelled in [3], replacing a faulty node’s reported value yi with yˆi = f × yi , where f ∈ {1.5, 2, 5, 10}. Following [3], nodes produce faulty readings with probability p = 1.3 × 10−3 . In the calibration-error scenario, we model a serious loss of calibration in the system, applying calibration errors of +20 to 40% of the sensors, starting at the 120th epoch. In the absence of precise available data on the magnitude and duration of calibration faults, we have devised this
1 Refinements to gossip-based algorithms to cope with variable network dynamics, described in [8], are beyond the scope of this paper.
6574
2 http://www.tinynode.com
Fig. 3.
Fig. 4. τ =2
Algorithm performance for varying λ, for 1000 nodes, τ = 2
Fig. 5.
Algorithm performance for varying τ , for 1000 nodes, λ = 16
Algorithm performance for varying node density, for λ = 16, Fig. 6. Algorithm performance in high-noise fault scenario, for 1000 nodes, λ = 16, τ = 2
scenario with the intention of demonstrating our algorithm’s behaviour under extreme conditions. VII. E VALUATION Figs. 3, 4, and 5 show the comparative performance of our algorithm in the baseline fault-free scenario for varying values of λ, network density, and τ , respectively. As Fig. 3 demonstrates, the actual frequency of gossip does not affect the algorithm’s performance strongly, although some gossip is substantially better than none. Dense networks respond better to our algorithm than do sparse networks, as Fig. 4 shows. In particular, dense networks are less susceptible to random fluctuations. The distance threshold τ has a dramatic effect on the performance of the algorithm (Fig. 5). Particularly high thresholds (τ ≥ 4, in this case) cause the algorithm to increase overall system error, deriving calibration factors from spatially uncorrelated nodes. Particularly low thresholds also demonstrate slightly degraded performance, most likely because an excessive number of nodes are left isolated by the low threshold. Figs. 6, 7 and 8 show the algorithm’s performance in the error scenarios described in Section VI. Our algorithm reduces overall system error in all three scenarios. Fig. 8 shows how performance slightly degrades several hundred epochs after faults are introduced; we intend to explore this outcome in further work.
scenarios that closely model observed sensor fault conditions in real-world deployments. While the model-based approach we have adopted allows us to diagnose unrecoverable bias (that is, faults), this paper concentrates on our control method’s error-mitigation and convergent properties. An application of our method to fault diagnosis is described in [26]. On-line learning of good parameters for λ and τ could facilitate self-tuning in our method. For example, diagnosis of a fault could trigger additional unscheduled calibration. By our assumptions, networks could be either wired or wireless. Future work will address the robustness of our approach in the face of typical sensor network characteristics (packet loss, delay, node mobility, etc.). Finally, in some sensor networks, calibration data may be available for a subset of the nodes in a network. In such circumstances, it might be beneficial to attach confidence weights to data shared between nodes, enabling stronglyweighted ground-truth data to spread epidemically through the network.
VIII. C ONCLUSION We have presented an automated control algorithm that mitigates the effects of sensor noise and calibration error in dense sensor networks, using only the exchange of data within the network and without ground-truth data. We have demonstrated the algorithm’s effectiveness in a suite of error
Fig. 7. Algorithm performance in spike fault scenario, for 1000 nodes, λ = 16, τ = 2 6575
[14]
[15] Fig. 8. Algorithm performance in calibration fault scenario, for 1000 nodes, λ = 16, τ = 2
[16]
R EFERENCES [1] P. Buonadonna, D. Gay, J. M. Hellerstein, W. Hong, and S. Madden, “TASK: sensor network in a box,” in Proc. 2nd European Workshop on Wireless Sensor Networks, Feb. 2005, pp. 133–144. [2] K. Whitehouse and D. Culler, “Calibration as parameter estimation in sensor networks,” in Proc. 1st ACM Int. Workshop on Wireless Sensor Networks and Applications, 2002, pp. 59–67. [3] A. B. Sharma, L. Golubchik, and R. Govindan, “Sensor faults: detection methods and prevalence in real-world datasets,” ACM Trans. on Sensor Networks, vol. 6, no. 3, pp. 23:1–23:39, June 2010. [4] L. Balzano and R. Nowak, “Blind calibration of sensor networks,” in Proc. 6th Int. Conf. on Information Processing in Sensor Networks, 2007, pp. 79–88. [5] N. Ramakrishnan, E. Ertin, and R. L. Moses, “Gossipbased algorithm for joint signature estimation and node calibration in sensor networks,” IEEE J. Sel. Topics Signal Process., vol. 5, no. 4, pp. 665–673, Aug. 2011. [6] V. Bychkovskiy, S. Megerian, D. Estrin, and M. Potkonjak, “A collaborative approach to in-place sensor calibration,” in Proc. 2nd Int. Conf. on Inform. Process. in Sensor Networks, 2003, pp. 301–316. [7] A. P. Dempster, N. M. Laird, and D. B. Rubin, “Maximum likelihood from incomplete data via the EM algorithm,” J. Roy. Stat. Soc., Ser. B, vol. 39, no. 1, pp. 1–38, Jan. 1977. [8] M. Jelasity, A. Montresor, and O. Babaoglu, “Gossipbased aggregation in large dynamic networks,” ACM Trans. Comput. Syst., vol. 23, no. 3, pp. 219–252, 2005. [9] J. Feng, S. Megerian, and M. Potkonjak, “Model-based calibration for sensor networks,” in Proc. 2nd IEEE Int. Conf. on Sensors, vol. 2, Oct. 2003, pp. 737–742. [10] I. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, “A survey on sensor networks,” IEEE Commun. Mag., vol. 40, no. 8, pp. 102–114, 2002. [11] A. Willig, K. Matheus, and A. Wolisz, “Wireless technology in industrial networks,” Proc. IEEE, vol. 93, no. 6, pp. 1130–1151, June 2005. [12] A. Willig, “Recent and emerging topics in wireless industrial communications: A selection,” IEEE Trans. Ind. Informat., vol. 4, no. 2, pp. 102–124, May 2008. [13] R. Szewczyk, J. Polastre, A. Mainwaring, and D. Culler,
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
6576
“Lessons from a sensor network expedition,” in Proc. 1st European Workshop on Sensor Networks, 2004. N. Ramanathan, L. Balzano, M. Burt, D. Estrin, T. Harmon, C. Harvey, J. Jay, E. Kohler, S. Rothenberg, and M. Srivastava, “Rapid deployment with confidence: Calibration and fault detection in environmental sensor networks,” CENS, UCLA, Tech. Rep., 2006. G. Barrenetxea, F. Ingelrest, G. Schaefer, M. Vetterli, O. Couach, and M. Parlange, “SensorScope: Out-ofthe-box environmental monitoring,” in Proc. 2008 Int. Conf. on Information Processing in Sensor Networks, 2008, pp. 332–343. C. Taylor, A. Rahimi, J. Bachrach, H. Shrobe, and A. Grue, “Simultaneous localization, calibration, and tracking in an ad hoc sensor network,” in Proc. 5th Int. Conf. on Information Processing in Sensor Networks, Apr. 2006, pp. 27–33. J. Elson and D. Estrin, “Time synchronization for wireless sensor networks,” in Proc. 15th Int. Parallel and Distributed Processing Symp., Apr. 2001, pp. 1965– 1970. G. Welch and G. Bishop, “SCAAT: Incremental tracking with incomplete information,” in Proc. 24th Annu. Conf. on Computer Graphics and Interactive Techniques, 1997, pp. 333–344. K. Ni, N. Ramanathan, M. N. H. Chehade, L. Balzano, S. Nair, S. Zahedi, E. Kohler, G. Pottie, M. Hansen, and M. Srivastava, “Sensor network data fault types,” ACM Trans. on Sensor Networks, vol. 5, no. 3, pp. 25:1– 25:29, June 2009. T. Moon, “The expectation-maximization algorithm,” IEEE Signal Processing Mag., vol. 13, no. 6, pp. 47–60, 1996. P. T. Eugster, R. Guerraoui, A. M. Kermarrec, and L. Massoulie, “Epidemic information dissemination in distributed systems,” Computer, vol. 37, no. 5, pp. 60– 67, May 2004. D. Kempe, A. Dobra, and J. Gehrke, “Gossip-based computation of aggregate information,” in Proc. 44th Annu. IEEE Symp. on Foundations of Computer Science, 2007, pp. 482–491. M. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, and I. H. Witten, “The WEKA data mining software: an update,” SIGKDD Explorations Newsletter, vol. 11, no. 1, pp. 10–18, Nov. 2009. C. F. Wu, “On the convergence properties of the EM algorithm,” Annals of Statistics, vol. 11, no. 1, pp. 96– 103, 1983. R. A. Boyles, “On the convergence of the em algorithm,” Journal of the Royal Statistical Society. Series B (Methodological), vol. 45, no. 1, pp. pp. 47–50, 1983. [Online]. Available: http://www.jstor.org/stable/2345622 ´ Buadhach´ain, “Sensor calibration G. Provan and S. O. and diagnostics under parameter uncertainty: A smart building application,” in Proc. SafeProcess 2012. Mexico City, Mexico: IEEE, 2012.