我无法识别时间序列的参数,所以我想知道a是否可以在该序列上应用时间序列分析
这是数据
a
03/2017 25
04/2017 427
05/2017 42
06/2017 56
07/2017 204
08/2017 28
09/2017 26
10/2017 225
11/2017 84
12/2017 532
01/2018 0
02/2018 665
03/2018 462
04/2018 238
05/2018 84
06/2018 812
07/2018 273
08/2018 364
09/2018 35
10/2018 175
11/2018 182
12/2018 700
01/2019 32
02/2019 0
rolmeanA= df["a"].rolling(window=12).mean()
rolstdA = df["a"].rolling(window=12).std()
plt.plot(rolmeanA, color="black", label='rolmean')
plt.plot(rolstdA, color="green", label='rolstd')
plt.plot(df["a"], color="red", label='A')
plt.xlabel('Dates')
plt.ylabel('Quantities')
plt.legend()
plt.title("a Plot")
plt.show()
如果我可以使用时间序列(如何或如何找到平稳性?) 如果您对如何分析本系列有任何解决方案,请帮助我。 任何帮助将不胜感激。如果您发现错误的问题,我会删除它
答案 0 :(得分:1)
出于平稳性考虑,您可以使用以下scipy软件包运行ADfuller测试:
from statsmodels.tsa.stattools import adfuller
result = adfuller(df["a"].values)
检查变量 results 中的p值,以检查平稳假设是对还是错(有一定概率)。如果不平稳,则可以尝试分析导致值差异(而不是数值差异)的时间序列。
您还可以使用此scipy软件包将系列分解为趋势和季节模式:
import statsmodels.api as sm
decomposition = sm.tsa.seasonal_decompose(df["a"].values, model = 'additive', freq=1)
decomposition.plot()
尝试更改模型的类型(加法或乘法),并可视化数据以尝试得出一些结论(您要做什么)。
有很多不同的分析,您的目标是什么?预测?建立一个解释模型?检查相关性?每个目标都有许多不同的模型和解决方案,因此为了给您提供解决方案,您应该清楚自己需要什么。