我想在Matlab中生成一个带有污染对数正态分布的随机样本。受污染的对数正态分布式样本的示例可以是双峰对数正态分布,其中您将具有1个大节点和1个小节点。
这是我用来生成5个样本,每个样本包含10个数据点。
trueGM=1;
trueGSD=2;
n=10;
m=5;
o = lognrnd(log(trueGM), log(trueGSD),n,m);
如何修改此项以获得污染的对数正态分布?
答案 0 :(得分:0)
这会使对数正态样本被另外的对数正态样本的25%污染。
sampleSize = 10000
pureln = exp(rnorm(n=sampleSize, 3, 4))
contam = runif(n=sampleSize) < .25
other = exp(rnorm(n=sum(contam), 15, 0.01))
mixture = pureln
mixture[contam] = other
hist(log(mixture))