我经常使用arima.sim()函数来模拟ARIMA模型,然后通过auto.arima()函数发现所模拟的ARIMA模型与我在arima.sim()函数中指定的不同。
我进一步研究了如何通过使用相同的arima.sim()详细描述相同的ARIMA模型来模拟ARIMA模型,然后使用auto.arima() here对每个模型进行检验。
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)出现多少次
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)次
发布于 2020-06-27 02:52:34
如果我们需要在count循环中获取for
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
sum(rowSums(result == c(1, 0, 0)[col(result)]) == 3)https://stackoverflow.com/questions/62604878
复制相似问题