diff --git a/docs/examples/clipping.py b/docs/examples/clipping.py new file mode 100644 index 00000000..3156c15e --- /dev/null +++ b/docs/examples/clipping.py @@ -0,0 +1,71 @@ +""" +Clipping Detection +=================== + +Identifying clipping periods using the PVAnalytics clipping module. +""" + +# %% +# Identifying and removing clipping periods from AC power time series +# data aids in generating more accurate degradation analysis results, +# as using clipped data can lead to under-predicting degradation. In this +# example, we show how to use +# :py:func:`pvanalytics.features.clipping.geometric` +# to mask clipping periods in an AC power time series. We use a +# normalized time series example provided by the PV Fleets Initiative, +# where clipping periods are labeled as True, and non-clipping periods are +# labeled as False. This example is adapted from the DuraMAT DataHub +# clipping data set: +# https://datahub.duramat.org/dataset/inverter-clipping-ml-training-set-real-data + +import pvanalytics +from pvanalytics.features.clipping import geometric +import matplotlib.pyplot as plt +import pandas as pd +import pathlib +import numpy as np + +# %% +# First, read in the ac_power_inv_7539 example, and visualize a subset of the +# clipping periods via the "label" mask column. + +pvanalytics_dir = pathlib.Path(pvanalytics.__file__).parent +ac_power_file_1 = pvanalytics_dir / 'data' / 'ac_power_inv_7539.csv' +data = pd.read_csv(ac_power_file_1, index_col=0, parse_dates=True) +data['label'] = data['label'].astype(bool) +# This is the known frequency of the time series. You may need to infer +# the frequency or set the frequency with your AC power time series. +freq = "15T" + +data['value_normalized'].plot() +data.loc[data['label'], 'value_normalized'].plot(ls='', marker='o') +plt.legend(labels=["AC Power", "Labeled Clipping"], + title="Clipped") +plt.xticks(rotation=20) +plt.xlabel("Date") +plt.ylabel("Normalized AC Power") +plt.tight_layout() +plt.show() + +# %% +# Now, use :py:func:`pvanalytics.features.clipping.geometric` to identify +# clipping periods in the time series. Re-plot the data subset with this mask. +predicted_clipping_mask = geometric(ac_power=data['value_normalized'], + freq=freq) +data['value_normalized'].plot() +data.loc[predicted_clipping_mask, 'value_normalized'].plot(ls='', marker='o') +plt.legend(labels=["AC Power", "Detected Clipping"], + title="Clipped") +plt.xticks(rotation=20) +plt.xlabel("Date") +plt.ylabel("Normalized AC Power") +plt.tight_layout() +plt.show() + + +# %% +# Compare the filter results to the ground-truth labeled data side-by-side, +# and generate an accuracy metric. +acc = 100 * np.sum(np.equal(data.label, + predicted_clipping_mask))/len(data.label) +print("Overall model prediction accuracy: " + str(round(acc, 2)) + "%") diff --git a/docs/whatsnew/0.1.2.rst b/docs/whatsnew/0.1.2.rst new file mode 100644 index 00000000..4c96f0cf --- /dev/null +++ b/docs/whatsnew/0.1.2.rst @@ -0,0 +1,27 @@ +.. _whatsnew_012: + +0.1.2 (TBD) +------------------------- + +Enhancements +~~~~~~~~~~~~ + + +Bug Fixes +~~~~~~~~~ + + +Requirements +~~~~~~~~~~~~ + + +Documentation +~~~~~~~~~~~~~ + +* Added an example for + :py:func:`pvanalytics.features.clipping.geometric` (:issue:`133`, :pull:`134`) + +Contributors +~~~~~~~~~~~~ + +* Kirsten Perry (:ghuser:`kperrynrel`) diff --git a/pvanalytics/data/ac_power_inv_7539.csv b/pvanalytics/data/ac_power_inv_7539.csv new file mode 100644 index 00000000..dba1a4cc --- /dev/null +++ b/pvanalytics/data/ac_power_inv_7539.csv @@ -0,0 +1,501 @@ +timestamp,value_normalized,label +2017-04-10 19:15:00+00:00,1.6556843289074556e-06,False +2017-04-10 19:30:00+00:00,0.0,False +2017-04-11 06:15:00+00:00,0.0,False +2017-04-11 06:45:00+00:00,0.03310257538036459,False +2017-04-11 07:00:00+00:00,0.04399231026840556,False +2017-04-11 07:15:00+00:00,0.0556154392145042,False +2017-04-11 07:30:00+00:00,0.11098640974267797,False +2017-04-11 07:45:00+00:00,0.18494772226612566,False +2017-04-11 08:00:00+00:00,0.2768104358519092,False +2017-04-11 08:15:00+00:00,0.3580611904939537,False +2017-04-11 08:30:00+00:00,0.4473014667207775,False +2017-04-11 08:45:00+00:00,0.5395086404388928,False +2017-04-11 09:00:00+00:00,0.6397386383327289,False +2017-04-11 09:15:00+00:00,0.6970764325464521,False +2017-04-11 09:30:00+00:00,0.7601813421084159,False +2017-04-11 09:45:00+00:00,0.8048959542385731,False +2017-04-11 10:00:00+00:00,0.8581445636470517,False +2017-04-11 10:15:00+00:00,0.8983254230512467,False +2017-04-11 10:30:00+00:00,0.952074071362752,False +2017-04-11 10:45:00+00:00,0.9264720795277872,False +2017-04-11 11:00:00+00:00,0.9246608052773172,False +2017-04-11 11:15:00+00:00,0.9757981170935098,False +2017-04-11 11:30:00+00:00,0.9829098037160624,False +2017-04-11 11:45:00+00:00,0.9773760398559008,False +2017-04-11 12:00:00+00:00,0.9972442522694932,False +2017-04-11 12:15:00+00:00,0.9991777360278629,True +2017-04-11 12:30:00+00:00,0.9997555809842004,True +2017-04-11 12:45:00+00:00,0.9997555809842004,True +2017-04-11 13:00:00+00:00,0.9997444467846264,True +2017-04-11 13:15:00+00:00,0.9997444467846264,True +2017-04-11 13:30:00+00:00,0.9992332736820256,True +2017-04-11 13:45:00+00:00,0.9969886990541196,False +2017-04-11 14:00:00+00:00,0.9626637619073429,False +2017-04-11 14:15:00+00:00,0.9679308383525572,False +2017-04-11 14:30:00+00:00,0.9638305193477386,False +2017-04-11 14:45:00+00:00,0.9422288387369872,False +2017-04-11 15:00:00+00:00,0.8972698075910306,False +2017-04-11 15:15:00+00:00,0.8594446647949209,False +2017-04-11 15:30:00+00:00,0.8043292434818096,False +2017-04-11 15:45:00+00:00,0.7665929742667312,False +2017-04-11 16:00:00+00:00,0.6672407779991949,False +2017-04-11 16:15:00+00:00,0.5965464113108,False +2017-04-11 16:30:00+00:00,0.4361116961566277,False +2017-04-11 16:45:00+00:00,0.4701365766256614,False +2017-04-11 17:00:00+00:00,0.4489904981274209,False +2017-04-11 17:15:00+00:00,0.3707399435676096,False +2017-04-11 17:30:00+00:00,0.1772249047642573,False +2017-04-11 17:45:00+00:00,0.17384685861893387,False +2017-04-11 18:00:00+00:00,0.10135232687769777,False +2017-04-11 18:15:00+00:00,0.09004033847166643,False +2017-04-11 18:30:00+00:00,0.058237864239171135,False +2017-04-11 18:45:00+00:00,0.034769371723786774,False +2017-04-11 19:00:00+00:00,0.010223017217406179,False +2017-04-11 19:15:00+00:00,0.0012667652210008606,False +2017-04-12 06:00:00+00:00,0.0,False +2017-04-12 06:15:00+00:00,0.0,False +2017-04-12 06:30:00+00:00,0.016934650849169397,False +2017-04-12 06:45:00+00:00,0.03963641704657955,False +2017-04-12 07:00:00+00:00,0.05283744408648326,False +2017-04-12 07:15:00+00:00,0.06694965434977508,False +2017-04-12 07:30:00+00:00,0.1259542409066092,False +2017-04-12 07:45:00+00:00,0.20160456816873687,False +2017-04-12 08:00:00+00:00,0.2840887687728772,False +2017-04-12 08:15:00+00:00,0.36660628863592254,False +2017-04-12 08:30:00+00:00,0.4422010699099057,False +2017-04-12 08:45:00+00:00,0.5166735305340089,False +2017-04-12 09:00:00+00:00,0.6249374868031401,False +2017-04-12 09:15:00+00:00,0.7125887727398524,False +2017-04-12 09:30:00+00:00,0.6972987165068109,False +2017-04-12 09:45:00+00:00,0.7457913559008224,False +2017-04-12 10:00:00+00:00,0.8491771993194404,False +2017-04-12 10:15:00+00:00,0.8812240925677352,False +2017-04-12 10:30:00+00:00,0.9087485006333492,False +2017-04-12 10:45:00+00:00,0.92683877472334,False +2017-04-12 11:00:00+00:00,0.9228717994259952,False +2017-04-12 11:15:00+00:00,0.9488071505296444,False +2017-04-12 11:30:00+00:00,0.9743424705108724,False +2017-04-12 11:45:00+00:00,0.9632304726641066,False +2017-04-12 12:00:00+00:00,0.8813018986210459,False +2017-04-12 12:15:00+00:00,0.9756425716587416,False +2017-04-12 12:30:00+00:00,0.9124376543161724,False +2017-04-12 12:45:00+00:00,0.8894580665042408,False +2017-04-12 13:00:00+00:00,0.7915504492916215,False +2017-04-12 13:15:00+00:00,0.5868011864656404,False +2017-04-12 13:30:00+00:00,0.6067250032052494,False +2017-04-12 13:45:00+00:00,0.4600246899208758,False +2017-04-12 14:00:00+00:00,0.3131465961385129,False +2017-04-12 14:15:00+00:00,0.3047014724412226,False +2017-04-12 14:30:00+00:00,0.3887524782761432,False +2017-04-12 14:45:00+00:00,0.3319924956828308,False +2017-04-12 15:00:00+00:00,0.2602646985935505,False +2017-04-12 15:15:00+00:00,0.12409854653358696,False +2017-04-12 15:30:00+00:00,0.11197537835110237,False +2017-04-12 15:45:00+00:00,0.25560876969561563,False +2017-04-12 16:00:00+00:00,0.3158356720152828,False +2017-04-12 16:15:00+00:00,0.18695899540984287,False +2017-04-12 16:30:00+00:00,0.13438823040432546,False +2017-04-12 16:45:00+00:00,0.11752025140889295,False +2017-04-12 17:00:00+00:00,0.2922671717192931,False +2017-04-12 17:15:00+00:00,0.27695488042303024,False +2017-04-12 17:30:00+00:00,0.20631605138879805,False +2017-04-12 17:45:00+00:00,0.10088562390153956,False +2017-04-12 18:00:00+00:00,0.08121742704915776,False +2017-04-12 18:15:00+00:00,0.1009300773600186,False +2017-04-12 18:30:00+00:00,0.09755203121469518,False +2017-04-12 18:45:00+00:00,0.06861644669288604,False +2017-04-12 19:00:00+00:00,0.0424144121746005,False +2017-04-12 19:15:00+00:00,0.015767893408773867,False +2017-04-12 19:30:00+00:00,0.0005667107567635429,False +2017-04-13 06:00:00+00:00,0.0014667807822115228,False +2017-04-13 06:15:00+00:00,0.0014667807822115228,False +2017-04-13 06:45:00+00:00,0.04273665824534482,False +2017-04-13 07:00:00+00:00,0.055971021212116966,False +2017-04-13 07:15:00+00:00,0.05834898521771657,False +2017-04-13 07:30:00+00:00,0.12117609416679286,False +2017-04-13 07:45:00+00:00,0.210560831632701,False +2017-04-13 08:00:00+00:00,0.3180691791154685,False +2017-04-13 08:15:00+00:00,0.4165435070848512,False +2017-04-13 08:30:00+00:00,0.5240185353087137,False +2017-04-13 08:45:00+00:00,0.4985498871812227,False +2017-04-13 09:00:00+00:00,0.6785527914071715,False +2017-04-13 09:15:00+00:00,0.7961174712725984,False +2017-04-13 09:30:00+00:00,0.7257897997797562,False +2017-04-13 09:45:00+00:00,0.7969508694443095,False +2017-04-13 10:00:00+00:00,0.8467770125849123,False +2017-04-13 10:15:00+00:00,0.9388952460501429,False +2017-04-13 10:30:00+00:00,0.7622037661196707,False +2017-04-13 10:45:00+00:00,0.8216972613802687,False +2017-04-13 11:00:00+00:00,0.778004995455313,False +2017-04-13 11:15:00+00:00,0.923660727471264,False +2017-04-13 11:30:00+00:00,0.9342504846877088,False +2017-04-13 11:45:00+00:00,0.7630371642913818,False +2017-04-13 12:00:00+00:00,0.7714488853899499,False +2017-04-13 12:15:00+00:00,0.9998889246916742,False +2017-04-13 12:30:00+00:00,0.9978887690795676,False +2017-04-13 12:45:00+00:00,0.9999111264189688,False +2017-04-13 13:00:00+00:00,0.9948885356614076,False +2017-04-13 13:15:00+00:00,0.9349060690255034,False +2017-04-13 13:30:00+00:00,0.9998889246916742,False +2017-04-13 13:45:00+00:00,0.9999111264189688,False +2017-04-13 14:15:00+00:00,0.0009999111264189686,False +2017-04-13 14:30:00+00:00,0.0009999111264189686,False +2017-04-13 14:45:00+00:00,0.0009999333448142264,False +2017-04-13 15:00:00+00:00,0.0009691642743138748,False +2017-04-13 15:15:00+00:00,0.0009285611020537399,False +2017-04-13 15:30:00+00:00,0.0008774571561667497,False +2017-04-13 15:45:00+00:00,0.0008409432120485642,False +2017-04-13 16:00:00+00:00,0.0007785161118868383,False +2017-04-13 16:15:00+00:00,0.0007427355381582019,False +2017-04-13 16:30:00+00:00,0.0005973798094825113,False +2017-04-13 16:45:00+00:00,0.0006104474928149412,False +2017-04-13 17:00:00+00:00,0.00036985099107377217,False +2017-04-13 17:15:00+00:00,0.0002804662536078639,False +2017-04-13 17:30:00+00:00,0.0002916004865178511,False +2017-04-13 17:45:00+00:00,0.0002587756894153031,False +2017-04-13 18:00:00+00:00,0.00016812419772924998,False +2017-04-13 18:15:00+00:00,9.654084421101297e-05,False +2017-04-13 18:30:00+00:00,4.363672827079281e-05,False +2017-04-13 18:45:00+00:00,3.894747311340823e-05,False +2017-04-13 19:00:00+00:00,2.283510990488393e-05,False +2017-04-13 19:15:00+00:00,4.789261604552834e-06,False +2017-04-13 19:30:00+00:00,0.0,False +2017-04-14 06:00:00+00:00,0.005633771640766986,False +2017-04-14 06:15:00+00:00,0.005633771640766986,False +2017-04-14 06:45:00+00:00,0.03766959736134138,False +2017-04-14 07:00:00+00:00,0.0501927926659361,False +2017-04-14 07:15:00+00:00,0.06848310298541227,False +2017-04-14 07:30:00+00:00,0.13844410428464668,False +2017-04-14 07:45:00+00:00,0.2339848706896063,False +2017-04-14 08:00:00+00:00,0.3186358898722321,False +2017-04-14 08:15:00+00:00,0.4016645828378781,False +2017-04-14 08:30:00+00:00,0.4198548980444012,False +2017-04-14 08:45:00+00:00,0.6106253066488572,False +2017-04-14 09:00:00+00:00,0.7037658863192889,False +2017-04-14 09:15:00+00:00,0.7547920561553022,False +2017-04-14 09:30:00+00:00,0.8186858937625348,False +2017-04-14 09:45:00+00:00,0.857622256344877,False +2017-04-14 10:00:00+00:00,0.9040814708717672,False +2017-04-14 10:15:00+00:00,0.9449068470860366,False +2017-04-14 10:30:00+00:00,0.9869212491398496,False +2017-04-14 10:45:00+00:00,0.9995889013498582,False +2017-04-14 11:00:00+00:00,0.9997889169110692,True +2017-04-14 11:15:00+00:00,0.9997889169110692,True +2017-04-14 11:30:00+00:00,0.9997889169110692,True +2017-04-14 11:45:00+00:00,0.9997889169110692,True +2017-04-14 12:00:00+00:00,0.9997889169110692,True +2017-04-14 12:15:00+00:00,0.9998111186383634,True +2017-04-14 12:30:00+00:00,0.9997999844387894,True +2017-04-14 12:45:00+00:00,0.9997777827114948,True +2017-04-14 13:00:00+00:00,0.9997777827114948,True +2017-04-14 13:15:00+00:00,0.9997777827114948,True +2017-04-14 13:30:00+00:00,0.9997889169110692,True +2017-04-14 13:45:00+00:00,0.9998111186383634,True +2017-04-14 14:00:00+00:00,0.9998111186383634,True +2017-04-14 14:15:00+00:00,0.9998111186383634,True +2017-04-14 14:30:00+00:00,0.9998111186383634,True +2017-04-14 14:45:00+00:00,0.9997666485119208,True +2017-04-14 15:00:00+00:00,0.9676086132834468,False +2017-04-14 15:15:00+00:00,0.9325836883442864,False +2017-04-14 15:30:00+00:00,0.8810796813325409,False +2017-04-14 15:45:00+00:00,0.8382540828343111,False +2017-04-14 16:00:00+00:00,0.7732934955672884,False +2017-04-14 16:15:00+00:00,0.7231784632844436,False +2017-04-14 16:30:00+00:00,0.6463836219791232,False +2017-04-14 16:45:00+00:00,0.5845121417112917,False +2017-04-14 17:00:00+00:00,0.5018612781407726,False +2017-04-14 17:15:00+00:00,0.43376708041218937,False +2017-04-14 17:30:00+00:00,0.3448823985172713,False +2017-04-14 17:45:00+00:00,0.2728545614182117,False +2017-04-14 18:00:00+00:00,0.1878257295084224,False +2017-04-14 18:15:00+00:00,0.12746547514729978,False +2017-04-14 18:30:00+00:00,0.04970386696084955,False +2017-04-14 18:45:00+00:00,0.029368951571098895,False +2017-04-14 19:00:00+00:00,0.016334604165537413,False +2017-04-14 19:15:00+00:00,0.006556065795252204,False +2017-04-14 19:30:00+00:00,0.0,False +2017-04-15 06:00:00+00:00,0.0,False +2017-04-15 06:30:00+00:00,0.02190170395256751,False +2017-04-15 06:45:00+00:00,0.03526941062681343,False +2017-04-15 07:00:00+00:00,0.050926183057041864,False +2017-04-15 07:15:00+00:00,0.06963875122817888,False +2017-04-15 07:30:00+00:00,0.13158801254737618,False +2017-04-15 07:45:00+00:00,0.2271732240768332,False +2017-04-15 08:00:00+00:00,0.35398310655235643,False +2017-04-15 08:15:00+00:00,0.4247441450944884,False +2017-04-15 08:30:00+00:00,0.5159734760697715,False +2017-04-15 08:45:00+00:00,0.6145589460193336,False +2017-04-15 09:00:00+00:00,0.6941984753080456,False +2017-04-15 09:15:00+00:00,0.7464692086377653,False +2017-04-15 09:30:00+00:00,0.8110742349088091,False +2017-04-15 09:45:00+00:00,0.8611225286660635,False +2017-04-15 10:00:00+00:00,0.9073483917048746,False +2017-04-15 10:15:00+00:00,0.9469292044254376,False +2017-04-15 10:30:00+00:00,0.988732456718466,False +2017-04-15 10:45:00+00:00,0.9891547562400352,False +2017-04-15 11:00:00+00:00,0.9997444467846264,True +2017-04-15 11:15:00+00:00,0.9997444467846264,True +2017-04-15 11:30:00+00:00,0.9997444467846264,True +2017-04-15 11:45:00+00:00,0.9997444467846264,True +2017-04-15 12:00:00+00:00,0.9997666485119208,True +2017-04-15 12:15:00+00:00,0.9997444467846264,True +2017-04-15 12:30:00+00:00,0.9997666485119208,True +2017-04-15 12:45:00+00:00,0.9997666485119208,True +2017-04-15 13:00:00+00:00,0.9997555809842004,True +2017-04-15 13:15:00+00:00,0.9997777827114948,True +2017-04-15 13:30:00+00:00,0.998210994148678,False +2017-04-15 13:45:00+00:00,0.9926105584347796,False +2017-04-15 14:00:00+00:00,0.9886435831374348,False +2017-04-15 14:15:00+00:00,0.9886435831374348,False +2017-04-15 14:30:00+00:00,0.9601969033190784,False +2017-04-15 14:45:00+00:00,0.9535963897991264,False +2017-04-15 15:00:00+00:00,0.8461769659012803,False +2017-04-15 15:15:00+00:00,0.8538664308083168,False +2017-04-15 15:30:00+00:00,0.5618437114407501,False +2017-04-15 15:45:00+00:00,0.4259664735249736,False +2017-04-15 16:00:00+00:00,0.4991610680644287,False +2017-04-15 16:15:00+00:00,0.6078361563196284,False +2017-04-15 16:30:00+00:00,0.4590690489053382,False +2017-04-15 16:45:00+00:00,0.4899825539760327,False +2017-04-15 17:00:00+00:00,0.3931416864232037,False +2017-04-15 17:15:00+00:00,0.3492049348105949,False +2017-04-15 17:30:00+00:00,0.26018690920820303,False +2017-04-15 17:45:00+00:00,0.18887024410499134,False +2017-04-15 18:00:00+00:00,0.11663129891505558,False +2017-04-15 18:15:00+00:00,0.0895625262978793,False +2017-04-15 18:30:00+00:00,0.053715291383002906,False +2017-04-15 18:45:00+00:00,0.033958198281159604,False +2017-04-15 19:00:00+00:00,0.010923071681643498,False +2017-04-15 19:15:00+00:00,0.0014778927167200275,False +2017-04-16 06:00:00+00:00,0.0,False +2017-04-16 06:15:00+00:00,0.012400964795061056,False +2017-04-16 06:30:00+00:00,0.012400964795061056,False +2017-04-16 06:45:00+00:00,0.056437724188275175,False +2017-04-16 07:00:00+00:00,0.07652817889231782,False +2017-04-16 07:15:00+00:00,0.10515262254070032,False +2017-04-16 07:30:00+00:00,0.1676908296798824,False +2017-04-16 07:45:00+00:00,0.2633649397923158,False +2017-04-16 08:00:00+00:00,0.2763214978125298,False +2017-04-16 08:15:00+00:00,0.3458824763233246,False +2017-04-16 08:30:00+00:00,0.4186659055407844,False +2017-04-16 08:45:00+00:00,0.4280888719809067,False +2017-04-16 09:00:00+00:00,0.5610769851227758,False +2017-04-16 09:15:00+00:00,0.6806196188730149,False +2017-04-16 09:30:00+00:00,0.74786931756624,False +2017-04-16 09:45:00+00:00,0.7969842053711779,False +2017-04-16 10:00:00+00:00,0.8517440656883105,False +2017-04-16 10:15:00+00:00,0.8915693640965267,False +2017-04-16 10:30:00+00:00,0.9254053298679972,False +2017-04-16 10:45:00+00:00,0.9498961019167292,False +2017-04-16 11:00:00+00:00,0.9913771291406472,False +2017-04-16 11:15:00+00:00,0.999844454565232,True +2017-04-16 11:30:00+00:00,0.9998333203656578,True +2017-04-16 11:45:00+00:00,0.9998333203656578,True +2017-04-16 12:00:00+00:00,0.999844454565232,True +2017-04-16 12:15:00+00:00,0.999844454565232,True +2017-04-16 12:30:00+00:00,0.9998666562925262,True +2017-04-16 12:45:00+00:00,0.999844454565232,True +2017-04-16 13:00:00+00:00,0.8942917759001651,False +2017-04-16 13:15:00+00:00,0.8789795179398291,False +2017-04-16 13:30:00+00:00,0.7391241705271336,False +2017-04-16 13:45:00+00:00,0.988454701775798,False +2017-04-16 14:00:00+00:00,0.999844454565232,False +2017-04-16 14:15:00+00:00,0.999844454565232,False +2017-04-16 14:45:00+00:00,0.0009229718072066006,False +2017-04-16 15:00:00+00:00,0.000791472659906274,False +2017-04-16 15:15:00+00:00,0.0008631004825508758,False +2017-04-16 15:30:00+00:00,0.0008008845021476004,False +2017-04-16 15:45:00+00:00,0.0007562366118750707,False +2017-04-16 16:00:00+00:00,0.0006671296660213498,False +2017-04-16 16:15:00+00:00,0.0005729667734816435,False +2017-04-16 16:30:00+00:00,0.0005812118849513158,False +2017-04-16 16:45:00+00:00,0.0005314969004588557,False +2017-04-16 17:00:00+00:00,0.0004219217188430593,False +2017-04-16 17:15:00+00:00,0.00036713967346659575,False +2017-04-16 17:30:00+00:00,0.00020518262987527096,False +2017-04-16 17:45:00+00:00,0.0002340737619386788,False +2017-04-16 18:00:00+00:00,0.000196059698444539,False +2017-04-16 18:15:00+00:00,0.0001080973006366562,False +2017-04-16 18:30:00+00:00,6.878312699394682e-05,False +2017-04-16 18:45:00+00:00,3.980309668092177e-05,False +2017-04-16 19:00:00+00:00,2.0890514115331506e-05,False +2017-04-16 19:15:00+00:00,9.556298880052866e-06,False +2017-04-16 19:30:00+00:00,4.000311224213244e-07,False +2017-04-17 06:15:00+00:00,0.017701377167143602,False +2017-04-17 06:30:00+00:00,0.017701377167143602,False +2017-04-17 06:45:00+00:00,0.0584378798003818,False +2017-04-17 07:00:00+00:00,0.07653928808994673,False +2017-04-17 07:15:00+00:00,0.1065860673960434,False +2017-04-17 07:30:00+00:00,0.11018634749783532,False +2017-04-17 07:45:00+00:00,0.2106386043500851,False +2017-04-17 08:00:00+00:00,0.3445601401122341,False +2017-04-17 08:15:00+00:00,0.4043203561237064,False +2017-04-17 08:30:00+00:00,0.4883713286227002,False +2017-04-17 08:45:00+00:00,0.5795562228074677,False +2017-04-17 09:00:00+00:00,0.6718744718339087,False +2017-04-17 09:15:00+00:00,0.7276788134116834,False +2017-04-17 09:30:00+00:00,0.7872167787987239,False +2017-04-17 09:45:00+00:00,0.8472214471619225,False +2017-04-17 10:00:00+00:00,0.9051037504051148,False +2017-04-17 10:15:00+00:00,0.7746269326420262,False +2017-04-17 10:30:00+00:00,0.8132299359556839,False +2017-04-17 10:45:00+00:00,0.6458835830760966,False +2017-04-17 11:00:00+00:00,0.8337203967802028,False +2017-04-17 11:15:00+00:00,0.9093262789178332,False +2017-04-17 11:30:00+00:00,0.8066627583626006,False +2017-04-17 11:45:00+00:00,0.8052848511614203,False +2017-04-17 12:00:00+00:00,0.8307312975616169,False +2017-04-17 12:15:00+00:00,0.8911359970472369,False +2017-04-17 12:30:00+00:00,0.5967464268720106,False +2017-04-17 12:45:00+00:00,0.6220372611655853,False +2017-04-17 13:00:00+00:00,0.8392764290395125,False +2017-04-17 13:15:00+00:00,0.8882357714096824,False +2017-04-17 13:30:00+00:00,0.7368017898459166,False +2017-04-17 13:45:00+00:00,0.6307046021513807,False +2017-04-17 14:00:00+00:00,0.6393052712834392,False +2017-04-17 14:15:00+00:00,0.5918571798219234,False +2017-04-17 14:30:00+00:00,0.7751381057446268,False +2017-04-17 14:45:00+00:00,0.8204749662857103,False +2017-04-17 15:00:00+00:00,0.5733446062103631,False +2017-04-17 15:15:00+00:00,0.470847731953546,False +2017-04-17 15:30:00+00:00,0.37116220975325215,False +2017-04-17 15:45:00+00:00,0.22506195982047406,False +2017-04-17 16:00:00+00:00,0.1608903005987199,False +2017-04-17 16:15:00+00:00,0.11295322942791615,False +2017-04-17 16:30:00+00:00,0.20061560789429414,False +2017-04-17 16:45:00+00:00,0.21821697728083245,False +2017-04-17 17:00:00+00:00,0.16556843122394924,False +2017-04-17 17:15:00+00:00,0.269420960950762,False +2017-04-17 17:30:00+00:00,0.19672642198229687,False +2017-04-17 17:45:00+00:00,0.1435000476370395,False +2017-04-17 18:00:00+00:00,0.17529142100588754,False +2017-04-17 18:15:00+00:00,0.11510895547673608,False +2017-04-17 18:30:00+00:00,0.07450579655097166,False +2017-04-17 18:45:00+00:00,0.0432589198772998,False +2017-04-17 19:00:00+00:00,0.018501439411986245,False +2017-04-17 19:15:00+00:00,0.007567255399136719,False +2017-04-17 19:30:00+00:00,0.0004222550847789291,False +2017-04-18 06:15:00+00:00,0.021701688391356846,False +2017-04-18 06:30:00+00:00,0.021701688391356846,False +2017-04-18 06:45:00+00:00,0.06709410758823703,False +2017-04-18 07:00:00+00:00,0.08897358881187623,False +2017-04-18 07:15:00+00:00,0.10355249805101503,False +2017-04-18 07:30:00+00:00,0.1634015959775004,False +2017-04-18 07:45:00+00:00,0.21184981524895968,False +2017-04-18 08:00:00+00:00,0.4038091830211057,False +2017-04-18 08:15:00+00:00,0.4382563296757821,False +2017-04-18 08:30:00+00:00,0.5320413928203614,False +2017-04-18 08:45:00+00:00,0.6339159853303253,False +2017-04-18 09:00:00+00:00,0.7205005216072476,False +2017-04-18 09:15:00+00:00,0.7735268470553676,False +2017-04-18 09:30:00+00:00,0.8348427507660096,False +2017-04-18 09:45:00+00:00,0.8865578408666861,False +2017-04-18 10:00:00+00:00,0.7043992689297893,False +2017-04-18 10:15:00+00:00,0.7841165375999586,False +2017-04-18 10:30:00+00:00,0.5848010308535337,False +2017-04-18 10:45:00+00:00,0.5694665044940497,False +2017-04-18 11:00:00+00:00,0.5706888662604617,False +2017-04-18 11:15:00+00:00,0.564243898175278,False +2017-04-18 11:30:00+00:00,0.6050582068618271,False +2017-04-18 11:45:00+00:00,0.5559432523850355,False +2017-04-18 12:00:00+00:00,0.35049393509481697,False +2017-04-18 12:15:00+00:00,0.5963797316764577,False +2017-04-18 12:30:00+00:00,0.4664362887432642,False +2017-04-18 12:45:00+00:00,0.5931350125706447,False +2017-04-18 13:00:00+00:00,0.5314635811999506,False +2017-04-18 13:15:00+00:00,0.8204416303588419,False +2017-04-18 13:30:00+00:00,0.6688187007615859,False +2017-04-18 13:45:00+00:00,0.6462614124712235,False +2017-04-18 14:00:00+00:00,0.7001766737452174,False +2017-04-18 14:15:00+00:00,0.8633671699658233,False +2017-04-18 14:30:00+00:00,0.8952029801251871,False +2017-04-18 14:45:00+00:00,0.9983665395834462,False +2017-04-18 15:00:00+00:00,0.9938106518020436,False +2017-04-18 15:15:00+00:00,0.9627860380870964,False +2017-04-18 15:30:00+00:00,0.9074706012127745,False +2017-04-18 15:45:00+00:00,0.8604669443282688,False +2017-04-18 16:00:00+00:00,0.7977842676160205,False +2017-04-18 16:15:00+00:00,0.7428466601368253,False +2017-04-18 16:30:00+00:00,0.6651072786796146,False +2017-04-18 16:45:00+00:00,0.6032580668109312,False +2017-04-18 17:00:00+00:00,0.5024390897611835,False +2017-04-18 17:15:00+00:00,0.4493016223328842,False +2017-04-18 17:30:00+00:00,0.3596946509105075,False +2017-04-18 17:45:00+00:00,0.2868000797128684,False +2017-04-18 18:00:00+00:00,0.2017156934809528,False +2017-04-18 18:15:00+00:00,0.14008868223281104,False +2017-04-18 18:30:00+00:00,0.07822831116260845,False +2017-04-18 18:45:00+00:00,0.05244852616200205,False +2017-04-18 19:00:00+00:00,0.028079961287654845,False +2017-04-18 19:15:00+00:00,0.012145389711319541,False +2017-04-18 19:30:00+00:00,0.00015556765349677537,False +2017-04-19 06:00:00+00:00,0.0,False +2017-04-19 06:30:00+00:00,0.038102964410631136,False +2017-04-19 06:45:00+00:00,0.06011578934174412,False +2017-04-19 07:00:00+00:00,0.08700676912663803,False +2017-04-19 07:15:00+00:00,0.0920738300106415,False +2017-04-19 07:30:00+00:00,0.15986798772944535,False +2017-04-19 07:45:00+00:00,0.2776326998240463,False +2017-04-19 08:00:00+00:00,0.34503794395203946,False +2017-04-19 08:15:00+00:00,0.4356894633069119,False +2017-04-19 08:30:00+00:00,0.4136099455204282,False +2017-04-19 08:45:00+00:00,0.4989721533668652,False +2017-04-19 09:00:00+00:00,0.6644850302686882,False +2017-04-19 09:15:00+00:00,0.61099200184441,False +2017-04-19 09:30:00+00:00,0.745769154173528,False +2017-04-19 09:45:00+00:00,0.6618959621725237,False +2017-04-19 10:00:00+00:00,0.4862155942398985,False +2017-04-19 10:15:00+00:00,0.5321525014646139,False +2017-04-19 10:30:00+00:00,0.8223861816449319,False +2017-04-19 10:45:00+00:00,0.8979920637825622,False +2017-04-19 11:00:00+00:00,0.8880912935026345,False +2017-04-19 11:15:00+00:00,0.8957808250815246,False +2017-04-19 11:30:00+00:00,0.999111064174126,False +2017-04-19 11:45:00+00:00,0.8999478159400801,False +2017-04-19 12:00:00+00:00,0.965897346813582,False +2017-04-19 12:15:00+00:00,0.9676086132834468,False +2017-04-19 12:30:00+00:00,0.9924105428735688,False +2017-04-19 12:45:00+00:00,0.8819130795042521,False +2017-04-19 13:00:00+00:00,0.7701043807874919,False +2017-04-19 13:15:00+00:00,0.9892769657479352,False +2017-04-19 13:30:00+00:00,0.9998777904921002,False +2017-04-19 13:45:00+00:00,0.8882024354828139,False +2017-04-19 14:00:00+00:00,0.9276833070946252,False +2017-04-19 14:15:00+00:00,0.8852577397188168,False +2017-04-19 14:30:00+00:00,0.9099374598010392,False +2017-04-19 15:00:00+00:00,0.0009258053609904184,False +2017-04-19 15:15:00+00:00,0.0008191748551370629,False +2017-04-19 15:30:00+00:00,0.0008930472557431633,False +2017-04-19 15:45:00+00:00,0.0007617036872135317,False +2017-04-19 16:00:00+00:00,0.0006087251588173558,False +2017-04-19 16:15:00+00:00,0.000655128775685415,False +2017-04-19 16:30:00+00:00,0.00031326880564641266,False +2017-04-19 16:45:00+00:00,0.00029657864048489627,False +2017-04-19 17:00:00+00:00,0.0002210171951377817,False +2017-04-19 17:15:00+00:00,0.00011914260262781774,False +2017-04-19 17:30:00+00:00,8.305090302692216e-05,False +2017-04-19 17:45:00+00:00,9.258497844465632e-05,False +2017-04-19 18:00:00+00:00,5.720445050624938e-05,False +2017-04-19 18:15:00+00:00,4.5025724334686574e-05,False +2017-04-19 18:30:00+00:00,4.532575001001744e-05,False +2017-04-19 18:45:00+00:00,2.7146555335338418e-05,False +2017-04-19 19:00:00+00:00,1.8079183227121732e-05,False +2017-04-19 19:15:00+00:00,3.9447513016512686e-06,False +2017-04-19 19:30:00+00:00,0.0,False +2017-04-20 06:00:00+00:00,0.0,False +2017-04-20 06:15:00+00:00,0.0,False +2017-04-20 06:30:00+00:00,0.018701454973196915,False +2017-04-20 06:45:00+00:00,0.036169480652261415,False +2017-04-20 07:00:00+00:00,0.04627026649339985,False +2017-04-20 07:15:00+00:00,0.05527096674787965,False +2017-04-20 07:30:00+00:00,0.07028324303630823,False +2017-04-20 07:45:00+00:00,0.08466214504821808,False +2017-04-20 08:00:00+00:00,0.07707266291984183,False +2017-04-20 08:15:00+00:00,0.0786505606802876,False +2017-04-20 08:30:00+00:00,0.1206871644613951,False +2017-04-20 08:45:00+00:00,0.13875524515807328,False +2017-04-20 09:00:00+00:00,0.17430244406348147,False +2017-04-20 09:15:00+00:00,0.2247286005517896,False +2017-04-20 09:30:00+00:00,0.2700765619565202,False +2017-04-20 09:45:00+00:00,0.3552165358464888,False