求广义正态分布的分位数

  • 本文关键字:正态分布 matlab quantile
  • 更新时间 :
  • 英文 :


我正在编写一个Matlab代码,用于查找广义正态分布的分位数

x ~ GN(0, alfa, beta) :
p(x; 0, alfa, beta) = (beta/(2*alfa*gamma(1/beta))) * exp(-(abs(x)/alfa).^beta )

根据广义正态分布中的分位数公式,对于分位数C,我通过计算了分位数

z_c = sign(C-0.5).*gaminv(2*abs(C-0.5), 1./beta, 1./(alfa.^beta)).^(1./beta)+0

为了验证上面的方程,我指定alfa=sqrt(2(和beta=2,使广义正态成为正态分布。但当我计算时

>> C=0.05; beta =2; alfa =sqrt(2);
>> z_c = sign(C-0.5).*gaminv(2*abs(C-0.5), 1./beta, 1./(alfa.^beta)).^(1./beta)
z_c =
   -0.8224

我认为结果应该与平均mu=0和标准偏差sigma=1的正常CDF的倒数的分位数完全相同,然而,

>> norminv(C)
ans =
   -1.6449

有人能帮忙指出上面的错误吗?

以下是正确答案:

z_c2 = sign(C-0.5).*((1).*gaminv(2*abs(C-0.5), 1./beta, alfa^beta)).^(1./beta)+0

相关内容

  • 没有找到相关文章

最新更新