时间序列分析这件小事(五)--MA模型

    xiaoxiao2021-12-14  22

     无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。教程链接:https://www.cbedai.net/qtlyx

     

    1.MA

    之前讲了AR模型,与之对应的是MA模型,也就是移动平均模型。与AR模型类似,只不过,之前是由不同阶滞后的序列拟合出yt,而现在是不同阶滞后的白噪音拟合。说白了,就是我们认为yt是白噪音的线性加权。同样的,我们利用R语言自带的函数来实现MA的学习。

     

    #example 7 y3 = arima.sim(n=100,list(ma = 0.8)) plot(y3,type = 'o')

     

     

     

     

     

    同样的,acf与模型辨识函数都可以使用。

    2.ARMA

    ARMA。看名字就知道,把AR和MA模型合起来就是了。

     

    set.seed(12345) y4 = arima.sim(n=100,list(ar = 0.8,ma = 0.6)) plot(y4,type = 'o')

    套路还是一样的,大家自己看一下图。ARMA的模型辨识,通常我们认为,acf在q步后截尾,则MA是q阶的;pacf在p阶截尾,则AR是p阶的。但是,往往会不太准确,只能说是一个参考。例如下面

     

     

    acf(y4)#acf在q步后截尾,那么可以认为是MA(q) pacf(y4)#pacf在p阶截尾,那么可以认为是AR(p)

     

     

     

     

     

    我们发现,现实如此残酷,和我们生成的完全不同。

    R中forecast包中有一个auto函数,可以给出自动的模型参数辨识。

     

    auto.arima(y4)

     

     

     

     

     

    这个方法还是很靠谱的吧。当然了,别忘了先加载forecast包。

     

     

    转载请注明原文地址: https://ju.6miu.com/read-970953.html

    最新回复(0)