您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 数学建模-食品价格变动分析
食品价格变动分析摘要本文对食品价格波动特点和食品价格预测的问题进行了建模、求解和相关分析。根据50个城市主要食品平均价格变动情况,建立数学模型对27种食品进行适当分类,分析各类食品价格变动特点。并综合各种影响因子,通过历史食品价格变动情况对2014年5月份食品价格走势进行了预测,绘制出相应食品价格预测表。在上述研究结果的基础上,研究了如何仅通过监测尽量少的食品种类价格即能相对准确地计算、预测居民消费者价格指数的问题,以及在同样精度要求下不同地区所选取的食品种类以及种类数目的区别。针对问题一,为了准确反映食品价格的本质趋势,首先对数据进行无量纲归一化处理,再以欧氏距离作为食品间的相关性的度量标准,运用k-medoids聚类模型分析法,减弱异常和噪声数据对食品进行分类的影响,从而得到相应的食品分类模型。从而能更加准确的分析我国食物价格波动的特点。针对问题二,根据武汉市居民食品2010年3月至l1年3月间零售价格,建立了GM(1,1)、BP神经网络以及GM(1,1)—BP神经网络组合模型层层优化对食品价格进行预测。通过对三种方法下结果的比较,分别分析其优缺点。提出GM(1,1)—BP神经网络模型,应用灰色预测模型得到的预测值作为输入量,原始数据作为期望值,对BP神经网络进行训练,从而得到具有较高精度的预测量。针对问题三,为了更好的发掘食品价格变动情况与CPI的关系,在问题一中食品分类的基础上,建立食品价格与CPI的灰色关联度评价指标,分别求得2013年12月~2014年3月期间在北京、西安两个城市食品价格与CPI的关联度,并结合食品价格的变化特点,研究如何通过监测尽量少的食品种类价格预测CPI以及不同地区选取食品种类和数目的区别。关键字:归一化处理k-medoids聚类模型GM(1,1)BP神经网络CPI灰色关联度一、问题重述1.1问题背景食品价格是居民消费价格指数的重要组成部分,食品价格波动直接影响居民生活成本和农民收入,是关系国计民生的重要战略问题。2000年以来,我国城镇居民家庭食品消费支出占总支出的比重一直维持在36%以上。在收入增长缓慢的情况下,食品价格上涨将使人民群众明显感到生活成本增加,特别是食品价格上涨将降低低收入群体的生活质量。居民消费者价格指数(CPI),是根据与居民生活有关的产品及劳务价格统计出来的物价变动指标,通常作为观察通货膨胀水平的重要指标。城市食品价格的监控,一方面作为CPI组成部分反映CPI变化,同时它更能反映与居民生活息息相关的市场信息。CPI是一个滞后性的数据,而食品零售价格是实时观测的,目前统计部门需要监测大量食品价格变动情况以计算居民消费者价格指数变动情况。1.2目标任务在以上所述背景下,以及已知近期食品价格和CPI数据的基础上,建立数学模型解决以下三个问题:(1)根据附件以及相关统计网站的数据,分析我国食品价格波动的特点。(2)对2014年5月份食品价格走势进行预测。(3)目前统计部门需要监测大量食品价格变动情况以计算居民消费者价格指数变动情况,如何仅通过监测尽量少的食品种类价格即能相对准确地计算、预测居民消费者价格指数?至少选择两个有特点的城市进行说明:在同样精度要求下,不同地区所选取的食品种类以及种类数目是否一致。二、模型的假设(1)假设在食品预测的时间段类不存在重大自然灾害等不可预测性因素对食品价格产生影响。(2)假设题目中给的数据位绝对正确的数据。(3)假设国家政策与食品价格相关的指定方案在食品预测的时间段内不发生较大改变。(4)假设食品价格影响因素的复杂程度在可预测范围内。三、符号说明符号含义p(i,j)第i种食品在第j阶段的平均价格P(i,j)预测的第i种食品在第j阶段的平均价格giP第i类食品价格归一化值D(i,j)第i类食品与第j类食品价格间的欧氏距离Ci表示空间中的一个聚类Lr学习速率mi表示聚类中的所有元素的均值x(0)(k)灰导数四、基于k-medoids聚类算法的食品价格变动特点分析4.1问题一的分析本问题要求分析我国食品价格波动的特点。附录1中提供的数据包括27种食品的食品名称和阶段性价格。需要对所涉及的27类商品进行分类,进而对各类食品价格变化的规律进行分析。从数学角度讲其实是个聚类的问题,聚类时需要同时考虑食品价格变化的相似性和相关性。4.2数据预处理为消除数据由于属性取值范围不同而导致的运算偏差,将数据进行归一化处理,使其无量纲化,更易反应食品价格的本质趋势变化,本文采用线性归一化方法:min(p)-max(p)min(p)-iigPP4.3模型建立4.3.1聚类方法的选择聚类就是将数据分成多个类别。本题采用采用k-medoids聚类算法对食品进行分类。根据分类结果,进行模型求解。4.3.2k-medoids聚类的分类算法(1)相似度的衡量——欧式距离在聚类算法设计中,食品价格间的相关性(或差异性)的衡量算法是至关重要的,本模型中采用各食品间的价格距离来确定其相似程度。常用的距离算法为欧式距离算法:nkjD02jkik|p-p|,i)(即各属性之差的平方和的平方根。其特点是在对坐标系进行平移和旋转变换之后,欧氏距离保持不变,因此对象仍然保持原来的相似结构。在欧氏距离中,容易得到以下结论:①不同食品间的欧氏距离为非负数,即D(i,j)0②食品自身之间的欧氏距离为零,即D(i,i)=0③食品间的欧氏距离存在对称关系,即D(i,j)=D(j,i)(2)分类算法——k-medoids聚类对食品进行分类,需要指定总类别数,另一方面,由于食品的价格波动比较大,存在一定的异常数据,影响到数据分布的估计,在聚类算法中,k-medoids算法对噪声和突变数据比较敏感,在处理异常数据和噪声数据方面更棒,故本文采用k-medoids算法.(3)准则函数——均方差最小值定义准则函数评价评价聚类效果。本模型中采用食品价格的均方差的最小值作为准则函数:kmpEiij1i)num(c1j||i此准则函数就是使所有对象的均方差之和最小。其中,ci表示空间中的一个聚类,即一个食品分类,k为所有食品分类数,im表示聚类中的所有元素的均值。通过数据食品价格间的相似性度量和准则函数,聚类分析法转化成了使准则函数取得极值的优化问题。4.4模型求解4.4.1数据的预处理结果:用excel表格对附表1中的数据进行归一化处理,经线性归一化处理后得到的价格数据均分布在[0,1]区间上,有效地消除了预算偏差,提高了聚类效果。图4.4.1为选取部分数据归一化后的效果图:图4.4.1归一化处理后食品价格随时间变化分布4.4.2k-mediods算法的实现:聚类算法的关键问题是分类数目的确定,为此我们依据以下算法确定食品的最佳分类数目,即基于k-mediods算法的聚类确定算法:Step1.根据食品价格变化率数据的空间分布特点选择合适的距离度量方法——欧氏距离,得到数据之间的相似关系;Step2.考虑到数据中噪声的存在,对数据进行预处理,使数据的分布更加明显;Step3.对处理后的数据用MATLAB中的k-mediods函数模块进行聚类划分。Step4.利用excel表格计算食品价格的均方差的最小值评价聚类划分结果。4.4.3食品分类的最终结果:输出聚类结果结束开始输入样本数,确定食品分类K根据最小原则划分对象任意选择一个非中心点A计算其与中心点O换的整个成本sS0?交换B点与O点构成聚类的k个中心对象以B点为中心的聚类发生变化了吗?NNYY表4-1食品分类结果3.4.4每类食品的价格波动特点根据k-medoids算法,得到食品基于价格变化趋势的分类结果,即价格变化趋势相似的食品分为一类,变化趋势较大的为不同的食品类,本文将所有食品分别分为4类。第一类:食品价格整体处于上升趋势,上升幅度较平稳。此类食品大多为厨房日常必备用品,如面粉、大豆油等。第二类:食品在春节后整体缓慢降低。此类食品多为肉类食品,如:猪肉、鸡肉等。第三类:此类食品在开春后价格整体增长,4月明显下降,受季节影响较大,多为时令蔬菜类。第四类:此类食品价格波动最小,基本保持平稳,为牛、羊肉。五、问题二:基于BP神经网络模型和灰色预测模型的数据预测5.1问题分析本问题要求对2014年5月份食品价格走势进行预测,最直观的解决方法是对27种食品分别建立预测模型,但是这种方法既耗时又费力,是不现实的。因此根据问题一中已经建立了的食品分类模型结果,对相同类型的食品用同种预测模型进行预测。对食品的未来价格预测与连续时间内的价格变化趋势存在密切的联系,并且有一定的周期性,即期往年的同期价格的趋势对今年价格的预测有一定的指导意义。食品的价格变化与众多因素息息相关,比如天气、季节、人均收入等因素。所以不能采用单一的模型对食品价格进行预测。食品分类食品类表第一类面粉、面粉标准、豆制品、大豆油、菜籽油、大米第二类鸡、鸭、鸡蛋、鸡胸肉、猪肉、猪肉五花肉、带鱼、活草鱼、活鲤鱼第三类油菜、豆角、花生油、西红柿,大白菜,芹菜,黄瓜,香蕉,土豆,豆制品第四类牛肉、羊肉5.2模型建立5.2.1模型的选择考虑到食品价格变化受多重因素的影响,本题我们采用GM(1,1)灰度与BP神经网络的组合模型。先用灰色模型进行预测,再用BP神经网络进行训练,即可得到具有相当精度的预测值。5.2.2建立GM(1,1)灰度模型进行价格预测灰色模型是利用离散随机数经过生成变为随机性被显著削弱而且较有规律的生成数,建立起的微分方程形式的模型,这样便于对其变化过程进行研究和描述,并在对数据的短期预测上具有明显的优势。为关于单变量t的数据,建立一阶单变量的灰色预测模型,即GM(1,1)。考虑时间灰微分方程X(0)(k)az(1)(k)b白化方程dx(1)dtax(1)b(1)模型建立过程如下:第一步:生成数变换。设x(0)为n个元素的数列x(0)x(0)(1),x(0)(2),...,x(0)(n),x(0)的AGO生成数列为x(1)x(1)(1),x(1)(2),...,x(1)(n);其中2/)1()()()1()1()1(kxkxkzk1,2,...,n,定义x(1)的灰导数为)()1()()()0()1()1(kxkxkxkd第二步:建立模型。令为数列的紧邻均值数列,即则z(1)(k)z(1)(2),z(1)(3),...,z(1)(n),于是定义GM(1,1)的灰微分方程模型为d(K)az(1)(k)b,即x(0)(k)az(1)(k)b(2)其中x(0)(k)称为灰导数,a称为发展系数,z(0)(k)称为白化背景值,b称为灰作用量。第三步:模型参数估计。将时刻k2,...,n的数据代入(2)中,有x(0)(2)az(1)(2)bx(0)(3)az(1)(3)b...x(0)(n)az(1)(n)b利用最小二乘法可求得参数估计ˆuˆa,ˆbTBTB1BTY其中Yx(0)(2),x(0)(3),...,x(0)(n)T,Bz(1)(2)z(1)(3)...z(1)(n)1111T第四步:模型检验和模型预测。解方程(1)得到预测方程为ˆx(1)(k1)x(0)(1)baeakba,ˆx(0)(k1)ˆx(1)(k1)ˆx(1)(k)序列Xt,tT5.2.3建立前馈BP网络神经模型建立一个前馈BP神经网络预测模型,将GM(1,1)灰度模型得到的预测序列作为输入量,原始数据作为期望值,对BP神经网络进行训练,得到相应的权值和阕值。本文所建立的食品价格预测模型采用有自适应lr的梯度下降法,建立输入层-隐层-输出层结构,通过学习、自适应过程,使多层前馈网络在输入和输出间建立合适的非线性关系,对食品未来价格进行更为精准地预测。(1)BP神经网络的初始化:Step1:确定食品价格网络结构,即确定输入节点数、输出节点数、隐含层数以及每个隐含层的节点数。Step2:对样本数据进行分段,分为训练段和检验段。Step3:选择采
本文标题:数学建模-食品价格变动分析
链接地址:https://www.777doc.com/doc-4908699 .html