先搞懂:啥是时间序列?

简单说,时间序列就是按时间顺序记下来的数据。比如:

  1. 你每天早上 8 点测的体重,连起来就是 “体重时间序列”;
  2. 超市每天的销售额,连起来就是 “销售时间序列”;
  3. 城市每小时的车流量、股票每分钟的价格、国家每个季度的 GDP…… 只要是按时间排的数,都算。

我们挖这些数据干啥?就一个目的:从过去的规律里,猜未来会咋样。比如根据过去 3 个月的销量,算下个月要进多少货;根据历史交通流量,提前规划明天的限行措施。

时间序列有啥 “小脾气”?

就像每个人有不同性格,时间序列也有自己的 “特点”,主要分三种:

  1. 趋势性:一条道走到黑

就是长期看一直涨或一直跌。比如近 20 年智能手机销量,整体一直往上走;再比如老式胶片相机的销量,一路往下掉。

  1. 季节性:到点就 “发疯”

每隔一段时间就重复的波动。比如每年夏天冰淇淋销量暴涨(旺季),冬天暴跌(淡季);再比如春节前快递单量激增,节后又回落,这都是季节性。

  1. 随机性:突然 “抽风”

没规律的突发波动。比如某天突然下暴雨,外卖订单比平时多了一倍;或者某明星突然推荐一款产品,让销量莫名暴涨,这些都是随机的。

时间序列分哪几类?

根据 “脾气” 不同,时间序列能分成三大类,就像不同性格的人:

  1. 纯随机序列:完全 “没脑子”

数据之间没任何关系,纯属瞎晃悠。比如你每天掷骰子的结果,今天是 3,明天是 5,后天是 2,毫无规律。这种序列没啥用,挖不出东西。

  1. 平稳非白噪声序列:“情绪稳定” 但有规律

虽然有波动,但整体均值(平均水平)和方差(波动大小)基本不变,也没啥大趋势。比如一个成熟小区的每日用电量,可能某天多 10 度,某天少 5 度,但长期看平均每天就用 200 度,波动不大。这种序列能挖出规律,适合建模预测。

  1. 非平稳序列:“喜怒无常”

均值或方差会变,还有明显的趋势或季节性。比如房价(长期上涨,趋势性)、羽绒服销量(冬天涨夏天跌,季节性)。这种序列最常见,但建模前得先 “调教” 一下。

建模前要做啥?先 “体检”!

拿到数据不能直接建模,得先做 “体检”—— 看看它稳不稳定(平稳性检验),因为很多模型只认 “平稳” 的序列。

怎么 “体检”?两种简单方法:

  1. 画张图看看(时序图检验)

平稳序列的图应该是围绕一条水平线晃悠,不会一直往上或往下,波动也差不多大。如果图里明显有上坡(涨)或下坡(跌),或者波动越来越大(比如从每天差 10 块到每天差 100 块),那就是非平稳的。

  1. 算个 “自相关” 看看(自相关图检验)

简单说,就是看今天的数据和昨天、前天的有没有关系。平稳序列的相关性会快速 “消失”(比如今天和昨天有点关系,和前天关系就很小了);而非平稳序列的相关性会拖很久(今天和上个月的数据可能还有关系)。

不同序列咋建模?

1. 平稳非白噪声序列:用 ARMA 模型

这种 “情绪稳定” 的序列,适合用 ARMA 模型。它就像个 “预测小能手”,能根据历史数据猜未来。

ARMA 其实是两个模型的组合:

  1. AR 模型:用过去的 “自己” 预测现在。比如根据前 3 天的销量,预测今天的销量。
  2. MA 模型:用过去的 “误差” 预测现在。比如之前预测总差 10 块,这次就根据这个误差调整。

建模步骤很简单:

  1. 先分析数据的相关性,确定 AR 和 MA 的参数(就像调收音机找频道);
  2. 算出模型里的具体数值(比如用前 3 天的数据,权重各是多少);
  3. 检查模型好不好:看预测完剩下的 “误差” 是不是纯随机的(如果还有规律,说明模型没调好);
  4. 没问题就可以预测未来了。

2. 非平稳序列:用 ARIMA 模型

这种 “喜怒无常” 的序列,得先 “修理” 一下 —— 用 “差分” 把它变成平稳的。比如数据一直在涨,就用今天的数减昨天的数(1 阶差分),抵消掉上涨趋势,变成平稳序列后,再用 ARMA 模型。

ARIMA 里的 “I” 就是 “差分” 的意思。比如 ARIMA (2,1,1),就是先做 1 次差分,再用 AR 参数为 2、MA 参数为 1 的模型。

用 Python 能实现吗?

当然能!Python 里有个叫statsmodels的库,直接提供了 ARIMA 模型的工具,用法很简单:

只要输入数据,再设定好参数(p, d, q),比如ARIMA(数据, order=(2,1,1)),电脑就会自动帮你建模、算结果,最后还能输出预测值。

总结:

时间序列挖掘就是从按时间排的数据里找规律、猜未来,核心步骤是:

  1. 看数据的 “脾气”(趋势、季节、随机);
  2. 分清楚是哪类序列(平稳 / 非平稳);
  3. 平稳的用 ARMA,非平稳的先差分再用 ARIMA;
  4. 用 Python 工具快速实现,搞定预测!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/89112.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/89112.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/89112.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Python的豆瓣图书数据分析与可视化系统【自动采集、海量数据集、多维度分析、机器学习】

文章目录有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍每文一语有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 豆瓣图书数据智能分析系统是一个集数据采集、清洗、分析与可视化于一体的综合性项…

2.3 数组与字符串

学习目标: 理解数组和字符串的概念(存储多个数据的“盒子”)。掌握数组的声明、初始化和遍历方法。能用字符串处理简单文本问题(如字符计数、回文判断)。1 一维数组 基本概念 比喻: 数组就像“储物柜”&…

C# 网口demo

bool _testStatus false; private void btnOpsStart_Click(object sender, EventArgs e) {int delay Convert.ToInt32(txtdelay.Text.Trim());txtView.Clear();txtView.AppendText("******************************************开始烤机*******************************…

MATLAB 安装 ACADO 的完整步骤

✅ MATLAB 安装 ACADO 的完整步骤 📦 一、准备工作 1. 下载 ACADO Toolkit 官方地址:https://github.com/acado/acado 2. 解压 ACADO 到你指定的路径,例如: D:\user\acado-master建议路径中 不要包含中文或空格。 &#x1f9f…

[逆向工程]160个CrackMe入门实战之Afkayas.1.Exe解析(二)

[逆向工程]160个CrackMe入门实战之Afkayas.1.Exe解析(二) 一、前言 在逆向工程的学习路径上,CrackMe程序是初学者最好的练手材料。今天我们要分析的是160个CrackMe系列的第二题——Afkayas.1.Exe。这个程序由Afkayas编写,难度为★…

本地电脑安装Dify|内网穿透到公网

1.安装Docker Docker: Accelerated Container Application Development 2.添加 PATH 3.安装Dify https://github.com/langgenius/dify.git 把.env.example文件名改为.env 4.更换镜像源 {"builder": {"gc": {"defaultKeepStorage": "20G…

数据结构自学Day6 栈与队列

1. 栈其实栈与队列仍然属于线性表(有n个元素构成的集合,逻辑结构呈现线形)线形表:顺序表,链表,栈,队列,串(字符串)栈(Stack)是一种线性…

Java 异常处理详解:从基础语法到最佳实践,打造健壮的 Java 应用

作为一名 Java 开发工程师,你一定遇到过运行时错误、空指针异常、文件找不到等问题。Java 提供了强大的异常处理机制,帮助我们优雅地捕获和处理这些错误。本文将带你全面掌握:Java 异常体系结构try-catch-finally 的使用throw 与 throws 的区…

Fiddler弱网测试实战指南

Fiddler是一个常用的网络抓包工具,它也可以用来模拟弱网环境进行测试。 在测试时需要用到弱网测试,也就是在信号差、网络慢的情况下进行测试。比如,用户在地铁、电梯、地下车库等场景经常会遇到会话中断、超时等情况,这种就属于弱…

解决Vue页面黑底红字遮罩层报错:Unknown promise rejection reason (webpack-internal)

vue前端页面弹出黑底红色报错遮罩层报错:具体报错信息:Uncaught runtime errors: ERROR Unknown promise rejection reasonat handleError (webpack-internal:///./node_modules/webpack-dev-server/client/overlay.js:299:58)at eval (webpack-internal…

构建 Go 可执行文件镜像 | 探索轻量级 Docker 基础镜像(我应该选择哪个 Docker 镜像?)

文章目录构建 Go 可执行文件镜像典型用途探索轻量级 Docker 基础镜像构建 Go 可执行文件镜像 golang:1.23.0-bullseye 是官方 Go 镜像的一个 “build-stage” 版,用来构建 Go 可执行文件,而不是把它当成最终运行镜像。 dockerhub官方:https://hub.dock…

链表算法之【回文链表】

目录 LeetCode-234题 LeetCode-234题 给定一个单链表的头节点head,判断该链表是否为回文链表,是返回true,否则返回false class Solution {/*** 这里的解题思路为:* (1)、找中间节点* (2)、反转链表* (3)、遍历比较节点值是否相…

Playwright Python 教程:网页自动化

1. 常用工具简介及对比主流网页自动化工具对比工具支持语言浏览器支持特点适用场景PlaywrightPython, JS, .NETChromium, Firefox, WebKit跨浏览器、速度快、API简洁自动化测试、爬虫、网页操作Selenium多语言所有主流浏览器历史悠久、社区大传统自动化测试、兼容性测试Puppete…

动态数组:ArrayList的实现原理

动态数组:ArrayList的实现原理 大家好!今天我们来聊聊Java集合框架中一个非常重要的数据结构——ArrayList。就像我们日常生活中使用的伸缩收纳盒一样,ArrayList可以根据需要自动调整大小,既方便又高效。那么它是如何实现这种&quo…

MIPI DSI(五) DBI 和 DPI 格式

关于 DBI 和 DPI 这两种格式的详细协议内容,请参考《MIPI Alliance Standard for Display Bus Interface(V2.0) .pdf》和《MIPI Alliance Standard for Display Pixel Interface(DPI- 2) .pdf》这两份文档。首先先了解…

FRP Ubuntu 服务端 + MacOS 客户端配置

一、服务端配置 1、下载frp并解压 # 创建目录并进入 mkdir -p /opt/frp && cd /opt/frp # 下载最新版(替换URL为GitHub发布页最新版本) wget https://github.com/fatedier/frp/releases/download/v0.59.0/frp_0.59.0_linux_amd64.tar.gz # 解压 …

Video Python(Pyav)解码二

在 PyAV 中,input_container.decode() 和 input_container.demux() 是两种处理视频流数据的不同方法,它们分别适用于不同的场景。下面通过代码示例和对比来详细说明它们的用法和区别。1. input_container.decode()功能直接解码:从容器中读取数…

闲庭信步使用图像验证平台加速FPGA的开发:第十六课——图像五行缓存的FPGA实现

(本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程…

头文件与源文件及区别

使用场景上的区别头文件:变量的声明,函数的声明,宏的定义,类的定义等。 源文件:变量的定义。函数的定义实现,类成员函数的定义实现等。这样方便于我们去管理、规划,更重要的是避免了重定义的问题…

图机器学习(4)——图机器学习与嵌入算法

图机器学习(4)——图机器学习与嵌入算法0. 前言1. 图机器学习1.1 机器学习基本原理1.2 图机器学习的独特优势2. 广义图嵌入问题3. 图嵌入算法分类小结0. 前言 机器学习是人工智能的一个重要分支,它致力于让系统能够从数据中自主学习并持续优…