如何运用ARIMA模型进行农产品价格的预测
2015-06-17刘飞
摘 要:我国地大物博,拥有丰富的农作物资源与土地资源,是名副其实的农业大国,所以农产品对我国社会经济的发展起着举足轻重的作用,是国民经济的根本。如今,中国市场化经济体系盛行,农产品经济的发展也在飞速进步。为了迎合农产品价格波动在市场经济机制下的供求关系,准确预测农产品价格从而进行官方的价格控制调节,对稳定市场健康发展有着极大的现实意义。本文以畜产品为例,介绍了一种ARIMA农产品价格预测模型。通过对其原理即模型计算方法的解读,进而进行了相关的优化与设计,最后以MVC模式加以辅助,总结出了畜产品价格的预测系统,完成了对畜产品价格未来走势的预测。
关键词:畜产品;ARIMA模型;MVC模式;价格预测;优化
在我国,农产品作为一种国民基础性保障工程正面临转型期。在构建现代化农产品市场体系的转型过程中,合理、科学、全面的进行农产品价格预测势在必行。因为正确的价格预测不但会指导国家农产品转型的方向,也会调整农业结构,促进我国农业的健康发展。在农业科技高度发达的今天,利用像ARIMA这样系统的、科学先进的数学模型进行农产品价格的分析预测是可行且必要的,它也为我国农业经济的优化给出了建设性建议。
一、ARIMA数学模型
1.概念
ARIMA模型(Autoregressive Integrated Moving Average)即差分自回归移动平均模型。它是由美国预测学家乔治·博克斯与格威林·詹金斯在上世纪70年代《时间序列分析:预测与控制》一书中提出的新一代预测方法。ARIMA是单双指数平滑预测的演变体,具有更稳定高效的预测性能。作为一种时间序列预测方法,它讲求“让数据自己说话”的哲学理念,更加着重对经济时间序列概率与随机性质的分析,所以ARIMA不仅仅是一种构造简单的联立方程模型,它有着自己独立的时间序列和规律性,通过对各种数据模型的模拟进行预测,而且短期内预测准确性高。但相对来说,它的长期预测能力则存在较大偏差,所以ARIMA常常用于对1~3期以内的时间序列数据预测。ARIMA的工作原理简单说就是将非平稳时间序列转变为平稳时间序列,之后通过各种变量对时间序列中所产生的滞后值进行随机误差项现值的回归,然后建立数学模型,推测预测结果。它主要包括了自回归过程、移动平均过程、自回归移动平均过程和ARIMA过程。
2.ARIMA模型的预估
本文以猪肉畜产品为例,利用ARIMA模型来对未来猪肉价格进行预测。假设预测点数为10,持续时间为两个月。预测价格上下限区间中存在90%的致信度,在这一区间内,猪肉可能在两个月内出现其应有的价格。在预测点数10以内,可以预测出未来两个月内猪肉价格下降的趋势。但在预测点数10以外,却无法预测出猪肉价格可能上涨的趋势,所以该预测模型存在一定的预期效果模糊问题,亟待改进。
3.对ARIMA模型的优化
如果猪肉产品在当年的价格数据属于非稳定性序列,那么对它的某一阶段进行差分就能得到稳定性序列。但是在模拟模型时,也要考虑到季节周期性对猪肉价格所带来的影响,所以可以优先以季节性为基础进行ARIMA模型的假设优化。
首先,要观察并设计至少一个月的自相关函数ACF图,图中在4、19、33三处出现了滞后数,这说明ACF值相对于左右数目处于峰谷位置,即猪肉价格在这一周期受到了季节影响。图中的周期15与2个月时间相吻合,这表明该季节周期出现了一阶段差分,它让数据序列稳定性提高。此时以周期15为坐标轴心建立ARMIA模型(4,1,4)(0,1,1),则可确定周期15即为猪肉价格所遇到的季节周期。
如果此时对ARIMA模型再进行残差分析,就可以根据ARIMA已确定的坐标(4,1,3)(0,1,1)进行模型拟合从而得到残差直方图表。当残差值在接近均值为0的正态分布时,它的模型可信度就较高,是可以进行预测点数以外未来猪肉价格预测的模型。
利用ARIMA(4,1,3)(0,1,1)模型对未来猪肉的价格进行预测,同样预测时间为两个月,预测点数为10。预测价格上下限区间之间的致信度依然为90%以上,在这一区间内有未来两个月内猪肉出现的价格,经研究和事实证明该预测与现实高度吻合,近乎体现了两个月内猪肉先上升后持续下降的走势,并且在时间到达65点左右时猪肉价格跌到了两个月内的最低谷。预测模型曲线也很好的反映了这一价格波动变化,所以优化后的模型可行性与精确度很高。
4.与传统预测法的比较
如果不使用ARIMA模型而选择指数平滑法这种传统预测方法,它也能在短期预测上取得较好的结果,尤其是能够清晰反映出猪肉在两个月内前期价格快速增长的趋势,但是相对实际值会出现偏低的情况。相比而言,ARIMA模型就很好的反映了猪肉价格上涨指数的实际值,尤其是对非季节性期间的ARIMA建模预测,很好的预测了预测点数10以外的价格走势,但是在持续的猪肉价格增幅下降过程中,非季节性ARIMA因为缺少对季节周期的判断变化,在最后也没能反映出猪肉价格的实际波动趋势。所以我们最终选择了季节型ARIMA模型,该模型能自始至终的反应出猪肉价格的波动过程,特别是周期内预测精准度很高。但通过过往历史周期对比也会发现,季节型ARIMA在横向的周期预测上存在劣势,即它的季节周期模型并不确切,比如说两年同一季节周期的价格波动剧烈程度不同是,季节型ARIMA就无法进行判断而得出一个明确的周期,所以这一缺陷也有待进一步研究改善。由于各种预测方式各有优缺点,所以目前的Web预测系统都会采用模型混搭的预测方法,比如说以季节ARIMA为主,非季节ARIMA为辅的搭配方式,就可以弥补相互之间存在的缺陷,从而更加准确的预测出农产品未来价格的正确走势。
二、农产品价格预测服务系统设计
利用ARIMA预测模型为主要核心来设计农产品价格预测服务系统能够长期服务于农产品未来价格预测,但是由于ARIMA模型建模方式的复杂性,很难在系统中就固定确立一个最优化ARIMA模型,这也不符合ARIMA模型会随市场农产品价格实时变化波动的特点,无法持续精准预测农产品价格。所以要建立预测服务系统,就要请分析人员对模型数据库进行实时的更新,这不但可以降低系统开发的成本与难度,也可以在长期内保持系统运行的稳定性,并在一定程度上保证预测的精确性。
1.农产品价格预测服务系统设计
首先,通过JAVA项目提供诸如ChartFactory、JFreeChart、XYSeries、Action几个自定义类,并在确定它们的属性后保存于数据序列之中。由于它们大多具有SeriesCollection属性,所以在保存数据序列之后,要提供“预测周期”和“农产品”类型等基本参数,并添加数据序列集合的方法,例如addSeries、getForecastPoint等方法,通过它们来获取农产品预测价格的时间点与实际价格。
其次,就是预测农产品在某一时间段内可能出现的价格和具体时间点。这里就需要获得最初创建系统时所提供的“预测周期”和“农产品”两个参数数据,根据它们来计算具体的预测内容。比如说以2014年4月10日为第一个时间段,那么再根据时间段计算结果和“农产品”参数数据就可以生成一串查询语句字符,此时再调用Database Access对象进行查询,就能得到返回值。再调用addSeries方法,把所得数据添加到之前的数据序列集合中,依据农产品数据就可以将农产品价格变化细致到4月中的某些天里,比如4月11日、17日、19日、25日价格发生波动。根据这些日期的价格波动再生成查询语句,调用Database Access对象查询,在提取数据组并进一步计算后就可以准确预测农产品的价格。
2.基于Struts框架的MVC模式
农产品价格预测服务系统支持框架技术,它的描述性为构建块和服务集合提供了目标,比如可以利用框架技术来开发价格预测的系统应用与测试等等。所以说,框架是解决问题的基础,它为系统创建可行性方案。
在框架技术结构中,较成熟的模式是基于应用框架的MVC模式,它可以进行控制器配置,并向系统发出请求要求执行不同的动作,并将动作结果传递给其他系统分支。在系统中,MVC主要实现于Struts框架之下,它由三个部分组成,分别是Model、View和Controller组件。其中Model部分主要由JavaBean和ActionForm两部分组成,ActionForm负责对用户请求参数进行接收、处理和封装,而JavaBean则负责将这些参数转化为业务逻辑,同时也接受各种对数据库的访问活动。
View部分则通过JSP实现,由于Struts会提供较为丰富的标签库,所以通过这些标签就可以大量缩减对数据的使用,而且自定义标签还可以实现与Model部分的有效交互,为系统增加现实预测功能。
Controller组件也有两个部分,业务逻辑控制器与系统核心控制器。系统核心控制器主要由Strust框架提供,它能够继承系统中的HttpServlet类,并可以在系统中配置标注Servlet。而业务逻辑控制器则专门负责对用户请求进行处理,但实际上业务逻辑控制器自身是不具备处理能力的,它主要依靠Model部分来完成对用户请求的处理。
基于Struts框架的MVC模式会首先接收从网络浏览器发来的客户请求,具体的接收方主要是Controller控制组件。然后Controller组件会把接收到的请求转发给相应的ActionServlet类。在Action处理请求时,会调用相应的Model及业务逻辑对客户请求中所希望达到的目标进行操作处理,然后将完成后的Action处理后显示于系统主界面之上,该数据最后还会由Servlet进行最终的配置文件解析。最后数据由服务器返回到JSP页面和客户端浏览器。
三、总结
本文主要以畜产品为主进行了ARIMA模型的价格预测演算,并最终实现了基于ARIMA模型,以sturts框架,MVC模式为技术支持的农产品价格预测服务系统设计。总结出了以下两个结论,ARIMA模型照比传统的单平滑指数预测法具有季节周期的预测优势,但是ARIMA模型本身也有横向对比无法确定农产品预测周期的缺陷,需要季节与非季节两种ARIMA模型的相互弥补才能完成对价格走势的准确预测。另外,基于sturts框架与MVC技术的农产品价格预测服务系统具有很高的实用性,但是要及时做到对ARIMA数据库的更新,保持数据的最新,保证ARIMA模型预测价格的时效性和精确度。
参考文献:
[1]蔡景拓.ARIMA模型在农产品价格预测中的应用[J].商场现代化,2014(13):29-30.
[2]郑莉,段冬梅,陆凤彬等.我国猪肉消费需求量集成预测——基于ARIMA、VAR和VEC模型的实证[J].系统工程理论与实践,2013,33(4):918 -925.
作者简介:刘飞(1992- ),男,汉族,贵州,浙江财经大学数学与统计学院