fBasics::fitStable 工作可疑

fBasics::fitStable working suspiciously

我一直在使用 fBasics 包分别使用 fitStable 函数来适应某些系列更普遍、更稳定的发行版。

有两种方法 - 分位数方法,由 McCulloh 提出 然后是 MLE 方法。

该函数提供了两者,但 MLE 方法确实非常慢,有时甚至无法计算 - 并产生 NA

它使用 nlminb 来最大化似然函数(认为它最小化了 -likelihood fun)。

但即使它在很长一段时间后完成,对标准正态(它应该给出 (2,0,1,0) 的值)的 1000 个观测值的估计也给出:

Estimated Parameter(s):
     alpha       beta      gamma      delta 
1.99990000 0.22448469 0.71247528 0.02995476

我所期望的,至少 beta 更接近于零。

有没有人有什么经验可以分享?

知道如何加快速度吗?

我尝试了 20 次 100 次(而不是 1000 次)。有很多贝塔值接近于零(正如预期的那样),但有些接近于 -1。伽玛也相当一致。时间过去了 10 分钟。

library(fBasics)
set.seed(100)
x <- rnorm(1000)
a <- vector(,20)
b <- vector(,20)
c <- vector(,20)
d <- vector(,20)

system.time(
for(i in 1:20){
    samp <- sample(x, size = 100, replace = T)
    v <- stableFit(samp, type='mle')
    a[i] <- (v@fit)$estimate[1]
    b[i] <- (v@fit)$estimate[2]
    c[i] <- (v@fit)$estimate[3]
    d[i] <- (v@fit)$estimate[4]
}
)

系统时间:
用户系统已过
598.67 1.49 602.80

a

1.8070, 1.9999, 1.9999, 1.9140, 1.9999, 1.9999, 1.9999, 1.9999, 1.9999, 1.8967, 1.9999, 1.9999, 1.9999, 1.9999, 1.9999, 1.9999, 1.9999, 1.9999, 1.9999, 1.8166

b

-0.9999, 0.1247, 0.0070, -0.9999, 0.0026, 0.0177, 0.0083 0.0409, 0.0179, 0.3062, 0.8251, -0.0769, 0.0071, -0.7928, -0.9225, -0.0147, -0.7459, -0.0191, 0.0016, -0.9999

c

0.7121, 0.7337, 0.7654, 0.7287, 0.8393, 0.6441, 0.7475, 0.7113, 0.7204, 0.6475, 0.7065, 0.7408, 0.7269, 0.7191, 0.6453, 0.6824, 0.6815, 0.7642, 0.7970, 0.6347

d

0.1576, 0.1092, -0.0115, 0.0196, 0.2325, 0.1222, 0.2546, -0.0610, 0.0873, 0.0438 -0.0120, -0.1266, 0.1631, 0.1443, -0.0793, -0.1651, 0.1649, 0.0891, -0.0043, 0.1259