1

ARIMA モデルに基づいてカスタマイズされた関数を実行したいと考えています。この関数は、1 年間の日次データで実行された ARIMA (2, 0, 3) モデルから ma3 係数を呼び出し、すべての企業について 2 から ma3 係数を減算します。5 つの企業の 5 年間の毎日のデータがあるので、各企業には 5 つの年ごとの値が必要です。私のコード:

>Stressy =function(x) 2-summary(arima(x, order=c(2,0,3)))$coefficients[1, "ma3"] 
>Funny = aggregate(cbind(QQ) ~  Year + Firm , df, FUN = Stressy)

私のコードを実行すると、次のエラーが発生します。

Error in summary(arima(x, order = c(2, 0, 3)))$coefficients : $ operator is invalid for atomic vectors 

結果を手動で推定できることはわかっていますが、データ セットが大きすぎて、手動で処理すると混乱を招きます。これを修正するための編集を提案してください。

4

1 に答える 1

2

ma3 係数を取得するには、次の 2 つの方法があります。

Stressy <- function(x) 2-coef(arima(x, order=c(2,0,3)))["ma3"] 

また

Stressy <- function(x) 2-arima(x, order=c(2,0,3))$coef["ma3"] 

演算子summary(arima_object)を適用できないテーブルを提供するため、元のカスタム関数は機能しませんでした。$

x <- arima(df, c(2,0,3))
class(summary(x))
[1] "summaryDefault" "table"
于 2016-03-08T10:03:59.313 に答える