首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Z-分数(标准差和平均值),以PHP表示

Z-分数(标准差和平均值),以PHP表示
EN

Stack Overflow用户
提问于 2011-03-25 23:33:19
回答 5查看 15.3K关注 0票数 19

我正在尝试使用PHP计算Z分数。本质上,我正在寻找最有效的方法来计算数据集(PHP数组)的平均值和标准差。关于如何在PHP中做到这一点,有什么建议吗?

我正在尝试用最少的步骤来做这件事。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-25 23:37:10

要计算可以做的平均值,请执行以下操作:

代码语言:javascript
复制
$mean = array_sum($array)/count($array)

标准差是这样的:

代码语言:javascript
复制
// Function to calculate square of value - mean
function sd_square($x, $mean) { return pow($x - $mean,2); }

// Function to calculate standard deviation (uses sd_square)    
function sd($array) {
    // square root of sum of squares devided by N-1
    return sqrt(array_sum(array_map("sd_square", $array, array_fill(0,count($array), (array_sum($array) / count($array)) ) ) ) / (count($array)-1) );
}

马上离开this page

票数 34
EN

Stack Overflow用户

发布于 2011-03-25 23:41:47

使用像stats_standard_deviationstats_harmonic_mean这样的内置统计包怎么样?我找不到一个用于标准均值的函数,但如果您对统计有所了解,我相信您可以使用内置函数解决一些问题。

票数 14
EN

Stack Overflow用户

发布于 2013-03-18 20:47:29

代码语言:javascript
复制
   function standard_deviation($aValues)
{
    $fMean = array_sum($aValues) / count($aValues);
    //print_r($fMean);
    $fVariance = 0.0;
    foreach ($aValues as $i)
    {
        $fVariance += pow($i - $fMean, 2);

    }       
    $size = count($aValues) - 1;
    return (float) sqrt($fVariance)/sqrt($size);
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5434648

复制
相关文章

相似问题

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