Reverse engineering: Mining structural system models from system data
Many systems exist without us knowing system models that drive system behaviors. Although having complete, accurate system models is critical to understand system behaviors and to perform system engineering, we often do not have pre-defined system models due to the interconnectivity and interdependencies of many engineered system factors and non-engineered system factors (e.g., natural system factors). Energy consumption and supply systems at multi-tiers (equipment, occupants and other building contents, building, building cluster, and community) are such systems [1,2]. We need adequate, accurate energy system models to predict/project energy demand and to closely align energy production with energy demand for energy use and production efficiency. Yet, we do not have adequate, accurate system models of energy consumption and supply because energy consumption and supply at multi-tiers involve not only engineered system factors (e.g., equipment whose energy consumption is well defined from the engineering design of equipment) but also social/behavioral factors (e.g., occupants and their activities whose energy consumption is not pre-defined) and environmental factors (e.g., climate). The neuronal system in our brain drives our behaviors, but we do not have a clear understanding of how a large number of neurons work together to store, process and select information [3]. A network system of interacting genes regulates functions of biological systems, but we do not have adequate and accurate models of the gene regulatory network system [4,5] which will help us understand diseases and develop cures. Current sensing and information technologies have allowed us to collect massive amounts of data about systems in many fields. With available system data, it is highly desirable to perform reverse engineering which is to mine system data in order to discover white-box, structural system models that explicitly explain system behaviors. A white-box, structural system model presents explicit relations of multiple system variables in a structural form (e.g., a network of variables and their relations). Figure 1 gives an example of whitebox, structural system models capturing causal relations of nine system variables, x1, . . . , x9, where xi represents the presence or absence of system factor i by the value of 1 or 0, respectively. Each directed link in Fig. 1 represents a causal relation. For example, x1 → x5 in Fig. 1 represents that the presence of system factor 1 causes the presence of system factor 5, that is, x1 = 1 causes x5 = 1. Suppose that we do not know the structural system model in Fig. 1 but have 10 instances of data observations with the presence/absence of system factors under 10 system conditions, respectively, as shown in Table 1. For example, data in instance 1 in Table 1 are observed when the system is under the condition of system