diff --git a/assets/allisonhorst/the_beginning_cropped.png b/assets/allisonhorst/the_beginning_cropped.png new file mode 100644 index 0000000..f41240a Binary files /dev/null and b/assets/allisonhorst/the_beginning_cropped.png differ diff --git a/assets/ondir/ondir_flow.png b/assets/ondir/ondir_flow.png new file mode 100644 index 0000000..1982edb Binary files /dev/null and b/assets/ondir/ondir_flow.png differ diff --git a/index.qmd b/index.qmd index eb2b574..8845ecc 100644 --- a/index.qmd +++ b/index.qmd @@ -95,8 +95,81 @@ col_orange <- "#ffa600" col_yellow <- "#FCE135" ``` +## The beginning: June 2020 + +
+ +
+ ## Motivation +:::: {.columns} + +::: {.column width="48%"} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Energy market liberalization created complex, interconnected trading systems +
+ + + Renewable energy transition introduces uncertainty and volatility from weather-dependent generation +
+ + + Traditional point forecasts are inadequate for modern energy markets with increasing uncertainty +
+ + + Risk inherently *is* a probabilistic concept +
+ + + **Probabilistic forecasting** essential for risk management, planning and decision making in volatile energy environments +
+ + + **Online learning** methods needed for fast-updating models with streaming energy data +
+ + +::: + +::: {.column width="4%"} + +::: + +::: {.column width="48%"} + +::: + +:::: ## Overview of the Thesis {transition="fade" transition-speed="slow" #sec-overview} @@ -220,7 +293,7 @@ col_yellow <- "#FCE135" -## Overview of the Thesis {transition="fade" transition-speed="slow"} +## Overview of the Thesis @@ -283,8 +356,6 @@ col_yellow <- "#FCE135" ## Overview - - :::: {.columns} ::: {.column width="48%"} @@ -301,7 +372,45 @@ col_yellow <- "#FCE135" #### Distributional Modeling and Forecasting of Natural Gas Prices -```{r, echo=FALSE, fig.width = 12, fig.height = 6, fig.align="center"} +::: + +:::: + +:::: {.columns} + +::: {.column width="48%"} + +
+ +
+ +Reduces estimation time by 2-3 orders of magnitude + +Maintainins competitive forecasting accuracy + +Real-World Validation in Energy Markets + + Python Package ondil on [Github](https://github.com/simon-hirsch/ondil) and [PyPi](https://pypi.org/project/ondil/) + +::: + +::: {.column width="4%"} + +::: + +::: {.column width="48%"} + +Forecasting of Day-Ahead and Month-Ahead prices + +To capture the full distribution of future prices + +Extensive data analysis from 2011-2020 + +State-Space models, skewed Student's *t* distribution + + Python Package *sstudentt* on [Github](https://github.com/BerriJ/sstudentt) and [PyPi](https://pypi.org/project/sstudentt/) + +```{r, echo=FALSE, fig.width = 12, fig.height = 6, fig.align="left"} load("assets/ngas/residuals.RData") clr_day_ahead <- cols[5, "green"] @@ -416,7 +525,7 @@ acfs_da <- pacfs %>% geom_line(aes(y = upper), linetype = "longdash", alpha = 0.5) + geom_line(aes(y = lower), linetype = "longdash", alpha = 0.5) + scale_color_identity() + - ylab("ACF") + + ylab("PACF") + theme_minimal() + facet_grid(. ~ Var, labeller = label_parsed) + theme( @@ -437,7 +546,7 @@ acfs_ma <- pacfs %>% geom_line(aes(y = upper), linetype = "longdash", alpha = 0.5) + geom_line(aes(y = lower), linetype = "longdash", alpha = 0.5) + scale_color_identity() + - ylab("ACF") + + ylab("PACF") + theme_minimal() + scale_x_continuous(breaks = c(1, 10, 20, 30, 40)) + facet_grid(. ~ Var, labeller = label_parsed) + @@ -488,6 +597,32 @@ cowplot::plot_grid( #### High-Resolution Peak Demand Estimation Using Generalized Additive Models and Deep Neural Networks +::: + +::: {.column width="4%"} + +::: + +::: {.column width="48%"} + +#### rcpptimer: Rcpp Tic-Toc Timer with OpenMP Support + +::: + +:::: + +:::: {.columns} + +::: {.column width="48%"} + +Predict high-resolution electricity peaks using only low-resolution data + +Combine GAMs and DNN's for superior accuracy + + Won Western Power Distribution Competition + + Won Best-Student-Presentation Award + ```{r, echo=FALSE, fig.width = 12, fig.height = 6, fig.align="center"} load("assets/minmaxload/plot_overview.rds") # linesize <- 1.2 @@ -553,7 +688,7 @@ ggplot() + legend.position = "bottom", legend.title = element_blank(), text = element_text( - size = text_size + 2, + size = text_size + 4, ), validate = FALSE ) + @@ -579,7 +714,29 @@ ggplot() + ::: {.column width="48%"} -#### rcpptimer: Rcpp Tic-Toc Timer with OpenMP Support + R Package *rcpptimer* on [Github](https://github.com/BerriJ/rcpptimer) and [CRAN](https://cran.r-project.org/web/packages/rcpptimer/) + +Provides Rcpp bindings for [cpptimer](https://github.com/BerriJ/rcpptimer) + +tic-toc class for timing C++ code + +Supports nested, overlapping and scoped timers + +Supports OpenMP parallelism + +```c++ +//[[Rcpp::depends(rcpptimer)]] +#include + +void main(){ + Rcpp::Timer timer; + Rcpp::Timer::ScopedTimer _(timer, "ST"); + + timer.tic(); + // Some more code + timer.toc(); +} // ScopedTimer will stop automatically +``` :::