【问题标题】:Plotting AIC for intermediate and optimal ARIMA(p,d,q)绘制中间和最优 ARIMA(p,d,q) 的 AIC
【发布时间】:2018-04-30 10:28:31
【问题描述】:

用优化算法找出最佳ARIMA(p,d,q)模型后,根据AIC的最小化,我也得到如下:

head():

  d p q       AIC
1 0 0 0 -2671.744
2 0 0 1 -2686.691
3 0 0 2 -2685.053
4 0 0 3 -2683.094
5 0 0 4 -2688.464
6 0 0 5 -2686.973

tail():

   d p q       AIC
31 0 5 0 -2685.982
32 0 5 1 -2684.926
33 0 5 2 -2683.003
34 0 5 3 -2683.654
35 0 5 4 -2686.069
36 0 5 5 -2698.871

在哪里,是的,d=0 无处不在。

我想知道是否有人知道如何绘制(3d 表面甚至 2d)不同的组合,以便可视化 AIC 方面的改进。以某种方式突出显示最大 AIC 可能也很酷。

【问题讨论】:

    标签: r plot arima


    【解决方案1】:

    不确定您到底想要什么类型的可视化,但热图似乎合适。这是ggplot2 中的一个。我将pq 制作成因子,然后使用geom_raster 制作瓷砖。

    library(tidyverse)
    
    d1 <- "dummy d p q       AIC
    1 0 0 0 -2671.744
    2 0 0 1 -2686.691
    3 0 0 2 -2685.053
    4 0 0 3 -2683.094
    5 0 0 4 -2688.464
    6 0 0 5 -2686.973" %>% read_table2()
    
    d2 <- "dummy    d p q       AIC
    31 0 5 0 -2685.982
    32 0 5 1 -2684.926
    33 0 5 2 -2683.003
    34 0 5 3 -2683.654
    35 0 5 4 -2686.069
    36 0 5 5 -2698.871" %>% read_table2()
    
    df <- bind_rows(d1, d2) %>% 
        select(-dummy) %>%
        mutate_at(vars(p, q), as.factor)
    
    ggplot(df, aes(x = p, y = q, fill = AIC)) +
        geom_raster() +
        scale_fill_viridis_c(option = "A")
    

    reprex package (v0.2.0) 于 2018 年 4 月 30 日创建。

    【讨论】:

    • 感谢您的帮助。如果我还没有df,我该如何修改代码?我实际上不需要 rbind d1d2,因为这两个只是数据框的 headtail
    • 当然,只需使用您的数据框。我必须这样做才能汇总您提供的数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 2020-05-13
    • 1970-01-01
    • 2021-10-21
    • 2019-05-09
    • 2020-10-01
    • 1970-01-01
    相关资源
    最近更新 更多