是否可以通过JavaScript中给定的z分数计算百分位值?
E.g。 z得分1.881应该给我0,97或97%。这个例子很简单,但我想计算z分数给出的每个百分位数。
答案 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分数(你已经得到),然后乘以均值和标准差。均值和标准偏差都需要来自样本(例如数据集)。你必须通过某种循环遍历数组的函数来计算它们。