如何生成以下错误分布? (污染的正态分布,正常的异方差分布

时间:2017-09-17 23:33:00

标签: r regression

[3]受污染的正态分布,0.9×N(0,1)+ 0.1×N(0,102),即被N(0,102)污染的标准正态分布N(0,1),具有更大方差的正态分布。该分布具有C95 = 3.07。

[4]正常的异方差分布,N(0,x2i)。我们将考虑模拟B中的偏差误差分布。为了模拟每个参数设置下的数据,我们首先从标准正态分布生成xi;然后以xi的值为条件,我们根据方程17和18模拟mi和yi。为了方便起见,我们假设β02=β03= 0。

mi =β02+αxi+ e2i(17)

yi =β03+βmi+τ'xi+ e3i,(18)

我正在尝试根据上面的段落生成两个错误分布;受污染的正态分布和正常的异方差分布。

我想知道是否有人可以告诉我该怎么做?谢谢。

2 个答案:

答案 0 :(得分:0)

[3]有几种方法可以做到这一点。一种方法是从具有指定概率的两个方差选择(转换为标准偏差)sample长度为n的向量(具有替换),并将该sd的向量提供给rnorm。请参阅?samplernorm

[4]你实际上提供了指示标准差的向量(再次,在你将给定的方差转换为rnorm之后

答案 1 :(得分:0)

关于你的第一个问题,正如@Glen_b所提到的,你可以使用例如:

 cont_norm <- function(n, # number of samples
                      mu = 0, # only one mu since the mean is the same for both distributions. 
                      sd1 = 1, # sd of the first distr
                      sd2 = 102, # sd of the second distr
                      prob = 0.1 # contamination proportion
                      ){
  s <- sample(c(sd1, sd2), n, replace = T, prob = c(1 - prob, prob))
rnorm(n, mean = mu, sd = s)}

cont_norm(100, mu = 0, sd1 = 1, sd2 = 102, prob = 0.1)

我不确定第二种情况,因为您的描述中缺少某些细节。方程式17中的β02是多少?