Sensors_**2008**, \(8\), 4821-4850; DOI: 10.3390/s8084821  
_Series of_  
**ISSN 1424-8220**  
www.mdpi.org/sensors  
_Article_  
**Distributed Principal Component Analysis for Wireless Sensor Networks**  
**[PERSON] \({}^{1,\star}\), [PERSON]\({}^{2}\), and [PERSON]\({}^{1}\)**  
\({}^{1}\) Machine Learning Group, Departement d'Informatique, Faculte des Sciences, Universite Libre de Bruxelles, Boulevard du Triomphe, 1050 Brussels, Belgium  
\({}^{2}\) Ecole Normale Superieure de Cachan, 61, Avenue du President Wilson, 94235 Cachan Cedex, France  
E-mails: [EMAIL_ADDRESS]; [EMAIL_ADDRESS]; [EMAIL_ADDRESS]  
\({}^{\star}\) Author to whom correspondence should be addressed. _Received: 27 May 2008; in revised form: 29 July 2008 / Accepted: 4 August 2008 / Published: 11 August 2008_  
**Abstract:** The Principal Component Analysis (PCA) is a data dimensionality reduction technique well-suited for processing data from sensor networks. It can be applied to tasks like compression, event detection, and event recognition. This technique is based on a linear transform where the sensor measurements are projected on a set of _principal components_. When sensor measurements are correlated, a small set of principal components can explain most of the measurements variability. This allows to significantly decrease the amount of radio communication and of energy consumption. In this paper, we show that the power iteration method can be distributed in a sensor network in order to compute an approximation of the principal components. The proposed implementation relies on an aggregation service, which has recently been shown to provide a suitable framework for distributing the computation of a linear transform within a sensor network. We also extend this previous work by providing a detailed analysis of the computational, memory, and communication costs involved. A compression experiment involving real data validates the algorithm and illustrates the tradeoffs between accuracy and communication costs. **Keywords:** Wireless sensor networks, distributed principal component analysis, in-network aggregation, power iteration method. Introduction  
Efficient in-network data processing is a key factor for enabling wireless sensor networks (WSN) to extract useful information and an increasing amount of research has been devoted to the development of data processing techniques [1; 2; 3; 4]. Wireless sensors have limited resource constraints in terms of energy, network data throughput and computational power. In particular, the radio communication is an energy consuming task and is identified in many deployments as the primary factor of sensor node's battery exhaustion [5]. Emitting or receiving a packet is indeed orders of magnitude more energy consuming than elementary computational operations. The reduction of the amount of data transmissions has therefore been recognized as a central issue in the design of wireless sensor networks data gathering schemes [6]. Data compression is often acceptable in real settings since raw data collected by sensors typically contain a high degree of spatio-temporal redundancies [5; 7; 8; 9]. In fact, most applications only require approximated or high-level information, such as the average temperature in a room, the humidity levels in a field with a \(\pm 10\%\) accuracy, or the detection and position of a fire in a forest. An attractive framework for processing data within a sensor network is provided by the data aggregation services such as those developed at UC Berkeley (TinyDB and TAG projects) [10; 11], Cornell University (Cougar) [12], or EPFL (Dozer)[13]. These services aim at aggregating data within a network in a time- and energy-efficient manner. They are suitable when the network is connected to a base station from which queries on sensor measurements are issued. In TAG or TinyDB, for example, queries are entered by means of an SQL-like syntax which tasks the network to send raw data or aggregates at regular time intervals.