Jam*_*ers 5 r time-series time-frequency
我正在尝试分析R中的一些嘈杂的时间序列数据.数据基于动物的二氧化碳排放,它们显示出我想要表征的一种循环周期性.我想测试一下假设:
H0:没有循环CO2排放(即不超过随机).
H1:循环或脉冲中存在二氧化碳排放模式.
为此,我将数据导入R,将其转换为时间序列类,并绘制其周期图.
t25a <- read.table("data.txt", header=TRUE, sep="\t")
t1 <- ts(t25a$Co2)
plot(t1)
spec.pgram(t1, spans=4, log="no")
Run Code Online (Sandbox Code Playgroud)
这是看起来的样子,原始数据绘制在顶部,下面的周期图如下:

在下图中,我可以看到四个或五个略微不同的峰值,表示数据中的频率成分.我的问题是 - 他们都同样"重要"吗?有没有办法测试观察到的峰值是否彼此显着不同或者是否与零假设的预测有显着差异?我所知道的是找到与这些峰值相关的频率,但我想要一个更客观的方法来确定数据中确实存在多少"重要"峰值.
一种选择是在零假设下模拟数据集(不具有您正在寻找的周期性,但仍然具有其他时间序列特征)。如果您有数值检验统计量(峰值数或其他测量值),那么您可以为许多模拟数据集中的每一个计算该统计量,这将为您提供抽样分布,只需将实际数据的检验统计量与抽样进行比较分配。如果您没有直接的数字测试统计数据,那么您可以考虑进行视觉测试,请参阅:
Run Code Online (Sandbox Code Playgroud)Buja, A., Cook, D. Hofmann, H., Lawrence, M. Lee, E.-K., Swayne, D.F and Wickham, H. (2009) Statistical Inference for exploratory data analysis and model diagnostics Phil. Trans. R. Soc. A 2009 367, 4361-4383 doi: 10.1098/rsta.2009.0120
vis.testR 包中的函数有助于TeachingDemos实现此测试(但也有其他方法)。
| 归档时间: |
|
| 查看次数: |
5245 次 |
| 最近记录: |