Python实现时间序列分析使用LOESS(STL)模型进行季节性趋势分解(STL算法)项目实战

news2025/1/24 11:02:50

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。

1.项目背景

时间序列分析中,LOESS(局部加权回归平滑)和STL(Seasonal and Trend decomposition using Loess)是两种用于分解时间序列数据以提取其内在趋势、季节性和随机波动的方法。

LOESS(Locally Weighted Scatterplot Smoothing)是一种非参数回归技术,它对数据点周围的一个小窗口内的数据进行加权最小二乘回归,以得到该点的平滑估计值。LOESS通过自适应地改变每个数据点的邻域权重来反映局部结构,从而有效地捕获复杂曲线上的模式。

STL算法利用了LOESS方法的特性来进行时间序列的季节性趋势分解。STL将时间序列分解为三个主要组成部分:

趋势(Trend):长期变化的趋势成分,反映了数据随时间推进的基本走向。

季节性(Seasonality):周期性的重复模式,如每日、每周、每月或每年的规律性波动。

残差(Residuals/Noise):除去趋势和季节性后的随机波动,通常被视为“不规则”或“异常”。

在STL分解过程中,首先使用一个循环过程来估计并去除季节性分量,然后应用LOESS方法估算趋势分量,最后从原始数据中减去趋势和季节性分量,得出残差。这个过程是迭代进行的,直到各个组件达到一定的稳定状态。

总的来说,STL算法基于LOESS实现了一种灵活且稳健的时间序列分解方法,能够有效处理各种复杂的时间序列数据,并且特别适用于具有复杂季节性特征的数据集,以便于进一步的分析和预测工作。

本项目通过STL算法来构建时间序列分析使用LOESS(STL)模型进行季节性趋势分解。          

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

编号 

变量名称

描述

1

DATE

2

y

数据详情如下(部分展示):

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据:

关键代码:

3.2 数据缺失查看

使用Pandas工具的info()方法查看数据信息:

      

从上图可以看到,总共有1个变量,数据中无缺失值,共257条数据。

关键代码:

3.3 数据描述性统计

通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。 

关键代码如下:    

  

4.探索性数据分析

4.1 变量直方图

用Matplotlib工具的hist()方法绘制直方图:

从上图可以看到,变量主要集中在70~130之间。  

4.2 折线图

从上图中可以看到,数据有一定的波动性。

5.构建LOESS(STL)模型进行季节性趋势分解 

主要使用STL算法,用于时间序列分析使用LOESS(STL)模型进行季节性趋势分解。      

5.1 构建模型

编号

模型名称

参数

1

LOESS(STL)模型进行季节性趋势分解

period=12

2

seasonal_deg=0

3

trend_deg=0

4

low_pass_deg=0

5

robust=True

  1. 模型评估

6.1 STL分解后的趋势、季节性和残差部分的折线图一

采用鲁棒的方法来处理离群值和不采用鲁棒的方法来处理离群值进行绘图。

6.2 绘制鲁棒性STL分解的权重图

6.3 STL分解后的趋势、季节性和残差部分的折线图二

不使用多项式拟合季节性部分,不使用多项式拟合趋势,低通滤波器进行绘图。

7.结论与展望

综上所述,本文采用了STL算法来构建时间序列分析使用LOESS(STL)模型进行季节性趋势分解,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。   

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:

链接:https://pan.baidu.com/s/1r-N6XulWjWBfEcDRPCMTDA 
提取码:f8gt

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python第十七章(面向对象总结)

一。面向对象三大特征 1.封装:将属性和方法写到类里面,且可以添加私有属性和方法 2.继承:子类默认继承父类的所有属性和方法,子类可以重写父类的属性和方法 3.多态:传入不同的对象,产生不同的结果 二。多…

用连续自然数之和来表达整数

文章目录 题目描述:用连续自然数之和来表达整数输入描述输出描述用例1说明用例2代码运行举例注意:1、sprintf 和 strcat区别2、qsort 题目描述:用连续自然数之和来表达整数 一个整数可以由连续的自然数之和来表示。 给定一个整数&#xff0c…

鸿蒙语言ArkTS(更好的生产力与性能)

ArkTS是鸿蒙生态的应用开发语言 ArkTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发应用。 同时,它在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范强化静态检…

自动驾驶中的 DCU、MCU、MPU、SOC 和汽车电子架构

自动驾驶中的 DCU、MCU、MPU 1. 分布式电子电气架构2. 域集中电子电气架构架构2.1 通用硬件定义 3. 车辆集中电子电气架构4. ADAS/AD系统方案演变进程梳理4.1 L0-L2级别的ADAS方案4.2 L2以上级别的ADAS方案 5. MCU和MPU区别5.1 MCU和MPU的区别5.2 CPU与SoC的区别5.3 举个例子 R…

陶建国教授谈中西方文化的差异与交融

龙年到来,这个春节里,“龙”字的英文翻译引发关注,冲上了热搜,网友发现,“龙”不再翻译为“dragon”,而是龙字的谐音“loong”。原来,在西方人的眼里,龙是凶猛的怪兽,具有…

Spring 事务原理总结六

不知不觉,关于Spring事务的文章已经写了五篇了。老实讲我自己不断质疑过自己:现在写这些文章还有意义吗?当前的市场已经成什么样了,为什么还要固守这落后的技术?但是贝索斯一次接受访谈的回答,让我写下去的…

抖店退货率太高,2024年没办法继续做了?买家市场下只能这样做

我是王路飞。 之前接到一位粉丝朋友的私信,说是自己做抖店也有段时间了,但现在没之前好做了。 一方面是行业内卷,自己做的无货源模式,没什么优势,利润太低了; 另一方面就是现在抖店的退货问题太严重了&a…

.netcore免费开源大型多用户商城系统源码

随着电商的不断扩大与市场占有率,现在基本每个企业或商家都会搭建自己的线上商城,而其中的多用户商城系统,由于可以让不同行业的商家入驻,同时也可以开设多个店铺受到了众多企业或商家的青睐。最几年,随着.net core C#…

Typora+PicGO+腾讯云COS做图床

文章目录 Typora+PicGO+腾讯云COS做图床一、为什么使用图床二、Typora、PicGO和腾讯云COS介绍三、下载Typora和PicGOTyporaPicGO 四、配置Typora、PicGO和腾讯云COS腾讯云COS配置PicGO配置Typora配置 Typora+PicGO+腾讯云COS做图床…

MyBatis完成单表的CRUD

提示:如果没有基础的可以看我的博客 > MyBatis概述与MyBatis入门程序 MyBatis完成单表的CRUD 一、准备工作二、Insert(Create)1.使用 map 的方式插入数据(1)编写 SQL 语句(2)编写测试代码&am…

数据分析(一) 理解数据

1. 描述性统计(summary) 对于一个新数据集,首先通过观察来熟悉它,可以打印数据相关信息来大致观察数据的常规特点,比如数据规模(行数列数)、数据类型、类别数量(变量数目、取值范围…

文生图提示词:天气条件

天气和气候 --天气条件 Weather Conditions 涵盖了从基本的天气类型到复杂的气象现象,为描述不同的天气和气候条件提供了丰富的词汇。 Sunny 晴朗 Cloudy 多云 Overcast 阴天 Partly Cloudy 局部多云 Clear 清晰 Foggy 雾 Misty 薄雾 Hazy 朦胧 Rainy 下雨 Showers …

【Leetcode刷题笔记】27. 移除元素

原题链接 Leetcode 27. 移除元素 题目 给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。…

js---webAPI

01 声明变量 js组成: DOM:操作网页内容的,开发页面内容特效和实现用户交互 BOM: DOM树:将 HTML 文档以树状结构直观的表现出来,我们称之为文档树或 DOM 树 文档树直观的体现了标签与标签之间的关系 CSS获取元素的方法 document.querySele…

stm32h750中文数据手册以及中文参考手册

stm32h750中文数据手册以及中文参考手册 🔧腾讯交互翻译:https://transmart.qq.com/zh-CN/file🔨PDF拆分合并工具集在线:https://www.ilovepdf.com/zh-cn ✨就目前来讲,stm32h750VB芯片价格,算是历史新低&a…

Mybatis-Plus常用技巧

一、官网网站: https://baomidou.com/pages/24112f/#%E7%89%B9%E6%80%A7 技巧和常用方法在官网使用 二、离线安装MybatisX插件-free 1、在idea官网下载插件的zip压缩包,上链接(https://plugins.jetbrains.com/) 2、在搜索框搜…

模型训练 —— AI算法初识

一、背景 AI算法中模型训练的主要目的是为了让机器学习算法从给定的标注数据中学习规律、特征和模式,并通过调整模型内部参数,使模型能够对未见过的数据进行准确预测或决策。具体来说: 1. **拟合数据**:模型通过训练来识别输入数…

Android下SF合成流程重学习之onMessageInvalidate

Android下SF合成流程重学习之onMessageInvalidate 引言 虽然看了很多关于Android Graphics图形栈的文章和博客,但是都没有形成自己的知识点。每次学习了,仅仅是学习了而已,没有形成自己的知识体系,这次趁着有时间,这次…

外汇天眼:8个平台被打击,有的因诈骗被处罚!

上周,澳大利亚证券和投资委员会(ASIC)取消了总部位于悉尼的Brava Capital的澳大利亚金融服务许可证(AFSL),意大利公司和交易委员会CONSOB则将6个非法投资平台网站列入黑名单。另外,Reiwa-Capita…

uni-app使用uView打开弹出层后输入框聚焦时placeholder错位问题

这里就不放效果了,大概意思就是在使用uView的popus时,在底部弹出后,如果弹窗中的输入框会造成一瞬间的placeholder文字错位,这个问题的主要是因为uView安全区适配导致 uView相关文档 https://www.uviewui.com/components/safeAr…