NumPy 均匀分布模拟及 Seaborn 可视化教程

小万哥
• 阅读 300

均匀分布

简介

均匀分布是一种连续概率分布,表示在指定范围内的所有事件具有相等的发生概率。它常用于模拟随机事件,例如生成随机数或选择随机样本。

参数

均匀分布用两个参数来定义:

a:下限,表示分布的最小值。 b:上限,表示分布的最大值。

公式

均匀分布的概率密度函数 (PDF) 为:

f(x) = 1 / (b - a)    for a <= x <= b

其中:

f(x):表示在区间 [a, b] 内 x 点的概率密度。 a:分布的下限。 b:分布的上限。

生成均匀分布数据

NumPy 提供了 random.uniform() 函数来生成服从均匀分布的随机数。该函数接受以下参数:

low:分布的下限,默认为 0。 high:分布的上限,默认为 1。 size:输出数组的形状。

示例:生成 10 个介于 0 到 1 之间的均匀分布随机数:

import numpy as np

data = np.random.uniform(low=0, high=1, size=10)
print(data)

可视化均匀分布

Seaborn 库提供了便捷的函数来可视化分布,包括均匀分布。

示例:绘制 1000 个介于 0 到 1 之间的均匀分布随机数的分布图:

import seaborn as sns
import numpy as np

data = np.random.uniform(low=0, high=1, size=1000)
sns.distplot(data)
plt.show()

练习

  1. 生成 500 个介于 -10 到 10 之间的均匀分布随机数,并绘制它们的分布图。
  2. 比较不同范围下均匀分布形状的变化。
  3. 利用均匀分布来模拟 100 次抛硬币的结果,并计算正面朝上的次数的概率。

解决方案

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

# 1. 生成随机数并绘制分布图
data = np.random.uniform(low=-10, high=10, size=500)
sns.distplot(data)
plt.show()

# 2. 比较不同范围下分布形状的变化
low_values = [-10, 0, 10]
high_values = [10, 20, 30]
for low, high in zip(low_values, high_values):
    data = np.random.uniform(low=low, high=high, size=1000)
    sns.distplot(data, label=f"[{low},{high}]")
plt.legend()
plt.show()

# 3. 模拟抛硬币结果并计算正面朝上的次数概率
heads = np.random.uniform(low=0, high=1, size=100) > 0.5
print("正面朝上的次数:", heads.sum())
print("正面朝上的概率:", heads.mean())

逻辑分布

简介

逻辑分布,也称为Logistic分布,是一种连续概率分布,常用于建模具有 S 形增长特征的现象,例如生物种群增长、疫情发展等。它在机器学习中也具有广泛的应用,例如逻辑回归、神经网络等。

参数

逻辑分布用两个参数来定义:

loc:位置参数,表示分布的中心位置。默认为 0。 scale:尺度参数,控制分布的平坦程度。较大的尺度参数使分布更加平坦,两侧尾部更加分散。默认为 1。

公式

逻辑分布的概率密度函数 (PDF) 为:

f(x) = (scale / (π (1 + (x - loc) / scale)^2))    for all x

其中:

f(x):表示在所有实数 x 点的概率密度。 loc:分布的位置参数。 scale:分布的尺度参数。

生成逻辑分布数据

NumPy 提供了 random.logistic() 函数来生成服从逻辑分布的随机数。该函数接受以下参数:

loc:位置参数,默认为 0。 scale:尺度参数,默认为

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

点赞
收藏
评论区
推荐文章
Aidan075 Aidan075
3年前
用python重温统计学基础:离散型概率分布
简单介绍数据的分布形态描述中的离散型概率分布利用python中的matplotlib来模拟几种分布的图形在上一篇描述性统计(http://mp.weixin.qq.com/s?__bizMzg5NDE3Nzc5Mw&mid2247483743&idx1&sn8a0bff6f07d2c1804ccf301b400a263e&
Wesley13 Wesley13
3年前
#随机数#生成指定范围的随机数
!illustration(https://static.oschina.net/uploads/img/201611/27002454_Ta76.jpg)捡起丢下一个多月的Java,重新复习书本上的东西,来到随机数这一部分:问题:生成指定范围的随机数,比如生成\10,20)区间内的随机整数、生成\0,50\区间内的随机整数。Java
Stella981 Stella981
3年前
Python OpenCV实例:图像直方图均衡化(数学公式简单实现)
coding:utf8'''直方图均衡化作用:通常用来增加图像局部对比度,尤其在图像的有用数据的对比度相当接近时,通过直方图均衡化,图像的亮度可以更好地在直方图上分布基本思想:把原始图像的直方图变换为均匀分布的形式,增加了像素灰度值的动态范围,从而增强图像的整
小万哥 小万哥
6个月前
NumPy 二项分布生成与 Seaborn 可视化技巧
二项分布是描述固定次数独立试验中成功次数的概率分布,常用于分析二元结果的事件,如抛硬币。分布由参数n(试验次数)、p(单次成功概率)和k(成功次数)定义。概率质量函数P(k)C(n,k)p^k(1p)^(nk)。NumPy的random.binomial()可生成二项分布数据,Seaborn可用于可视化。当n大且p接近0.5时,二项分布近似正态分布。练习包括模拟不同条件下的二项分布和应用到考试场景。
小万哥 小万哥
6个月前
NumPy 泊松分布模拟与 Seaborn 可视化技巧
泊松分布是描述单位时间间隔内随机事件发生次数的离散概率分布,参数λ表示平均速率。公式为P(k)e^(λ)(λ^k)/k!。NumPy的random.poisson()可生成泊松分布数据。当λ很大时,泊松分布近似正态分布。练习包括模拟顾客到达、比较不同λ下的分布及模拟电话呼叫中心。使用Seaborn可进行可视化。关注公众号LetusCoding获取更多文章。
小万哥 小万哥
6个月前
多项分布模拟及 Seaborn 可视化教程
多项分布是二项分布的推广,描述了在n次试验中k种不同事件出现次数的概率分布。参数包括试验次数n、结果概率列表pvals(和为1)和输出形状size。PMF公式展示了各结果出现次数的概率。NumPy的random.multinomial()可生成多项分布数据。练习包括模拟掷骰子和抽奖活动。解决方案提供了相关图表绘制代码。关注公众号“LetusCoding”获取更多内容。
小万哥 小万哥
6个月前
卡方分布和 Zipf 分布模拟及 Seaborn 可视化教程
卡方分布是统计学中的一种连续概率分布,用于假设检验,形状由自由度(df)决定。自由度越大,分布越平缓。NumPy的random.chisquare()可生成卡方分布随机数。Seaborn能可视化卡方分布。练习包括模拟不同自由度的卡方分布、进行卡方检验。瑞利分布描述信号处理中幅度分布,参数为尺度(scale)。Zipf分布常用于自然语言等幂律特征数据,参数a控制形状。NumPy的random.zipf()生成Zipf分布随机数。
小万哥 小万哥
6个月前
NumPy 通用函数(ufunc):高性能数组运算的利器
NumPy的通用函数(ufunc)提供高性能的逐元素运算,支持向量化操作和广播机制,能应用于数组的数学、逻辑和比较运算。ufunc可提高计算速度,避免低效的循环,并允许自定义函数以满足特定需求。例如,ufunc实现加法比循环更高效。通过frompyfunc可创建自定义ufunc。判断函数是否为ufunc,可检查其类型是否为numpy.ufunc。ufunc练习包括数组的平方、平方根、元素积及性能对比。
小万哥 小万哥
7个月前
NumPy 随机数据分布与 Seaborn 可视化详解
随机数据分布什么是数据分布?数据分布是指数据集中所有可能值出现的频率,并用概率来表示。它描述了数据取值的可能性。在统计学和数据科学中,数据分布是分析数据的重要基础。NumPy中的随机分布NumPy的random模块提供了多种方法来生成服从不同分布的随机数。
小万哥 小万哥
7个月前
NumPy 正态分布与 Seaborn 可视化指南
正态分布(高斯分布)是重要的概率模型,具有钟形曲线特征,由均值μ和标准差σ描述。NumPy的random.normal()可生成正态分布随机数,Seaborn库方便绘制分布图。正态分布广泛应用于统计学、机器学习、金融和工程等领域。练习包括生成正态分布数据、比较不同标准差影响及模拟考试成绩计算平均分和标准分。