Matlab 如何生成具有不同分布的相关变量数据集?

Matlab 如何生成具有不同分布的相关变量数据集?,matlab,dataset,stata,correlated,Matlab,Dataset,Stata,Correlated,出于教学目的,我需要生成具有不同分布的相关随机变量的随机数据集。我在Stata中尝试了corr2data,但它不允许我指定要生成的变量的最大值和最小值,仅指sd和协方差矩阵。所以,在生成数据之后,我需要进行混乱的调整。corr2data的各种其他细节让我恼火。有没有一种更简单的方法可以用MATLAB实现?我对该软件的熟悉程度不如我对Stata的熟悉。如果您可以访问统计工具箱和MATLAB,您可以使用copula功能相当轻松地完成这项工作。使用copula,可以指定每个变量的边际分布,以及变量之间

出于教学目的,我需要生成具有不同分布的相关随机变量的随机数据集。我在Stata中尝试了
corr2data
,但它不允许我指定要生成的变量的最大值和最小值,仅指sd和协方差矩阵。所以,在生成数据之后,我需要进行混乱的调整。
corr2data
的各种其他细节让我恼火。有没有一种更简单的方法可以用MATLAB实现?我对该软件的熟悉程度不如我对Stata的熟悉。

如果您可以访问统计工具箱和MATLAB,您可以使用copula功能相当轻松地完成这项工作。使用copula,可以指定每个变量的边际分布,以及变量之间的相关结构

然后,您可以从copula生成随机数,并将其与数据进行拟合等

请参见MATLAB文档中的:


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