Beispiel #1
0
def test_fit_temperature_bins_no_segmentation(temperature_means):
    bins = fit_temperature_bins(temperature_means,
                                segmentation=None,
                                occupancy_lookup=None)
    assert list(bins.columns) == ["keep_bin_endpoint"]
    assert bins.shape == (6, 1)
    assert bins.sum().sum() == 4
Beispiel #2
0
def reporting_model_hourly(il_electricity_cdd_hdd_hourly):
    meter_data = il_electricity_cdd_hdd_hourly["meter_data"]
    temperature_data = il_electricity_cdd_hdd_hourly["temperature_data"]
    blackout_end_date = il_electricity_cdd_hdd_hourly["blackout_end_date"]
    reporting_meter_data, warnings = get_reporting_data(
        meter_data, start=blackout_end_date)
    preliminary_hourly_design_matrix = create_caltrack_hourly_preliminary_design_matrix(
        reporting_meter_data, temperature_data)
    segmentation = segment_time_series(preliminary_hourly_design_matrix.index,
                                       "three_month_weighted")
    occupancy_lookup = estimate_hour_of_week_occupancy(
        preliminary_hourly_design_matrix, segmentation=segmentation)
    occupied_temperature_bins, unoccupied_temperature_bins = fit_temperature_bins(
        preliminary_hourly_design_matrix,
        segmentation=segmentation,
        occupancy_lookup=occupancy_lookup,
    )
    design_matrices = create_caltrack_hourly_segmented_design_matrices(
        preliminary_hourly_design_matrix,
        segmentation,
        occupancy_lookup,
        occupied_temperature_bins,
        unoccupied_temperature_bins,
    )
    segmented_model = fit_caltrack_hourly_model(
        design_matrices,
        occupancy_lookup,
        occupied_temperature_bins,
        unoccupied_temperature_bins,
    )
    return segmented_model
def temperature_bins(preliminary_hourly_design_matrix, segmentation,
                     occupancy_lookup):
    return fit_temperature_bins(
        preliminary_hourly_design_matrix,
        segmentation=segmentation,
        occupancy_lookup=occupancy_lookup,
    )
Beispiel #4
0
def test_fit_temperature_bins_no_segmentation_with_occupancy(
        temperature_means, occupancy_lookup_no_segmentation):
    occupied_bins, unoccupied_bins = fit_temperature_bins(
        temperature_means,
        segmentation=None,
        occupancy_lookup=occupancy_lookup_no_segmentation,
    )
    assert list(occupied_bins.columns) == ["keep_bin_endpoint"]
    assert occupied_bins.shape == (6, 1)
    assert occupied_bins.sum().sum() == 0

    assert list(unoccupied_bins.columns) == ["keep_bin_endpoint"]
    assert unoccupied_bins.shape == (6, 1)
    assert unoccupied_bins.sum().sum() == 4
Beispiel #5
0
def test_fit_temperature_bins_one_month_segmentation(temperature_means,
                                                     one_month_segmentation):
    bins = fit_temperature_bins(temperature_means,
                                segmentation=one_month_segmentation)
    assert list(bins.columns) == [
        "jan",
        "feb",
        "mar",
        "apr",
        "may",
        "jun",
        "jul",
        "aug",
        "sep",
        "oct",
        "nov",
        "dec",
    ]
    assert bins.shape == (6, 12)
    assert bins.sum().sum() == 12
Beispiel #6
0
def test_fit_temperature_bins_with_occupancy_lookup(
        temperature_means, one_month_segmentation,
        occupancy_lookup_one_month_segmentation):
    occupied_bins, unoccupied_bins = fit_temperature_bins(
        temperature_means,
        segmentation=one_month_segmentation,
        occupancy_lookup=occupancy_lookup_one_month_segmentation,
    )
    assert list(occupied_bins.columns) == [
        "jan",
        "feb",
        "mar",
        "apr",
        "may",
        "jun",
        "jul",
        "aug",
        "sep",
        "oct",
        "nov",
        "dec",
    ]
    assert occupied_bins.shape == (6, 12)
    assert occupied_bins.sum().sum() == 0

    assert list(unoccupied_bins.columns) == [
        "jan",
        "feb",
        "mar",
        "apr",
        "may",
        "jun",
        "jul",
        "aug",
        "sep",
        "oct",
        "nov",
        "dec",
    ]
    assert unoccupied_bins.shape == (6, 12)
    assert unoccupied_bins.sum().sum() == 12
def temperature_bins(preliminary_hourly_design_matrix, segmentation):
    return fit_temperature_bins(preliminary_hourly_design_matrix,
                                segmentation=segmentation)
Beispiel #8
0
def test_fit_temperature_bins_empty(temperature_means):
    bins = fit_temperature_bins(temperature_means.iloc[:0])
    assert list(bins.columns) == ["keep_bin_endpoint"]
    assert bins.shape == (6, 1)
    assert bins.sum().sum() == 0