【问题标题】:Extracting ARIMA coefficients for use in custom function提取 ARIMA 系数以用于自定义函数
【发布时间】:2016-03-08 05:59:02
【问题描述】:

我想运行一个基于 ARIMA 模型的自定义函数。该函数调用 ARIMA (2, 0, 3) 模型中的 ma3 系数,该模型在一年的每日数据上运行,并从 2 中减去每个公司的 ma3 系数。我有五家公司 5 年的每日数据,所以每家公司应该有 5 年的价值。我的代码:

>Stressy =function(x) 2-summary(arima(x, order=c(2,0,3)))$coefficients[1, "ma3"] 
>Funny = aggregate(cbind(QQ) ~  Year + Firm , df, FUN = Stressy)

运行我的代码会出现以下错误:

Error in summary(arima(x, order = c(2, 0, 3)))$coefficients : $ operator is invalid for atomic vectors 

我知道可以手动估算结果,但我的数据集足够大,手动处理时会造成混淆。请提出修改建议以解决此问题。

【问题讨论】:

    标签: r function panel autoregressive-models


    【解决方案1】:

    有两种方法可以获得 ma3 系数:

    Stressy <- function(x) 2-coef(arima(x, order=c(2,0,3)))["ma3"] 
    

    Stressy <- function(x) 2-arima(x, order=c(2,0,3))$coef["ma3"] 
    

    您原来的自定义函数不起作用,因为summary(arima_object) 为您提供了一个表格,您无法将$ 运算符应用于该表格:

    x <- arima(df, c(2,0,3))
    class(summary(x))
    [1] "summaryDefault" "table"
    

    【讨论】:

    • 非常感谢@user5042861。它完全按照要求工作。
    猜你喜欢
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多