首页 > 其他分享 >scipy.stats.norm.rvs函数

scipy.stats.norm.rvs函数

时间:2024-12-23 13:03:22浏览次数:6  
标签:scale stats 示例 生成 rvs scipy norm 随机样本

scipy.stats 模块中,norm.rvs 函数用于从正态分布(高斯分布)中生成随机样本。它是 SciPy 提供的一个非常常用的概率分布采样工具,适合模拟正态分布的随机变量。


1. 函数定义

scipy.stats.norm.rvs(loc=0, scale=1, size=1, random_state=None)
参数说明
  • loc
    均值 μ \mu μ,即正态分布的中心位置(默认值为 0)。

  • scale
    标准差 σ \sigma σ,即正态分布的扩展程度或“宽度”(默认值为 1)。注意,scale 必须是正数。

  • size
    生成随机样本的数量或形状:

    • 如果是单个整数,如 size=10,生成 10 个样本;
    • 如果是元组(如 size=(3, 2)),生成指定形状的多维数组。
    • 默认为 1,即生成一个标量值。
  • random_state
    随机数种子:

    • 如果为 None,使用全局的随机数生成器;
    • 如果为整数,则设置随机数种子(便于复现随机结果);
    • 如果是 numpy.random.Generator 实例,则使用该生成器。
返回值

返回一个随机样本值或样本数组,大小由 size 参数决定。


2. 使用示例

示例 1:生成单个随机样本
from scipy.stats import norm

# 从标准正态分布 (均值=0, 标准差=1) 中生成一个随机样本
sample = norm.rvs()
print(sample)

输出示例:

0.174532457124
示例 2:指定均值和标准差
# 从正态分布 (均值=5, 标准差=2) 中生成一个随机样本
sample = norm.rvs(loc=5, scale=2)
print(sample)

输出示例:

6.347826482394
示例 3:生成多个样本
# 生成 10 个样本
samples = norm.rvs(loc=5, scale=2, size=10)
print(samples)

输出示例:

[6.1, 4.2, 5.8, 3.5, 6.2, 4.9, 7.4, 3.8, 5.0, 4.3]
示例 4:生成二维数组样本
# 生成形状为 (3, 2) 的随机样本数组
samples = norm.rvs(loc=0, scale=1, size=(3, 2))
print(samples)

输出示例:

[[ 0.513 -0.678]
 [ 1.243  0.436]
 [-0.327  0.875]]
示例 5:设置随机数种子
# 设置随机种子以复现相同结果
samples = norm.rvs(loc=5, scale=2, size=5, random_state=42)
print(samples)

输出示例:

[4.86508099 3.83057429 6.26513145 5.99521541 4.46307388]

3. 在吉布斯抽样中的应用

在吉布斯抽样中,norm.rvs 常用于从正态分布的满条件分布中采样。假设满条件分布为:
x ∼ N ( μ , σ 2 ) x \sim N(\mu, \sigma^2) x∼N(μ,σ2)

我们可以使用 norm.rvs 生成样本:

from scipy.stats import norm

# 满条件分布的参数
mu = 2.5
sigma = 0.8

# 从正态分布中抽取一个样本
sample = norm.rvs(loc=mu, scale=sigma)
print(sample)

4. 注意事项

  1. 参数含义

    • loc 是均值 μ \mu μ,scale 是标准差 σ \sigma σ。两者必须正确设定,特别是 scale 必须为正值,否则会报错。
  2. 随机数种子

    • 如果希望生成的随机样本具有可重复性,设置 random_state 非常重要。
  3. numpy.random.normal 的对比

    • numpy.random.normal 也可以生成正态分布随机样本,但 scipy.stats.norm.rvs 是基于 SciPy 的概率分布对象,支持更丰富的分布功能。

5. 总结

scipy.stats.norm.rvs 是用于生成正态分布随机样本的便捷函数,其灵活性在于支持多维采样、随机种子设置等功能。无论是进行数学模拟、统计建模,还是在吉布斯抽样或其他 MCMC 方法中,norm.rvs 都是不可或缺的工具。

标签:scale,stats,示例,生成,rvs,scipy,norm,随机样本
From: https://blog.csdn.net/u013172930/article/details/144661852

相关文章

  • 猫头虎 分享已解决Bug:解决 AttributeError: module ‘scipy.misc‘ has no attribute
    ......
  • 【Qualcomm】IPQ5018获取TR069 WiFi 接口Stats状态方法
    IPQ5018简介    IPQ5018是高通(Qualcomm)公司推出的一款面向网络设备的系统级芯片(SoC)。它通常用于路由器、接入点和其他网络设备中,提供高性能的无线网络连接。以下是关于IPQ5018的一些关键特性和功能:关键特性高性能处理器IPQ5018集成了多核CPU,通常是ARM架构,......
  • bash: jstack: command not found【jps、jstack、jmap、jstats 命令不生效解决】
    JVM系列文章传送门初识JVM(Java虚拟机)深入理解JVM(Java虚拟机)一文搞懂JVM垃圾回收(JVMGC)深入理解JVM垃圾回收算法一文搞懂JVM垃圾收集器JVM调优相关参数JVM场景面试题【强烈推荐】JVM性能调优–线上应用JVM内存的的预估设置【实战】JVM性能调优......
  • SciPy的详细学习要点
    SciPy是一个开源的Python科学计算库,它建立在NumPy数组对象之上,提供了许多科学和工程计算中常用的函数和工具。以下是学习SciPy时的一些详细要点:1.理解SciPy与NumPy的关系-SciPy是基于NumPy构建的,因此熟练掌握NumPy是使用SciPy的前提。SciPy的很多操作都是基于NumPy数组进行......
  • 15.7 创建prometheus的statsfulset配置
    本节重点介绍:prometheusstatsfulsetyaml配置设置statsfulset副本反亲和性设置pod运行优先级设置volumeClaimTemplates设置配置文件热更新容器configmap-reload设置prometheus主容器statsfulset设置元信息apiVersion:apps/v1kind:StatefulSetmetadata:name:prometheus......
  • Python中,你可以使用`scipy.stats`库中的`entropy`函数来计算两个连续变量之间的KL散度
    在Python中,你可以使用`scipy.stats`库中的`entropy`函数来计算两个连续变量之间的KL散度。这个函数计算的是两个概率分布之间的熵,即KL散度。以下是一个使用`scipy`计算KL散度的示例:首先,你需要安装`scipy`库(如果还未安装的话):```bashpipinstallscipy```然后,你可以使用以下代码......
  • STATS 2DA3 R questions
    STATS 2DA3 Fall 2024ASSIGNMENT 11. (10 MARKS) Using the iris dataset which is available in R, answer the following questions:(a)UseoneortwolinesofRcodetodisplayhowmanyrowsandcolumnsareinthedataset.(i.e.donotjustou......
  • 2024年一站式解决用termux安装matplotlib,pandas,numy和scipy问题
    用Python玩数据的技术人员都知道这几个库的重要性,话不多说,直接开始! termux版本:0.119.0-bate1​​​​   1.安装numpynumpy是Python的一种开源的科学计算库现在安装的是最新版本 1.26.5它是安装这几个库中最简单的,只需键入:pkgupdate&&pkgupgrade  #养......
  • StatStream
    packagecom.shrimpking.t3;importjava.util.Arrays;importjava.util.IntSummaryStatistics;importjava.util.List;/***CreatedbyIntelliJIDEA.**@Author:Shrimpking*@create2024/9/1116:57*/publicclassStatStream{publicstaticvoid......
  • SciPy从入门到放弃
    目录SciPy简介拟合与优化模块求最小值曲线拟合线性代数模块统计模块直方图和概率密度函数统计检验SciPy简介SciPy是一种以NumPy为基础,用于数学、工程及许多其他的科学任务的科学计算包,其使用的基本数据结构是由NumPy模块提供的多维数组,因此Numpy和SciPy协同使用可以更加高效地解......