原文链接:http://tecdat.cn/?p=6613

原文出处:拓端数据部落公众号

任何时间序列都可以表示为在 谐波 频率上振荡的余弦和正弦波之和= j / n,其中j = 1,2,...,n / 2。周期图给出了关于各种频率的相对强度的信息,用于解释时间序列的变化。

周期图是称为谱密度 函数的样本估计,其是群体平稳时间序列的频域表征。谱密度是与自协方差时域表示直接相关的时间序列的频域表示。本质上,谱密度和自协方差函数包含相同的信息,但以不同的方式表达。

估计光谱密度的方法

原始周期图是人口谱密度的粗略样本估计。估计是“粗略的”,部分是因为我们只使用离散的基波谐波频率用于周期图,而频谱密度是在连续的频率上定义的。

平滑方法(光谱密度的非参数估计)

在R中,可以使用命令kernel 生成m = 2 的Daniell内核的加权系数。  结果是

coef [-2] = 0.2
coef [-1] = 0.2
coef [0] = 0.2
coef [1] = 0.2
coef [2] = 0.2

coef []的下标是指与时间t的平均值中心的时差。

在R中,命令 (“daniell”,c(2,2))将提供系数,这些系数将作为权重应用于对两个平滑中m = 2 的回旋Daniell内核的原始数据值求平均值。结果是

 coef [-4] = 0.04
coef [-3] = 0.08
coef [-2] = 0.12
coef [-1] = 0.16
coef [0] = 0.20
coef [ 1] = 0.16
coef [2] = 0.12
coef [3] = 0.08
coef [4] = 0.04

这会生成平滑公式

^ x t=0.04xt-4+0.08xt-3+0.12xt-2+0.16xt-1+0.20xt+0.16xt+1+0.12xt+2+0.08xt+3+0.04xt+4。x^t=0.04xt−4+0.08xt−3+0.12xt−2+0.16xt−1+0.20xt+0.16xt+1+0.12xt+2+0.08xt+3+0.04xt+4.

命令 (“modified.daniell”,c(2,2)) 给出了这些系数:

coef [-4] = 0.01563
coef [-3] = 0.06250
coef [-2] = 0.12500
coef [-1] = 0.18750
coef [0] = 0.21875
coef [1] = 0.18750
coef [2] = 0.12500
coef [3] = 0.06250
coef [4] = 0.01563

当我们平滑周期图时,我们在频率间隔而不是时间间隔上进行平滑。

带宽

带宽应该足以平滑我们的估计,但是如果我们使用太大的带宽,我们将过多地平滑周期图并且错过看到重要的峰值。在实践中,通常需要一些实验来找到提供合适平滑的带宽。

R代码

使用Daniell内核对周期图进行平均/平滑可以使用两个命令的序列在R中完成。第一个定义了Daniell内核,第二个定义了平滑周期图。

例如,假设观察到的序列被命名为x,我们希望使用具有m = 4的Daniell内核来平滑周期图。命令是

 mvspec(x,k,log =“no”)

第一个命令创建平滑所需的加权系数,并将它们存储在名为k的向量中。 第二个命令要求基于系列x的周期图的谱密度估计,使用存储在k中的加权系数,该图将是普通的比例,不是对数刻度。

如果需要卷积,则可以将内核命令修改为类似k = kernel(“daniell”,c(4,4)) 。

例如,m = 4 的修改后的Daniell内核长度L = 2 m +1 = 9,因此我们可以使用该命令

mvspec(x,spans = 9,log =“no”)可以使用每次通过m = 4 的修改的Daniell内核的两次通过mvspec(x,spans = c(9,9),log =“no”)

 

可以使用命令创建原始周期图(或者可以使用第6课中给出的方法创建原始周期图)。

mvspec(x,log =“no”)

请注意,在刚刚给出的命令中,我们省略了为平滑提供权重的参数。

原始周期图如下:

下一个图是使用具有m = 4 的Daniell核的平滑周期图。

下一个图是一个平滑的周期图,使用Daniell内核的两次传递,每次传递m = 4。请注意它是如何比以前更平滑。

要了解两个主要峰的位置,请为mvspec输出指定一个名称,然后列出它。例如,

specvalues = mvspec(x,k,log =“no”)
specvalues $ spec

您可以筛选输出以查找峰值出现的频率。频率和频谱密度估计单独列出,但顺序相同。确定最大光谱密度,然后找到相应的频率。

这里,第一个峰值的频率≈0208。与此周期相关的周期(月数)= 1 / .0208 = 48个月。第二个峰值出现在频率≈0.083333。相关时期= 1 / .08333 = 12个月。第一个峰值与厄尔尼诺天气效应有关。第二个是通常12个月的季节性影响。

abline(v = 1/44,lty =“dotted”)
abline(v = 1/12,lty =“dotted”)

这是结果图:

我们已经足够平滑,但出于演示目的,下一个情节是结果

mvspec(x,spans = c(13,13),log =“no”)

这使用两次修改的Daniell内核,每次长度L = 13(所以m = 6)。

绝对有可能过度平滑。假设我们使用总长度= 73(m = 36)的修改过的Daniell内核。命令是

mvspec(x,spans = 73,log =“no”)

结果如下。高峰消失

光谱密度的参数估计

谱密度估计的平滑方法称为非参数方法,因为它不使用任何参数模型用于基础时间序列过程。另一种方法是参数方法,该方法需要找到该系列的最佳拟合AR模型,然后绘制该模型的谱密度。

在R中,使用命令/功能spec.ar可以轻松完成谱密度的参数估计。

估计的谱密度的出现与以前相同。估计的厄尔尼诺峰位于略微不同的位置 - 频率约为0.024,周期约为1 / 0.024 =约42个月。

 

平滑器在原始数据中的应用

请注意,此处描述的平滑器也可以应用于原始数据。Daniell内核及其修改只是移动平均(或加权移动平均)平滑器。

有问题欢迎联系我们!

拓端tecdat|用R语言软件估计光谱密度相关推荐

  1. r统计建模与r软件期末考试题_“统计学诺贝尔奖”授予 R 语言软件工程师 Hadley Wickham | 科研圈日报...

    "科研圈日报"主要关注科研圈与研究者个体.科研圈与更广阔的社会环境之间的重要互动.点击 这里 可以查看往期内容. · 学术荣誉 "统计学诺贝尔奖"授予 R 语言 ...

  2. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  3. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  4. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  5. 拓端tecdat|bilibili视频流量数据潜望镜

    最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...

  6. R 语言怎么保存工作目录到当前路径_【R语言基础】01.R语言软件环境搭建及常用操作...

    一.R语言简介 R语言是专业的统计分析软件,来自著名数据科学网站(http://www.kdnuggets.com/)发起的一个2019年统计分析和数据挖掘软件使用情况的调查结果: 表明R语言是该领域 ...

  7. r语言软件GDINA_finTech MSc代做、代写Python程序语言、代写MSc program、代做Python设计帮做C/C++编程|代写R语言...

    finTech MSc代做.代写Python程序语言.代写MSc program.代做Python设计帮做C/C++编程|代写R语言Strathclyde Business School, finTe ...

  8. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  9. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  10. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

最新文章

  1. 打印机十大共性故障解决方法
  2. [转]gtest使用
  3. NDK 原生代码处理图形
  4. 专业的PDF组件Spire.PDF for .NET V3.9.124发布|支持图标布局
  5. Redis常用数据类型的数据结构
  6. php中嵌套html代码和html代码中嵌套php方式
  7. python递增文件名_python-文件存在时文件名中的数字递增
  8. 程序员必读的30本书籍
  9. bing翻译使用-Unity
  10. 蚁群算法C语言最短路径规划,蚁群算法规划路径
  11. 椭圆一般方程(ABCDEF)转椭圆参数方程(长短轴,几何中心)
  12. 企业网站制作网站安全评估技术与漏洞挖掘技术
  13. mysql四种隔离级别
  14. css:使用div绘制一条竖线
  15. mac实用小技巧之解压.xip文件
  16. spring-boot 与 dubbo
  17. 行业分析-全球与中国抛光混凝土地板市场现状及未来发展趋势
  18. TMS320F28388D 的 IPC程序使用
  19. 2020最受欢迎的7个vue管理后台框架
  20. [WARNING] The requested profile pom.xml could not be activated because it does not exist.

热门文章

  1. 使用junit4测试spring项目中service方法
  2. 超实用的JavaScript技巧及最佳实践(下)
  3. 两周,好多人的帮助解决select空列不显示的function
  4. TX2 摄像头CSI(一)
  5. 进程切换与线程切换的区别
  6. 完全分布式安装Hadoop,Hive,Hbase,Hwi,Zookeeper
  7. 微信小程序之:小程序接入高德地图SDK
  8. iOS UIStepper使用方法的总结
  9. TCP之keepalive
  10. fdisk添加分区引起的Linux Error: 22: Invalid argument