Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 稳定分布对数似然和AIC值_R_Parameters_Statistics_Distribution_Data Fitting - Fatal编程技术网

R 稳定分布对数似然和AIC值

R 稳定分布对数似然和AIC值,r,parameters,statistics,distribution,data-fitting,R,Parameters,Statistics,Distribution,Data Fitting,我使用了fBasics软件包中的stableFit函数,得出了稳定分布的参数alpha、beta、gamma和delta,如下所示: stableFit(x) 然后我做了以下工作,得出了对数似然值,出于某种原因,它似乎不起作用: stable.fit <- function(alpha=1.387,beta=0.279, gamma=0.006948893,delta=-0.0017933) { -sum(dstable(x,1.387

我使用了fBasics软件包中的stableFit函数,得出了稳定分布的参数alpha、beta、gamma和delta,如下所示:

stableFit(x)
然后我做了以下工作,得出了对数似然值,出于某种原因,它似乎不起作用:

stable.fit <- function(alpha=1.387,beta=0.279,
                       gamma=0.006948893,delta=-0.0017933) {
   -sum(dstable(x,1.387,0.279,0.006948893,-0.0017933,pm=0,log=TRUE))
}


mle.results<-mle2(stable.fit,
         start=list(alpha=1.387,beta=0.279,
                   gamma=0.006948893,delta=-0.0017933),
   data=list(x)) #max likelihood using bbmle package

mle.results #produces the log-likelihood values

当我运行mle.results时,似乎我能够回答自己的问题。问题在于,R需要更长的时间才能完成mle2计算以及数据表函数的积分。对于其他分布,对数似然结果花费的时间不到10秒,但由于某些原因,它花费了45分钟以上!!对于稳定分布。我是在我决定让它运行,而我在做其他事情的时候才发现这一点的,45-50分钟后,它就完成了。然而,我不明白为什么稳定分布要花很长时间来计算。不管怎样,问题解决了

我在Lambert和Lindsey的旧软件包的基础上创建了一个新的软件包,但这个软件包并没有真正起作用。但它使用特征函数的FFT,核心代码是C语言。我对它进行了润色,并围绕它编写了一些包装。所以密度和概率是基于这个,然后在我的软件包中,随机抽取和分位数来自StableList软件包,因为它们工作得足够快

因此,与fBasics::stableFit相比,它提供了更快的替代方案,精度损失最小,速度大约是fBasics::stableFit的140倍。它是可用的。我很快就会完成它

同时:数据集:

这些是我的系数与fBasics系数的差异。你可以看到,只有beta估计值与fBasics有很大差异::stableFit ones beta介于-1和1之间,但它实际上没有太大的影响。我也会努力挖掘一些文献

以下是具有16个最大beta差异的系列的密度。蓝色是我使用的密度,红色是fBasics用于MLE优化的StableList::dTable密度。圆圈基于fBasics优化的系数,交叉点是我的

我还将测试脚本包括在了。 最后但并非最不重要的是速度比较:


虽然OP没有给出一个可复制的例子,但如果你给出了并展示了基准点,这将是非常有用的。好主意,我有一些时间和估计比较。然后将用我的答案编辑它们:
require(tawny)
data("sp500.subset")
rnorm<-rnorm(200)
rt<-rt(200,4)
cauch<-rcauchy(200)
testingData<-matrix(cbind(rnorm,rt,cauch,as.matrix(sp500.subset,nrow=200)),nrow=200)