我正在研究一个问题,它的内容是:
使用示例中给出的特定定义生成X =(x1,x2)的1000个iid变量。定义是x1是标准正态分布,因此N(0,1)。然而,当-1 <= x1 <= 1时,x2约为x1,否则为x1。
我在R之前使用以下代码生成bi变量随机变量,但我不知道如何获取char
然后绘制。
X=(x1, x2)
所以我知道上面的内容不正确,但我不确定我是否可以做类似的事情,或者我认为这一切都是错的。
答案 0 :(得分:1)
您可以使用rnorm
基函数生成正态分布。并且,使用简单的ifelse
函数,我们可以获得x2,如下所示:
x1 <- rnorm(10, mean = 0, sd = 1)
x2 <- ifelse( ((x1 <= 1) & (x1 >= -1)), -x1, x1)
plot(x1, x2, type='p')
答案 1 :(得分:1)
比你想象的要简单:
set.seed(1) # Setting a seed
X1 <- rnorm(1000) # Simulating X1
X2 <- ifelse(abs(X1) <= 1, -X1, X1) # If abs(X1) <= 1, then set X2=-X1 and X2=X1 otherwise.
由于问题是关于正常边缘但不是正常的双变量分布,我们可以看一下双变量密度估计:
library(MASS)
image(kde2d(X1,X2))
显然,形状不是椭圆体,因此即使两个边缘都正常,双变量分布也不正常。
也可以通过分析看出。设Z = X1 + X2。如果(X1,X2)是双变量正常,则Z也是正常的。但是P(Z = 0)> = P(| X1 | <= 1)〜= 0.68,即它具有零的正质量,这不能是连续分布的情况。