如何在 Python 中对多元对数正态分布进行采样?

2024-01-08

使用 Python,如何从多元对数正态分布中采样数据?例如,对于多元正态分布,有两个选项。假设我们有一个 3 x 3 协方差矩阵和一个 3 维均值向量 mu。

# Method 1
sample = np.random.multivariate_normal(mu, covariance)

# Method 2
L = np.linalg.cholesky(covariance)
sample = L.dot(np.random.randn(3)) + mu

我找到了numpy的numpy.随机.对数正态分布 http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.lognormal.html,但这似乎只适用于单变量样本。我还注意到 scipy 的scipy.stats.lognorm http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.lognorm.html#scipy.stats.lognorm.rvs。这似乎确实具有多元样本的潜力。但是,我不知道该怎么做。


多元对数正态分布随机变量Rv应该有这个属性:log(Rv)应服从正态分布。因此,问题实际上只是生成一个多元正态分布的随机变量,并且np.exp it.

In [1]: import numpy.random as nr

In [2]: cov = np.array([[1.0, 0.2, 0.3,],
                        [0.2, 1.0, 0.3,],
                        [0.3, 0.3, 1.0]])

In [3]: mu  = np.log([0.3, 0.4, 0.5])

In [4]: mvn = nr.multivariate_normal(mu, cov, size=5)

In [5]: mvn   # This is multivariate normal
Out[5]:
array([[-1.36808854, -1.32562291, -1.9706876 ],
       [-2.13119289,  1.28146425,  0.66000019],
       [-2.82590272, -1.22500654, -0.32635701],
       [-0.4967589 , -0.34469589, -2.04084115],
       [-0.85590235, -1.27133544, -0.70959595]])

In [6]: mvln = np.exp(mvn)

In [7]: mvln   # This is multivariate log-normal
Out[7]:
array([[ 0.25459314,  0.26563744,  0.139361  ],
       [ 0.11869562,  3.60190996,  1.9347927 ],
       [ 0.05925514,  0.29375578,  0.72154754],
       [ 0.60849968,  0.70843576,  0.12991938],
       [ 0.42489961,  0.28045684,  0.49184289]])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Python 中对多元对数正态分布进行采样? 的相关文章

随机推荐

  • Laravel 4 Auth::attempt() 总是返回 false

    我正在尝试 Laravel 的 Auth 类 但每次我尝试登录用户时 该方法都会返回 false 这是我的代码 路线 php Route get new user function return View make register Rou
  • 使用Fisher方法matlab组合P值?

    完成 CDF 后 我收到了以下值P 其中的样本 0 43 0 12 0 0021 0 05 0 017 0 001 0 025 0 038 0 35 0 29 我想结合我的P值的帮助下Fisher https en wikipedia or
  • 基于json输入绘制网络拓扑图

    我想通过证明 json 数据作为输入 使用 Highchart 或任何其他 js 库绘制网络拓扑图 在查看示例时http www highcharts com demo renderer http www highcharts com de
  • 设置滚动条拇指大小

    我正在尝试计算与 WPF 滚动条拇指元素大小相关的算法 拇指元素的大小可以使用Scrollbar ViewportSize属性 但又与Scrollbar Minimum and Scrollbar Maximum价值观 到目前为止我发现的是
  • android 从加速度计读数中删除重力

    我正在开发一个 Android 应用程序 我需要从加速度计读数中消除重力 我已经阅读了关于这个问题的多个讨论 我还找到了一个算法here http developer android com reference android hardwa
  • pandas 中给定日期的季度天数

    我创建了一个日期数据框 如下所示 import pandas as pd timespan 366 df pd DataFrame Date pd date range pd datetime today periods timespan
  • 在 Keras 中实现 Rprop 算法

    我正在尝试为 Keras 实现弹性反向传播优化器 link http www inf fu berlin de lehre WS06 Musterererkennung Paper rprop pdf 但具有挑战性的部分是能够根据每个单独的
  • 何时使用 SortedList 而不是 SortedDictionary

    这可能看起来与此重复question https stackoverflow com questions 935621 whats the difference between sortedlist and sorteddictionary
  • 为结构字段分配默认值[重复]

    这个问题在这里已经有答案了 我想为 Go 中的结构字段分配默认值 我不确定是否可能 但在创建 初始化结构的对象时 如果我没有为该字段分配任何值 我希望它从默认值分配 知道如何实现它吗 type abc struct prop1 int pr
  • 从两个向量中采样唯一对

    给定两个向量 a and b a letters 1 6 b letters 7 11 目标是使用以下方法对两列矩阵进行采样a and b 第一列应包含以下元素a使得每个元素a重复两次 第二列应包含以下元素b使得每个元素b也重复至少两次 还
  • 如何将 pandas 数据框显示为数据表?

    我想显示一个表 这是一个 pandas 数据框 作为数据表 https datatables net examples data sources dom html 在下面的简化示例中 我读取了用户提供的两个数字 它们确定了表格的行号和列号
  • 如何在 CodeIgniter 中获取 show_error() 来加载视图?

    我需要在所有页面中加载头部视图和脚部视图 但show error使用自己的完整模板 它在加载此模板后停止执行 因此如果我愿意 页脚甚至不会加载 我应该重写这个方法还是有其他方法 所以 我就是这样做的 而且效果非常好 我延长了CI Excep
  • 为什么元胞数组中的尾随逗号是有效的 Matlab 语法?

    今天我很惊讶地发现 A 1 2 3 and B 1 2 3 都是 MATLAB 中的有效语法 我原以为第二个语句会产生错误 据我所知 它们产生相同的单元阵列 all A B 返回真 允许使用第二种语法有什么原因吗 这是解析器中的错误吗 是A
  • ggplot 抛出错误“找不到标签”,而“标签”显然在那里

    我可以绘制以下标签df using geom text df lt data frame x c 610 426 569 253 y c 226 276 364 185 label c accomplishments per week ho
  • private(set) 与 let 属性 - 'private(set)' 修饰符不能应用于只读属性

    我已经知道如何private set 作品 但下面的代码给出了编译时错误 class Person private set let name String Error private set let age Int Error init n
  • android 调试器不会在断点处停止

    我在控制台中看到调试语句 但调试器不会在任何断点处停止 我尝试清除所有断点并将它们添加回来 不确定这是如何发生的 但确实如此 对我有用的解决方案 Simply 卸载应用程序从设备 在设备上手动 并再次尝试调试
  • android 的 coredata 相当于什么

    我曾经为 iPhone 编程 但后来我想在 Android 中制作另一个类似的程序 那么 我应该使用类似 coredata 的框架吗 安卓有类似的东西吗 实际上你需要的是检查 Android 的 ORM 工具的持久性 并决定哪一个最适合你
  • 如何从安装程序获取路径以及如何在我的应用程序中设置?

    我正在编写一个 win 应用程序 现在我想为我的应用程序进行设置 我的代码是 Microsoft Win32 RegistryKey rk Microsoft Win32 Registry LocalMachine OpenSubKey S
  • 从 SwiftUI 按钮调用评估Javascript

    假设您有以下 WKWebView 实现 import Combine import SwiftUI import WebKit class WebViewData ObservableObject Published var parsedT
  • 如何在 Python 中对多元对数正态分布进行采样?

    使用 Python 如何从多元对数正态分布中采样数据 例如 对于多元正态分布 有两个选项 假设我们有一个 3 x 3 协方差矩阵和一个 3 维均值向量 mu Method 1 sample np random multivariate no