2016-03-24 18 views
0

私はRが新しく、基本的な質問をしたかったのです。私は罰金であるauto.arimaからいくつかの結果を得ました、今Rの結果をリストとして保存し、それをさらに計算に使用する方法は?

#ARIMA Model Script 
library(tseries) 

tui <- read.csv("C:/Data.csv",header = TRUE, sep = ",") 

tsData <- ts(data = tui[,3], frequency = 12) #converting into time series for 3rd time time series column 

tsData.arima101 <- auto.arima(tsData) #automatic selection of best ARIMA model 
tsData.arima101 # Results of the ARIMA model 

が、私はどこか別の切片およびその他の重要な統計情報を使用したい:私は、私は次のコードを使用してARIMAを計算しているため時系列を持っています。何らかの方法でそれを参照できますか?例えば、私は次のような結果を得る:

Call: 
arima(x = d.tsData, order = c(2, 0, 3)) 

Coefficients: 
     ar1  ar2  ma1  ma2  ma3 intercept 
    -0.4415 0.3401 -0.3630 -0.9994 0.3625 -0.6277 
s.e.1.0198 0.8519 1.0238 0.1836 1.0126  0.5106 

sigma^2 estimated as 754.2: log likelihood = -167.95, aic = 349.91 

は、今私はコード内の他のいくつかの時点で、AIC、AR、MAおよびインターセプト用語を使用したいが、私はそれを使用する方法がわかりません。私は本当にあなたの助けと多くのおかげで、事前に必要です。

+0

'c(tsData.arima101)'は 'tsData.arima101'ですべてがどのように参照されているかを示します。そして、 'tsData.arima101 $ 'を使ってそれを使います。 –

答えて

0

試してみてください。ここでは

library(tseries) 
library(forecast) 
tsData <- ts(data = rnorm(12), frequency = 12) 

arima101 <- auto.arima(tsData) 

メインモデルの結果:

> arima101 
Series: tsData 
ARIMA(1,0,0) with non-zero mean 

Coefficients: 
      ar1 intercept 
     -0.7112 -0.5140 
s.e. 0.2635  0.1287 

sigma^2 estimated as 0.5255: log likelihood=-13.52 
AIC=33.04 AICc=36.04 BIC=34.49 

あなたがオブジェクト(str(arima101))の構造を見ると、あなたが参照できる要素を参照してください。次のように表示すると便利です:

names(arima101) 
[1] "coef"  "sigma2" "var.coef" "mask"  "loglik" 
[6] "aic"  "arma"  "residuals" "call"  "series" 
[11] "code"  "n.cond" "nobs"  "model"  "bic"  
[16] "aicc"  "x"   

ここでは、リストを参照するのと同じ方法でこれらの要素を参照できます。

arima101$coef 
     ar1 intercept 
-0.7112331 -0.5140006 

arima101$aic 
[1] 33.03931 

それはリストの要素にアクセスするようなものですので、二重括弧でも動作する:

arima101[["coef"]] 
     ar1 intercept 
-0.7112331 -0.5140006 

あなたがデータフレームにあなたのモデルのまたは様々なモデルの結果を置きたい場合は、broomは役に立つかもしれません。

library(broom) 
tidy(arima101, conf.int = T) 
     term estimate std.error conf.low conf.high 
1  ar1 -0.7112331 0.2635398 -1.2277617 -0.1947046 
2 intercept -0.5140006 0.1287007 -0.7662494 -0.2617519 

ここで、tidy(arima101)の出力はデータフレームです。関連する要約統計量はglanceを使ってアクセスすることができます:あなたがあなたのデータにアクセスするのと同じ方法でそれらにアクセスできるように

glance(arima101) 
     sigma logLik  AIC  BIC 
1 0.7249358 -13.51966 33.03931 34.49403 

これらの関数の出力は、常にデータフレームです。詳細については、vignette("broom")を参照してください。

+0

ありがとう...それは働いていましたが、今度はarima101 $ coefを調べると、すべてのリストが得られますが、たとえばar1のような特定の係数が必要な場合はどうなりますか?だからtsData.arima101 $ coef $ ar1を試しましたが、うまくいきませんでした。それのための任意のアイデア。ありがとうございます – muazfaiz

+0

これは実際にあなたが行うベクトルをサブセット化する場合と同じように機能します。試してみてくださいarima101 $ coef [1]。 – coffeinjunky

+0

より一般的で、もっと教育的であるためには、オブジェクトのタイプを示すstrまたはclass(your.object)の出力を見ることができます。それでは、質問は「簡単にgoogleに入れることができます - ここには - 挿入タイプをサブセット化する方法」となります。 – coffeinjunky