【问题标题】:how to generate a dataset of correlated variables with different distributions?如何生成具有不同分布的相关变量的数据集?
【发布时间】:2014-02-03 16:46:19
【问题描述】:

出于教学目的,我需要生成具有不同分布的相关随机变量的随机数据集。我在 Stata 中尝试过corr2data,但它不允许我指定要生成的变量的最大值和最小值,仅表示 sd 和协方差矩阵。因此,我需要在生成数据后进行混乱的调整。 corr2data 的各种其他细节让我很恼火。有没有更简单的方法可以用 MATLAB 做到这一点?我对这个软件不像对 Stata 那样熟悉。

【问题讨论】:

  • 你看过多元正态分布吗?
  • “不同的分布”是什么意思?一切正常,只是参数不同?或者完全不同:正常、卡方和均匀等。后者可能非常困难,因为没有标准的方法来以第一种方式参数化它们之间的相关性。

标签: matlab dataset stata correlated


【解决方案1】:

如果您可以访问 Statistics Toolbox 和 MATLAB,则可以使用 copula 功能相当轻松地做到这一点。使用 copula,您可以指定每个变量的边际分布,以及变量之间的相关结构。

然后,您可以从 copula 生成随机数,也可以将其拟合到数据等。

参见 MATLAB 文档:

Copulas: Generate Correlated Samples

【讨论】:

    猜你喜欢
    • 2015-07-20
    • 1970-01-01
    • 2014-01-06
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 2020-01-30
    相关资源
    最近更新 更多