我有一个具有两种基本行为的数据。首先,它有一个周期性。它看起来像一个正弦曲线。其次,数据点不断增长。因此,如果我有 100 个没有任何增长的数据点,它将看起来像一条正弦曲线。但由于它的增长率。从点 1 到点 100 的幅度增加。
我不确定在 google 中搜索的正确术语是什么。有这种数据分析的方法吗?
我有一个具有两种基本行为的数据。首先,它有一个周期性。它看起来像一个正弦曲线。其次,数据点不断增长。因此,如果我有 100 个没有任何增长的数据点,它将看起来像一条正弦曲线。但由于它的增长率。从点 1 到点 100 的幅度增加。
我不确定在 google 中搜索的正确术语是什么。有这种数据分析的方法吗?
您正在寻找的术语是“时间序列的趋势和季节性分解”。谷歌这个。
有很多方法。如果你真的只有 100 分,那么傅立叶就不会很好地工作。基于 Yule-Walker 的方法可能效果更好。还有基于过滤器的方法。例如,Google 带通滤波器,例如来自 Atlanta Fed的bpassm 。这个想法是你从系列中过滤掉不同的频率分量,这样低频是趋势,中频是信号,高频是季节性等。
这个 matlab 示例中有完整的代码集。它会带您逐步完成去季节的过程,根据我的经验,它对经济数据非常有效
经典的自回归模型可以处理循环!追溯到很久以前,Yule (1927) 和 Walker (1931) 使用以下形式的方程模拟了太阳黑子的周期性:
太阳黑子活动往往以 11 年为周期,虽然不是很明显,但包含两个自回归项会产生循环行为!自回归模型现在在现代时间序列分析中无处不在。美国人口普查局使用 ARIMA 模型来计算季节性调整。
更一般地说,您可以拟合一个ARIMA模型,其中包括:
如果您深入研究数学,则 ARIMA 模型和频域中的表示之间存在傅里叶变换的关系。您可以使用自回归模型、移动平均模型或谱密度来表示平稳的时间序列过程。
当然,您可以变得更花哨,但通常简单的东西可以很好地工作。在 R、EViews、Stata 等中有很好的时间序列分析包......
如果您的数据是时间序列,您可能需要研究三次指数平滑法,也称为 Holt-Winters 方法。这可以适应加性季节性(季节性幅度不随时间的上升趋势而增长)和乘性季节性。这是区别:
Hyndman 和 Athanasopoulos 的免费在线预测教科书的这一部分解释了Holt-Winters。这是基于Gardner (2006, International Journal of Forecasting )的指数平滑方法的完整分类。为了对这样的序列进行实际建模,提取趋势、季节性和误差分量并进行预测,我推荐R 包中ets()的函数。forecast