寻找基于预定义噪声参数模拟聚类分析数据的方便方法

时间:2015-07-29 10:37:37

标签: matlab cluster-analysis simulation

我在Matlab中寻找一种方便的方法来模拟N维空间中的数据集,以测试我已经处理过的一组集群验证标准,看看它们是否有用。

我通常使用的数据是高度维度的(互相关矩阵N乘N,每个N约50K特征),因此我不仅寻找具有明确边界的随机数据。我想要一种噪声(或重叠)参数,我可以操作以查看我的聚类方法无法获得正确的答案。

以前的回答here基于简单地将随机数的顺序向量与预定义的偏移量和点差相连接,并且它很好但我想扩展该答案以进行更加可控的模拟。

例如,这是我写的代码(基于上面链接中的答案 - 更多内容)

N = [10,10,50];     % observations per cluster
D = 2;              % dimensions; set to 2 for visualization
mean=[0,25,80];     % mean of each cluster
dev=[5,10,60];      % spread around the mean of each cluster

DataSet=[];
Groups=[];
for i=1:length(N),
    DataSet = [DataSet;... 
        mean(i)+dev(i)*randn(N(i),D)];
    Groups = [Groups;...
        i*ones(N(i),1)];
end

plot(DataSet(Groups==1,1),DataSet(Groups==1,2),'ro', ...
DataSet(Groups==2,1),DataSet(Groups==2,2),'bo',...
DataSet(Groups==3,1),DataSet(Groups==3,2),'mo')

它应该给出3个簇的这个图

enter image description here

这很酷,但如何以系统的方式定义重叠(可能还有其他噪声参数)?

另见R package that simulate Gaussian distributions based on overlap parameters and other cool stuff

有什么想法吗?

0 个答案:

没有答案