Exemplo n.º 1
0
def preprocess_iawe(building, freq):
    building.utility.electric = building.utility.electric.sum_split_supplies()
    building = prepb.filter_out_implausible_values(
        building, Measurement('voltage', ''), 160, 260)
    building = prepb.filter_datetime(building, '7-13-2013', '8-4-2013')
    building = prepb.downsample(building, rule=freq)
    building = prepb.fill_appliance_gaps(building)
    building = prepb.prepend_append_zeros(
        building, '7-13-2013', '8-4-2013', freq, 'Asia/Kolkata')
    building = prepb.drop_missing_mains(building)
    building = prepb.make_common_index(building)
    building = prepb.filter_top_k_appliances(building, k=6)
    return building
        COLUMNS[key] = """\textbf{\specialcell[h]{""" + value + """}}"""
    else:
        COLUMNS[key] = key

stats_df = pd.DataFrame(index=DATASETS.keys(), columns=COLUMNS.values())

for ds_name, ds_path in DATASETS.iteritems():
    if LOAD_DATASETS:
        dataset = DataSet()
        print("##################################################")
        print("Loading", ds_path)
        dataset.load_hdf5(ds_path)

        if ds_name == "Smart*":
            building = dataset.buildings[1]
            building = prepb.filter_out_implausible_values(
                building, Measurement('power', 'active'), max_threshold=20000)
            #electric = building.utility.electric
            #electric.crop('2012-06-05', '2012-06-10')
            #building = prepb.filter_channels_with_less_than_x_samples(
            #    building, 100)
            dataset.buildings[1] = building

            print("Preprocessed!")

        if ds_name == 'iAWE':
            print("Pre-processing iAWE...")
            electric = dataset.buildings[1].utility.electric
            electric.crop('2013/6/11', '2013/7/31')
        # elif ds_name == 'UKPD':
        #     electric = dataset.buildings[1].utility.electric
        #     electric.appliances = electric.remove_channels_from_appliances(
Exemplo n.º 3
0
import nilmtk.preprocessing.electricity.single as prep
from nilmtk.stats.electricity.building import plot_missing_samples_using_bitmap
from nilmtk.sensors.electricity import Measurement
from nilmtk.dataset import DataSet

dataset = DataSet()
dataset.load_hdf5("/home/nipun/Dropbox/nilmtk_datasets/iawe")

building = dataset.buildings[1]

# 1. sum together split mains and DualSupply appliances
building.utility.electric = building.utility.electric.sum_split_supplies()

# optional. (required for iAWE) remove samples where voltage outside range
# Fixing implausible voltage values
building = prepb.filter_out_implausible_values(
    building, Measurement('voltage', ''), 160, 260)

# optional. (required for iAWE) Note that this will remove motor as it does not have
# any data in this period
building = prepb.filter_datetime(
    building, '7-13-2013', '8-4-2013')

# 2. downsample mains, circuits and appliances
building = prepb.downsample(building, rule='1T')

# 3. Fill large gaps in appliances with zeros and forward-fill small gaps
building = prepb.fill_appliance_gaps(building)

# optional. (required for iAWE)
building = prepb.prepend_append_zeros(
    building, '7-13-2013', '8-4-2013', '1T', 'Asia/Kolkata')