首页 > 其他分享 >常见的几种函数图示

常见的几种函数图示

时间:2023-03-31 10:06:26浏览次数:36  
标签:axs 图示 stats 函数 曲线 子图 几种 直方图 正态分布

PDF 曲线(Probability Density Function):概率密度函数,描述了随机变量在某个取值附近出现的概率密度。
在正态分布的情况下,PDF 曲线呈钟形,均值处高点,标准差越小,曲线越陡峭。
CDF 曲线(Cumulative Distribution Function):累积分布函数,是概率分布函数的积分,描述了变量取值小于等于某一特定值时的概率。
在正态分布的情况下,CDF 曲线是一条 S 形曲线,均值处概率密度函数的值为 0.5。
PPF 曲线(Percent Point Function):分位点函数,是累积分布函数的逆函数。
具体地,对于一个概率值 p,PPF 函数的值为对应的分位点 x,即在正态分布中,有 p 的概率的随机变量取值小于 x。
直方图:直方图表示了随机变量的分布情况,将随机变量的取值范围分成多个区间(称为“箱子”或“bin”),并计算出每个区间中随机变量取值的频率或概率密度。
QQ 图(Quantile-Quantile Plot):QQ 图是一种用于比较两个数据集是否来自同一分布的图形方法。
在这个例子中,我们用 QQ 图比较了正态分布的样本和真实的正态分布。如果样本确实来自于正态分布,则 QQ 图呈直线状。
直方图和 KDE 曲线:这个图展示了直方图和 KDE(Kernel Density Estimation)曲线。
KDE 曲线是通过对直方图进行平滑,得到一条概率密度函数的曲线。这种方法可以更直观地显示数据的分布情况。
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns

# 设定一个 2 行 3 列的画布
fig, axs = plt.subplots(nrows=2, ncols=3, figsize=(16, 8))

# 绘制 pdf 曲线
x = np.linspace(-4, 4, 1000)
pdf = stats.norm.pdf(x, loc=0, scale=1)  # 生成正态概率密度函数
axs[0, 0].plot(x, pdf, 'b-', label='pdf')  # 绘制 pdf 曲线
axs[0, 0].set_title('PDF')  # 设置子图标题

# 绘制 cdf 曲线
x = np.linspace(-4, 4, 1000)
cdf = stats.norm.cdf(x, loc=0, scale=1)  # 生成正态分布的累积分布函数
axs[0, 1].plot(x, cdf, 'r-', label='cdf')  # 绘制 cdf 曲线
axs[0, 1].set_title('CDF')  # 设置子图标题

# 绘制 ppf 曲线
p = np.linspace(0.01, 0.99, 100)
ppf = stats.norm.ppf(p, loc=0, scale=1)  # 生成正态分布的分位点函数
axs[0, 2].plot(p, ppf, 'g-', label='ppf')  # 绘制 ppf 曲线
axs[0, 2].set_title('PPF')  # 设置子图标题

# 分布直方图
rvs = stats.norm.rvs(loc=0, scale=1, size=10000)  # 生成正态分布的随机样本
axs[1, 0].hist(rvs, bins=100, density=True, alpha=0.5)  # 绘制直方图
axs[1, 0].set_title('Histogram')  # 设置子图标题

# qq 图
rvs_qq = stats.norm.rvs(loc=0, scale=1, size=1000)  # 生成正态分布的随机样本
stats.probplot(rvs_qq, plot=axs[1, 1])  # 绘制 QQ 图
axs[1, 1].set_title('QQ plot')  # 设置子图标题

# 直方图和 kde 曲线
sns.histplot(rvs, kde=True, ax=axs[1, 2])  # 绘制直方图和 kde 曲线
axs[1, 2].set_title('Histogram and KDE')  # 设置子图标题

# 调整子图之间的间距
fig.tight_layout()

# 显示图像
plt.show()

效果展示:

常见的几种函数图示_子图

标签:axs,图示,stats,函数,曲线,子图,几种,直方图,正态分布
From: https://blog.51cto.com/u_15754660/6161098

相关文章

  • 函数
                  匿名函数一般和事件一起使用:    ......
  • 函数连续,原函数连续且可导
    函数连续,原函数连续且可导\(\phi(x+\bigtriangleupx)\)=\(\int_{a}^{x+\bigtriangleupx}\)dt$\bigtriangleup\phi=\phi(x+\bigtriangleupx)-\phi(x)$=$\int_{a}^{x+\bigtriangleupx}f(x)dt-\int_{a}^{x}f(x)dt$=$\int_{a}^{x+\bigt......
  • Rust 的函数以及 if 控制流
    楔子本篇文章来说一说Rust的函数和流程控制,首先Rust使用蛇形命名法(snakecase)来作为函数和变量的命名风格,蛇形命名法只使用小写的字母进行命名,并以下画线分隔单词。fnmain(){another_func();}fnanother_func(){println!("helloworld");}执行完之后屏幕......
  • 函数进阶 - 2
    8.函数进阶-2函数参数的高级用法缺省参数引入缺省参数也叫做默认参数,是指定义函数时形参变量有默认值,如果调用函数时没有传递参数,那么函数就用默认值,如果传递了参数就用传递的那个数据。示例:defprint_info(name,age=35):print(f'name:{name}')print(f'age:......
  • hdu3980 Paint Chain SG函数+SG定理+记忆化搜索
    liyishui今天学习博弈,因为liyishui今天写树链剖分写得有点理智--题意:有一个圆,上面有n个豆子,每次要挑出连续m个没染色的豆子进行染色,不能移动时输掉游戏问先手必胜还是后手必胜,其中n、m<=1000题解:会很朴素地想到如果第一个人拿走了m个,那么剩下的就是一条链的问题。所以可以先......
  • [Python]异步回调函数
    importasynciofromfunctoolsimportpartialfromasyncioimportFutureasyncdeff1():print(1)awaitasyncio.sleep(2)print(2)return"f1"defcallback1(future:Future):print(future.result())print("我是f1的回调函数&......
  • 跟着查老四学Python Day 3:数据结构与函数
    老猫:请您扮演一个python讲师,帮助一个没有代码经验的人自学python,以下是此前你设置的学习计划制定学习计划:将学习过程分为四个阶段,每个阶段关注不同的内容。第一周:掌握Python基础语法、数据类型、控制结构等。同时,学会如何在本地搭建Python开发环境。第二周:学习函数、模块、文件操......
  • Java 8 函数式编程
    1Java8函数式编程2java.util.function.*3@FunctionalInterface4都是函数接口,没有成员(状态)56高阶函数:参数或返回值为函数78方法引用:类名::方法......
  • 【Python】函数的可变参数 *args 和 **kwargs的使用
    可变参数*args和**kwargs*args和**kwargs主要用于定义函数的可变参数,*args和**kwargs组合起来可以传入任意的参数。(注意:参数*args必须在**kwargs之前定义)*arg......
  • 转:np.zeros()函数
    函数调用方法:numpy.zeros(shape,dtype=float)各个参数意义:shape:创建的新数组的形状(维度)。dtype:创建新数组的数据类型。返回值:给定维度的全零数组。基础用法:import......