# Biclustering of Smart Building Electric Energy Consumption Data
## 2 Our Proposal
### Biclustering
With \(\rho\), we can compute how a specific building follows the general tendency of the bicluster by computing the differences between the energy consumption of building \(i\) and the values of \(\rho\) for each column of the bicluster. The \(VE^{t}\) of a bicluster \(\mathcal{B}\) is then computed as follows:  
\[VE^{t}(\mathcal{B})=\frac{1}{I\cdot J}\sum_{i=1}^{I}\sum_{j=1}^{J}|\hat{b}_{ij }-\hat{\rho_{j}}| \tag{3}\]  
where \(\hat{\rho_{j}}\) is the standardised virtual condition and \(\hat{b}_{ij}\) is the standardised element. \(VE^{t}\) has been proven to be zero for biclusters containing perfectly coherent patterns. A part from a coherent tendency, we were also interested in finding biclusters with fluctuating patterns yet coherent trends, since such bicluster may shows behaviour out of the normal and thus indicating a situation that has to be further studied, or a possible malfunctioning of some reading sensors. For this reason, we used the row variance as an accompanying score. The _row variance_ of a bicluster \(\mathcal{B}\) is defined as:  
\[var(\mathcal{B})=\frac{\sum_{i\in I,j\in J}(e_{ij}-e_{ij})^{2}}{|I|\cdot|J|} \tag{4}\]where \(e_{ij}\) corresponds to the mean of the \(i\)th row of \(\mathcal{B}\). Notice that a bicluster with row variance equal to zero is a constant bicluster. Our goal was to find biclusters of maximum size, with low \(VE^{t}\)and with a relatively high row variance. In fact, the problem cannot be addressed by only optimizing the \(VE^{t}\) of biclusters. In fact, this approach may lead to the discovery of uninteresting biclusters. For instance, flat biclusters will have a low value of \(VE^{t}\), or, again, biclusters containing few days will typically have lower values of \(VE^{t}\), if compared to biclusters characterized by higher volume. This is because the more days and buildings are contained in a bicluster, the less likely the behaviour of the buildings is to be similar. Such biclusters are not very interesting for detecting anomalies, and, to solve this issue, other properties of the biclusters are usually optimized, e.g., the volume. In particular, we were interested in finding biclusters with high volume, good quality (being quality measured by an appropriate metric such as \(VE^{t}\) ) and relatively high variance. Thus, we could individuate at least three objectives to be optimized and these objectives were usually in conflict with each other. For example, a bicluster consisting of just one element has \(VE^{t}\) equal to zero, or, again, a constant bicluster has gene variance equal to zero, but also \(VE^{t}\) equal to zero. For this reason, the problem of finding biclusters can be straightforwardly seen as a multi-objective problem. Moreover, by addressing this problem as a multi-objective problem, it is not necessary to combine all the objectives into single cost function, which might become complicated, especially when both maximization and minimization are involved. Finding a way to combine the objectives in a single function can be problematic, and may require more parameters to set [32]. Moreover, we wanted to minimize the overlapping among the biclusters discovered. In this way, we could find groups of buildings that present the same variations regarding the energy consumption in the same period of time. This could discover particular patterns or anomalies that would help in taking action aimed at improving the efficiency of buildings.