* Further limit segments used in hourly `totals_metrics` to only calculate when weight=1.
* Update hourly `totals_metrics` calculation to properly use only the segment of the model.
* Add `totals_metrics` to hourly models.
* Fix bug with `get_baseline_data` in regards to recent addition of `n_days_billing_period_overshoot` kwarg.
* Update `get_baseline_data` to allow for limit to billing overshoot using `n_days_billing_period_overshoot` kwarg.
* Add function to clean billing data to fit caltrack specifications (`clean_caltrack_billing_data`).
* Update io functions to support latest pandas (>=0.24.x).
* Update documentation for CalTRACK Hourly methods.
* Add tutorial.
* Fix completeness check for `get_terms` for last term.
* Make more usable outputs for the `get_terms` function (list of eemeter.Term objects).
* Update `as_freq` so it has an optional `include_coverage` parameter where it returns a dataframe with one column including the percent coverage of data used to create each sample.
* Fixes the columns that are given in an empty prediction result called with the
` with_design_matrix=True` flag set for caltrack usage per day methods.
* Update bug report github issue template.
* Add test for `as_freq`.
* Change `as_freq` to handle all Null series.
* Add `get_terms` method to allow splitting reporting data into any number
of terms specified by day length.
* Change `fit_caltrack_hourly_model` so it returns a `CalTRACKHourlyModelResults` object rather than a `CalTRACKHourlyModel`, in order to bring it in line with the `caltrack_usage_per_day` model outputs.
* Update MANIFEST.in to fix release and update `./bump_version.sh` script
to remove build directories.
* Add data fields to the `DataSufficiency` even if there are no warnings when calculating sufficiency.
* Attempt 2 to fix release .whl file by removing local build and dist
directories before running `python setup.py upload`.
* Fix release .whl file which had some extra directories.
* Add draft MAINTAINERS.md.
* Fix `metered_savings` behavior so that it does not fail to compute error bands when there is 0 variance in the baseline.
* Fix `as_freq` behavior to preserve sum and add a null last index at the target
frequency if necessary.
* Capture an additional exception type (`KeyError`) in recently adjusted
`get_baseline_data` and `get_reporting_data` methods.
* Add parameters to `get_baseline_data` and `get_reporting_data` to help make
these methods a bit more correct for billing data.
* Preserve nulls properly in `as_freq`.
* Update jupyter version to be compatible with latest tornado version.
* Fix for bug that occasionally leads to `LinAlgError: SVD did not converge` error when fitting caltrack hourly models by addressing multi-collinearity when only a single occupancy mode is detected
* Hot fix for bug that occasionally leads to `LinAlgError: SVD did not converge` error when fitting caltrack hourly models by converting the weights from `np.float64` ton `np.float32`.
* Fix bug where the model prediction includes features in the last row that should be null.
* Fix in `transform.get_baseline_data` and `transform.get_reporting_data` to enable pulling a full year of data even with irregular billing periods
* Added option in `transform.as_freq` to handle instantaneous data such as temperature and other weather variables.
* Predict with empty formula now returns NaNs.
* Update `compute_occupancy_feature` so it can handle instances where there are less than 168 values in the data.
* SegmentModel becomes CalTRACKSegmentModel, which includes a hard-coded check that the same hours of week are in the model fit parameters and the prediction design matrix.
* Reverts small data bug fix.
* Fix bug with small data (1<week) for hourly occupancy feature calculation.
* Bump dev eeweather version.
* Add `bump_version` script.
* Filter two specific warnings when running tests:
statsmodels pandas .ix warning, and eemeter model fitting warning.
* Add `json()` serialization for `SegmentModel` and `SegmentedModel`.
* Change `max_value` to float so that it can be json serialized even if the input is int64s.
* Add warning to `caltrack_sufficiency_criteria` regarding extreme values.
* Fix bug in fractional savings uncertainty calculations using billing data.
* Add fractional savings uncertainty to modeled savings derivatives.
* Update so that models built with empty temperature data won't result in error.
* Update so that models built from a single record won't result in error.
* Update multiple places where `df.empty` is used and replaced with `df.dropna().empty`.
* Update documentation for running CalTRACK hourly methods.
* Fix zero division error in metrics calculation for several metrics that
would otherwise cause division by zero errors in fsu_error_band calculation.
* Fix zero division error in metrics calculation for series of length 1.
* Fix bug related to caltrack billing design matrix creation during empty temperature traces.
* Add automatic t-stat computation for metered savings error bands, the
implementation of which requires expicitly adding scipy to setup.py
* Don't compute error bands if reporting period data is empty for metered
* Fix degree day ranges (30-90) for prefab caltrack design matrix creation
* Fix the warning for total degree days to use total degree days instead of
average degree days.
* Update the `use_billing_presets` option in `fit_caltrack_usage_per_day_model`
to use a minimum data sufficiency requirement for qualifying CandidateModels
(similar to daily methods).
* Add an error when attempting to use billing presets without passing a weights
column to facilitate weighted least squares.
* Give better error for duplicated meter index in compute temperature features.
* Change metrics input length error to warning.
* Apply black code style for easy opinionated PEP 008 formatting
* Apply JSON-safe float conversion to all metrics.
* Cont. fixing JSON representation of NaN values
* Fixed JSON representation of model classes
* Initial release of 2.x.x series