首页 > 编程语言 >ARIMA算法实践

ARIMA算法实践

时间:2024-12-30 09:29:57浏览次数:9  
标签:plt 模型 ARIMA 实践 算法 import model forecast

ARIMA模型全称为自回归差分移动平均模型(Autoregressive Integrated Moving Average Model)。ARIMA模型主要由三部分构成,分别为自回归模型(AR)、差分过程(I)和移动平均模型(MA)。

RIMA模型的基本思想是利用数据本身的历史信息来预测未来。一个时间点上的标签值既受过去一段时间内的标签值影响,也受过去一段时间内的偶然事件的影响,这就是说,ARIMA模型假设:标签值是围绕着时间的大趋势而波动的,其中趋势是受历史标签影响构成的,波动是受一段时间内的偶然事件影响构成的,且大趋势本身不一定是稳定的。

这个模型还听常用的,因此今天试着使用这个模型做了以下某市的GDP预测。代码如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import pywt
import os
 
# 创建输出目录
output_directory = "D:/xiaobo/output_images/"
os.makedirs(output_directory, exist_ok=True)
 
 
# 指定中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号'-'显示为方块的问题
 
# 从CSV文件读取数据
df = pd.read_csv("D:/xiaobo/data_arima.csv",parse_dates=['year'], index_col='year',encoding='gbk')
 
# 模型训练
from statsmodels.tsa.arima.model import ARIMA
 
# 选择GDP时间序列
ts = df['GDP_dx']
 
# 假设通过ACF和PACF确定了参数p=1, d=1, q=1
model = ARIMA(ts, order=(1, 1, 1))
model_fit = model.fit()

# 预测未来的10个值
forecast = model_fit.forecast(steps=3)
print("预测值:")
print(forecast)

# 可视化预测结果
plt.figure(figsize=(10, 6))
plt.plot(ts, label="原始数据")
plt.plot(forecast, label="预测数据", color="red")
plt.legend()
plt.tick_params(axis='x', labelsize=14) 
plt.tick_params(axis='y', labelsize=14) 
plt.show()

实际上的结果,2023年:43800左右;2024年:预计46000左右;

这个预测GDP的结果比我预料的要好。

下一步要继续了解ARIMA算法的内涵和原理,才能更好的应用。

希望对你有用。

标签:plt,模型,ARIMA,实践,算法,import,model,forecast
From: https://blog.csdn.net/lhr123789/article/details/144769266

相关文章

  • 深入理解ElasticSearch与BM25: 实践与应用
    老铁们,今天我们来聊聊一个在搜索引擎领域备受关注的技术点——ElasticSearch中的BM25。说白了,这就是一个基于概率检索框架的文档排序算法,最初由StephenE.Robertson和KarenSpärckJones等高手在20世纪的70至80年代提出。BM25如今已成为许多搜索引擎的核心技术。技术背景......
  • 性能与一致性的平衡:深入解析同步与异步日志架构的最佳实践
    在分布式系统和高并发应用中,日志管理不仅是系统调试和故障排查的关键工具,也是性能监控、用户行为分析和安全审计的重要组成部分。然而,日志的记录和存储往往面临着性能与一致性之间的矛盾。在实际应用中,如何在保证系统性能的同时确保日志数据的一致性和完整性,成为架构设计中的......
  • 人工智能短视频内容理解与生成技术在美团的创新实践1
     1.背景美团围绕丰富的本地生活服务电商场景,积累了丰富的视频数据。美团场景下的短视频示例上面展示了美团业务场景下的一个菜品评论示例。可以看到,视频相较于文本和图像可以提供更加丰富的信息,创意菜“冰与火之歌”中火焰与巧克力和冰淇淋的动态交互,通过短视频形式进......
  • 人工智能短视频内容理解与生成技术在美团的创新实践4
     1.背景美团围绕丰富的本地生活服务电商场景,积累了丰富的视频数据。美团场景下的短视频示例上面展示了美团业务场景下的一个菜品评论示例。可以看到,视频相较于文本和图像可以提供更加丰富的信息,创意菜“冰与火之歌”中火焰与巧克力和冰淇淋的动态交互,通过短视频形式进......
  • 人工智能短视频内容理解与生成技术在美团的创新实践14
     1.背景美团围绕丰富的本地生活服务电商场景,积累了丰富的视频数据。美团场景下的短视频示例上面展示了美团业务场景下的一个菜品评论示例。可以看到,视频相较于文本和图像可以提供更加丰富的信息,创意菜“冰与火之歌”中火焰与巧克力和冰淇淋的动态交互,通过短视频形式进......
  • 软工实践个人总结
    这个作业属于哪个课程https://edu.cnblogs.com/campus/fzu/SE2024这个作业要求在哪里https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315这个作业的目标完成作业学号022204045一、学期回顾1.1回顾你对于软件工程课程的想象根据你对课程目标和期......
  • 人工智能短视频内容理解与生成技术在美团的创新实践7
     1.背景美团围绕丰富的本地生活服务电商场景,积累了丰富的视频数据。美团场景下的短视频示例上面展示了美团业务场景下的一个菜品评论示例。可以看到,视频相较于文本和图像可以提供更加丰富的信息,创意菜“冰与火之歌”中火焰与巧克力和冰淇淋的动态交互,通过短视频形式进......
  • Java多线程实战避坑指南:从入门到生产实践
    在微服务架构下,多线程编程已经成为Java开发者的必备技能。本文将帮助你掌握多线程开发的核心知识,避开常见陷阱。一、为什么要深入理解多线程?1.1现实问题接口响应慢CPU利用率低内存泄漏频发死锁难以排查并发BUG难复现1.2业务场景批量数据处理并行任务执行......
  • 【初阶数据结构与算法】八大排序之非递归系列( 快排(使用栈或队列实现)、归并排序)
    *文章目录一、非递归版快排1.使用栈实现非递归版快排2.使用队列实现非递归版快排二、非递归版归并排序1.非递归版归并排序的实现一、非递归版快排1.使用栈实现非递归版快排   在学习非递归版快排前,建议大家先学习递归版的快排,否则非递归版的快排将很难理解,这......
  • [算法/数据结构]系列 华为面试原题:和为n的子串(前缀和+哈希表)
    [算法/数据结构]系列华为面试原题:和为n的子串(前缀和+哈希表)文章目录[算法/数据结构]系列华为面试原题:和为n的子串(前缀和+哈希表)面试原题样例分析代码及思路面试原题输入一串只有0和1的数组,返回输入和为n的子串的个数。样例:输入:[011100],n=3输出:6样......