1、摘 要 本文主要运用谱系聚类分析、灰色预测、主成分分析的思想。运用 SPSS 软件进行谱系聚类和主成分分析,MATLAB 软件计算相关矩阵,建立了聚类分析模型、GM(1,1)模型和主成分分析模型,分别讨论了 2016 年 1 月-5 月 50 个城市主要食品价格的分类和价格变动的差异、预测 2016 年 6 月各类食品价格以及通过监测尽量少的食品种类预测计算居民消费者价格指数变动。针对问题一,首先对涉及的主要食品进行分类,将数据进行处理,然后利用谱系聚类分析模型,结合系统聚类,采用 SPSS 软件将 27 种食品分为 4 类,利用 EXCEL 分别作出四大类食品的价格随时间变化的折线图,分析食
2、品价格波动的特点。针对问题二,基于问题一中的食品分类,分别以每类的食品价格为序列建立灰色预测模型。先进行数据的检验与处理,对原始数据进行一次累加,使数据有较强的规律性,进而建立灰微分方程,再利用 MATLAB 软件求解模型。并依次进行残差检验及后验查检验,均有 C0.35,预测精度较好。最后通过函数预测 2016 年 6 月价格走势。针对问题三,我们通过所给数据及查找的数据,利用主成分分析法,分析得出 27 种食品种类中的主成分分别为芹菜,带鱼,鸡(白条鸡) ,鸭,大白菜。故得到可以通过检测少量食品种类,就能相对精确地预测 CPI 数值。经过对地域特点的考察,选取上海和沈阳两地,通过查找相关
3、CPI 和食品价格数据,用 spss 软件运用主成分分析法,得出对 CPI 影响大的几类食品,然后通过 matlab 算法算出权重,再由所得数据和图表的分析比较得到,不同地区应选取不同的食品种类进行检测。关键词:谱系聚类法,灰色预测,主成分分析,SPSS 软件,MATLAB 软件。一、问题重述食品价格是居民消费价格指数的重要组成部分,食品价格波动直接影响居民生活成本和农民收入,是关系国计民生的重要战略问题。2000 年以来,我国城镇居民家庭食品消费支出占总支出的比重一直维持在 36%以上。在收入增长缓慢的情况下,食品价格上涨将使人民群众明显感到生活成本增加,特别是食品价格上涨将降低低收入群体的
4、生活质量。居民消费者价格指数(CPI) ,是根据与居民生活有关的产品及劳务价格统计出来的物价变动指标,通常作为观察通货膨胀水平的重要指标。根据附件上的信息,并查找上海和沈阳的相关资料,建立数学模型解决以下问题:(1)根据附件以及相关统计网站的数据,分析我国食品价格波动的特点。(2)对 2016 年 6 月份食品价格走势进行预测。(3)目前统计部门需要监测大量食品价格变动情况以计算居民消费者价格指数变动情况,能否仅仅通过监测尽量少的食品种类价格即能相对准确地计算、预测居民消费者价格指数?在同样精度要求下,两个不同地区所选取的食品种类以及种类数目是否一致?二、问题分析居民消费者价格指数是一个波动的
5、量,它客观地表示了通货膨胀的水平,食品价格是消费者价格水平的重要组成部分,要解决以上三个问题必须要弄清楚食品价格的变化规律。针对问题一,要求根据已知的统计数据,分析出我国食品价格波动的特点。由此可以看出食品价格是本题的主要分析研究的对象。但由于已知的食品种类有 27 种,数据量比较庞大,如果逐个分析每一种食品价格的波动情况,势必导致过程繁琐。因此可以先对 27 种食品进行分类,分类的依据是各食品价格间的关联程度。由于每一类的食品价格均具有相同的走势,因此可以逐类分析即可得出我国食品价格的波动情况。针对问题二,要求预测 2016 年 6 月食品价格的走势,可以在问题一的基础上预测每个大类的食品价
6、格走势,因为每类中各种食品的价格走势大致一样。然后采用 GM(1,1)灰色预测模型求解预测之后对价格进行预测分析。针对问题三,我们通过所给数据及查找的数据,用 spss 软件利用主成分分析法,分析得出27 种食品种类中的主成分分,故得到可以通过检测少量食品种类,就能相对精确地预测CPI 数值。并选取较具特点的两个城市,通过查找相关 CPI 和食品价格数据,进行同样的操作,比较食品种类,数目是否一致。三、模型假设(1)收集到的相关的数据都准确可靠,可信度高;(2)食品零售价格每十天的平均价格与食品日平均价格的偏差很小,可以忽略不计;(3)食品的分类是按照价格走势来划分的,同一类的食品价格的变化幅
7、度可能有所不同,假设只要满足相同的价格走势即可;(4)假设在预测时间段内不存在经济发展状况、突发状况(如自然灾害)等能是食品价格波动显著的因素。4、符号说明:第 i 种食物在第 j 个时间点的价格:p,q 两类间的距离:时间序列的原始数据( 0):对原始数据进行一次累加后的数据( 1):一次累加后的数据估计值与原始数据的一次累加数据的残差的方差:原始数据 的方差 ( 0)五、模型建立与求解5.1 建立谱系聚类分析模型该问题要求根据已知的统计数据,分析出 50 个城市食品价格波动的特点。因此从题目的要求中我们可以看到,食品的价格波动是我们要分析研究的对象,但根据附件中的数据可知食品的种类有 27
8、 种,数据量比较庞大,如果逐个分析每一种食品的价格波动情况,势必会导致过程繁琐,无概括性和简洁性。因此可以先对 27 种食品进行分类,分类的根据是食品价格涨幅间的相关程度。由于每一类食品的价格均具有相同的走势,因此可以逐类分析,即可得出 50 个城市食品价格的波动情况并能找出之间的差异性。5.1.1 系统聚类模型设有 n 个样品,即本题中有 27 个食品种类,每个样品根据时间顺序测得 m 个值,设时间为指标。得到观测数据 (i=1,2,,n;j=1,2,,m) 。表中数据称为观测数据阵,其数学表达式为=11 1 1其中列向量 =( , ,, 表示第 j 个变量( j=1,2,,m) ;行向量
9、=( 12 ) , ,, 。12 )表示第 个(1)系统聚类法的基本思想距离相近的样品(或变量)先聚成类,距离相远的后聚成类,过程一直进行下去,每个样品(或变量)总能聚到合适的类中。系统聚类过程是:假设总共有 n 个样品(或变量),第一步将每个样品(或变量)独自聚成一类,共有 n 类;第二步据所确定的样品(或变量) “距离”公式,把距离较近的两个样品(或变量)聚合成一类,其他的样品(或变量)仍各自聚为一类,共聚成 n-1 类;第三步将“距离”最近的两个类进一步聚成一类,共聚成 n-2 类; 以上步骤一直进行下去,最后将所有的样品(或变量)聚成一类。为了直观地反映以上的系统聚类过程,可以把整个分
10、类系统地画成一张谱系图。所以有时系统聚类也称为谱系分析。(2)系统聚类法的基本步骤1、选择聚类方法类平均法定义类间距离平方为这两类元素两两之间距离平方的平均数,即为:=2 12设聚类的某一步将 和 合并为 ,则任一类 与 的距离为: =2 12= + )1( 22= + 2 22、系统聚类过程1) 假设总共有 n 个样品(或变量) ,第一步将每个样品(或变量)独自聚成一类,共有 n 类。2) 据所确定的样品(或变量) “距离”公式,把距离较近的两个样品(或变量)聚合成一类,其他的样品(或变量)仍各自聚为一类,共聚成 n-1 类。3)将“距离”最近的两个类进一步聚成一类,共聚成 n-2 类。以上
11、步骤一直进行下去,最后将所有的样品(或变量)聚成一类。4) 画谱系聚类图。5)决定分类的个数及各类的成员。(3)谱系聚类类数的确定由适当的阀值确定选定聚类方法,按系统聚类的方法并类后,得到一张谱系聚类图,聚类图只反映样品间的亲疏关系,它本身并没有给出分类,需要给定一个临界相似尺度,用以分割聚类图而得到样品的分类,如给定临界值 d,那么,当样品间或已并类间距离小于 d 时,认为这些样品和类的关系密切,应当归属一类。5.1.2 50 个城市的食品分类又上面的谱系聚类法步骤可知:首先确定 50 个城市食品进行分类的指标是同一类食品应具有相同的跌涨幅,然后根据系统聚类分析模型才用类平均法进行分类,再利
12、用结果确定分类个数,画出各类食品的价格折线图,由图分析食品价格增长情况。根据附件 1,此资料为 50 个城市在 2016 年 1 月 1 日至 2016 年 5 月 10 日 27 种食物价格表和涨幅表,利用 spss 软件对涨幅表数据进行系统聚类得出分类结果。(1)从谱系图(如图 1 所示)中可以看出,分为 4 类的结果为(如表 1 所示):图 1 类平均法谱系聚类图(2)食品分类的最终结果:第一类 大白菜第二类 黄瓜,西红柿第三类 豆角第四类大米,面粉(富强粉) ,面粉(标准粉) ,豆制品,花生油,大豆油,菜籽油,猪肉(后腿肉) ,猪肉(五花肉) ,牛肉,羊肉,鸡(白条鸡) ,鸡(鸡胸肉)
13、 ,鸭,鸡蛋,活鲤鱼,活草鱼,带鱼,油菜,芹菜,土豆,苹果,香蕉表 1 食品分类表5.1.3 每类食品价格波动特点分析(1)价格走势图为了进一步说明各种食物归类的合理性以及各类食物的均价走势特点,现结合各类食品的均价走势图加以更为直观的说明,由于第四类所包含的食品种类相对较多,则选取所有食品的均价走势作图,而第一类,第三类各自只包含一种食物,故只需做出每种食品的均价走势图即可,走势图及每类食品的特点如下图 2 所示。1 2 3 4 5 6 7 8 9 10 11 12 130246第 一 类1 2 3 4 5 6 7 8 9 10 11 12 13024681012第 二 类1 2 3 4 5
14、 6 7 8 9 10 11 12 1305101520第 三 类1 2 3 4 5 6 7 8 9 10 11 12 1318.418.618.81919.219.419.6第 四 类图 2 食品分类图(2)价格波动特点分析 第一类食品在这段时间内,平均价格在 3.5 附近不停变化,波动幅度大致为 1.5,这类食物总体价格是呈缓慢上升趋势的。第二类食品在这段时间内,平均价格在 8 附近不停变化,波动幅度大致为 2,这类食物价格总体是呈下降趋势的。第三类食品在这段时间内,平均价格在 14 附近不停变化,波动幅度大致为 4,中间时间段有较大幅涨价,这类食物价格不太稳定。第四类食品在这段时间内,平
15、均价格在 18.9 附近不停变化,波动幅度大致为 0.5,价格总体比较稳定,这类食物价格变化不大。5.2 运用灰色预测模型 GM(1,1)对 2016 年 6 月份食品价格走势进行预测要求预测 2016 年 6 月食品价格的走势。因为每类中各种食物的价格走势大致一样,如果对 27 种食品中每一种都进行预测,显然过程繁琐,也没有代表性和统一性,而问题一将 27 种食品分成 4 类,所以用每个大类食品价格的走势替代大类中的各种食品价格的走势。运用灰色预测模型,先进行数据的检验与处理,对原始数据进行一次累加,使数据有较强的规律性,进而建立灰微分方程,再利用 MATLAB 软件求解模型。并依次进行残差
16、检验及后验查检验,均有 C0.35,预测精度较好。最后通过函数预测 2016 年 6 月价格走势。5.2.1 建模步骤如下: (1)GM(1,1)代表一个白化形式的微分方程: +a =u (1-1)(1)(1)式中,u,a,是需要通过建模来求得的参数; 是原始数据 的累加生成(AGO )值。(1) (0)(2)将同一数据列的前 k 项元素累加后生成新数据列的第 k 项元素,这就是数据处理。表示为: (k)= (n) (1-2)(1)=1(0)不直接采用原始数据 建模,而是将原始的、无规律的数据进行加工处理,使之变(0)得较有规律,然后利用生成后的数据列来分析建模,这正是灰色系统理论的特点之一。
17、 (3)对 GM(1,1) ,其数据矩阵为:B= (1-3)(-0.5(1)(1)+(1)(2) 1-0.5(1)(-1)+(1)() 1)向量 =(0)(2), (0)(3),, (0)()(4)作最小二乘估计,用 matlab 软件求参数 a,u (代码见附录 3):= =(BTB)-1BTYN (1-4 )()(5)建立时间响应函数,求微分方程(1-1)的解为 :(1)(t+1)=(X(0)(1)- ) + (1-5)-以上这就是要建立的灰色预测模型。5.2.2 模型的求解以第一类产品白菜为例,对 2016 年 6 月份食品价格走势进行预测,50 个城市白菜平均价格变动情况如下表 2 所
18、示,数据来自附件 1。时间 1.1-1.10 1.11-1.20 1.21-1.30 2.1-2.10 2.11-2.20 2.21-2.29价格 2.31 2.43 3.2 2.36 3.89 3.74表 2 白菜平均价格变动(1) 累加生成对数列: =2.31,2.43,3.20,2.36,3.89,3.74,3.98,4.59,5.13,4.80,3.88,3.43,3.19进行累( 0)加生成得:=2.31,4.74,7.94,10.30,14.19,17.93,21.91,26.60,31.73,36.53,40.41,43.84,47.03( 1)(2)构造数据矩阵 B 和数据向量
19、 时间 3.1-3.10 3.11-3.20 3.21-3.30 4.1-4.10 4.11-4.20 4.21-4.30 5.1-5.10价格 3.98 4.69 5.13 4.8 3.88 3.43 3.19根据 3 构造矩阵 B= , =(3.52516.349.1212.24516.0619.9224.22529.16534.1338.4742.12545.43511111111111)(2.433.202.363.893.743.984.595.134.803.883.433.19)(3)计算 = =(BTB)-1BTYN()将矩阵 B 和向量 代入(4)可得 = (-0.02473
20、.1395)(4)得出预测模型按(1-5)可得到模型(1)知 (1)(t+1)=129.41 -127.1,取 t 为应力序数 k 时, 0.0247由(1)(k+1)=129.41 -127.1 (X(0)(1)=2.31, =-127.1) 0.0247即可得到生成累加数列 (1)(k+1)(k=1,2)(5) 残差检验 1、根据预测公式,计算 (1)(k),得:(1)(k)= 5.55, 8.86, 12.26, 15.75, 19.32, 22.98, 26.74, 30.58, 34.53, 38.57, 42.71, 46.96而实际的为:=4.74,7.94,10.30,14.1
21、9,17.93,21.91,26.60,31.73,36.53,40.41,43.84,47.03 ( 1) ( )计算出平均相对误差为 0.1,残差的方差 =1.741, 的方差 =17.515, ( 0) 2、预测残差C= =0.09940.35精度检验等级参考表指标 评价 c p一级 好 0.35 0.95二级 合格 0.50 0.80三级 勉强 0.65 0.70四级 不合格 0.80 0.60表 3 精度检验等级参考表由上表 3 可知可见预测精度好。(6)预测数据K=12, = - =4.35(0)(13)(1)(13)(1)(12)K=13, = - =4.46(0)(14)(1)
22、(14)(1)(13)K=14, = - =4.57(0)(15)(1)(15)(1)(14)K=15, = - =4.69(0)(16)(1)(16)(1)(15)K=16, = - =4.80(0)(17)(1)(17)(1)(16)K=17, = - =4.92(0)(18)(1)(18)(1)(17)因此,大白菜 6.1-6.10 的价格为 4.68 元,6.10-6.20 的价格为 4.80 元,6,20-6.30的价格为 4.92 元。重复上述操作,可以得出 6 月份食品的价格,如下表 4 所示6.1-6.10 6.10-6.20 6.20-6.30第一类 大白菜 4.69 4.8
23、0 4.92黄瓜 4.65 4.39 4.15第二类西红柿 4.68 4.42 4.17第三类 豆角 12.4 12.25 12.10大米 6.26 6.26 6.26面粉(富强粉) 6.06 6.06 6.07面粉(标准粉) 4.89 4.90 4.92豆制品 4.69 4.69 4.71花生油 27.52 27.56 27.58大豆油 9.93 9.95 9.99菜籽油 13.76 13.78 13.80猪肉(后腿肉) 31.49 31.51 31.68猪肉(五花肉) 32.54 32.63 32.70牛肉 66.87 66.89 66.90羊肉 59.98 60.22 61.01鸡(白条
24、鸡) 21.89 21.91 21.95鸡(鸡胸肉) 20.87 20.89 20.91鸭 1889 18.90 18.93鸡蛋 9.08 9.09 9.10活鲤鱼 15.36 1536 15.37活草鱼 15.91 15.93 16.01带鱼 34.16 34.18 34.20油菜 5.47 5.89 6.51芹菜 7.66 7.92 8.44土豆 5.89 5.94 6.02苹果 12.56 12.78 12.80第四类香蕉 6.39 6.41 6.43表 4 6 月食品价格预测表5.3 主成分分析模型居民消费价格指数,简称 CPI,是度量居民食品价格水平随着时间变动的相对数,综合反映居民
25、购买食品的变动情况。本文选取 50 个城市在 2015 年 5 月至 2016 年 4 月里 27 种主要食品的平均价格与 CPI 进行了分析,筛选出影响 CPI 发展趋势较大的食品种类。要从大量食品价格中寻找尽可能少的食品种类价格进行准确地计算、预测居民消费者价格指数,就需要运用主成分分析法。再选取两个有特点的城市上海,沈阳,根据地区的差别分析并选取合适的商品种类及数目,利用同一种数学模型进行操作。5.3.1 全国居民食品消费价格指标变化要判断是否能使用少量的食品价格来预测 CPI,需判断食品价格对 CPI 的影响的权重比,当权重比很高时,就可以认为食品价格能显著影响 CPI,进而可以认为,
26、可以通过食品价格相对准确的计算,预测居民消费价格指数。根据权重比的大小,选择一种或几种食品,用多远线性回归的方法求出这一种或几种食品价格和 CPI 之间的关系,进而达到通过少量的食品价格预测 CPI 的目的。(1) 主成分分析法步骤1、 计算相关系数矩阵R=(11127 2712727)在上式中, (i,j=1,2,3,4,,27)为原变量为原变量的 与 之间的相关系数, 其计算公式为:=1(-)( -)=1(-)2=1(-)2因为 R 是实对称矩阵(即 = ) ,所以只需计算上三角元素即可。2.计算特征值与特征向量首先解特征方程|I-R|=0 ,通常用雅可比法(Jacobi)求出特征值i(1
27、,2,3,27) ,并使其按大小顺序排列,即1 2 27 0,然后分别求出对应于特征值 的特征向量 (1,2,3,27).这里要求| =1,即 =1, 其中 表示向量 的第 j 个分 | 27=12 量。3. 计算主成分贡献率及累计贡献率主成分 的贡献率为: = 27=1累计贡献率为 : (i=1,2,3,,27)=1 27=1 根据附件一和查找数据(数据见附录表 1) ,此资料数据包括 2015 年 5 月到 2016 年 4 月的50 个城市主要食品平均价格变动情况数据表和相应每个月全国居民消费价格指标。将 27种食品作为因子,通过 CPI 数据得到数据表,通过 spss 软件得到如下表 5 所示。說明的變異數總計起始特徵值 擷取平方和載入元件 總計 變異的 % 累加 % 總計 變異的 % 累加 %1 15.387 56.991 56.991 15.387 56.991 56.9912 5.620 20.815 77.805 5.620 20.815 77.8053 2.846 10.542 88.347 2.846 10.542 88.3474 1.506 5.576 93.923 1.506 5.576 93.923