搜索
您的当前位置:首页正文

模糊聚类分析的应用

来源:易榕旅网
数学建模

论文题目:模糊聚类分析在数学考研真题中的应用

摘 要

本文采用模糊聚类分析方法和GM(1,1)灰色预测模型,利用软件matlab求解,预测出出卷者在未来怎样出题以及对考研者的复习指导。

关键词

:模糊聚类分析 相关系数法 平方法 matlab 时间序列

一、问题的重述

在数学建模中,如何用模糊数学中的“模糊聚类分析的方法解决近10年数学考研试题”这一个很模糊的问题?

二、模型假设

①假设本小组从网上下载的考研真题具有真实性。 ②假设从题目中提取的数据是合理的。

③假设本小组所用的算法在电脑中执行的结果是正确的。

三、变量说明

函数 ---------------------------------- x1 极限 ---------------------------------- x2 连续 ---------------------------------- x3 一元函数微积分学 ---------------------------------- x4 向量代数与空间解析几何 ---------------------------------- x5 多元函数的微积分学 ---------------------------------- x6 无穷级数 ---------------------------------- x7 常微分方程 ---------------------------------- x8 行列式 ---------------------------------- x9 矩阵 ---------------------------------- x10 向量 ---------------------------------- x11 线性方程组 ---------------------------------- x12 矩阵的特征值和特征向量 ---------------------------------- x13 二次型 ---------------------------------- x14 随机事件和概率 ---------------------------------- x15 随机变量及其概率分布 ---------------------------------- x16 二维随机变量及其概率分布 ---------------------------------- x17 随机变量的数字特征 ---------------------------------- x18 大数定律和中心极限定理 ---------------------------------- x19 数理统计的基本概念 ---------------------------------- x20 参数估计 ---------------------------------- x21

四、模型的准备

首先,本小组对2004-2013年的数学考研试题中的每一道题目进行知识点的标记,然后对所有标记的题目通过知识点进行统计,如下表:

表1

年份 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 x1 5 5 3 4 4 3 3 4 4 3 x2 4 3 2 3 1 2 3 4 2 4 x3 4 2 1 1 3 2 1 0 0 1 x4 2 1 2 3 2 5 8 3 4 2 x5 1 0 1 2 0 1 0 1 0 1 x6 1 4 3 2 4 3 2 3 4 3 x7 2 1 2 0 1 0 1 0 1 0 x8 1 1 1 1 2 0 1 1 1 1 x9 1 0 1 0 1 0 1 0 2 1 x10 2 2 2 2 3 4 2 3 2 3 x11 1 0 1 2 1 0 1 2 1 0 x12 2 1 1 1 0 0 1 2 1 0 x13 0 1 0 1 2 1 0 2 1 0 x14 1 0 0 0 0 1 0 1 1 1 x15 0 1 0 1 0 2 0 1 0 1 x16 2 0 1 1 3 0 3 2 1 2 x17 2 2 2 2 0 2 2 2 3 2 x18 0 1 1 0 1 1 0 1 0 0 x19 0 1 0 0 0 0 0 1 0 0 x20 0 0 0 0 0 1 0 0 0 0 x21 1 0 1 2 1 0 1 0 2 1

其中,表中的数据又分为三类: 高等数学(x1至x8) 线性代数(x9至x14)

概率论与数理统计(x15至x21)

五、模型的建立与求解

模型一

通过上面模型的准备,下面开始对数进行相应的处理。对上面每一类的数据进行相应的处理得到模糊相似矩阵,下面以高等数学中的知识点为例。

步骤如下:

(1)提取表1中的x1到x8中的数据,利用相关系数法,构造模糊相似关系矩阵

C(cij)nn,即C(cij)88。其中

(cjci)2cije

(xixj)2

ci,cj分别为矩阵C每一行和每一列的均值;xi,xj分别为矩阵C每一行和每一列的标准差; ij,j为原始数据所得矩阵的列数。

利用软件matlab编写程序得到高等数学知识点的模糊相似矩阵:

 1.0000 0.8379 0.2868 0.9671 0.0113 0.8572 0.0269 0.0072 0.8379 1.0000 0.5732 0.9950 0.0911 1.0000 0.1481 0.0880 0.2868 0.5732 1.0000 0.7310 0.8442 0.6068 0.8908 0.9208 0.9671 0.9950 0.7310 1.0000 0.3739 0.9954 0.4337 0.4046C 0.0113 0.0911 0.8442 0.3739 1.0000 0.1266 0.9953 0.9338  0.8572 1.0000 0.6068 0.9954 0.1266 1.0000 0.1895 0.1284 0.0269 0.1481 0.8908 0.4337 0.9953 0.1895 1.0000 0.9751 0.0072 0.0880 0.9208 0.4046 0.9338 0.1284 0.9751 1.0000

(2)利用平方法,得到模糊相似矩阵C的模糊等价矩阵。利用matlab计算(代码见附录)得到,且R

CC3。

1.0000 0.9671 0.7310 0.9671 0.7310 0.9671 0.7310 0.73100.9671 1.0000 0.7310 0.9954 0.7310 1.0000 0.7310 0.73100.7310 0.7310 1.0000 0.7310 0.9208 0.7310 0.9208 0.92080.9671 0.9954 0.7310 1.0000 0.7310 0.9954 0.7310 0.7310R0.7310 0.7310 0.9208 0.7310 1.0000 0.7310 0.9953 0.9751 0.9671 1.0000 0.7310 0.9954 0.7310 1.0000 0.7310 0.73100.7310 0.7310 0.9208 0.7310 0.9953 0.7310 1.0000 0.97510.7310 0.7310 0.9208 0.7310 0.9751 0.7310 0.9751 1.0000 取0.995(见附录),得到:

 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0R 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 0  0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1

通过上面的矩阵R对上面的x1至x8进行分类得到如下的结果: (x1),(x2,x4,x6),(x3,),(x5,x7),(x8)

下面对所分类的结果进行检验:

利用软件matlab的命令把(x2,x4,x6),(x5,x7)的图形分别画出如下:

8x2x4x672x5x71.81.661.4各知识点出现的次数5各知识点出现的次数20052006200720082009年份20102011201220131.2140.830.60.420.2120040200420052006200720082009年份2010201120122013

图1

通过图1确定:

x5和x7的走向趋势具有相反性,x2与x4具有一致性,均与x6具有相反性。

同上面的过程,我们再对线性代数和概率论与数理统计就简单了。

线性代数的步骤如下: 数据来源于(x9至x14) 模糊相似矩阵

 1.0000 0.1353 0.9511 0.9262 0.9511 1.0000 0.1353 1.0000 0.1998 0.2934 0.1998 0.0724 0.9511 0.1998 1.0000 0.9947 1.0000 0.9352C 0.9262 0.2934 0.9947 1.0000 0.9947 0.9048  0.9511 0.1998 1.0000 0.9947 1.0000 0.9352 1.0000 0.0724 0.9352 0.9048 0.9352 1.0000模糊等价矩阵

1.0000 0.2934 0.9511 0.9511 0.9511 1.00000.2934 1.0000 0.2934 0.2934 0.2934 0.29340.9511 0.2934 1.0000 0.9947 1.0000 0.9511R0.9511 0.2934 0.9947 1.0000 0.9947 0.9511 0.9511 0.2934 1.0000 0.9947 1.0000 0.95111.0000 0.2934 0.9511 0.9511 0.9511 1.0000取0.996(见附录),得到:

1 0 0 0 0 10 1 0 0 0 00 0 1 0 1 0R0 0 0 1 0 00 0 1 0 1 0 1 0 0 0 0 1通过上面的矩阵R对上面的x9至x14进行分类得到如下的结果: (x9,x14),(x11,x13),(x10),(x12)

下面对所分类的结果进行检验:

利用软件matlab的命令把(x9,x14),(x11,x13)的图形分别画出如下:

21.81.61.4x9x1421.81.61.4x11x13各知识点出现的次数1.210.80.60.40.202004各知识点出现的次数20052006200720082009年份20102011201220131.210.80.60.40.20200420052006200720082009年份2010201120122013

图2

从上面的图2中得出结论:

x9与x14具有相反性,x11与x13具有相反性。

概率论与数理统计的步骤如下: 数据来源于(x15至x21) 模糊相似矩阵:

 1.0000 0.7743 0.4412 0.9934 0.8804 0.7847 1.0000 0.7743 1.0000 0.9527 0.6790 0.4727 0.3660 0.7278 0.4412 0.9527 1.0000 0.2938 0.1165 0.0541 0.3416C 0.9934 0.6790 0.2938 1.0000 0.9048 0.7985 0.9909

 0.8804 0.4727 0.1165 0.9048 1.0000 0.9818 0.8337 0.7847 0.3660 0.0541 0.7985 0.9818 1.0000 0.6972 1.0000 0.7278 0.3416 0.9909 0.8337 0.6972 1.0000模糊等价矩阵:

1.0000 0.2934 0.9511 0.9511 0.9511 1.00000.2934 1.0000 0.2934 0.2934 0.2934 0.29340.9511 0.2934 1.0000 0.9947 1.0000 0.9511R0.9511 0.2934 0.9947 1.0000 0.9947 0.9511 0.9511 0.2934 1.0000 0.9947 1.0000 0.95111.0000 0.2934 0.9511 0.9511 0.9511 1.0000 取0.999(见附录),得到:

1 0 0 0 0 0 10 1 0 0 0 0 00 0 1 0 0 0 0R0 0 0 1 0 0 00 0 0 0 1 0 0 0 0 0 0 0 1 01 0 0 0 0 0 1通过上面的矩阵R对上面的x15至x21进行分类得到如下的结果:

(x15,x21),(x16),(x17),(x18),(x19),(x20)

下面对所分类的结果进行检验:

2x15x211.81.61.4各知识点出现的次数1.210.80.60.40.2020042005200620072008年份20092010201120122013

图3 通过图3得出:

x15与x21具有相反性。

模型二

下面开始通过灰色预测模型(GM(1,1))来对2014年各知识点出现的频率做预测。

记x(0)为原始数列

x(0)=(x(0)(k)xk=1,2,„,n)=(x(0)⑴,x(0)⑵,„,x(0)(n)) 记x⑴为生成数列

x⑴=(x⑴(k)xk=1,2,„,n)=(x⑴⑴,x⑴⑵,„,x⑴(n)) 如果x(0) 与x⑴之间满足下列关系,即

称为一次累加生成。

5建模步骤

a、建模机理

b、 把原始数据加工成生成数;

c、 对残差(模型计算值与实际值之差)修订后,建立差分微分方程模型; d、 基于关联度收敛的分析;

e、 gm模型所得数据须经过逆生成还原后才能用。

f、采用“五步建模(系统定性分析、因素分析、初步量化、动态量化、优化)”法,建立一种差分微分方程模型gm(1,1)预测模型。 GM(1,1)模型

令 x(0)=(x⑴,x⑵,„,x(n)) 作一次累加生成, k

x(k)= ∑x(m) 消除数据的随机性和波动性 m=1

有 x=(x⑴,x⑵,„,x(n))

=(x⑴,x⑴+x⑵,„,x(n-1)+x(n))

x可建立白化方程:dx/dt+ax=u 即gm(1,1). 该方程的解为: x(k+1)=(x⑴-u/a)e+u/a 其中:α称为发展灰数;μ称为内生控制灰数

利用matlab软件预测2014年21个变量的值,得到的结果如下表(代码见附录):

各知识点出现的次数

预测 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 2014 3 3 1 4 1 3 0 1 1 3 0 1 1 3 0 2 2 0 0 0

x211

六、模型结果的分析

通过上面模型一和模型二的建立与求解过程,可以得出:

x5和x7的走向趋势具有相反性,x2与x4具有一致性,均与x6具有相反性。 x9与x14具有相反性,x11与x13具有相反性。 x15与x21具有相反性。

从而可以对考研者在未来一年的考研辅导过程中,进行以下指导:

对x1、x2、x4、x6、x10、x14、x16、x17重点复习,但是在复习x2、x4、x6时,先复习x2和x4,因为x6呈下降趋势,x2、x4与x6具有相反性。在复习x5和x7时重点复习x5,x7可以不复习,因为在预测中x7=0,x5=1;表示复习x5,符合x5和x7具有相反性。在复习x9和x14时重点复习x14,虽然可能会考x9,但可正常复习一下x9即可。在复习x11和x13以及x15和x21的时候,只需复习x13,x11可以简单盖过,符合x11与x13具有相反性;只需复习x21,x15可以简单盖过,符合x15与x21具有相反性。其他的知识点,根据预测的结果得出以下结论:x3 x8 x10均需复习,x18 x19 x20可以简单的复习一下。

对于出卷者而言:

在高数方面,重点出x1 x2 x4 x6四个知识点,x7不出,其他的知识点正常出题; 在线性代数方面,重点出x10 x14,x11不出,其他的知识点正常出题;

在概率论与数理统计方面,重点出x16 x17,再出x21,其他的知识点可以不出。

七、模型的优缺点 1、模糊聚类分析

优点:聚类分析模型的优点就是直观,结论形式简明。

缺点:在样本量较大时,要获得聚类结论有一定困难。由于相似系数是根据被试的反映来建立反映被试间内在联系的指标,而实践中有时尽管从被试反映所得出的数据中发现他们之间有紧密的关系,但事物之间却无任何内在联系,此时,如果根据距离或相似系数得出聚类分析的结果,显然是不适当的,但是,聚类分析模型本身却无法识别这类错误。

2、灰色预测模型

优点:要求负荷数据少、不考虑分布规律、不考虑变化趋势、运算方便、短期预测精度高、易于检验。

缺点:当数据离散程度大,即数据灰度大,预测精度越差。为了解决这一问题,一般提出对历史数据的平滑处理、模型参数修正等方法。

八、参考文献

[美] MATLAB实用教程(第二版) Holly Moore 著 高会生 刘童娜 议 http://www.baidu.com/s?wd=模糊聚类分析在数学建模中的应用&ie=utf-8

十、附录

高等数学的知识点的代码: 1.求模糊相似矩阵的MATLAB程序 a=[5 5 4 2 1 1 2 1; 5 3 2 1 0 4 1 1; 3 3 1 2 1 3 2 1; 4 3 1 4 2 3 0 1; 4 3 3 4 0 4 1 2; 3 2 2 3 1 3 0 0; 3 3 1 8 0 2 0 1; 4 3 0 3 1 4 0 1; 4 2 0 4 0 4 1 1; 3 4 1 2 1 3 1 1 ]; mu=mean(a);sigma=std(a); for i=1:8 for j=1:8 r(i,j)=exp(-(mu(j)-mu(i))^2/(sigma(i)+sigma(j))^2); end end r save data1 r a 2.矩阵合成的MATLAB函数 function rtha=hecheng(r); n=length(r); for i=1:n for j=1:n rtha(i,j)=max(min([r(i,:);r(:,j)'])); end end 3.求模糊等价矩阵和聚类的程序 load data1; r1=hecheng(r) r2=hecheng(r1) r3=hecheng(r2) bh=zeros(8); bh(find(r2>0.995))=1

线性代数的知识点代码: 1.求模糊相似矩阵的MATLAB程序 b=[1 2 1 2 1 1; 0 2 1 1 1 0; 0 2 1 1 1 0; 0 2 1 1 1 0; 0 3 0 0 2 0; 0 4 0 0 0 1; 1 2 1 1 0 0; 0 3 2 2 1 1; 2 2 1 1 1 1; 1 3 0 0 0 1 ]; mu=mean(b);sigma=std(b); for i=1:6 for j=1:6 r(i,j)=exp(-(mu(j)-mu(i))^2/(sigma(i)+sigma(j))^2); end end r save data2 r b 2.矩阵合成的MATLAB函数 function rtha=hecheng(r); n=length(r); for i=1:n for j=1:n rtha(i,j)=max(min([r(i,:);r(:,j)'])); end end 3.求模糊等价矩阵和聚类的程序 load data1; r1=hecheng(r) r2=hecheng(r1) r3=hecheng(r2) bh=zeros(n); bh(find(r2>0.996))=1

概率论与数理统计知识点代码 1.求模糊相似矩阵的MATLAB程序 c=[ 0 2 2 0 0 0 1; 1 0 2 1 1 0 1; 0 1 2 1 0 0 1; 1 1 2 0 0 0 1; 0 3 0 1 0 0 1; 2 0 2 1 0 1 0; 0 3 2 0 0 0 0; 1 2 2 1 1 0 0; 1 1 3 0 0 0 0; 0 2 2 0 0 0 1 ]; mu=mean(c);sigma=std(c); for i=1:7 for j=1:7 r(i,j)=exp(-(mu(j)-mu(i))^2/(sigma(i)+sigma(j))^2); end end r save data3 r c 2.矩阵合成的MATLAB函数 function rtha=hecheng(r); n=length(r); for i=1:n for j=1:n rtha(i,j)=max(min([r(i,:);r(:,j)'])); end end 3.求模糊等价矩阵和聚类的程序 load data1; r1=hecheng(r) r2=hecheng(r1) r3=hecheng(r2) bh=zeros(n); bh(find(r2>0.999))=1

高等数学的代码和图形: x=[2004:1:2013]; x2=[4 3 2 3 1 x4=[2 1 2 3 2 x6=[1 4 3 2 4 x5=[1 0 1 2 0 x7=[2 1 2 0 1 subplot(1,2,1) plot(x,x2,'r',x,x4,'b',x,x6,'k') hold on subplot(1,2,2) plot(x,x5,'b',x,x7,'k') 2 5 3 1 0 3 8 2 0 1 4 3 3 1 0 2 4 4 0 1 4]; 2]; 3]; 1]; 0]; 线性代数的代码和图形: x=[2004:1:2013]; x9=[1 0 1 0 x14=[0 1 0 1 x11=[1 0 1 2 x13=[1 2 1 0 subplot(1,2,1) plot(x,x9,'k',x,x14,'b') hold on subplot(1,2,2) plot(x,x11,'b',x,x13,'k') 1 2 1 2 0 1 0 0 1 0 1 1 0 2 2 2 2 1 1 1 1]; 0]; 0]; 0]; 概率论与数理统计的代码和图形: x=[2004:1:2013]; x15=[0 1 0 1 0 2 x21=[1 0 1 2 1 0 plot(x,x15,'b-v',x,x21,'o-k') 0 1 1 0 0 2 1]; 1];

调用函数代码:

function y=gm11(x,n) %x为行向量数据 %做一次累加 x1=zeros(size(x)); for i=1:size(x1,2) x1(i)=sum(x(1:i)); end %x1的均值数列 z1=zeros(size(x)); for i=1:size(x1,2)-1 z1(i+1)=0.5*x1(i+1)+0.5*x1(i); end Yn=x(2:size(x,2))'; B=-z1(2:size(z1,2))'; B(:,2)=1; u=inv((B'*B))*B'*Yn; a=u(1); b=u(2); %预测 x2=zeros(1,n); x2(1)=x(1); for i=1:n-1 x2(1+i)=(x(1)-b/a)*exp(-a*i)+b/a; end x2=[0 x2]; y=diff(x2);

预测结果代码:

x1 =[5 5 gm11(x1,11) x2 =[4 3 2 gm11(x2,11) x3 =[4 2 1 gm11(x3,11) x4 =[2 1 2 gm11(x4,11) x5 =[1 0 1 gm11(x5,11)

3 3 1 3 2 4 1 3 2 0 4 2 2 5 1 3 3 1 8 0 3 4 0 3 1 4 2 0 4 0 4 4]; 1]; 2]; 1]; 3]; x6 =[1 4 3 2 4 3 2 gm11(x6,11) x7 =[2 1 2 0 1 0 1 gm11(x7,11) x8 =[1 1 1 1 2 0 1 gm11(x8,11) x9 =[1 0 1 0 1 0 1 gm11(x9,11) x10 =[2 2 2 2 3 4 2 gm11(x10,11) x11 =[1 0 1 2 1 0 1 gm11(x11,11) x12 =[2 1 1 1 0 0 1 gm11(x12,11) x13 =[0 1 0 1 2 1 0 gm11(x13,11) x14 =[1 0 0 0 0 1 gm11(x14,11) x15 =[0 1 0 1 0 2 0 gm11(x15,11) x16 =[2 0 1 1 3 0 3 gm11(x16,11) x17 =[2 2 2 2 0 2 2 gm11(x17,11) x18 =[0 1 1 0 1 1 0 gm11(x18,11) x19 =[0 1 0 0 0 0 0 gm11(x19,11) x20 =[0 0 0 0 0 1 0 gm11(x20,11) x21 =[1 0 1 2 1 0 1 gm11(x21,11)

3 0 1 0 3 2 2 2 0 1 2 2 1 1 0 0 4 1 1 2 2 1 1 1 1 0 1 3 0 0 0 2 3]; 0]; 1]; 1]; 3]; 0]; 0]; 0]; 1 1]; 2]; 2]; 0]; 0]; 0]; 1]; 1];

因篇幅问题不能全部显示,请点此查看更多更全内容

Top