首页 > 其他分享 >机器学习、生成式AI和深度学习时间序列模型(含代码)

机器学习、生成式AI和深度学习时间序列模型(含代码)

时间:2024-09-06 13:54:19浏览次数:7  
标签:AI series 生成式 学习 pd time Date model data

作者:老余捞鱼

原创不易,转载请标明出处及原作者。

写在前面的话:
       
本文转自一篇论文,主要讨论了在不同行业中时间序列预测的重要性,以及如何利用机器学习、生成式人工智能(Generative AI)和深度学习来提高预测的准确性。时间序列数据是按特定时间间隔收集或记录的数据点序列,例如股票价格、天气数据、销售数字和传感器读数。预测未来值的能力可以显著改进决策过程和运营效率。

       本文介绍了包括ARIMA、SARIMA、Prophet、XGBoost、GANs、WaveNet、LSTM、GRU、Transformer、Seq2Seq、TCN和DeepAR在内的多种时间序列预测模型,介绍了各自模型的特点以及具体代码。如我们首先从机器学习方法开始。

一、机器学习方法

1.1 ARIMA(自回归积分滑动平均模型)

       ARIMA(自回归积分滑动平均模型)一种经典的统计方法,结合了自回归(AR)、差分(使数据平稳)和滑动平均(MA)模型。

import pandas as pd
from statsmodels.tsa.arima.model import ARIMA

# Load your time series data
time_series_data = pd.read_csv('time_series_data.csv')
time_series_data['Date'] = pd.to_datetime(time_series_data['Date'])
time_series_data.set_index('Date', inplace=True)

# Fit ARIMA model
model = ARIMA(time_series_data['Value'], order=(5, 1, 0))  # (p,d,q)
model_fit = model.fit()

# Make predictions
predictions = model_fit.forecast(steps=10)
print(predictions)

1.2 SARIMA(季节性ARIMA)

       SARIMA(季节性ARIMA)是在ARIMA的基础上增加了季节性效应的考虑。

import pandas as pd
import numpy as np
from statsmodels.tsa.statespace.sarimax import SARIMAX

# Load your time series data
time_series_data = pd.read_csv('time_series_data.csv')
time_series_data['Date'] = pd.to_datetime(time_series_data['Date'])
time_series_data.set_index('Date', inplace=True)

# Fit SARIMA model
model = SARIMAX(time_series_data['Value'], order=(1, 1, 1), seasonal_order=(1, 1, 1, 12))  # (p,d,q) (P,D,Q,s)
model_fit = model.fit(disp=False)

# Make predictions
predictions = model_fit.forecast(steps=10)
print(predictions)

1.3 Prophet

          Prophet由Facebook开发,适用于处理缺失数据和异常值,并提供可靠的不确定性区间。

from fbprophet import Prophetimport pandas as pd
# Load your time series datatime_series_data = pd.read_csv('time_series_data.csv')time_series_data['Date'] = pd.to_datetime(time_series_data['Date'])time_series_data.rename(columns={'Date': 'ds', 'Value': 'y'}, inplace=True)
# Fit Prophet modelmodel = Prophet()model.fit(time_series_data)
# Make future dataframe and predictionsfuture = model.make_future_dataframe(periods=10)forecast = model.predict(future)print(forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']])

1.4 XGBoost

      XGBoost是一种梯度增强框架,通过将问题转化为监督学习任务来进行时间序列预测。

import pandas as pdimport numpy as npfrom xgboost import XGBRegressorfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import mean_squared_error
# Load your time series datatime_series_data = pd.read_csv('time_series_data.csv')time_series_data['Date'] = pd.to_datetime(time_series_data['Date'])time_series_data.set_index('Date', inplace=True)
# Prepare data for supervised learningdef create_lag_features(data, lag=1): df = data.copy() for i in range(1, lag + 1): df[f'lag_{i}'] = df['Value'].shift(i) return df.dropna()
lag = 5data_with_lags = create_lag_features(time_series_data, lag=lag)X = data_with_lags.drop('Value', axis=1)y = data_with_lags['Value']
# Split the data into training and testing setsX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, shuffle=False)
# Fit XGBoost modelmodel = XGBRegressor(objective='reg:squarederror', n_estimators=1000)model.fit(X_train, y_train

标签:AI,series,生成式,学习,pd,time,Date,model,data
From: https://blog.csdn.net/weixin_70955880/article/details/141828166

相关文章

  • 前端 - Failed to load module script 解决方案
    Failedtoloadmodulescript解决方案问题描述打包好项目发布上传到nginx后,浏览器访问,出现一下报错信息:Failedtoloadmodulescript:ExpectedaJavaScriptmodulescriptbuttheserverrespondedwithaMIMEtypeof"text/html".StrictMIMEtypecheckingisen......
  • STM32学习笔记——GPIO
    GPIO——GeneralPurposeInputOutput——通用输入输出出口特点:通用性、快速翻转、中断支持、支持多种工作模式。8种输入输出模式模式性质特征应用标识浮空输入数字输入可读取引脚电平,若引脚悬空,则电平不确定适用于需要读取外部信号的场景,但外部信号状态......
  • 【AI绘画】Stable Diffusion 喂饭教程来啦!价值上万的模特AI换装方法
    大家好,我是爱绘画的彤姐。在电商领域,最近AI模特换装特别火,结合网上的教程和实战,总结了一个最简单性价比最高的方法。今天我们就一起学起来!!一思路整体的思路其实很简单,分为三步:获取模特服饰的蒙版获取模特的姿势特征图通过图生图局部重绘(上传蒙版)出图在整个过程......
  • 【IEEE独立出版,CCF主办】第五届机器学习与计算机应用国际学术会议(ICMLCA 2024,10月18-2
    第五届机器学习与计算机应用国际学术会议(ICMLCA2024)定于2024年10月18-20日在中国杭州隆重举行。本届会议将主要关注机器学习和计算机应用面临的新的挑战问题和研究方向,着力反映国际机器学习和计算机应用相关技术研究的最新进展。ICMLCA2024已上线至IEEE官网:https://......
  • <Rust>egui学习之小部件(九):如何在窗口中添加下拉列表combobox部件?
    前言本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析,主要讲解egui的源代码、部件属性、如何应用。环境配置系统:windows平台:visualstudiocode语言:rust库:egui、eframe概述本文是本专栏的第九篇博文,主要讲述下拉列表部件combobox的使用。事实上,类似于iced,egui......
  • 如何利用AI实现行业革命:从机器学习到生成式模型的深度解析
    引言:在过去的十年中,人工智能(AI)从学术讨论走向了实际应用,成为推动技术进步和行业变革的核心力量。无论是自动驾驶、智能客服,还是生成式模型如ChatGPT,都在重塑着行业的格局。那么,AI究竟如何为企业和个人赋能?在这篇文章中,我将带你深入了解AI的最新进展,以及它如何改变我们日常......
  • [已解决] [HiveCatalog]Kerberos GSS initiate failed, No valid credentials provide
    问题说明部署一个连接Hive的Java应用程序,遇到这个Kerberos报错的问题,查了一天,记录一下问题现象KerberosGSSinitiatefailedNovalidcredentialsprovided(Mechanismlevel:AttempttoobtainnewINITIATEcredentialsfailed!(null))CannotreadfromSystem.injav......
  • 立刻行动!这些AI赚钱方法简单易学,人人都能上手
    今天这篇文章会非常接地气,专门为大家介绍几个可以立即上手的AI赚钱方法。更多实操教程和AI绘画工具,可以扫描下方,免费获取1.用AI帮你写文章,轻松赚稿费如果你喜欢写作或者对某个话题有兴趣,比如旅游、美食、育儿,你可以利用AI写作工具快速生成文章内容。很多自媒体平台、......
  • 如何利用AI优化知识中台的用户体验
    引言在数字化时代,知识中台作为企业知识管理与服务的重要载体,其用户体验的优劣直接关乎到信息的有效传递、员工的学习效率及企业的整体创新能力。随着人工智能(AI)技术的飞速发展,将AI融入知识中台的设计与优化中,已成为提升用户体验、增强用户满意度与参与度的重要途径。本文将......
  • 企业仍愿意投资生成式AI,风险管理是首要任务
    对于那些决定迈步前行并投资于生成式人工智能(GenAI)的组织来说,这是跳进来的机会,否则可能会被竞争对手超越,尽管存在潜在的风险。根据Salesforce发布的一项研究,在新加坡,87%的高管们仍然把AI技术视为三大业务优先事项之一。该调查由YouGov于2024年7月进行,对至少拥有250名员工的组......