首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chi分布的概率密度函数

Chi分布的概率密度函数
EN

Web Applications用户
提问于 2016-02-12 21:47:27
回答 1查看 598关注 0票数 6

我试图为Google编写一个扩展,以添加CHIDIST()函数,就像Microsoft和LibreOffice Calc中的那样。我目前的尝试并没有产生与LibreOffice函数相同的结果。任何帮助都将不胜感激。

代码语言:javascript
复制
function CHIDIST(value, degrees_of_freedom) {
  x = value;
  v = degrees_of_freedom;
  if(x>0) {
    return (Math.pow(x,(v-2)/2)*Math.pow(Math.E,-x/2))/(Math.pow(2,v/2)*gamma(v/2));
  }
  else {
    return 0;
  }
}

function gamma(x){
    var p = [0.99999999999980993, 676.5203681218851, -1259.1392167224028,
        771.32342877765313, -176.61502916214059, 12.507343278686905,
        -0.13857109526572012, 9.9843695780195716e-6, 1.5056327351493116e-7];

    var g = 7;
    if(x < 0.5){
        return Math.PI / (Math.sin(Math.PI * x)*gamma(1-x));
    }

    x -= 1;
    var a = p[0];
    var t = x+g+0.5;
    for(var i = 1; i < p.length; i++){
        a += p[i]/(x+i);
    }

    return Math.sqrt(2*Math.PI)*Math.pow(t, x+0.5)*Math.exp(-t)*a;
}

这是我在以下基础上对程序建模的等式:

EN

回答 1

Web Applications用户

发布于 2016-02-12 22:34:41

您的函数工作正常,因为它给出了χ2分布的概率密度函数。它在Excel2013中返回与=CHISQ.DIST(x,v,FALSE)相同的结果。请注意,这里的"false“意思是”不累加“。

LibreOffice函数=CHIDIST(x;v)和(老式的) Excel函数=CHIDIST(x,v)返回右尾累积概率.它的现代Excel等价于=CHISQ.DIST.RT(x,v)

有一个累积分布函数公式用于χ2分布;它涉及到较低的不完全伽马函数,所以您需要首先找到该函数的实现。在计算结束时,您需要从1中减去结果,以得到右尾而不是左尾。

票数 4
EN
页面原文内容由Web Applications提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webapps.stackexchange.com/questions/89867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档