2012-03-30 6 views
0

時系列データを自動的にNIG分布に収めたいと思います。 パッケージのnigfit()を使って、ベーシック分布のmu、alpha、beta、deltaを推定します。nigfit()から推定されたパラメータを変数に保存する方法

> nigFit(histDailyReturns,doplot=FALSE,trace=FALSE) 

Title: 
Normal Inverse Gaussian Parameter Estimation 

Call: 
.nigFit.mle(x = x, alpha = alpha, beta = beta, delta = delta, 
    mu = mu, scale = scale, doplot = doplot, span = span, trace = trace, 
    title = title, description = description) 

Model: 
Normal Inverse Gaussian Distribution 

Estimated Parameter(s): 
     alpha   beta  delta   mu 
48.379735861 -1.648483055 0..001125734 

これはうまくいきます。つまり、nigfitは自分のパラメータをプロットします。 しかし、私は推定されたパラメータを使用して変数に保存したいと思います。だから私は後でそれらを使うことができました。

> variable = nigfit(histDailyReturns,doplot=FALSE,trace=FALSE) 

これは機能しません。 「変数」は、クラス構造fDISTFITS4オブジェクトです。変数を呼び出すと上記のnigfitの出力が返されます。私はnigfitの文書で答えを見つけることができませんでした

> variable$alpha 
    > variable.alpha 
    > variable[1] 

: 私はただ一つのパラメータを取得するには、次の表記法を試してみました。 推定パラメータを変数に保存することはできますか?どのように機能するのですか?

+0

それが働きました。私はスタックオーバーフローが私にできるとき、答えを書くでしょう。 (8時間) – Bene

答えて

0

@を使用して出力コンパニオンにアクセスします。 variableは異なるslotsを持っています。 slotNames()を使用して名前を取得します。ドキュメントからの例を使用して:

set.seed(1953) 
    s <- rnig(n = 1000, alpha = 1.5, beta = 0.3, delta = 0.5, mu = -1.0) 
    a <- nigFit(s, alpha = 1, beta = 0, delta = 1, mu = mean(s), doplot = TRUE) 
    slotNames(a) 

    [1] "call"  "model"  "data"  "fit"   "title"  
    [6] "description" 
    # `fit` is a list with all the goodies. You're looking for the vector, `estimate`: 
    [email protected]$estimate 

     alpha  beta  delta   mu 
    1.6959724 0.3597794 0.5601027 -1.0446402 
+0

ありがとう、これは私が探していたものです。 – Bene

関連する問題