python统计分析——正态分布概率密度函数

本文介绍了如何使用Python的scipy库进行统计学习,包括正态分布的概率密度函数、绘制概率密度曲线、累计分布函数以及计算百分位数。通过实例展示了如何使用scipy.stats.norm模块中的相关函数进行操作。
摘要由CSDN通过智能技术生成

参考资料:用python动手学统计学

1、概率密度函数的定义

正态分布的概率密度函数为:N(x|\mu,\sigma^2)=\frac{e^{[-\frac{(x-\mu)^2}{2\sigma^2}]}}{\sqrt{2\pi\sigma^2}}

python中的对应正态分布概率密度函数为:scipy.stats.norm.pdf(),共有三个参数如下:

       loc为正态分布的均值,默认为0。

       scale为正态分布的标准差,默认为1。

       x为分位数。

2、绘制概率密度曲线

# 导入库
import numpy as np
import pandas as pd
import scipy as sp
from scipy import stats
import matplotlib.pyplot as plt

# 设置x轴坐标的数据点,为1到7的等差数列(步长为0.1)
x=np.arange(start=1,stop=7.1,step=0.1)
# 利用概率密度函数,求得x对应的概率密度,作为y轴坐标的数据点
y=stats.norm.pdf(loc=4,scale=0.8,x=x)
# 绘制概率密度曲线
plt.plot(x,y)

3、累计分布函数

简单来说,累计分布函数可以计算随机变量小于某个值的概率。若要求正态分布中随机变量小于等于3的概率可以通过下面的积分函数得到:

P(X\leqslant 3)=\int_{-\infty }^{3}\frac{e^{[-\frac{(x-\mu)^2}{2\sigma^2}]}}{\sqrt{2\pi\sigma^2}} dx

python中正态分布的累计分布函数为:scipy.stats.norm.cdf(),其中cdf为cumulative distribution function的缩写。参数同scipy.stats.norm.pdf()。

       正态分布相对于均值左右对称, 所以数据小于等于均值的概率为 50%,所以下面代买的运行结果为0.5。

stats.norm.cdf(loc=4,scale=0.8,x=4)

此函数相当于excel中的norm.dist()函数,如下图:

4、百分位函数

数据小于等于某个值的概率叫做左侧概率,借助累积分布函数可以得到左侧概率。

与上述概念相反,能得到某个概率的那个值叫做百分位,也叫左侧百分位数。python中正态分布的百分位数函数为:scipy.stats.norms.ppf(),参数如下:

       loc为正态分布的均值,默认为0。

       scale为正态分布的标准差,默认为1。

       q为左侧的累计概率值。

 正态分布相对于均值左右对称, 所以数据小于等于均值的概率为 50%,所以下面代买的运行结果为正态分布的均值4。

stats.norm.ppf(loc=4,scale=0.8,q=0.5)

相当于excel中的norm.ins()函数,如下图:

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值