社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

【机器学习】非常全面的时间序列教程

机器学习初学者 • 1 年前 • 363 次点击  

https://kaggle.com/learn页面Kaggle官方提供了学习课程,最近更新了Time Series时间序列的知识点。

Time Series课程包括如下章节:

  • Linear Regression With Time Series
  • Trend
  • Seasonality
  • Time Series as Features
  • Hybrid Models
  • Forecasting With Machine Learning

Linear Regression With Time Series

https://www.kaggle.com/ryanholbrook/linear-regression-with-time-series

时间序列是一组随时间记录的观测结果,按照固定的频率记录。

我们首先使用线性回归对输入的记录进行加权求和,得到我们的预测结果:

如果一个序列的值可以从它出现的时间开始预测,那么它就是时间相关的。为了增加模型的有效性,我们增加了Lag特征,将历史数据作为输入的特征。

Trend

https://www.kaggle.com/ryanholbrook/trend

时间序列的趋势成分表示序列平均值的持续的、长期的变化。趋势是序列中移动最慢的部分,代表重要时间尺度最大的部分。

为了了解时间序列的趋势,我们可以使用Moving Average Plots消除该系列中的任何短期波动,从而只保留长期变化。

对趋势进行建模,则课将时间加入建模:

如果趋势是二次的(抛物线),通过可以模型变换来拟合趋势:

Seasonality

https://www.kaggle.com/ryanholbrook/seasonality

当一个时间序列的均值有规律的周期性变化时,我们就说这个时间序列具有季节性。

Seasonal Plots显示的是时间序列的片段,这些片段相对于某个共同的时期。

傅里叶特征是一对正弦和余弦曲线,如果我们将一组正弦/余弦曲线添加到我们的训练数据中,算法将计算出适合的季节性成分的权重。

Time Series as Features

https://www.kaggle.com/ryanholbrook/time-series-as-features

如果使用目标序列的过去值作为特征,历史趋势会变得更加清晰,如下图所示。序列依赖性的一种特别常见的表现方式,序列中某一时刻的值如何依赖于前一时刻的值有关。

为了研究时间序列中可能的序列依赖性(如周期),我们需要创建该序列的Lag特征。Lag Plot显示了其相对于滞后的值。时间序列中的序列依赖性通常会通过观察滞后图而变得明显。

偏自相关告诉你一个滞后的相关性,绘制部分自相关可以帮助您选择使用哪些延迟特性。

Hybrid Models

https://www.kaggle.com/ryanholbrook/hybrid-models

线性回归擅长推断趋势,但无法进行特征交叉。XGBoost擅长特征交叉,但不擅长预测趋势。

许多时间序列可以用这三个成分加上一些本质上不可预测的、完全随机的误差的相加模型来描述:

Forecasting With Machine Learning

https://www.kaggle.com/ryanholbrook/forecasting-with-machine-learning

在设计预测模型之前,有两件事需要确定:

  • 在做出预测(特写)时,可以获得哪些信息?
  • 您需要预测值(目标)的时间段。

预测的起点是你做预测的时间。您可以将预测起点看作是最后一次有训练数据可供预测的时间。

预测步长是你做预测的时间。我们经常用时间步数来描述预测:比如“1步”预测或“5步”预测。



    
往期精彩回顾




  • 交流群

欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信二维码加群,备注:目前是机器学习爱好者26群,已经加过的请不要重复加,请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/164567
 
363 次点击