我有一组超过65年的780个月的温度异常,我想分析这些异常的频率。我用光谱软件包来做这个,我在分析之前和之后包括了这个系列的图片。在
from spectrum import *
p = Periodogram(anomalies, sampling=1/12)
p.run()
plt.title('Power Spectrum of Monthly Temperature Anomalies')
p.plot(marker='.')
plt.show()
由此产生的光谱有几个明显的负尖峰。现在我明白了Db中的负值实际上不是负绝对值,但是为什么会发生这种情况呢?这是否意味着我的数据中缺少某些特定的频率?因为正尖峰意味着有人在场。在
另外,为什么大多数频率显示为负值?作为放大倍数的Db的参考值是多少?在
我的一部分人认为我应该取这个光谱的绝对值,但我想知道为什么如果是这样的话。另外,我把采样值设为1/12,因为数据点是每月的,所以希望频率标度是每年?在
非常感谢,这是我在这里的第一篇文章,所以如果我需要更清楚地了解任何事情,请让我知道。在
负能量
正在分析的系列
如图所示,在y轴上,单位是dB(分贝,https://en.wikipedia.org/wiki/Decibel)。所以我们看到的不是原始数据(在频域中),而是类似于10*log10(数据)的东西。这解释了负值的存在,这是完全正常的。在
这里有正值和负值,但通常情况下,您会将数据规范化(按最大值),以便所有值都为负值,最高值设置为0。这可以使用:
您可以绘制原始数据(不使用log函数),但需要使用原始数据(在频域中)。例如,要重现p.plot函数的行为,可以使用:
^{pr2}$因此,如果您不想使用分贝单位,请使用:
免责声明:我是光谱(http://pyspectrum.readthedocs.io/)的主要作者。在
相关问题 更多 >
编程相关推荐