Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hebes-io/eensight

The measurement and verification methodology of the H2020 project SENSEI
https://github.com/hebes-io/eensight

building-energy energy-data energy-efficiency kedro pipelines

Last synced: 3 months ago
JSON representation

The measurement and verification methodology of the H2020 project SENSEI

Awesome Lists containing this project

README

        

![logo](https://github.com/hebes-io/eensight/blob/master/logo.png)


[![PyPI version](https://badge.fury.io/py/eensight.svg)](https://badge.fury.io/py/eensight)

## The `eensight` tool for measurement and verification of energy efficiency improvements

The `eensight` Python package implements the measurement and verification (M&V) methodology that has been developed by the H2020 project [SENSEI - Smart Energy Services to Improve the Energy Efficiency of the European Building Stock](https://senseih2020.eu/).

The online book *Rethinking Measurement and Verification of Energy Savings* (accessible [here](https://hebes-io.github.io/rethinking/index.html)) explains in detail both the methodology and its implementation.

## Installation

`eensight` can be installed by pip:

```bash
pip install eensight
```

## Usage

### 1. Through the command line

All the functionality in `eensight` is organized around data pipelines. Each pipeline consumes data and other artifacts (such as models) produced by a previous pipeline, and produces new data and artifacts for its successor pipelines.

There are four (4) pipelines in `eensight`. The names of the pipelines and the associations between pipelines and namespaces are summarized below:

| | train | test | apply |
|------------ |---------- |---------- |---------|
| preprocess | ✔ | ✔ | ✔|
| predict | ✔ | ✔ | ✔|
| evaluate | | ✔ | ✔|
| adjust | | | ✔|

The primary way of using `eensight` is through the command line. The first argument is always the name of the pipeline to run, such as:

```bash
eensight run predict --namespace train
```
The command

```bash
eensight run --help
```
prints the documentation for all the options that can be passed to the command line.

### 2. As a library

The pipelines of `eensight` are separate from the methods that implement them, so that the latter can be used directly:

```python
import pandas as pd

from eensight.methods.prediction.baseline import UsagePredictor
from eensight.methods.prediction.activity import estimate_activity

non_occ_features = ["temperature", "dew point temperature"]

activity = estimate_activity(
X,
y,
non_occ_features=non_occ_features,
exog="temperature",
assume_hurdle=False,

)

X_act = pd.concat([X, activity.to_frame("activity")], axis=1)
model = UsagePredictor(skip_calendar=True).fit(X_act, y)
```