matlab蒙特卡罗变量变换的分布,使用 copula 仿真相关随机变量

article/2025/9/17 12:13:12

仿真输入之间的相关性

蒙特卡罗模拟的设计决策之一是为随机输入选择概率分布。为每个变量选择一种分布往往很简单,但确定输入之间应该存在什么样的相关性却可能不那么简单。理想情况下,仿真的输入数据应反映要建模的实际数量之间已知的相关性。然而,判断仿真中的任何相关性时可以依据的信息可能很少或根本没有,在这种情况下,最好的做法是尝试不同的可能性,以确定模型的敏感性。

但是,当输入数据的分布不是标准多元分布时,很难真正生成具有相关性的随机输入。而且,有些标准多元分布只能对非常有限的几种相关性进行建模。我们可以始终将输入视为各自独立,这很简便,但并不总是合理的,有可能导致错误的结论。

例如,在有关金融风险的蒙特卡罗模拟中,可能有一些表示各种保险损失来源的随机输入。这些输入可以建模为对数正态随机变量。我们会想了解两两输入间的相关性对仿真结果有何影响。确实,从实际数据中可能已经知道,相同的随机条件可对两个损失来源都产生影响,如果在仿真中忽略这一点,可能会导致错误的结论。

独立的对数正态随机变量的仿真非常繁琐。最简单的方法是使用 lognrnd 函数。此处,我们将使用 mvnrnd 函数生成 n 对独立的正态随机变量,然后计算它们的幂。请注意,这里使用的协方差矩阵是对角矩阵,即 Z 的各列之间是独立的。

n = 1000;

sigma = .5;

SigmaInd = sigma.^2 .* [1 0; 0 1]

SigmaInd =

0.2500 0

0 0.2500

ZInd = mvnrnd([0 0], SigmaInd, n);

XInd = exp(ZInd);

plot(XInd(:,1),XInd(:,2),'.');

axis equal;

axis([0 5 0 5]);

xlabel('X1');

ylabel('X2');

884b04f480fa0ad66eb54aedc8cfcb4a.png

生成具有相关性的二元对数正态随机变量也很简单,可使用非零项不在对角线上的协方差矩阵。

rho = .7;

SigmaDep = sigma.^2 .* [1 rho; rho 1]

SigmaDep =

0.2500 0.1750

0.1750 0.2500

ZDep = mvnrnd([0 0], SigmaDep, n);

XDep = exp(ZDep);

第二个散点图说明这两种二元分布之间的差异。

plot(XDep(:,1),XDep(:,2),'.');

axis equal;

axis([0 5 0 5]);

xlabel('X1');

ylabel('X2');

a4111a63a7e7a895f83f4ea422f90f6d.png

很明显,第二个数据集中较大的 X1 值更倾向于与较大的 X2 值关联,小值之间也是如此。这种相关性由基础二元正态分布的相关参数 rho 决定。从仿真中得出的结论可能很大程度上取决于生成的 X1 和 X2 是否存在相关性。

本示例中的二元对数正态分布是一个简单的解决方法,它当然可以泛化应用于更高维度以及边缘分布为其他对数正态分布的情况。也有一些多元分布,例如,多元 t 分布和 Dirichlet 分布,它们分别用于仿真相关的 t 随机变量和 beta 随机变量。但是,简单的多元分布并不多,而且仅适用于边缘分布都为同一族分布(甚至是完全相同的分布)的情形。在很多情况下,这可能会成为限制。

构造相关二元分布的更通用方法

尽管上面创建二元对数正态分布的构造很简单,但它说明了一种更普遍适用的方法。首先,我们从二元正态分布中生成值对。两两变量间存在统计相关性,而且每个变量都具有正态边缘分布。接下来,分别对每个变量进行变换(指数函数),将边缘分布变成对数正态分布。变换后的变量仍具有统计相关性。

如果能够找到一种合适的变换,就可以将此方法泛化,从而为其他边缘分布生成相关二元随机向量。实际上,确实存在构造这种变换的一般方法,尽管不像求幂那样简单。

根据定义,将正态 CDF(这里用 PHI 表示)应用于标准正态随机变量将生成在区间 [0,1] 内均匀分布的随机变量。为说明这一点,假设 Z 具有标准正态分布,则 U = PHI(Z) 时,CDF 为

Pr{U <= u0} = Pr{PHI(Z) <= u0} = Pr{Z <= PHI^(-1)(u0)} = u0,

而这就是 U(0,1) 随机变量的 CDF。通过为仿真的正态值和仿真的变换值绘制的直方图证实了这一点。

n = 1000;

z = normrnd(0,1,n,1);

hist(z,-3.75:.5:3.75);

xlim([-4 4]);

title('1000 Simulated N(0,1) Random Values');

xlabel('Z');

ylabel('Frequency');

23d6f7bb835951bf7dfd5b82fed0d5bc.png

u = normcdf(z);

hist(u,.05:.1:.95)


http://chatgpt.dhexx.cn/article/xx7xIqGC.shtml

相关文章

Lammps-如何采用MATLAB计算径向分布函数(RDF)

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 更 多 \color{blue}{多} 多 精 \color{orange}{精} 精 彩 \color{green}{彩} 彩&#xff01; 主要专栏内容包括&#xff1a; †《LAMMPS小技巧》&#xff1a; ‾ \textbf…

Python获取好友地区分布及好友性别分布!

Python学习交流群&#xff1a;1004391443 利用Python wxpy 可以快速的查询自己好友的地区分布情况&#xff0c;以及好友的性别分布数量。还可以批量下载好友的头像&#xff0c;拼接成大图。 本次教程是基于上次机器人后的&#xff0c;所有依赖模块都可以复用上次的&#xff…

MATLAB 常用函数 size()Zeros() ones() inf() ceil()等取整函数 randperm() find() sum() cumsum()

1.size&#xff08;&#xff09;&#xff1a;获取矩阵的行数和列数 1、ssize(A),当只有一个输出参数时&#xff0c;返回一个行向量&#xff0c;该行向量的第一个元素是矩阵的行数&#xff0c;第二个元素是矩阵的列数。 2、[r,c]size(A),当有两个输出参数时&#xff0c;size函数…

卡方分布和卡方验证的关系理解,以及Python实现

卡方分布 定义&#xff1a;设 X1…Xn是服从标准正态分布的随机变量&#xff0c;则称统计量 服从自由度为n的卡方分布&#xff0c;自由度为n时&#xff0c;他的期望是n&#xff0c;方差为2n 他是标准正态分布变量的平方和&#xff0c;网上找了一张概率密度图&#xff1a; 然…

c语言学习进阶-C语言程序产生正态分布随机数

C语言程序产生正态分布随机数 目录 C语言程序产生正态分布随机数**中心极限定理&#xff08;大数定理&#xff09;****Hasiting有理逼近法&#xff1a;****反函数产生给定分布的随机数法&#xff1a;****Box-Muller法得到服从正态分布的随机数&#xff1a;****matlab 验证生成随…

高斯分布的乘积

假设有两个高斯分布&#xff1a; p 1 ( x ) ( 2 π σ 1 2 ) − 1 2 e x p { − 1 2 ( x − μ 1 ) 2 σ 1 2 } p_1(x) (2\pi\sigma_1^2)^{-\frac{1}{2}}exp\{ -\frac{1}{2} \frac{(x-\mu_1)^2}{\sigma_1^2} \} p1​(x)(2πσ12​)−21​exp{−21​σ12​(x−μ1​)2​} p …

14 | 正态分布

文章目录 1、正态分布&#xff1a;2、数据的变换3、 数据进行规范处理的三种方法3.1 Min-max 规范化3.2 Z-Score 规范化 4、 Python 的 SciKit-Learn 库使用4.1 Min-max 规范化4.2 Z-Score 规范化 5、 总结&#xff1a; 1、正态分布&#xff1a; 什么是正态分布呢&#xff1f;…

【小白话通信】连续分布的产生

由于篇幅有限&#xff0c;前一篇文章《离散分布的产生》中只讲述了用均匀分布产生离散分布的方法&#xff0c;那么本文接着讲如何利用均匀分布产生连续分布的方法。 连续分布 连续分布主要有以下几种&#xff1a;均匀分布 伽马分布 正态分布 贝塔分布 柯西分布 对数正态分布 双…

论文变量分布图的绘制

论文变量分布图的绘制 在近红外变量选择的论文中&#xff0c;需要对选择的波段进行可视化&#xff0c;以下介绍两种变量分布图的绘制。MATLAB绘制点图 直接上代码 %数据输入&#xff0c;一行多列 load(cor1_huatu.mat) load(RSR1_huatu.mat) load(SSC1_huatu.mat) load(sopsr…

MATLAB一维数据分布情况(稳定程度))

MATLAB一维数据分布情况&#xff08;稳定程度&#xff09; 一、具体实现二、测试三、其他 by HPC_ZY 搞研究的小伙伴们&#xff0c;经常需要对实验结果进行分析&#xff0c;获取实验的稳定性等。这里提供一个小函数&#xff0c;能对一维数据&#xff08;实验结果&#xff09;进…

Python数据科学numpy的运算、分布函数和矩阵

本文介绍numpy的常用运算、统计分布函数和矩阵的基础用法 numpy的一元多元运算&#xff0c;给我们做数据处理分析做基础&#xff0c;忘记的时候可以查看文档&#xff0c;常用的理解记忆就行。以下代码演示前提均以import numpy as np为前提 1. 一元运算&#xff1a; 运算函数…

IEEE802.11信道PDP与频谱分布

%实现IEEE802.11信道仿真&#xff0c;画出IEEE802.11信道的PDP曲线与频谱图 clear,clf scale 1e-9;%纳秒量级 Ts 50*scale;%采样时间间隔&#xff0c;50ns t_rms25*scale;%RMS时延扩展&#xff0c;25ns num_ch10000;%信道数 N128;%FFT长度 PDPIEEE802_11_model(t_rms,Ts);%调…

计算二维离散随机变量的联合概率分布

一. 定义 Joint probability distribution: 给定至少两个随机变量X,Y,…, 它们的联合概率分布(Joint probability distribution)指的是每一个随机变量的值落入特定范围或者离散点集合内的概率. 对于只有两个随机变量的情况, 称为二元分布(bivariate distribution). 联合概率…

matlab 分布拟合,曲线拟合和分布拟合 - MATLAB Simulink Example - MathWorks 中国

在曲线拟合与分布拟合之间进行选择 曲线拟合和分布拟合是不同类型的数据分析。 当您要将某个响应变量建模为预测变量的函数时,请使用曲线拟合。 当您要为单一变量的概率分布建模时,请使用分布拟合。 曲线拟合 在以下试验数据中,预测变量为 time,即服用药物之后的时间。响应…

MATLAB如何画数据分布曲线,Matlab绘制累积分布函数(CDF)

CDF示例代码&#xff1a; cdf.mfunction [xTime,yPercentage]cdf(initValue,step,endValue,sample); xTime[]; yPercentage[]; totalNumlength(sample); for iinitValue:step:endValue templength(find(sample<i))/totalNum; xTime[xTime,i]; yPercentage[yPercentage,temp]…

【得物技术】如何测试概率性事件 - 二项分布置信区间

前言 &#xfeff; 日常开发测试可能会遇到这样一种情况&#xff0c;有一个接口或方法概率触发&#xff0c;那么需要多少次抽样&#xff0c;落在一个什么区间内&#xff0c;才能断定是否按照设定概率进行呢&#xff1f; &#xfeff; 本文将以二项分布作为研究手段&#xf…

python画累积分布图_python累积分布图

在与@EOL进行了决定性的讨论之后,我想使用随机高斯样本作为摘要发布我的解决方案(左上角): import numpy as np import matplotlib.pyplot as plt from math import ceil, floor, sqrt def pdf(x, mu=0, sigma=1): """ Calculates the normal distributions p…

2021-10-24 我的第五次java作业:二项分布和双骰子赌博问题

我的第五次java作业 题目&#xff1a; 二项分布是n次独立试验中成功次数k的离散概率分布&#xff0c;其中每次试验成功的概率为p。利用Java Math类中提供的数学函数&#xff0c;给出二项分布X~B(n, p, k)的实现代码并进行测试。例如&#xff0c;当用户给定n20, p0.1, k5的概率…

记一次使用Cobar踩到的坑

起因 起因是因为日志里经常报出锁等待超时的错误&#xff0c;并且这个是环环相扣的&#xff0c;一个锁等待会直接引发另外的锁等待&#xff0c;所以危害非常严重&#xff0c;影响非常深远。寻找原因发现是C3P0报出了DEADLOCK&#xff0c;如下图所示&#xff1a; 分析 可以…

Cobar介绍及配置

原文地址为&#xff1a; Cobar介绍及配置 from&#xff1a;http://code.alibabatech.com/wiki/display/cobar/Home Skip to end of metadata Page restrictions applyAttachments:1Added by kimi Lv, last edited by 邱 硕 on 十月 18, 2012 (view change) Comment: Go to st…