Giter VIP home page Giter VIP logo

phv's Introduction

光伏短期功率预测大赛

李家翔,武睿琦,靳晓松 2022-07-02

更新记录见 NEWS

  1. 比赛: 光伏短期功率预测大赛
  2. 需求: 短期光伏功率预测
  3. 项目名称的由来,PHotoVoltaic (phv)
  4. 国能日新光伏功率预测大赛 官方网址

此次比赛我们的名字最后排在52名。

实现方式

我们主要的实现方式是

  1. 神经网络模型,具体见Python代码wushen.ipynb最后成绩是神经网络模型的结果
  2. Xgboost的融合,具体见R代码note.Rmd

EDA

使用trelliscope,交互方便,但是不适合上线部署,不便于交流。

  1. trelliscope/p
  2. trelliscope/tsi
  3. trelliscope/tsi_real

特征工程

我们尝试的特征工程是

  1. 加入滞后项
  2. 加入时间相关变量,见R包timetk::tk_augment_timeseries_signature函数
  3. 加入平方项、立方项,拟合非线性关系
  4. 加入交互项
  5. 加入比率
  6. 加入滚动SMA
  7. 加入滚动方差
  8. 加入PCA的主成分
  9. 加入实发辐射的测试集预测值
  10. 加入NMF的衍生变量
  11. 加入 prophet

高亮为测试后效果好的变量。

一系列的特征工程我们在Xgboost进行了融合。

后续可以做的空间

深度学习的方法

  1. 采用空洞卷积的方法(A. van den Oord et al. 2016a; A. van den Oord et al. 2016b; Sprangers, Schelter, and Rijke 2022; Kechyn et al. 2018),一些其他的应用如音频的频谱、长时间序列。

XGBoost

  1. 我们没有将神经网络和XGboost进行融合,因为没有保存训练集的预测值。 主办方在比赛过程中修改了数据集和评价函数,导致我们无法复现原来的历史预测。 这是我们下一次比赛需要注意的问题
  2. 采用更加合理的窗口特征提取方式(Elsayed et al. 2021)
  3. 预测y的目标是四个,可以考虑多任务的框架,如 MT-GBT(Ying et al. 2022)

EDA和特征工程

  1. 其次,我们一开始没有很好的做EDA,观察被解释变量关于时间的波动,查看异常值。
  2. 在特征工程的部分,非线性关系的拟合,没有使用更高效的 Ramsey’s RESET test,详见Github
  3. 另外参考 预测值迁移 的问题,有可能存在 欠拟合的情况,目前处理的方式见 模型校正部分
  4. 这里有四个光伏板,并且都是时间序列,所以算 longitudinal data,这里可以采用 LSTM 进行训练,参考 6 神经网络应用
  5. 既然考虑了 PCA 作为聚类特征,那么应该考虑 DTW(Salvador and Chan 2007; Izakian, Pedrycz, and Jamal 2015) 和 TS-PCA(Chang, Guo, and Yao 2018)
  6. 既然考虑了 prophet,应该使用prophet的NNs训练(Triebe et al. 2021)

**Code of Conduct**

Please note that the ‘phv’ project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By contributing to this project, you agree to abide by its terms.

**License**

MIT © [Jiaxiang Li;Ruiqi Wu;Xiaosong Jin](LICENSE.md)

Chang, Jinyuan, Bin Guo, and Qiwei Yao. 2018. “Principal Component Analysis for Second-Order Stationary Vector Time Series.” The Annals of Statistics 46 (5). https://doi.org/10.1214/17-aos1613.

Elsayed, Shereen, Daniela Thyssens, Ahmed Rashed, Hadi Samer Jomaa, and Lars Schmidt-Thieme. 2021. “Do We Really Need Deep Learning Models for Time Series Forecasting?” arXiv Preprint arXiv:2101.02118.

Izakian, Hesam, Witold Pedrycz, and Iqbal Jamal. 2015. “Fuzzy Clustering of Time Series Data Using Dynamic Time Warping Distance.” Engineering Applications of Artificial Intelligence 39: 235–44.

Kechyn, Glib, Lucius Yu, Yangguang Zang, and Svyatoslav Kechyn. 2018. “Sales Forecasting Using WaveNet Within the Framework of the Kaggle Competition.” arXiv: Learning.

Oord, Aaron van den, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior, and Koray Kavukcuoglu. 2016a. “Wavenet: A Generative Model for Raw Audio.” arXiv Preprint arXiv:1609.03499.

Oord, Aaron van den, Nal Kalchbrenner, Oriol Vinyals, Lasse Espeholt, Alex Graves, and Koray Kavukcuoglu. 2016b. “Conditional Image Generation with PixelCNN Decoders.” Neural Information Processing Systems.

Salvador, Stan, and Philip Chan. 2007. “Toward Accurate Dynamic Time Warping in Linear Time and Space.” Intelligent Data Analysis 11 (5): 561–80.

Sprangers, Olivier, Sebastian Schelter, and Maarten de Rijke. 2022. “Parameter-Efficient Deep Probabilistic Forecasting.” International Journal of Forecasting.

Triebe, Oskar, Hansika Hewamalage, Polina Pilyugina, Nikolay Laptev, Christoph Bergmeir, and Ram Rajagopal. 2021. “NeuralProphet: Explainable Forecasting at Scale.” https://arxiv.org/abs/2111.15397.

Ying, ZhenZhe, Zhuoer Xu, Weiqiang Wang, and Changhua Meng. 2022. “MT-GBM: A Multi-Task Gradient Boosting Machine with Shared Decision Trees.” arXiv Preprint arXiv:2201.06239.

phv's People

Contributors

jiaxiangbu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.