Reduced Order Modeling Framework

build Documentation Status

The reduced order model (ROM) framework was created to build models to use for estimating commercial building energy loads. The framework currently supports linear models, random forests, and support vector regressions. The framework handles the building, evalulation, and validation of the models. During each set of the process, the framework exports diagnostic data for the user to evaluate the performance of the reduced order models. In addition to building, evaluating, and validating the reduced order models, the framework is able to load previously persisted model to be used in third-party applications (e.g. Modelica).

The project was developed focused on evaluating ambient loop distric heating and cooling systems. As a result, there are several hard coded methods designed to evaluate and validate building energy modeling data.

This documention will discuss how to build, evaluate, and validate a simple dataset focused on commercial building energy consumption. The documentation will also demonstrate how to load and run an already built ROM to be used to approximate building energy loads.

Instructions

The ROM Framework requires Python 3. After installing Python and configuring Python 3, the ROM Framework can be installed from source code (recommended) or from PyPI. If you are planning on building, evaluating, and validating custom models, then it is preferred to checkout this repository from Github. If the use case is to only run prebuilt models, then installing from PyPI is most likely sufficient.

Installation from Source

  1. Install Python and pip

  2. Clone this repo

  3. Install the Python dependencies

    1
    pip install -r requirements.txt
    
  4. (Optional) install graphviz to visualize decision trees

    • OSX: brew install graphviz

Building Example Models

A small office example has been included with the source code. The small office includes 3,300 hourly samples of building energy consumption with several characteristics for each sample. The example shown here is only the basics, for further instructions view the complete documentation on readthedocs.

1
2
3
./rom-runner build -a smoff_test
./rom-runner evaluate -a smoff_test
./rom-runner validate -a smoff_test

Installation from PyPI

Not yet complete.

Indices and tables

Development


$ sphinx-apidoc -o docs/source/modules . rom $ cd docs $ make html