时间序列分析-无模型

本节内容介绍了无模型的时间序列分析方法,包括时间序列作趋势图、逐年分解、时间序列分解、直方图、ACF与PACF图,主要是作图。

首先导入数据和对应的库:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import adfuller
df = pd.read_csv("SARIMA数据.csv")

在对时间序列进行分析前,务必将数据df的时间列转化为时间序列数据,并设置为索引:

import datetime as dt
tt = []
for i in df["时间"]:a = dt.datetime.strptime(i,'%Y/%m/%d')b = dt.datetime.strftime(a,'%Y-%m-%d')tt.append(b)
df['date'] = tt
df['date'] = pd.to_datetime(df['date'])  # 将指定列转换为日期时间格式
df.set_index('date', inplace=True)

一、时间序列趋势图

plt.figure(figsize=(10, 4))
plt.plot(df.index, df['患病人数'])
plt.title('Time Series Data')
plt.xticks(range(1,len(data),25),rotation=45)
plt.xlabel('Date')
plt.ylabel('Value')
plt.show()

二、逐年分解图

plt.figure(figsize=(16,8))
plt.grid(which='both')
years = int(np.round(len(data)/12))
for i in range(years):index = data.index[i*12:(i+1)*12]plt.plot(data.index[:12].month_name(),data.loc[index].values);plt.text(y=data.loc[index].values[11], x=11, s=data.index.year.unique()[i]);
plt.legend(data.index.year.unique(), loc=0);
plt.title('Monthly Home Sales per Year');

如图所示,就将不同年份的数据投射在相同的月份坐标轴上,可以看出不同年份之间的变化趋势有着相似的变化趋势,可以提出时间序列数据存在月份效应的假设,然后进一步进入模型研究,直到最终确定(日历和月历效应的研究可以参考博主的其他文章)

三、时间序列分解为长期趋势、季节性/周期性部分、残差

result1 = seasonal_decompose(data, model='additive')
# 绘制分解后的系列
plt.figure(figsize=(12, 10))
# 原始数据
plt.subplot(4, 1, 1)
plt.plot(result.index, result['bitcoin_price'], label='open', color='b')
plt.title('Data')
plt.xlabel('Date')
plt.ylabel('Data Value')
plt.grid(False)
plt.legend()
# 趋势分量
plt.subplot(4, 1, 2)
plt.plot(result.index, result1.trend, label='Trend', color='b')
plt.title('Trend Component')
plt.xlabel('Date')
plt.ylabel('Trend Value')
plt.grid(False)
plt.legend()
# 季节效应
plt.subplot(4, 1, 3)
plt.plot(result.index, result1.seasonal, label='Seasonal', color='b')
plt.title('Seasonal Component')
plt.xlabel('Date')
plt.ylabel('Seasonal Value')
plt.grid(False)
plt.legend()
# 残差
plt.subplot(4, 1, 4)
plt.plot(result.index, result1.resid, label='Residual', color='b')
plt.title('Residual Component')
plt.xlabel('Date')
plt.ylabel('Residual Value')
plt.grid(False)
plt.legend()
plt.tight_layout()
plt.show()

四、直方图和ACF、PACF图

def plot_data_properties(data, ts_plot_name="Time Series plot"):'''Summary:-------Plots various plots, including time series, autocorrelation,partial autocorrelation and distribution plots of data.Parameters:----------ts_plot_name(String): The name of the time series plotdata(pd.Dataframe, pd.Series, array): Time Series DataReturns:--------None'''plt.figure(figsize=(16,4))plt.plot(data)plt.title(ts_plot_name)plt.xticks(range(1,len(data),25),rotation=45) plt.ylabel('Sales')plt.xlabel('Year')fig, axes = plt.subplots(1,3,squeeze=False)fig.set_size_inches(16,4)plot_acf(data, ax=axes[0,0], lags=48);plot_pacf(data, ax=axes[0,1], lags=48);sns.distplot(data, ax=axes[0,2])axes[0,2].set_title("Probability Distribution")plot_data_properties(data);

关注gzh‘finance褪黑素’,还有很多金融、大数据相关的文章、代码、数据推送~

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

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

相关文章

与Apollo共创生态:让汽车更聪明,让出行更简单

目录 前言Apollo X 企业解决方案Studio X 企业协同开发工具链Apollo开放平台携手伙伴共创生态Apollo开发平台生态共创计划 前言 百度2013年开始布局自动驾驶,2017年推出全球首个自动驾驶开放平台Apollo。目前百度Apollo已经在自动驾驶、智能汽车、智能地图等领域拥有…

Spring6 当中 Bean 的生命周期的详细解析:有五步,有七步,有十步

1. Spring6 当中 Bean 的生命周期的详细解析:有五步,有七步,有十步 文章目录 1. Spring6 当中 Bean 的生命周期的详细解析:有五步,有七步,有十步每博一文案1.1 什么是 Bean 的生命周期1.2 Bean 的生命周期 …

Flask 3 保姆级教程(一):快速上手

一、创建项目 PyCharm 中新建项目 创建完成后会出现这么个项目 以下是代码解析: # 导入了 Flask 类 from flask import Flask# 创建了一个 Flask web 应用的实例,并将其赋值给变量 app # __name__ 是一个特殊的 Python 变量,它表示当前模块…

第49期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

变电站自动化控制系统应用案例分析

变电站自动化控制系统介绍 变电站自动化控制系统用于大中型企业变电站项目,这类企业变压器多,日耗电量大。把多个变压器集中到一个电器平台上,集中管理分析,优化厂区用电管理,从而达到集中控制、集中分析、集中管理的…

VOS系统录音文件REC转MP3,REC录音转WAV与WAV转MP3具体项目中实现方式,以及占用空间变化!

前面讲解了VOS3000系统的录音REC转MP3的安装步骤,不清楚的,可以移步这里查看:http://t.csdnimg.cn/OXNT9 或者 点击这里查看安装步骤,下面继续讲下他们的使用方法,以及实际项目中的运用,首先我们需要明确我…

Android中的屏幕刷新机制(动画视频形象说明机制)

一,刷新率和帧率,60hz和60fps的区别 在Android系统中,刷新率和帧率是两个不同的概念,它们各自在显示过程中扮演着不同的角色。以下是对它们的详细解释: 刷新率,单位是Hz,是指屏幕在一秒内刷新…

STK与matlab交互 Astrogator模块(13)

一、背景介绍 在本文介绍一个场景,五颗蓝方卫星和一颗红方卫星,在两个小时之内,使用神经网络等人工智能算法,实现一个轨道追踪的问题,其中接口输入是六颗卫星在J2000坐标系下的坐标,接口输出是该六颗卫星沿…

windows下安装onlyoffice

文章目录 1、 安装ErLang2、 安装rabbitmq3、 安装postgresql4、 安装onlyoffice(社区版) 1、 安装ErLang 下载地址:https://erlang.org/download/otp_win64_24.2.exe opt_wind64_24.2.exe 直接运行,一步一步安装 2、 安装rabbitmq 下载地址&#xf…

.NET C# ORM 瀚高数据库

SqlSugar ORM SqlSugar 是一款 老牌 .NET开源ORM框架,由果糖大数据科技团队维护和更新 ,开箱即用最易上手的ORM 优点 :【生态丰富】【高性能】【超简单】 【功能全面】 【多库兼容】【适合产品】 【SqlSugar视频教程】 支持 &#xff1a…

linux部署java1.8(java17)

两种方式: 方式一 1.输入查找命令: yum -y list java*2.输入安装命令: yum install -y java-1.8.0-openjdk.x86_643.测试是否已经安装: java -version方式二: 点击链接进入官网:https://www.oracle.com/…

H3C无线AP管理命令

先上链接 01-AP管理命令-新华三集团-H3C display wlan ap all

redis安装配置

简单启动一个redis容器 拉取redis镜像:(更多版本看https://hub.docker.com/_/redis/tags) sudo docker pull redis:7.2.4简单启动一个redis服务 ,–requirepass 指定密码 123456 sudo docker run -d \ --name redis \ --restartalways \ -p 6379:6379…

Java 如何避免代码中大量的 if else 判断

文章目录 Java 如何避免代码中大量的 if else 判断解决方案1.策略模式2.工厂模式3.策略模式 工厂模式4.提前 return(适用于分支逻辑很简单的 if else)5.枚举 Java 如何避免代码中大量的 if else 判断 在代码中经常会出现 if else 判断,如下…

当众演讲技巧的方法有哪些(3篇)

当众演讲技巧的方法有哪些(3篇) 当众演讲技巧的方法有很多,下面我将分三篇来详细阐述其中的一些关键技巧: **篇:准备与开场技巧 充分准备:提前规划演讲内容,明确主题和目标,准备详…

【蓝桥杯C++A组省三 | 一场勇敢的征途与致19岁的信】

随着4.13西大四楼考场的倒计时结束… 就这样蓝桥杯落幕了 省三的名次既满足又不甘心,但又确乎说得上是19岁途中的又一枚勋章 从去年得知,纠结是否要报名、到寒假开始战战兢兢地准备、陆续开始创作博客,记录好题和成长……感谢你们的关注&…

APT预警攻击平台截获Nday

APT预警攻击平台截获Nday 2024年4月26日 设备漏洞【漏洞利用】H3C Magic R100任意代码执行漏洞(CVE-2022-34598) 0000 : 0010 : 0020 : 0030 : 0040 : 0050 : 0060 : 0070 :6F 72…

请求接口报错:java.lang.IllegalStateException: argument type mismatch

目录 一、场景二、报错信息三、控制器四、接口调用五、原因六、解决 一、场景 1、调用后端接口报错 2、接口参数以Json方式传递 – 二、报错信息 java.lang.IllegalStateException: argument type mismatch Controller [com.xxx.huarunshouzheng.controller.MallControlle…

CCF-CSP真题题解:201409-3 字符串匹配

201409-3 字符串匹配 #include <iostream> #include <cstring> #include <algorithm> using namespace std;int n, type; string s, p;string tolower(string s) {string res;for (char c : s) res tolower(c);return res; }int main() {cin >> p >…

【探索Linux】P.33(HTTP协议)

阅读导航 引言一、认识URL二、URL编码和解码1. Urlencode&#xff08;URL编码&#xff09;2. Urldecode&#xff08;URL解码&#xff09; 三、HTTP的方法四、HTTP的状态码五、HTTP常见Header六、最简单的HTTP服务器温馨提示 引言 在上一篇文章中&#xff0c;我们深入探讨了“自…