模糊等价矩阵.docx

上传人:b****5 文档编号:7797206 上传时间:2023-01-26 格式:DOCX 页数:8 大小:16.16KB
下载 相关 举报
模糊等价矩阵.docx_第1页
第1页 / 共8页
模糊等价矩阵.docx_第2页
第2页 / 共8页
模糊等价矩阵.docx_第3页
第3页 / 共8页
模糊等价矩阵.docx_第4页
第4页 / 共8页
模糊等价矩阵.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

模糊等价矩阵.docx

《模糊等价矩阵.docx》由会员分享,可在线阅读,更多相关《模糊等价矩阵.docx(8页珍藏版)》请在冰豆网上搜索。

模糊等价矩阵.docx

模糊等价矩阵

模糊等价矩阵”;英文对照

fuzzyequivalencematrix;

”模糊等价矩阵”;在学术文献中的解释

1、R满足自反性、对称性,且满足:

(3)传递性min(r*k,r助)镇r.j’称为模糊等价矩阵,根据任意指定的闭值(0耳入蕊1),将R‘载为普通等价矩阵R‘,‘人

文献来源

2、这一矩阵称为模糊等价矩阵.用平方自合成法可以构造出等价矩阵,方法如下:

R.R==R.R.R.=R.若R=R.则R为模糊等价矩阵

基于模糊等价关系的模糊聚类分析收藏

假设R是X上的模糊等价关系,则对任意的a,R的a-截集是X上的普通等价关系,因此,可以根据X上的模糊关系,对X进行模糊分类。

当取不同的a值,则可以得到不同的分类结果,即分类是动态的。

实际操作中,一般情况下,我们所获得是一系列样本,假设有N个,每个样本可以看作是M维空间中的一个点。

可以表示如下,论域:

对第i个元素有

1.数据预处理

考虑到不同的数据可能有不同的量纲,因此,再处理之前,有必要对数据进行相当的变换。

常用的变换标准差变换和极差变换:

标准差变换:

经过变换后,每个变量的均值为0,标准差为1,并可以消除量纲的影响,但值不一定在0和1之间。

极差变换:

经过变换后,消除了量纲的影响,并且值在0和1之间。

2模糊相似矩阵的建立

由已知的数据,可以建立论域上的模糊关系矩阵,其目的是为构造模糊等价矩阵提供数据。

计算模糊关系矩阵由很多方法,如夹角余弦法,相关系数法,算术平均法,几何平均法,最大最小法,以夹角余弦为例,可用下述公式计算:

3用传递闭包法求模糊等价矩阵

由以上过程所建立的矩阵一般仅具有自反性和对称性,不满度传递性,必须进行变换转换为模糊等价矩阵。

常采用传递闭包法,即从上述R矩阵出发,求R^2-->R^4-->R^8...,直到第一次出现R^k×R^k=R^k,这时表明R以具有传递性。

4根据模糊等价矩阵和某以a得到分类结果。

部分代码实现:

'**********************************数据的标准差变化****************************

'

'过程名:

Norm_Diff

'参数:

Data()-Double,待变换的二维数组

'说明:

执行改函数后数组中了保存变换的数据

'作者:

'修改者:

laviepbt

'修改日期:

2006-11-1

'

'**********************************数据的标准差变化****************************

PublicSubNorm_Diff(ByRefData()AsDouble)

DimmAsInteger,NAsInteger,iAsInteger,jAsInteger

DimAveAsDouble,sAsDouble

N=UBound(Data,1):

m=UBound(Data,2)'n样品数,m变量数Forj=1Tom

Ave=0

Fori=1ToN

Ave=Ave+Data(i,j)

Next

Ave=Ave/N'ave是平均值

s=0

Fori=1ToN

s=s+(Data(i,j)-Ave)^2's是标准差

Next

s=Sqr(s/N)

Fori=1ToN

Data(i,j)=(Data(i,j)-Ave)/s

Next

Next

EndSub

'**********************************数据的极差变换****************************

'

'过程名:

Extre_Diff

'参数:

Data()-Double,待变换的二维数组

'说明:

执行改函数后数组中了保存变换的数据

'作者:

'修改者:

laviepbt

'修改日期:

2006-11-1

'

'**********************************数据的极差变换****************************

PublicSubExtre_Diff(ByRefData()AsDouble)

DimmAsInteger,NAsInteger,iAsInteger,jAsInteger

DimMaxAsDouble,MinAsDouble,dAsDouble

N=UBound(Data,1):

m=UBound(Data,2)'N样品数,M变量数Forj=1Tom

Max=-10000000000#:

Min=10000000000#

Fori=1ToN

IfData(i,j)>MaxThenMax=Data(i,j)

IfData(i,j)

Next

d=Max-Min'd是极差

Fori=1ToN

Data(i,j)=(Data(i,j)-Min)/d'极差标准化变换

Next

Next

EndSub

'**********************************夹角余弦法****************************

'

'过程名:

Angle_Cos

'参数:

Data()-Double,二维数组数据

'R()-Double,相似矩阵

'说明:

'作者:

'修改者:

laviepbt

'修改日期:

2006-11-1

'

'**********************************夹角余弦法****************************

PublicSubAngle_Cos(ByRefData()AsDouble,ByRefR()AsDouble)DimmAsInteger,NAsInteger,iAsInteger,jAsInteger,kAsIntegerDimS1AsDouble,Si2AsDouble,Sj2AsDouble

N=UBound(Data,1):

m=UBound(Data,2)'N样品数,M变量数Fori=1ToN

Forj=1ToN

Ifi=jThen

R(i,j)=1

Else

S1=0:

Si2=0:

Sj2=0

Fork=1Tom

S1=S1+Data(i,k)*Data(j,k)

Si2=Si2+Data(i,k)^2

Sj2=Sj2+Data(j,k)^2

Next

R(i,j)=Int((S1/Sqr(Si2*Sj2))*1000+0.5)/1000

EndIf

Next

Next

EndSub

'**********************************相关系数法****************************

'

'过程名:

Correlation

'参数:

Data()-Double,二维数组数据

'R()-Double,相似矩阵

'说明:

'作者:

'修改者:

laviepbt

'修改日期:

2006-11-1

'

'**********************************相关系数法****************************

PublicSubCorrelation(ByRefData()AsDouble,ByRefR()AsDouble)DimmAsInteger,NAsInteger,iAsInteger,jAsInteger,kAsInteger

DimXiaAsDouble,XjaAsDouble

DimS1AsDouble,Si2AsDouble,Sj2AsDouble

N=UBound(Data,1):

m=UBound(Data,2)'N样品数,M变量数Fori=1ToN

Forj=1ToN

Ifi=jThen

R(i,j)=1

Else

Xia=0:

Xja=0

Fork=1Tom

Xia=Xia+Data(i,k)

Xja=Xja+Data(j,k)

Next

Xia=Xia/m

Xja=Xja/m

S1=0:

Si2=0:

Sj2=0

Fork=1Tom

S1=S1+Abs((Data(i,k)-Xia)*(Data(j,k)-Xja))

Si2=Si2+(Data(i,k)-Xia)^2

Sj2=Sj2+(Data(j,k)-Xja)^2

Next

R(i,j)=Int((S1/Sqr(Si2*Sj2))*1000+0.5)/1000

EndIf

Next

Next

EndSub

'**********************************传递闭包法****************************

'

'过程名:

TR

'参数:

R()-Double,相似矩阵

'RR()-Double,模糊乘积矩阵

'说明:

'作者:

'修改者:

laviepbt

'修改日期:

2006-11-1

'

'**********************************传递闭包法****************************

PublicSubTR(ByRefR()AsDouble,ByRefRR()AsDouble)

DimNAsInteger,lAsInteger

DimiAsInteger,jAsInteger,kAsInteger

Dimi1AsInteger,j1AsInteger

DimdMaxAsDouble

N=UBound(R,1)

ReDimdMin(1ToN)AsDouble

l=0

100:

l=l+1

Ifl>100Then

MsgBox"已进行100次自乘,仍然没有获得传递性",vbCritical,"错误"

ExitSub

EndIf

Fori=1ToN

Forj=1ToN

Fork=1ToN

IfR(i,k)<=R(k,j)Then

dMin(k)=R(i,k)

Else

dMin(k)=R(k,j)

EndIf

Next

dMax=dMin

(1)'模糊矩阵的乘法,取小取大

Fork=1ToN

IfdMin(k)>dMaxThendMax=dMin(k)

Next

RR(i,j)=dMax

Next

Next

Fori=1ToN

Forj=1ToN

'判断是否式模糊等价矩阵,若非则继续做

IfR(i,j)<>RR(i,j)Then

Fori1=1ToN

Forj1=1ToN

R(i1,j1)=RR(i1,j1)

Next

Next

GoTo100

EndIf

Next

NextEndSub

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1