使用Python进行季节性分解

我有一个CSV文件,包含了近5年的平均温度数据。使用statsmodels.tsa.seasonal中的seasonal_decompose函数进行分解后,我得到了以下结果。确实,结果中没有显示任何季节性!然而,我在趋势中清楚地看到了一个sin波形!我想知道这是为什么,以及如何纠正这个问题?谢谢你。

nresult = seasonal_decompose(nseries, model='additive', freq=1)
nresult.plot()
plt.show()

enter image description here


回答:

看起来你的freq设置有误。

import numpy as np
import pandas as pd
from statsmodels.tsa.seasonal import seasonal_decompose
# 生成一些数据
np.random.seed(0)
n = 1500
dates = np.array('2005-01-01', dtype=np.datetime64) + np.arange(n)
data = 12*np.sin(2*np.pi*np.arange(n)/365) + np.random.normal(12, 2, 1500)
df = pd.DataFrame({'data': data}, index=dates)
# 重现原始帖子的示例
seasonal_decompose(df, model='additive', freq=1).plot()

enter image description here

# 重新做同样的事情,但使用已知的频率
seasonal_decompose(df, model='additive', freq=365).plot()

enter image description here

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注