2012-03-30 2 views
0

Je souhaite adapter automatiquement les retours de séries temporelles à une distribution NIG. Avec nigfit() du paquet fBasics j'estime le mu, alpha, bêta et delta de la distribution.Comment enregistrer les paramètres estimés à partir de nigfit() dans une variable

> 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 

Cela fonctionne bien, ce qui signifie que nigfit trace mes paramètres. Cependant, je voudrais utiliser les paramètres estimés et les enregistrer dans des variables. Donc je pourrais les utiliser plus tard.

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

Cela ne fonctionne pas. 'variable' est un objet S4 de structure de classe fDISTFIT. L'appel de la variable recompose la sortie de nigfit ci-dessus. J'ai essayé les notations suivantes, pour obtenir un seul paramètre:

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

Je ne pouvais pas trouver une réponse dans la documentation de nigfit. Est-il possible de sauvegarder les paramètres estimés dans des variables? Comment ça marche?

+0

Il a fonctionné. Je vais écrire une réponse, quand le débordement de pile me le permet. (Dans huit heures) – Bene

Répondre

0

accéder aux composants de sortie en utilisant. variable a différents slots. Obtenez leurs noms en utilisant slotNames(). En utilisant l'exemple de la documentation:

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

Merci, c'est exactement ce que je cherchais. – Bene

Questions connexes