欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 【数据分析】数据的离中趋势之二 - 方差和标准差、离散系数

【数据分析】数据的离中趋势之二 - 方差和标准差、离散系数

2024/10/24 16:33:06 来源:https://blog.csdn.net/u010528690/article/details/141334693  浏览:    关键词:【数据分析】数据的离中趋势之二 - 方差和标准差、离散系数

四、方差和标准差

  • 方差是数据组中各数据值与其算术平均数离差平方的算术平均数。
  • 方差的平方根就是标准差
  • 标准差的本质与平均差基本相同,平均差取绝对值的方法消除离差正负号后用算数平均的方法求平均离差。标准差用平方的方法消除离差的正负号后用离差平方求平均数再开根号。
  • 标准差的性质:
    • 标准差度量了偏离平均数的大小
    • 标准差是一类平均偏差
    • 数列大多数项距离平均数少于1个标准差范围内,极少数项距离平均数 2个 或者 3个标准差以上。

两组工人日产量标准差计算如下:

甲   组乙   组
日产量离差离差平方日产量离差离差平方
xx - 平均数(x - 平均数) 的平方xx - 平均数(x - 平均数) 的平方
4-121447-981
7-98112-416
11-52514-24
14-2414-24
14-2415-11
16001711
17111711
248641939
2598120416
281214425981
合计---548合计---214
  • 甲组方差 = 甲组离差平方的平均值 = 548 / 10 = 54.8
  • 甲组标准差 = 7.40 (件)
  • 乙组方差 = 乙组离差平方的平均值 = 214 / 10 = 21.4
  • 乙组标准差 = 4.63(件)
  • 在甲乙两组工人平均日产量相等(都是16件)的情况下,甲组的标准差(7.40 件)大于乙组的标准差(4.63 件),因而其平均数的代表性比乙组小。

五、离散系数

  • 极差、平均差、标准差都是对数据的离中趋势进行绝对或平均差异的测定。
  • 在通常情况下,它们都带有计量单位,而月其离中趋势大小与变量平均水平的高低有关。
  • 因此,要比较数据平均水平不同的两组数据的离中程度的大小,就有必要计算它们的相对离中程度指标,即离散系数。
  • 常用的离散系数指标是标准差系数。

标准差系数是将一组数据的标准差与其算数平均数对比的结果,以测定其相对离中程度。

例:甲乙两班中,哪个班的平均成绩更具有代表性?

甲班的平均成绩为 70 分,标准差为 9.0 分,乙班的成绩分组如下:

成绩分组学生人数
60以下2
60 - 706
70 - 8025
80 - 9012
90 - 1005

以下分析乙班成绩:

按成绩分组

组中值(x)学生人数(f)xfx - 平均数(x - 平均数)的平方(x - 平均数)的平方 * 人数
60以下552110-22.4501.761003.52
60 - 70656390-12.4153.76922.56
70 - 8075251875-2.45.76144
80 - 90851210207.657.76693.12
90 - 10095547517.6309.761548.8
合计---503870------4312
  • 甲班的平均成绩为 70分,标准差为9.0分,标准差系数为 9.0 / 70 = 0.1286
  • 乙班的平均成绩为 3870 / 50 = 77.4 分
  • 乙班的标准差为 4312 / 50 的开根号 = 9.29 分

由于甲、乙两班成绩的平均值和标准差都不一样,无法使用标准差来比较哪个班的成绩波动大,因此必须使用离散系数来判断。从计算中可以看出:V乙<V甲,所以乙班的成绩波动小一些,则其班级的平均成绩更有代表性。

六、Python 计算 方差、标准差、离散系数

import dash
from dash import dcc, html
from dash.dependencies import Input, Output
import numpy as np# 创建 Dash 应用
app = dash.Dash(__name__)# 应用布局
app.layout = html.Div([html.H1('请输入数据'),dcc.Input(id='input-data', type='text', placeholder='输入数据,用逗号分隔'),html.Button('计算', id='compute-button', n_clicks=0),html.Div(id='output-container')
])# 回调函数,用于处理按钮点击事件
@app.callback(Output('output-container', 'children'),[Input('compute-button', 'n_clicks')],[dash.dependencies.State('input-data', 'value')]
)
def compute_var_std_mean(n_clicks, input_value):if n_clicks > 0:try:# 将输入字符串转换成数字列表data = list(map(float, input_value.split(',')))# 方差variance = np.var(data)# 标准差std_dev = np.std(data)# 均值mean = np.mean(data)# 离散系数coefficient_of_variation = std_dev / mean if mean != 0 else float('inf')# 显示结果output = [f'方差:{variance:.2f}'f'标准差:{std_dev:.2f}',f'离散系数:{coefficient_of_variation:.2f}']return '<br>'.join(output)except Exception as e:return str(e)if __name__ == '__main__':app.run_server(debug=True)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com