iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >R语言中时间序列分析浅析
  • 575
分享到

R语言中时间序列分析浅析

2024-04-02 19:04:59 575人浏览 泡泡鱼
摘要

时间序列是将统一统计值按照时间发生的先后顺序来进行排列,时间序列分析的主要目的是根据已有数据对未来进行预测。 一个稳定的时间序列中常常包含两个部分,那么就是:有规律的时间序列+噪声。

时间序列是将统一统计值按照时间发生的先后顺序来进行排列,时间序列分析的主要目的是根据已有数据对未来进行预测。

一个稳定的时间序列中常常包含两个部分,那么就是:有规律的时间序列+噪声。所以,在以下的方法中,主要的目的就是去过滤噪声值,让我们的时间序列更加的有分析意义。

语法

时间序列分析中ts()函数的基本语法是


timeseries.object.name <-  ts(data, start, end, frequency)

以下是所使用的参数的描述 

  • data是包含在时间序列中使用的值的向量或矩阵。
  • start以时间序列指定第一次观察的开始时间。
  • end指定时间序列中最后一次观测的结束时间。
  • frequency指定每单位时间的观测数。

除了参数“data”,所有其他参数是可选的。

时间序列的预处理:

  1. 平稳性检验:

    拿到一个时间序列之后,我们首先要对其稳定性进行判断,只有非白噪声的稳定性时间序列才有分析的意义以及预测未来数据的价值。

    所谓平稳,是指统计值在一个常数上下波动并且波动范围是有界限的。如果有明显的趋势或者周期性,那么就是不稳定的。一般判断有三种方法:

    • 画出时间序列的趋势图,看趋势判断
    • 画自相关图和偏相关图,平稳时间序列的自相关图和偏相关图,要么拖尾,要么截尾。
    • 检验序列中是否存在单位根,如果存在单位根,就是非平稳时间序列。

    在R语言中,DF检测是一种检测稳定性的方法,如果得出的P值小于临界值,则认为是序列是稳定的。

  2. 白噪声检验

    白噪声序列,又称为纯随机性序列,序列的各个值之间没有任何的相关关系,序列在进行无序的随机波动,可以终止对该序列的分析,因为从白噪声序列中是提取不到任何有价值的信息的。

  3. 平稳时间序列的参数特点

    均值和方差为常数,并且具有与时间无关的自协方差。

时间序列建模步骤:

  • 拿到被分析的时间序列数据集。
  • 对数据绘图,观测其平稳性。若为非平稳时间序列要先进行 d 阶差分运算后化为平稳时间序列,此处的 d 即为 ARIMA(p,d,q) 模型中的 d ;若为平稳序列,则用 ARMA(p,q) 模型。所以 ARIMA(p,d,q) 模型区别于 ARMA(p,q) 之处就在于前者的自回归部分的特征多项式含有d个单位根。 
  • 对得到的平稳时间序列分别求得其自相关系数 ACF 和偏自相关系数 PACF ,通过对自相关图和偏自相关图的分析,得到最佳的阶层 p 和阶数 q。由以上得到的 d、q、p ,得到 ARIMA 模型。 
  • 模型诊断。进行诊断分析,以证实所得模型确实与所观察到的数据特征相符。若不相符,重新回到第(3)步。

考虑从2012年1月开始的一个地方的年降雨量细节。我们创建一个R时间序列对象为期12个月并绘制它。


# Get the data points in fORM of a R vector.
rainfall <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)

# Convert it to a time series object.
rainfall.timeseries <- ts(rainfall,start = c(2012,1),frequency = 12)

# Print the timeseries data.
print(rainfall.timeseries)

# Give the chart file a name.
png(file = "rainfall.png")

# Plot a graph of the time series.
plot(rainfall.timeseries)

# Save the file.
dev.off()

当我们执行上面的代码,它产生以下结果及图表


Jan    Feb    Mar    Apr    May     Jun    Jul    Aug    Sep
2012  799.0  1174.8  865.1  1334.6  635.4  918.5  685.5  998.6  784.2
        Oct    Nov    Dec
2012  985.0  882.8 1071.0

时间序列图

时间序列,使用R

不同的时间间隔

ts()函数中的频率参数值决定了测量数据点的时间间隔。 值为12表示时间序列为12个月。 其他值及其含义如下 

  • 频率= 12指定一年中每个月的数据点。
  • 频率= 4每年的每个季度的数据点。
  • 频率= 6每小时的10分钟的数据点。
  • 频率= 24 * 6将一天的每10分钟的数据点固定。

多时间序列

我们可以通过将两个系列组合成一个矩阵,在一个图表中绘制多个时间序列。


# Get the data points in form of a R vector.
rainfall1 <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)
rainfall2 <- 
           c(655,1306.9,1323.4,1172.2,562.2,824,822.4,1265.5,799.6,1105.6,1106.7,1337.8)

# Convert them to a matrix.
combined.rainfall <-  matrix(c(rainfall1,rainfall2),nrow = 12)

# Convert it to a time series object.
rainfall.timeseries <- ts(combined.rainfall,start = c(2012,1),frequency = 12)

# Print the timeseries data.
print(rainfall.timeseries)

# Give the chart file a name.
png(file = "rainfall_combined.png")

# Plot a graph of the time series.
plot(rainfall.timeseries, main = "Multiple Time Series")

# Save the file.
dev.off()

当我们执行上面的代码,它产生以下结果及图表


           Series 1  Series 2
Jan 2012    799.0    655.0
Feb 2012   1174.8   1306.9
Mar 2012    865.1   1323.4
Apr 2012   1334.6   1172.2
May 2012    635.4    562.2
Jun 2012    918.5    824.0
Jul 2012    685.5    822.4
Aug 2012    998.6   1265.5
Sep 2012    784.2    799.6
Oct 2012    985.0   1105.6
Nov 2012    882.8   1106.7
Dec 2012   1071.0   1337.8

多时间序列图

结合时间序列,使用R

到此这篇关于R语言中时间序列分析浅析的文章就介绍到这了,更多相关R语言时间序列分析内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: R语言中时间序列分析浅析

本文链接: https://www.lsjlt.com/news/125562.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • R语言中时间序列分析浅析
    时间序列是将统一统计值按照时间发生的先后顺序来进行排列,时间序列分析的主要目的是根据已有数据对未来进行预测。 一个稳定的时间序列中常常包含两个部分,那么就是:有规律的时间序列+噪声。...
    99+
    2024-04-02
  • r语言中怎么执行时间序列分析
    在R语言中,进行时间序列分析通常使用ts对象和forecast包。以下是一个简单的时间序列分析流程: 1、加载数据:首先要加载你的时...
    99+
    2024-04-09
    r语言
  • 怎么在R语言中分析和可视化时间序列数据
    在R语言中分析和可视化时间序列数据通常使用ts(时间序列对象)或xts(扩展时间序列对象)包来处理。以下是一些常见的步骤: 导入时...
    99+
    2024-03-04
    R语言
  • R语言时间序列知识点总结
    时间序列对象:变量随着时间变化 时间序列的回归函数(例如ar或arima)通常以时间序列作为参数 许多绘图函数都有针对时间序列对象的特殊方法 ts函数创建时间序列对象 ts(da...
    99+
    2024-04-02
  • R语言时间序列中怎么操作时间年、月、季、日
    本篇内容介绍了“R语言时间序列中怎么操作时间年、月、季、日”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、年pt<-ts(p,&nb...
    99+
    2023-06-08
  • R语言时间序列中时间年、月、季、日的处理操作
    1、年 pt<-ts(p, freq = 1, start = 2011) 2、月 pt<-ts(p,frequency=12,start=c(2011,1))...
    99+
    2024-04-02
  • 一、Python时间序列小波分析——实例分析
    小波分析是在Fourier分析基础上发展起来的一种新的时频局部化分析方法。小波分析的基本思想是用一簇小波函数系来表示或逼近某一信号或函数。 小波分析原理涉及到傅里叶变换,并有多种小波变换,有点点小复杂...
    99+
    2023-09-03
    python matlab 开发语言 傅立叶分析
  • python数据分析之时间序列分析详情
    目录前言时间序列的相关检验白噪声检验平稳性检验自相关和偏相关分析移动平均算法简单移动平均法简单指数平滑法霍尔特(Holt)线性趋势法Holt-Winters季节性预测模型ARIMA模...
    99+
    2024-04-02
  • 如何利用R语言绘制时间序列图
    这篇文章主要讲解了“如何利用R语言绘制时间序列图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用R语言绘制时间序列图”吧!数据GDP.csv文件,存储1879~2019年河南省GDP数...
    99+
    2023-06-08
  • R语言时间序列的知识点有哪些
    这篇文章给大家分享的是有关R语言时间序列的知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。时间序列对象:变量随着时间变化时间序列的回归函数(例如ar或arima)通常以时间序列作为参数许多绘图函数都有针...
    99+
    2023-06-14
  • Pandas 时间序列分析中的resample函数
    Pandas 中的resample函数用于各种频率的转换工作。 resample的参数如下: 参数描述freq转换频率axis=0重采样的轴closed=None在降采样中,设置各时...
    99+
    2024-04-02
  • R语言lubridate包处理时间数据的示例分析
    小编给大家分享一下R语言lubridate包处理时间数据的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代码开放的软件,它是...
    99+
    2023-06-15
  • 利用R语言绘制时间序列图的操作
    数据 GDP.csv文件,存储1879~2019年河南省GDP数据 绘图 # 读取数据, 首先将excel 格式的转化为 csv 格式 再读取 h <- read.tab...
    99+
    2024-04-02
  • C语言中数组排序浅析
    目录前言一、插入排序1、思路2、具体步骤3、代码实现4、复杂度二、冒泡排序1、思路2、具体步骤3、代码实现4、复杂度三、选择排序1、思路2、具体步骤3、代码实现4、复杂度四、希尔排序...
    99+
    2022-12-14
    C语言数组排序 C语言数组 C语言排序
  • 浅析R语言中map(映射)与reduce(规约)
    map(映射)与reduce(规约)操作在数据处理中非常常见,R语言的核心是向量化操作,自带的apply系列函数完成了数据框的向量化计算,而purrr包中的map与reduce系列函...
    99+
    2024-04-02
  • Python与AI分析时间序列数据
    目录简介序列分析或时间序列分析的基本概念安装实用软件包PandashmmlearnPyStructCVXOPTPandas:处理,切片和从时间序列数据中提取统计数据示例处理时间序列数...
    99+
    2024-04-02
  • R语言中如何进行地理空间数据分析
    在R语言中进行地理空间数据分析通常使用专门的地理空间数据处理包,如sp、rgdal、raster、maptools等。以下是一些常见...
    99+
    2024-04-24
    R语言
  • R语言中的MongoDB的示例分析
    今天就跟大家聊聊有关R语言中的MongoDB的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。R利剑MongeDB,分为4个章节。MongoD...
    99+
    2024-04-02
  • R语言关于协方差分析实例分析
    我们使用回归分析创建模型,描述变量在预测变量对响应变量的影响。 有时,如果我们有一个类别变量,如Yes / No或Male / Female等。简单的回归分析为分类变量的每个值提供多...
    99+
    2024-04-02
  • Hive中的时间序列分析是如何进行的
    在Hive中进行时间序列分析通常涉及以下步骤: 创建时间序列数据表:首先,需要创建一个包含时间序列数据的表。可以使用Hive的C...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作