首页 > 解决方案 > 由于 NaN 导致的错误结果(包 InfoTrad)

问题描述

我正在尝试使用一个名为 InfoTrad 的包。我试图计算给定的示例,但它不会为我产生相同的结果。计算能力可能是造成这种情况的原因吗?我得到了一堆 NaN,这可能是错误结果的原因。代码如下:

library(InfoTrad)
Buy <- c(350,250,500,552,163,345,847,923,123,349)
Sell <- c(382,500,463,550,200,323,456,342,578,455)
data = cbind(Buy,Sell)
#par0 = (al,del,mu,eps_b,eps_s)
par0 = c(0.5, 0.5, 300, 400, 500)

EHO_out = EHO(data)
model = optim(par0, EHO_out, gr = NULL, method = c("Nelder-Mead") , hessian = FALSE)
print(model)

#output
$par
[1] -216494.389  631863.422     380.386     307.447     435.555

$value
[1] -44532.65

实际结果(来自示例)应如下所示:

$par
[1] 0.9111102  0.0001231429     417.1497     336.075     466.2539

这是论文的链接,他们在其中解释了包:https ://www.semanticscholar.org/paper/InfoTrad%3A-An-R-package-for-estimating-the-of-%C3%87elik-Tini% C3%A7/9efb3f9de4781bed286e16e9f4e2a87653bea693

有什么方法可以改变极限值,这样我就不会产生任何 NaN 或至少更少?先感谢您。如果您可以运行一次代码并告诉我您的结果是否与我的不同,我将不胜感激。(我只是想知道,如果是我的电脑的错)

标签: rnan

解决方案


显然问题出在包内(我已经在具有不同计算能力的多台计算机上测试了代码)。可悲的是,我不知道它到底在哪里,但我发现了另一个名为 pinbasic 的包,它工作得更好并且有更多的输出选项:

https://cran.rstudio.com/web/packages/pinbasic/vignettes/pinbasicVignette.html


推荐阅读