参考资料:用python动手学统计学
1、概率密度函数的定义
正态分布的概率密度函数为:
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的概率可以通过下面的积分函数得到:
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()函数,如下图: