Auto mapping

This feature is still under development

The purpose of auto mapping is to automatically infer meta data information(e.g., location, functionality, sensor type and etc.) from measurements themselves. An intuitive example could be that we want to infer whether some sensors are placed in the same location just by the analyzing the data streams coming out of them.I n a simple framework of auto mapping, the inputs are data streams from different measurements and the outputs are the relationships among those measurements. Such relationship could be the group information from the result of clustering algorithms, or a dynamic graphical model indicating the dependency between each data stream.

Currently, we implement a simple version of auto mapping to find out the group information of the inputs in MATLAB.

First, we grab last few days data from the database. The function auto_get_data basically grabs data from Respawn database and then clean the data to make sure it can be fed into the automap_agent function.

%% get data from server
paras.toggle_get_data = true;
paras.HOSTNAME = '';
paras.USERNAME = '*****';
paras.PASSWORD = '*****';
[Raw,Data,name] = automap_get_data(paras);

Then, the auto mapping agent will take the cleaned data as the inputs and generate the group information, paras.cutoff is one parameter used for the clustering threshold.

%% run automapping agent to get group information
paras.cutoff = 0.7;
info = automap_agent(Data,[],paras);

Finally, the group information will be integrated to meta data event node, by querying metadata and comparing.

%% integrate to mio, update meta info based on automapping results
paras.data_availability = false;
% a toy example to update meta data info for node metaexample
integrate(info, paras);

The details can be seen in the code repository.