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

JavaScript: Possible to get percentile by given z-score? Calculating quantile?

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

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

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;
}

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

为了计算百分位值,您需要为其提供 z 分数(您已获得),然后乘以均值和标准差。均值和标准差都需要来自样本(例如数据集)。您必须通过某种循环遍历数组的函数来计算这些。