matlab中标准化的代码
已知矩阵A=[i*j],想用min-max标准化法将矩阵A标准化,求matlab的代码怎么写min-max标准化公式为Uij=Xij-Min(Xi)/Max(Xi)-Mi...
已知矩阵A=[ i*j],想用min-max 标准化法将矩阵A标准化,求matlab的代码怎么写
min-max标准化公式为 Uij=Xij-Min(Xi)/Max(Xi)-Min(Xi) 展开
min-max标准化公式为 Uij=Xij-Min(Xi)/Max(Xi)-Min(Xi) 展开
1个回答
展开全部
U = magic(3);
minv = min(U(:));
% U = U-minv/maxv-minv % 这是按你的标准化公式计算
U = (U-minv); % 下面是归一化处理
maxv = max(U(:));
U = U/maxv
U =
0.8750 0 0.6250
0.2500 0.5000 0.7500
0.3750 1.0000 0.1250
追问
谢谢解答,我现在又遇到一个问题,能告诉我一下吗?
我做熵值法确定权重的问题,遇到3种指标,正向、负向和一定区间最合适的指标,我现在想把他们标准化,不知道用什么方法标准化,请问该用什么方法标准化呢?
追答
(对于理工科我是门外汉,找了点资料不知有用否)
熵是对不确定性的一种度量。信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。根据熵的特性,我们可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大。
步骤
⑴选取n家上市公司,m个指标(由主成分分析法得出),则Xij为第i个上市公司的第j个指标的数值。(i=1,2…,n; j=1,2,…,m)
⑵数据的非负数化处理。由于熵值法计算采用的是各上市公司的某一指标值占同一指标值总和的比重,因此不存在量纲的影响,不需要标准化处理。但由于数据中有负数,因此需要对数据进行非负化处理,此外,为了避免求熵值时对数的无意义,还需要将数据进行平移。
(豆丁网相关资料)
http://www.docin.com/p-733983394.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询