JavaScript:可以通过给定的z得分获得百分位数?计算分位数?

时间:2015-10-12 18:06:59

标签: javascript math quantile percentile

是否可以通过JavaScript中给定的z分数计算百分位值?

E.g。 z得分1.881应该给我0,97或97%。这个例子很简单,但我想计算z分数给出的每个百分位数。

2 个答案:

答案 0 :(得分:2)

Seeking a statistical javascript function to return p-value from a z-score

那你在找什么?

function GetZPercent(z) {

  // z == number of standard deviations from the mean

  // if z is greater than 6.5 standard deviations from the mean the
  // number of significant digits will be outside of a reasonable range

  if (z < -6.5) {
    return 0.0;
  }

  if (z > 6.5) {
    return 1.0;
  }

  var factK = 1;
  var sum = 0;
  var term = 1;
  var k = 0;
  var loopStop = Math.exp(-23);

  while(Math.abs(term) > loopStop) {
    term = .3989422804 * Math.pow(-1,k) * Math.pow(z,k) / (2 * k + 1) / Math.pow(2,k) * Math.pow(z,k+1) / factK;
    sum += term;
    k++;
    factK *= k;
  }

  sum += 0.5;

  return sum;
}

答案 1 :(得分:0)

咨询这个学术网站: http://sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/BS704_Probability/BS704_Probability10.html

为了计算百分位值,你需要给它一个z分数(你已经得到),然后乘以均值和标准差。均值和标准偏差都需要来自样本(例如数据集)。你必须通过某种循环遍历数组的函数来计算它们。