Python数据分析与可视化教案4.5 数据的正态性分析.docx
《Python数据分析与可视化教案4.5 数据的正态性分析.docx》由会员分享,可在线阅读,更多相关《Python数据分析与可视化教案4.5 数据的正态性分析.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 题4.5数据的正态性分析课 型讲练授课班级大数据授课时数2教学目标1 .理解正态分布的概念。2 .能够用多种方法判断数据正态性。教学重点1.能够用多种方法判断数据正态性。教学难点1.理解正态分布的概念。学情分析数据服从正态分布是很多分析方法使用的前提条件,在进行假设检验、 方差分析、回归分析等分析操作前,一般首先要对数据的正态性进行分析。 学好本次课有助于后面内容的学习。正态分布是最重要的一种概率分布,正态分布概念是由德国的数学家和天文学家 棣莫佛于1733年首次提出的,但由于德国数学家高斯率先将其应用于天文学家研究, 故正态分布又叫高斯分布。正态分布有极其广泛的实际背景,生产与科学实验中
2、很多随机变量的概率分布都 可以近似地用正态分布来描述。例如成年人的血压、人群的身高或体重、人群的鞋码、 某个地区的年降水量等。一、数据的正态分布1 .正态分布的概念正态分布就是指随机变量服从一个位置参数和尺度参数的概率分布,位置参数就 是均值,尺度参数就是标准差。均值决定了正态曲线中心位置,当均值为正且绝对值 越大时,说明曲线整体向右移动的距离就越大:反之,当均值为负且绝对值越大时, 曲线整体向左移动的距离就越大。标准差决定了曲线的形状,即标准差决定了曲线的 “高矮胖瘦,正态分布在几何上的表现就是正态曲线,正态曲线是一个钟型曲线,如标准正态 分布的均值为0,标准差为1对应的标准正态曲线如图4-
3、*所示。图4-标准正态分布曲线标准正态分布曲线下面积分布规律是:在-1.96+1.96范围内曲线下的面积等于 95% (即取值在这个范围的概率为95%),在-2.58+2.58范围内曲线下面积为99% (即取值在这个范围的概率为99%)。因此,由。函数所产牛的随机 样本基本上取值主要在_1.96+1.96之间,当然也不排除存在较大值的情形,只是概 率较小而已。2 .正态分布曲线特点(1)集中性:正态曲线的高峰位于正中央,即均数所在的位置。(2)对称性:正态曲线以均数为中心,左右对称,曲线两端永远不与横轴相交。(3)均匀变动性:正态曲线由均数所在处开始,分别向左右两侧逐渐均匀下降。二、正态分布的
4、描述偏度和峰度是描述数据分布的两个常用概念,可以用来描述数据分布与正态分布 的偏离程度。1 .偏度偏度用来描述数据分布的对称性,正态分布的偏度为0。计算数据样本的偏度, 当偏度0时,称为负偏,数据出现左侧长尾;当偏度0时,称为正偏,数据出现右 侧长尾;当偏度为。时,表示数据相对均匀的分布在平均值两侧。pandas提供了 skew函数用来计算Series数据的峰度,skew函数的一般用法为:Series.skew()2 .峰度乂称峰态系数,用来描述总体中所有取值分布形态陡缓程度的统计量,反映了峰 部的尖度。当峰度系数大于。时,说明两侧极端数据较少,分布曲线更高更瘦,为尖 顶曲线:当峰度系数小于。
5、时,说明表示两侧极端数据较多,分布曲线更矮更胖,为 平顶曲线。pandas提供了 kurt函数用来计算Series数据的峰度,kurt函数的一般用法为: Series.kurtO例如代码如下:import numpy as npimport pandas as pdarr = np.random.randn( 10000)#生成10000个标准正态分布的数据data = pd.Scries(arr)print(随机正态分布数据为:n,data: 1() prinl(随机正态分布的偏度:,data.skew()print(随机正态分布的峰度=,data.kurt()输出结果如图4-*所示。Run
6、:4-5C:UsersliliangAnaconda3python.exe C:/Users/liliang/PycharmProjects/$jfx/4-5.py 随机正态分布数据为:0-1.361461-2.2615132-0.0253753O.0181464-0.6764175-0.0365956.0.44466770.39978280.61606390.558501dtype: float64随机正态分布的偏度=0.0794S861511997307随机正态分布的弊度;-0.03489436192230544Process finished with exit code 0图4-*正态
7、分布描述例如结果【结果分析】因为计算峰度和偏度的数据是随机生成的,所以每一次运行的结果 可能都会有所不同。三、正态分布的验证数据服从正态分布是很多分析方法使用的前提条件,在进行假设检验、方差分析、 回归分析等分析操作前,一般首先要对数据的正态性进行分析。如果不满足正态性特 质,那么需要考虑使用其他方法或对数据进行处理。1 .通过直方图进行正态性检验直力图是种统计报告图,由系列高度不等的纵向线段表示数据分布的情况, 常用于验证数据是否服从正态分布。服从正态分布的直方图一般都有“中间高,两边 对称”的特点。Python中绘图库matplotlib中的hist函数可以用来绘制直方图,其中参数bins
8、表 示直方图的柱形的数量,如果不设置也可以用默认设置。绘制直方图的一般方法为:import matplotlib.pyplot as pitdata.hist(bins=num)plt.show()其中,import matplotlib.pyplot as pit 表示导入 maiplollib 库种模块 pyplotbins=num 表示设置直方图的柱形的数量。plt.show()表示显示绘图结果。例如代码如下:import matplotlib.pyplot as pitdata.hisl()plt.show()输出结果如图4*所示。 Figure 1 X三2 El图4-*正态分布描述例
9、如结果【结果分析】因为绘图的数据集来自于随机标准正态分布,所以根据标准正态分 布曲线分布规律,有99%数据都集中在-3到3之间,从最终的结果来看,也符合这一 规律。2 .通过正态性检验指标进行正态性检验数据是否服从正态分布,仅仅通过直方图来观察是不够的,一般还需要通过一些 具体的方法来验证,如正态分布的K-S ( Kolmogorov-Smirnov)检验。正态分布的 K-S检验是基于累计分布函数,通过对两个分布之间的差异进行分析,用以检验对象 是否服从正态分布。Scipy库stats模块提供了 kstest函数可以执行K-S检验,当K-S 检验中的计算结果概率值p大于0.05时,说明服从正态
10、分布,当K-S检验中的计算 结果概率值p小于0.05时,说明不服从正态分布。kstest函数的一般用法为:from scipy.slats import kstestkstest(rvs,cdf)其中,rvs表示检验的数据,一般为DataFrame中的一列数据。cdf表示检验方法, 这里取“norm”,即表示正态性检验。Kstest的结果有两个值,其中第2个值就是概 率值P,数据是否服从正态正态分布主要看这个值,如果这个值大于0.05,即说明服 从正态分布。例如代码如F:from scipy.stals import kslest ks_result = kstest(data,norm)p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python数据分析与可视化 教案4.5 数据的正态性分析 Python 数据 分析 可视化 教案 4.5 正态性
限制150内