假设我已经中R.回路的ARMA模型估计
USDlogreturns=diff(log(prices))
for(i in 0:5){
for(j in 0:5){
fit <- arima(USDlogreturns, order=c(i,0,j), include.mean=TRUE)
}
}
你如何让R能够替换一个NA矩阵的所有估计模型的系数下面的“for”循环?
假设我已经中R.回路的ARMA模型估计
USDlogreturns=diff(log(prices))
for(i in 0:5){
for(j in 0:5){
fit <- arima(USDlogreturns, order=c(i,0,j), include.mean=TRUE)
}
}
你如何让R能够替换一个NA矩阵的所有估计模型的系数下面的“for”循环?
您将需要的尺寸的矩阵M
36倍13. 然后使用
M=matrix(NA,36,13)
k=0 # current row being filled in
for(i in 0:5){
for(j in 0:5){
k=k+1
fit <- arima(USDlogreturns, order=c(i,0,j), include.mean=TRUE)
if(i>0) M[k,c(1: i) ]=fit$coef[c( 1 : i)] # AR coefficients in the 2nd-6th columns
if(j>0) M[k,c(8:(7+j))]=fit$coef[c((i+1):(i+j))] # MA coefficients in the 8th-12th columns
M[k, 13 ]=tail(fit$coef,1) # "intercept" (actually, mean) in the 13th column
}
}
的列2至6将包含AR系数。
列8到12将包含MA系数。
第13列将包含“拦截”(实际上,手段,因为arima
函数中的术语具有误导性)。
我对这种for循环的使用有许多相关的问题。所以,如果能为我提供我需要的命令,我将不胜感激。 – msmna93