Stata 如何从联合分布模拟对

Stata 如何从联合分布模拟对,stata,scatter-plot,Stata,Scatter Plot,我有两个正态分布X和Y,它们之间有一个给定的协方差和X和Y的方差,我想从联合分布中模拟(比如说200个点)成对的点,但我似乎找不到一个命令/方法来做到这一点。我想最终在散点图中绘制这些点 到目前为止,我已经 set obs 100 set seed 1 gen y = 64*rnormal(1, 5/64) gen x = 64*rnromal(1, 5/64) matrix D = (1, .5 | .5, 1) drawnorm x, y, cov(D) 但这会导致一个错误,即x和y已

我有两个正态分布X和Y,它们之间有一个给定的协方差和X和Y的方差,我想从联合分布中模拟(比如说200个点)成对的点,但我似乎找不到一个命令/方法来做到这一点。我想最终在散点图中绘制这些点

到目前为止,我已经

set obs 100
set seed 1

gen y = 64*rnormal(1, 5/64)
gen x = 64*rnromal(1, 5/64)
matrix D = (1, .5 | .5, 1)

drawnorm x, y, cov(D)
但这会导致一个错误,即
x
y
已经存在


此外,一旦我有了一个样本,我将如何将
drawnorm
输出绘制为散点?

这里是一个几乎最小的示例:

. clear 

. set obs 100
number of observations (_N) was 0, now 100

. set seed 1

. matrix D = (1, .5 \ .5, 1)

. drawnorm x y, cov(D)
正如
drawnorm
帮助
所述,您必须提供新的变量名。由于
x
y
已经存在,
drawnorm
把你赶了出去。您还有一个多余的逗号,可能会触发语法错误


help scatter
介绍散点图

生成相关数据的相关方法是使用
corr2data
命令:

clear

set obs 100
set seed 1

matrix D = (1, .5 \ .5, 1)

drawnorm x1 y1, cov(D)
corr2data x2 y2, cov(D)


. summarize x*

Variable |        Obs        Mean    Std. Dev.       Min        Max
-------------+---------------------------------------------------------
      x1 |        100    .0630304    1.036762  -2.808194   2.280756
      x2 |        100    1.83e-09           1  -2.332422   2.238905

. summarize y*

Variable |        Obs        Mean    Std. Dev.       Min        Max
-------------+---------------------------------------------------------
      y1 |        100   -.0767662    .9529448  -2.046532   2.726873
      y2 |        100    3.40e-09           1  -2.492884   2.797518
需要注意的是,与
drawnorm
不同,
corr2data
方法不会从基础总体生成样本数据。


然后,您可以创建一个
散点
图,如下所示:

scatter x1 y1 
或者在单个图表中比较两种方法:

twoway scatter x1 y1 || scatter x2 y2

编辑:

对于特定的均值和方差,您需要在
drawnorm
中指定均值向量
μ
和协方差矩阵
。例如,要绘制两个正态分布的随机变量,其均值分别为8和12,方差分别为5和8,请键入:

matrix mu = (8, 12)
scalar cov = 0.4 * sqrt(5 * 8) // assuming a correlation of 0.4
matrix sigma = (5, cov \ cov, 8)

drawnorm double x y, means(mu) cov(sigma)

drawnorm
mean
cov
选项都记录在
help
文件中。

谢谢!但是我需要x1和y1具有上面指定的均值和方差。我该怎么做?您只需使用
drawnorm
中的相关值即可。键入
help drawnorm
了解完整语法。有关特定示例,请参阅我的编辑。再清楚不过了。