⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mc_gai.m

📁 运用遗传算法进行聚类分析
💻 M
字号:
function v=MC_gai(filename,madoid) % 给出分类重心属性值相应的MC标准,需要最大化=1/(det(W)/det(T)*g^2);
                                         % filename基金的属性文件(xls) 
                                         % madoid:g个分组的重心实值属性矩阵
                                         % 
                                         
a=xlsread(filename);
[n q]=size(a);
[g q]=size(madoid);
t=zeros(1,n);% 基金分类编号
for i=1:n
   [temp t(i)]=min(sum((repmat(a(i,:),g,1)-madoid).^2,2));% 找到每个基金离重心最近的组
end
w=zeros(q,q,g);groupm=zeros(g,q);nk=zeros(1,g); % w代表每组方差-协方差阵,groupm代表每组平均属性值,nk代表每组基金个数
for i=1:g
    ti=find(t==i);nk(i)=length(ti);
    if ti
    x=a(ti,:);  % 第i组基金属性矩阵
    groupm(i,:)=mean(x);
    x=x-repmat(groupm(i,:),length(ti),1); % 中心化
    end
    
    for j=1:length(ti)
        w(:,:,i)=w(:,:,i)+x(j,:)'*x(j,:);
    end
end
w0=sum(w,3);% W
b=zeros(q,q);% B
groupm=groupm-repmat(mean(a),g,1);
for i=1:g
    b=b+groupm(i,:)'*groupm(i,:)*nk(i);
end
T=b+w0; 
v=1/(det(w0)/det(T)*g^2)
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -