统计学知识整理—正态分布

正态分布

1.什么是正态分布?

正态分布:若随机变量X服从一个数学期望为μ、方差为σ^2 的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。
记作X~N(μ,σ^2) ,读作X服从N(μ,σ^2)
在这里插入图片描述
当μ = 0,σ = 1时的正态分布是标准正态分布。
在这里插入图片描述
正态分布特点:越胖代表离中趋势越明显,越高代表集中趋势越明显
哪些实际情况服从正态分布如考试成绩分布、运动员生涯成绩、泊松过程

如何创建正态分布图

s = pd.DataFrame(np.random.randn(10000)+100,columns = ['value'])
# 创建随机数据
fig = plt.figure(figsize = (100,60))
ax1 = fig.add_subplot(2,1,1)  # 子图1
ax1.scatter(s.index, s.values,color='blue')
plt.grid()
# 绘制数据分布图

ax2 = fig.add_subplot(2,1,2)  # 子图2
s.plot(kind = 'kde', secondary_y=True,ax = ax2,color='red')
plt.grid()
# 绘制直方图
# 呈现较明显的正太性

效果:
在这里插入图片描述

2.正态分布有什么特点?

集中性:正态曲线的高峰位于正中央
对称性:正态分布曲线以均数为中心,左右对称,曲线两端永远不与横轴相交
均匀变动性:正态曲线由均数所在处开始,分别向左右两端均匀下降,曲线与横轴面积等于1

3.如何利用正态分布解决实际问题?

1.如何判断一组数据是否服从正态分布的方法:正态性检验

  • 直方图
    通过画直方图的方法来对数据分布进行初判

    s.hist(bins=30,alpha = 0.5,ax = ax2)#添加直方图模块
    在这里插入图片描述
    效果从图中可以看出直方图形状与曲线变化规律相同

  • KS检验

    将所得数据与对应正态分布表相互对比如果结果p值大于0.05则满足正态分布
    python中导入scipy包# 直接用算法做KS检验

    from scipy import stats
     df = pd.DataFrame(np.random.randn(10000)+100, columns =['value'])
     u = df['value'].mean()  # 计算均值
     std = df['value'].std()  # 计算标准差
     stats.kstest(df['value'], 'norm', (u, std))
     # 结果返回两个值:statistic—D值,pvalue—P值
     # p值大于0.05,为正态分布
    

结果:KstestResult(statistic=0.15901807048240979, pvalue=0.30662972583580261),满足正态分布。

2.利用正态性检验判断数据是否满足正态分布

随便编一组数据[1,2,1,3,5,1,1,34,1,24,1,12,4,5,35,753,4,34,5,73,32,5,23,5,23,4,2,52,25,2,5,6,2,52,25,2,52,52,2,1,2,34,2,4,23,4,23,4,2,34,2,34,63,6,75,8,6,9,9,8,5,67,3,25,2,2]
结果如下:

# 直方图初判
grade=[2,1,3,5,1,1,34,1,24,1,12,4,5,35,753,4,34,5,73,32,5,23,5,23,4,2,52,25,2,5,6,2,52,25,2,52,52,2,1,2,34,2,4,23,4,23,4,2,34,2,34,63,6,75,11,6,9,9,8,5,67,3,25,2,2]
s = pd.DataFrame(grade,columns = ['value'])
# 创建随机数据
fig = plt.figure(figsize = (100,60))
ax1 = fig.add_subplot(2,1,1)  # 子图1
ax1.scatter(s.index, s.values,color='blue')
plt.grid()
# 绘制数据分布图

ax2 = fig.add_subplot(2,1,2)  # 子图2
s.hist(bins=30,alpha = 0.5,ax = ax2)
s.plot(kind = 'kde', secondary_y=True,ax = ax2,color='red')
plt.grid()
# 绘制直方图
# 呈现较明显的正太性
# 直接用算法做KS检验

from scipy import stats
grade=[2,1,3,5,1,1,34,1,24,1,12,4,5,35,753,4,34,5,73,32,5,23,5,23,4,2,52,25,2,5,6,2,52,25,2,52,52,2,1,2,34,2,4,23,4,23,4,2,34,2,34,63,6,75,11,6,9,9,8,5,67,3,25,2,2]
df = pd.DataFrame(grade, columns =['value'])
u = df['value'].mean()  # 计算均值
std = df['value'].std()  # 计算标准差
stats.kstest(df['value'], 'norm', (u, std))
# .kstest方法:KS检验,参数分别是:待检验的数据,检验方法(这里设置成norm正态分布),均值与标准差
# 结果返回两个值:statistic → D值,pvalue → P值
# p值大于0.05,为正态分布

在这里插入图片描述
KstestResult(statistic=0.3857928635185164, pvalue=3.236212187118781e-09)
显然不满足正态分布

用一组班级学生的分数如下

[77,67,82,58,70,68,74,67,71,70,70,67,82,76,66,70,71,65,67,62,71,62,74,76,70,58,67,77,66,67,68,82,65,70,68]判断是否满足正态分布。
	# 直方图初判
    grade=[77,67,82,58,70,68,74,67,71,70,70,67,82,76,66,70,71,65,67,62,71,62,74,76,70,58,67,77,66,67,68,82,65,70,68]
    s = pd.DataFrame(grade,columns = ['value'])
    # 创建随机数据
    fig = plt.figure(figsize = (100,60))
    ax1 = fig.add_subplot(2,1,1)  # 子图1
    ax1.scatter(s.index, s.values,color='blue')
    plt.grid()
    # 绘制数据分布图

ax2 = fig.add_subplot(2,1,2)  # 子图2
s.hist(bins=30,alpha = 0.5,ax = ax2)
s.plot(kind = 'kde', secondary_y=True,ax = ax2,color='red')
plt.grid()
# 绘制直方图
# 呈现较明显的正太性
from scipy import stats
grade=[77,67,82,58,70,68,74,67,71,70,70,67,82,76,66,70,71,65,67,62,71,62,74,76,70,58,67,77,66,67,68,82,65,70,68]
df = pd.DataFrame(grade, columns =['value'])
u = df['value'].mean()  # 计算均值
std = df['value'].std()  # 计算标准差
stats.kstest(df['value'], 'norm', (u, std))
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190126231044279.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0R1bHBlZQ==,size_16,color_FFFFFF,t_70)

在这里插入图片描述
结果:KstestResult(statistic=0.1590180704824098, pvalue=0.3066297258358026)满足正态分布

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要得到任意正态分布,可以通过以下步骤从标准正态分布中转换得到: 1. 对于给定的正态分布,计算其均值(μ)和标准差(σ)。 2. 将需要得到的正态分布转化为标准正态分布。这可以通过将原始变量减去其均值,再除以其标准差来实现。 3. 使用标准正态分布的累积分布函数(CDF)计算每个值的累积概率。 4. 将标准正态分布的值替换为通过CDF计算出的累积概率,得到转换后的任意正态分布的值。 5. 将转换后的任意正态分布的值乘以标准差(σ),再加上均值(μ),即可得到所需的正态分布。 需要注意的是,这种方法只适用于连续型变量。 ### 回答2: 要由标准正态分布得到任意正态分布,可以通过以下步骤进行转化。首先,我们需要了解标准正态分布的特征。 标准正态分布的特征是其均值为0,标准差为1。而对于任意正态分布,我们可以设定其均值为μ(mu),标准差为σ (sigma)。 设X为标准正态分布(均值为0,标准差为1)的随机变量,而Y为我们要得到的任意正态分布(均值为μ,标准差为σ)的随机变量。 步骤如下: 1. 从标准正态分布中取得一个样本X。 2. 将X与σ相乘,然后加上μ,得到Y = σ*X + μ。 3. 那么Y将会符合均值为μ,标准差为σ的正态分布。 这是因为对于正态分布而言,我们可以通过线性变换来改变其均值和标准差,而σ*X即可实现标准差的调整,而加上μ可以实现均值的调整。 通过这种方式,我们可以由标准正态分布得到任意正态分布。这对于统计学、概率论以及其他许多领域中的研究和分析非常重要,因为正态分布是许多自然现象和现实世界中的数据分布的理想选择。 ### 回答3: 要从标准正态分布得到任意正态分布,可以通过两个步骤实现:平移和缩放。 首先,进行平移。 对于标准正态分布中的每个随机变量Z,通过加上一个常数μ来平移其均值,这个平移后的随机变量记作X。这样,X的均值就为μ,标准差仍为1。 然后,进行缩放。将平移后的随机变量X乘以一个常数σ,这个常数将决定新的随机变量Y的标准差和方差。因此,新的随机变量Y可以表示为Y = σX + μ,其中σ为标准差,μ为均值。 这样,通过平移和缩放操作,就可以从标准正态分布得到任意正态分布。这是因为平移和缩放操作不会改变正态分布的形状,只是改变了分布的位置和尺度。 总结起来,要从标准正态分布得到任意正态分布,只需进行平移和缩放操作即可。通过将标准正态分布随机变量Z加上一个常数μ进行平移,再将结果乘以一个常数σ进行缩放,就可以得到均值为μ,标准差为σ的任意正态分布随机变量Y。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值