Added GMM to Project #13
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #12
This pull request introduces a major enhancement to the simulation pipeline by integrating Gaussian Mixture Models (GMMs) for more accurate load value generation. It adds functionality to fit GMMs to historical load data, simulate synthetic time series using Markov chains and GMMs, and visualize both original and simulated data distributions. The changes primarily focus on expanding the project's capabilities and improving simulation accuracy.
New Features and Enhancements:
Integration of GMMs for Load Simulation:
fit_gmms
function insrc/markov/gmm.py
to fit GMMs to load data for each bucket and state, enabling probabilistic modeling of load values.sample_value
function insrc/markov/gmm.py
to sample load values from fitted GMMs during simulation.Synthetic Time Series Generation:
_simulate_series
function insrc/main.py
to generate synthetic load time series using transition probabilities and GMMs.SIM_DAYS
insrc/main.py
to define the number of days for simulation.Visualization Improvements:
_plot_simulation_diagnostics
function insrc/main.py
to compare original and simulated load distributions and visualize simulated load patterns by hour of day._plot_first_25_buckets
function insrc/main.py
to generate heatmap grids for transition probabilities across buckets.Updates to Documentation:
CHANGELOG.md
to document the addition of the GMM feature to the project.