首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R数`auto.arima()‘Confirm`arima.sim()’为真的次数

R数`auto.arima()‘Confirm`arima.sim()’为真的次数
EN

Stack Overflow用户
提问于 2020-06-27 01:26:59
回答 1查看 74关注 0票数 1

我经常使用arima.sim()函数来模拟ARIMA模型,然后通过auto.arima()函数发现所模拟的ARIMA模型与我在arima.sim()函数中指定的不同。

我进一步研究了如何通过使用相同的arima.sim()详细描述相同的ARIMA模型来模拟ARIMA模型,然后使用auto.arima() here对每个模型进行检验。

代码语言:javascript
复制
result <- matrix(NA_integer_, nrow = 10, ncol = 3)
colnames(result) <- c("p","d","q")
num<-60
set.seed(1234)
for(i in 1:10){
   result[i, ] <- arima.sim(n = num, model=list(ar=0.8, order = c(1, 0, 0))) %>%
     auto.arima() %>%
     arimaorder()
}
result
#p  d   q
#1  0   1
#1  0   0
#1  0   0
#1  0   0
#2  0   1
#1  0   0
#1  0   0
#1  0   0
#1  0   0
#4  0   3

如何设置一个R代码,计算在运行时ARIMA(1, 0, 0)出现多少次

代码语言:javascript
复制
num<-60
for(i in 1:10){
   ar1 <- arima.sim(n = num, model=list(ar=0.8, order = c(1, 0, 0)))
     auto.arima(ar1)
}

loop中的10(10)次

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-27 02:52:34

如果我们需要在count循环中获取for

代码语言:javascript
复制
cnt <- 0
for(i in 1:10) { 
   ar1 <- arima.sim(n = num, model=list(ar=0.8, order = c(1, 0, 0)))
   ar2 <- auto.arima(ar1)
   if(all(arimaorder(ar2) == c(1, 0, 0))) cnt <- cnt + 1}
cnt
#[1] 3

或者,如果是基于“结果”,则与向量进行比较,获取rowSums,并检查单个行中是否有3个TRUE,以及sum

代码语言:javascript
复制
sum(rowSums(result == c(1, 0, 0)[col(result)]) == 3)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62604878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档