Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michaelhopwood/pvpolyfit
A high-resolution multiple non-linear regression algorithm used to analyze PV output with a few inputs
https://github.com/michaelhopwood/pvpolyfit
algorithm regression resolution-regression
Last synced: about 2 months ago
JSON representation
A high-resolution multiple non-linear regression algorithm used to analyze PV output with a few inputs
- Host: GitHub
- URL: https://github.com/michaelhopwood/pvpolyfit
- Owner: MichaelHopwood
- License: mit
- Created: 2019-08-13T21:34:30.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-26T22:26:50.000Z (over 3 years ago)
- Last Synced: 2024-11-11T13:32:05.808Z (about 2 months ago)
- Topics: algorithm, regression, resolution-regression
- Language: Python
- Homepage:
- Size: 240 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![PyPI version](https://badge.fury.io/py/PVPolyfit.svg)](https://badge.fury.io/for/py/PVPolyfit)[![Downloads](https://pepy.tech/badge/pvpolyfit)](https://pepy.tech/project/pvpolyfit)[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
# PVPolyfitA one-lined function call for a high-resolution regression on PV Output
### Overview
PVPolyfit provides a purely mathematical approach towards regression on a physical solar field. With PVPolyfit, you can regress on DC Power using only Irradiance and Ambient Temperature. Further research will need to be conducted to find other applications of this algorithm.
The PVPolyfit algorithm is:
* `FAST` - simulating months of data in minutes* `ROBUST` - working on a vast variety of datasets and levels - module, string, inverter
* `MALLEABLE` - allowing any number of covariates
* `ACCURATE` - generating one percent error or less
* `USER FRIENDLY` - requiring only one line of code
### Getting it
To download PVPolyfit, either fork this github repo or simply call the following command in your command prompt.
```sh
$ pip install PVPolyfit
```### Using it
Simply, call the following function located in PVPolyit.core
```py
>>> from PVPolyfit.core import pvpolyfit
>>> modelled_Y, days_rmses = pvpolyfit(train_df, test_df, Y_tag, xs, I_tag, ghi_tag, cs_tag,
highest_num_clusters, highest_degree, kernel_type, Y_high_filter, min_count_per_day,
plot_graph = True, graph_type = 'regression', print_info = True)
```Reference `example/example.py` for a demonstration and explanation on a small amount of provided data.
### Performance
Each color corresponds with a cluster, also known as a `type of day`.
![PVPolyfit regression](https://media.discordapp.net/attachments/210945856294223872/610932223952158723/unknown.png)
### Acknowledgements
![Emblems](https://media.discordapp.net/attachments/210945856294223872/610937089172963371/944bef9cdaef086d8659b5b825dd22c0.png)