spec.pgram 相当于 Python
spec.pgram equivalent in Python
我正在使用 R 处理一些遗留代码。在代码中,周期图的频率和强度被提取并用于一些下游分析:
spec.pgram(tdata,pad=0.3,tap=0.3,span=2,plot=F,detrend=TRUE,demean=TRUE)
其中tdata为一维时间序列数据。
问题是我想将此部分移植到 Python,但我无法重现此命令的输出。
到目前为止,我尝试使用 scipy 实现:
scipy.signal.periodogram(tdata)
和pyspectrum包的实现:
p = spectrum.Periodogram(tdataA1n)
freq = p.frequencies()
intensities = p.psd
不幸的是,这两种方法都产生了相似的“模式”,但值的幅度明显较低(例如,与 R 中的 0-600 相比,值范围为 0-300)。我假设这是基于 R 中的一些参数,但我不知道如何将它们转换为 python.
将不胜感激。
如果有人在寻找解决方案,我找到了 GitHub repo 和 spec.pgram 的 python 版本,这对我来说就像一个魅力。不幸的是它不包含明确的许可,所以我猜想原始实现的 GPL 许可是适用的。
我正在使用 R 处理一些遗留代码。在代码中,周期图的频率和强度被提取并用于一些下游分析:
spec.pgram(tdata,pad=0.3,tap=0.3,span=2,plot=F,detrend=TRUE,demean=TRUE)
其中tdata为一维时间序列数据。
问题是我想将此部分移植到 Python,但我无法重现此命令的输出。
到目前为止,我尝试使用 scipy 实现:
scipy.signal.periodogram(tdata)
和pyspectrum包的实现:
p = spectrum.Periodogram(tdataA1n)
freq = p.frequencies()
intensities = p.psd
不幸的是,这两种方法都产生了相似的“模式”,但值的幅度明显较低(例如,与 R 中的 0-600 相比,值范围为 0-300)。我假设这是基于 R 中的一些参数,但我不知道如何将它们转换为 python.
将不胜感激。
如果有人在寻找解决方案,我找到了 GitHub repo 和 spec.pgram 的 python 版本,这对我来说就像一个魅力。不幸的是它不包含明确的许可,所以我猜想原始实现的 GPL 许可是适用的。