Python计算标准差的程序

Python计算标准差的程序

在本文中,我们将学习如何在数据集上实现Python程序来计算标准差。

考虑一组在任意坐标轴上绘制的值。 这组值的标准差,称为 ** 总体** 的标准差,是它们之间看到的变异。如果标准偏差低,则值与均值接近。但如果标准偏差高,则值会远离均值散布。

它用数据集的方差的平方根表示。有两种类型的标准差−

总体标准差 是从总体的每个数据值计算出来的。因此,它是一个固定值。数学公式如下 −

\mathrm{SD:=:\sqrt{\frac{\sum(X_i:-:X_m)^2}{n}}}

其中,

  • **X m ** 是数据集的平均值。

  • **X i ** 是数据集的元素。

  • n 是数据集中的元素数。

然而, 样本标准差 是仅在一些总体中选择的一些数据值计算出的统计数据,因此该值取决于所选择的样本。数学公式定义如下−

\mathrm{SD:=:\sqrt{\frac{\sum(X_i:-:X_m)^2}{n:-:1}}}

其中,

  • **X m ** 是数据集的平均值。

  • **X i ** 是数据集的元素。

  • n 是数据集中的元素数。

输入输出方案

现在让我们来看看各种数据集的一些输入输出方案−

假设数据集仅包含正整数−

Input: [2, 3, 4, 1, 2, 5]
Result: Population Standard Deviation: 1.3437096247164249
Sample Standard Deviation: 0.8975274678557505

假设数据集仅包含负整数−

Input: [-2, -3, -4, -1, -2, -5]
Result: Population Standard Deviation: 1.3437096247164249
Sample Standard Deviation: 0.8975274678557505

假设数据集仅包含正整数和负整数−

Input: [-2, -3, -4, 1, 2, 5]
Result: Population Standard Deviation: 3.131382371342656
Sample Standard Deviation: 2.967415635794143

使用数学公式

我们已经在同一篇文章中看到了标准差的公式;现在让我们看看用数学公式在各个数据集上实现Python程序的方法。

例子

在以下例子中,我们正在导入 ** math** 库,并通过将其方差应用于内置方法 sqrt() 来计算数据集的标准差。

import math

#声明数据集列表
dataset = [2, 3, 4, 1, 2, 5]

#求数据集的算术平均数
sm=0
for i in range(len(dataset)):
   sm+=dataset[i]
   mean = sm/len(dataset)

#求数据集的总体标准差
deviation_sum = 0
for i in range(len(dataset)):
   deviation_sum+=(dataset[i]- mean)**2
   psd = math.sqrt((deviation_sum)/len(dataset))

#求数据集的样本标准差
ssd = math.sqrt((deviation_sum)/len(dataset) - 1)

#显示输出
print("数据集的总体标准差为", psd)
print("数据集的样本标准差为", ssd)

输出结果

得到的标准差输出结果如下 −

数据集的总体标准差为 1.3437096247164249
数据集的样本标准差为 0.8975274678557505

使用numpy模块中的std()函数

在这种方法中,我们导入 numpy 模块,并仅使用 numpy.std() 函数对一个 numpy 数组的元素进行计算,从而仅计算总体标准差。

示例

下面的Python程序用于计算numpy数组元素的标准差 −

import numpy as np

#声明数据集列表
dataset = np.array([2, 3, 4, 1, 2, 5])

#计算数据集的总体标准差
sd = np.(dataset)

#显示输出
print("数据集的总体标准差为", sd)

输出结果

标准差将显示为以下输出 −

数据集的总体标准差为 1.3437096247164249

在statistics模块中使用stdev()和pstdev()函数

Python中的 statistics 模块提供了称为 stdev()pstdev() 的函数,用于计算样本数据集的标准差。Python中的 stdev() 函数仅计算样本标准差,而 pstdev() 函数计算总体标准差。

这两个函数的参数和返回类型相同。

示例1: 使用stdev()函数

展示如何使用 stdev() 函数计算数据集的样本标准差的 Python 程序如下–

import statistics as st

#声明数据集列表
dataset = [2, 3, 4, 1, 2, 5]

#计算数据集的标准差
sd = st.stdev(dataset)

#显示输出
print("数据集的标准差为", sd)

输出

得到的数据集样本标准差如下–

数据集的标准差为 1.4719601443879744

例 2: 使用 pstdev() 函数

展示如何使用 pstdev() 函数计算数据集的总体标准差的 Python 程序如下–

import statistics as st

#声明数据集列表
dataset = [2, 3, 4, 1, 2, 5]

#计算数据集的标准差
sd = st.pstdev(dataset)

#显示输出
print("数据集的标准差为", sd)

输出

得到的数据集总体标准差如下–

数据集的标准差为 1.3437096247164249

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程