|
1 | | - |
| 1 | + |
2 | 2 | === |
3 | 3 | [](https://holgerteichgraeber.github.io/TimeSeriesClustering.jl/stable) |
4 | 4 | [](https://holgerteichgraeber.github.io/TimeSeriesClustering.jl/dev) |
| 5 | +[](LICENSE) |
5 | 6 | [](https://travis-ci.com/holgerteichgraeber/TimeSeriesClustering.jl) |
6 | 7 | [](https://codecov.io/gh/holgerteichgraeber/TimeSeriesClustering.jl) |
7 | 8 |
|
8 | | -[TimeSeriesClustering](https://github.com/holgerteichgraeber/TimeSeriesClustering.jl) is a [julia](https://www.juliaopt.com) implementation of unsupervised machine learning methods for finding representative periods for energy systems optimization problems. |
9 | | -By reducing the number of time steps used in the optimization model, using representative periods leads to significant reductions in computational complexity. |
| 9 | + |
| 10 | +[TimeSeriesClustering](https://github.com/holgerteichgraeber/TimeSeriesClustering.jl) is a [Julia](https://www.juliaopt.com) implementation of unsupervised learning methods for time series datasets. It provides functionality for clustering and aggregating, detecting motifs, and quantifying similarity between time series datasets. |
| 11 | +The software provides a type system for temporal data, and provides an implementation of the most commonly used clustering methods and extreme value selection methods for temporal data. |
| 12 | +It provides simple integration of multi-dimensional time-series data (e.g. multiple attributes such as wind availability, solar availability, and electricity demand) in a single aggregation process. |
| 13 | +The software is applicable to general time series datasets and lends itself well to a multitude of application areas within the field of time series data mining. |
| 14 | + |
| 15 | +The TimeSeriesClustering package was originally developed to perform time series aggregation for energy systems optimization problems. By reducing the number of time steps used in the optimization model, using representative periods leads to significant reductions in computational complexity of these problems. |
| 16 | +The packages was previously known as `ClustForOpt.jl`. |
10 | 17 |
|
11 | 18 | The package has three main purposes: |
12 | | -1) Provide a simple process of finding representative periods for time-series input data, with implementations of the most commonly used clustering methods and extreme value selection methods. |
13 | | -2) Provide an interface between representative period data and optimization problem by having representative period data stored in a generalized type system. |
14 | | -3) Provide a generalized import feature for time series, where variable names, attributes, and node names are automatically stored and can then be used in the definition of sets of the optimization problem later. |
| 19 | +1) Provide a simple process of finding representative periods (reducing the number of observations) for time-series input data, with implementations of the most commonly used clustering methods and extreme value selection methods. |
| 20 | +2) Provide an interface between representative period data and application (e.g. optimization problem) by having representative period data stored in a generalized type system. |
| 21 | +3) Provide a generalized import feature for time series, where variable names, attributes, and node names are automatically stored and can then be used later when the reduced time series is used in the application at hand (e.g. in the definition of sets of the optimization problem). |
15 | 22 |
|
16 | | -An example energy systems optimization problem that uses TimeSeriesClustering for its input data is the package [CapacityExpansion](https://github.com/YoungFaithful/CapacityExpansion.jl), which implements a scalable generation and transmission capacity expansion problem. |
| 23 | +In the domain of energy systems optimization, an example problem that uses TimeSeriesClustering for its input data is the package [CapacityExpansion](https://github.com/YoungFaithful/CapacityExpansion.jl), which implements a scalable generation and transmission capacity expansion problem. |
17 | 24 |
|
18 | 25 | The TimeSeriesClustering package follows the clustering framework presented in [Teichgraeber and Brandt, 2019](https://doi.org/10.1016/j.apenergy.2019.02.012). |
19 | | -The package is actively developed, and new features are continuously added. For a reproducible version of the methods and data of the original paper by [Teichgraeber and Brandt, 2019](https://doi.org/10.1016/j.apenergy.2019.02.012), please refer to [v0.1](https://github.com/holgerteichgraeber/TimeSeriesClustering.jl/tree/v0.1). |
| 26 | +The package is actively developed, and new features are continuously added. |
| 27 | +For a reproducible version of the methods and data of the original paper by [Teichgraeber and Brandt, 2019](https://doi.org/10.1016/j.apenergy.2019.02.012), please refer to [v0.1](https://github.com/holgerteichgraeber/TimeSeriesClustering.jl/tree/v0.1) (including shape based methods such as `k-shape` and `dynamic time warping barycenter averaging`). |
20 | 28 |
|
21 | 29 | This package is developed by Holger Teichgraeber [@holgerteichgraeber](https://github.com/holgerteichgraeber) and Elias Kuepper [@YoungFaithful](https://github.com/youngfaithful). |
22 | 30 |
|
|
0 commit comments