📄 mc_gai.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 + -