主要内容

使用秩相关生成相关数据

这个例子展示了如何使用copula和秩相关从没有可用的逆cdf函数的概率分布(如Pearson柔性分布族)生成相关数据。

步骤1。生成皮尔逊随机数。

使用两个不同的Pearson分布生成1000个随机数,使用pearsrnd函数。第一个分布的参数值为mu = 0, sigma = 1,偏态为1,峰度为4。第二种分布的参数值为,等于0,等于1,偏态为0。75,峰度为3。

RNG.默认的重复性的%p1 = pearsrnd (0, 1, 1, 1000, 1);p2 = pearsrnd(0、1、0.75、3、1000年,1);

在这个阶段,P1.P2.是来自各自的Pearson分布的独立样本,并且是不相关的。

步骤2。画出皮尔逊随机数。

创建一个scatterhist绘图可视化Pearson随机数。

图scatterhist (p1, p2)

图中包含一个轴。轴包含一个类型为line的对象。

柱状图显示了P1.P2.。散点图显示了联合分布P1.P2.。散点图缺乏规律表明P1.P2.是独立的。

步骤3。使用高斯联系函数生成随机数。

使用copularnd生成1000个相关系数为-0.8的相关随机数,使用高斯关联函数。创建一个scatterhist绘图可视化copula生成的随机数。

u = copularnd (“高斯”, -0.8, 1000);图scatterhist (u (: 1), (2):,)

图中包含一个轴。轴包含一个类型为line的对象。

直方图表明,Copula的每列中的数据具有边缘均匀的分布。散点图显示了两列中的数据是负相关的。

步骤4。对联系随机数进行排序。

利用Spearman的秩相关,将两个独立的皮尔逊样本转换为相关数据。

使用种类函数对关联随机数从小到大排序,并返回描述这些数字重新排列顺序的索引向量。

(s1, i1) = (u (: 1));(s2, i2) = (u (:, 2));

s1s2包含copula的第一列和第二列的数字,u,按照最小到最大的顺序排序。i1i2是描述元素重排顺序的索引向量吗s1s2。例如,如果第一个值在排序向量s1是原始未输制矢量中的第三个值,然后是索引矢量中的第一个值i1是3。

步骤5.使用Spearman的等级相关性转换Pearson样本。

创建两个0向量,x1x2,它的大小与排序的连接向量相同,s1s2。将值排序P1.P2.从小到大。将值放入x1x2,其顺序与索引相同i1i2通过对Copula随机数进行排序生成。

x1 = 0(大小(s1));x2 = 0(大小(s2));x1 (i1) = (p1);x2 (i2) = (p2);

步骤6。绘制相关的皮尔逊随机数。

创建一个scatterhist绘图可视化相关的Pearson数据。

图散点图(x1,x2)

图中包含一个轴。轴包含一个类型为line的对象。

直方图显示了每一列数据的边缘皮尔逊分布。散点图显示了P1.P2.,表明数据现在是负相关的。

步骤7。确定斯皮尔曼等级相关系数值。

确认copula随机数与相关Pearson随机数的Spearman秩相关系数相同。

copula_corr = corr (u,“类型”,“枪兵”)
copula_corr =2×21.000 -0.7858 -0.7858 1.000
pearson_corr = corr ((x1, x2),“类型”,“枪兵”)
Pearson_corr =.2×21.000 -0.7858 -0.7858 1.000

对于copula和Pearson随机数,Spearman秩相关是相同的。

另请参阅

||

相关话题