2012-03-30 2 views
0

Я хочу автоматически встраивать возврат временных рядов в дистрибутив NIG. С nigfit() из пакета fBasics Я оцениваю 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) 

Это не работает. «переменная» - это объект S4 структуры класса fDISTFIT. Вызов переменной заменяет вывод nigfit выше. Я попытался следующие обозначения, чтобы получить только один параметр:

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

я не мог найти ответ в документации nigfit. Можно ли сохранить оценочные параметры в переменных? Как это работает?

+0

Это сработало. Я напишу ответ, когда позволяет переполнение стека. (Через восемь часов) – 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