Php 简单方差&;数字数组的标准差

Php 简单方差&;数字数组的标准差,php,standard-deviation,variance,Php,Standard Deviation,Variance,我已经阅读了所有关于PHP中标准差和方差的内容,在网上找到了很多例子,但仍然没有一个能给出与Excel相同的结果 假设我有: $array1 = array(5,46,37,21,8,55,1); 我只需要数组中这些数字的方差和标准差 有简单的直接线索吗?这个步骤是从谷歌帮助页面复制的,尽管我已经做了无数次了。我很容易忘记。要计算数字数组的标准偏差,请执行以下操作: 算出平均值(数字的简单平均值) 然后,对于每个数字:减去平均值并将结果平方 然后算出这些平方差的平均值 取它的平方根,我们就

我已经阅读了所有关于PHP中标准差和方差的内容,在网上找到了很多例子,但仍然没有一个能给出与Excel相同的结果

假设我有:

  $array1 = array(5,46,37,21,8,55,1);
我只需要数组中这些数字的方差和标准差


有简单的直接线索吗?

这个步骤是从谷歌帮助页面复制的,尽管我已经做了无数次了。我很容易忘记。要计算数字数组的标准偏差,请执行以下操作:

  • 算出平均值(数字的简单平均值)
  • 然后,对于每个数字:减去平均值并将结果平方
  • 然后算出这些平方差的平均值
  • 取它的平方根,我们就完成了 另请注意:标准偏差只是方差的平方根。。。 (因此,第3步是“方差”,第4步是“标准偏差”)

    下面是一个链接,它确切地展示了如何在PHP中实现这一点

    [

    下面是代码复制到此帖子的

    要计算标准偏差,我们必须首先计算方差。方差可以计算为所有数字和平均值之间差异的平方和。最后要得到标准偏差,我们将使用公式,√(元素的差异/无)

    以下是计算标准偏差的PHP实现:

    <?php
    
        // function to calculate the standard deviation
        // of array elements
        function Stand_Deviation($arr)
        {
            $num_of_elements = count($arr);
    
            $variance = 0.0;
    
                    // calculating mean using array_sum() method
            $average = array_sum($arr)/$num_of_elements;
    
            foreach($arr as $i)
            {
                // sum of squares of differences between 
                            // all numbers and means.
                $variance += pow(($i - $average), 2);
            }
    
            return (float)sqrt($variance/$num_of_elements);
        }
    
        // Input array
        $arr = array(2, 3, 5, 6, 7);
    
        print_r(Stand_Deviation($arr));
    
    ?>
    

    这个分步过程是从Google帮助页面复制的,尽管我已经做了无数次。我很容易忘记。要计算数字数组的标准偏差:

  • 算出平均值(数字的简单平均值)
  • 然后,对于每个数字:减去平均值并将结果平方
  • 然后算出这些平方差的平均值
  • 取它的平方根,我们就完成了
  • 另请注意:标准偏差只是方差的平方根。。。 (因此,第3步是“方差”,第4步是“标准偏差”)

    下面是一个链接,它确切地展示了如何在PHP中实现这一点

    [

    下面是代码复制到此帖子的

    要计算标准偏差,我们必须首先计算方差。方差可以计算为所有数字和平均值之间差异的平方和。最后要得到标准偏差,我们将使用公式,√(元素的差异/无)

    以下是计算标准偏差的PHP实现:

    <?php
    
        // function to calculate the standard deviation
        // of array elements
        function Stand_Deviation($arr)
        {
            $num_of_elements = count($arr);
    
            $variance = 0.0;
    
                    // calculating mean using array_sum() method
            $average = array_sum($arr)/$num_of_elements;
    
            foreach($arr as $i)
            {
                // sum of squares of differences between 
                            // all numbers and means.
                $variance += pow(($i - $average), 2);
            }
    
            return (float)sqrt($variance/$num_of_elements);
        }
    
        // Input array
        $arr = array(2, 3, 5, 6, 7);
    
        print_r(Stand_Deviation($arr));
    
    ?>
    
    
    


    在发布问题之前,我看到了这一点,但出于某种原因,我不知道为什么,总是给出不同于Excel的数字。我将再试一次,看看。尝试添加行“return$variance/$num_of_elements”(在平方根之前),因为可能您得到的是方差(不是标准差)从Excel…我的意思是,数学很简单-它只是数组值的平均值!这不会错的。Excel中有其他版本的统计数据,但我对它们几乎一无所知,我不是一个Excel的家伙。如果我把事情弄得更糟,很抱歉发布…好吧,即使在我看到的给定示例中,这里的方差没有计算出来nline之前,方差是静态变量=0,然后是方差+=我的意思是如何测试此数组的方差?此解释复制自:我在学校做过多次(但我现在不在学校).1)从数据中的每个值中减去平均值。这为您提供了每个值与平均值之间距离的度量。2)将每个距离平方(因此它们都是正值),并将所有平方相加。3)将平方和除以数据集中的值数。4)标准差(σ)只是方差的(正)平方根。我主要使用Java、Javascript和HTML/CSS,但我已经用了足够的PHP来阅读上面的代码。语法正确,并且它清楚地找到了(通常的)均值、中位数、方差/标准差的数学定义……我知道财务人员使用Excel——也许你的Excel电子表格误用了均值、中位数和方差这一术语。它们在数学上非常简单——在PHP代码和我键入的英文定义中都有明确的定义ove!(同样,是从谷歌复制的,但我肯定记得它是从大学里学来的!)我在发帖之前就看到了这一点,但出于某种原因,我不知道为什么,总是给出不同于Excel的数字。我会再试一次,看看。试着添加行“return$variance/$num_of_elements”(在平方根之前),因为可能你得到的是方差(不是标准差)从Excel…我的意思是,数学很简单-它只是数组值的平均值!这不会错的。Excel中有其他版本的统计数据,但我对它们几乎一无所知,我不是一个Excel的家伙。如果我把事情弄得更糟,很抱歉发布…好吧,即使在我看到的给定示例中,这里的方差没有计算出来nline之前,方差是静态变量=0,然后是方差+=我的意思是如何测试此数组的方差?此解释复制自:我在学校做过多次(但我现在不在学校).1)从数据中的每个值中减去平均值。这为您提供了每个值与平均值之间距离的度量。2)将每个距离平方(因此它们都是正值),并将所有平方相加。3)将平方和除以数据集中的值数。4)标准差(σ)只是方差的(正)平方根。我主要使用Java、Javascript和HTML/CSS,但我已经用了足够多的PHP来阅读上述代码。语法正确,它清楚地找到了均值、中位数、方差/标准差的(通常)数学定义……我知道