SBOBET利记

南宫NG·28(南宫智能科技有限公司)-相信中国品牌力量

基于Hadoop框架和ARIMA算法的气象预测系统研究

  伴随着不断加快的世界工业化进程,全球变暖等气候问题日趋严重,异常天气也不断出现,给人类造成了很大的经济社会损失,人类对气象学的研究也越来越重视.气象探测数据主要来源于地面气象观测站点和空中观测站点,现在气象台站比较多,每天可观测、获取、处理气象观测数据正以指数级快速增长[1].目前这些气象数据主要采用报文文件或数据库形式进行存储,主要用于数据分析,形成天气预报、灾害预报等信息,为其他部门提供决策支持,除此之外气象数据也可作为资料进行保存,为其他领域的相关研究提供气象数据支持.

  实验采用的数据为地面气象资料,其中包括站点、日期、日平均温度、日平均湿度、日平均水汽压、日大气压、日最高气温和日最低气温8个属性.创建Hbase数据库表,表中包含avg_temperature(平均气温),max_temperature(最大气温),min_temperature(最小气温),avg_water_vapor_pressure(平均水汽压),atmospheric_pressure(气压)和avg_humity(平均湿度).

  其中:σk为残差;k=p+q+1.与AIC准则类似,BIC达到最小值时的p、q即为确定模型的阶数.

  当序列表示为以下线,…,yN为待预测值;xi1,…,xin为已知自变量;β1,…,βn为待估计的参数;南宫智能科技ei是不相关的零均值误差.该式也可写成

  如何充分有效地存储、管理和利用这些海量气象数据,有效地发现和理解这些数据背后隐含的规律和知识,为气象预测做出贡献已经受到越来越多数据挖掘研究者广泛关注.本文结合气象数据的特点给出了基于Hadoop框架的数据挖掘平台,使用时间序列挖掘算法进行气象预测并对预测结果进行了分析.

  (1)数据采集模块.提供可视化的数据发布和数据接收APBaidu Nhomakorabea,可以手动发布气象数据和接入气象数据采集设备来获取数据,将接收到的小数据首先存入Oracle数据库,当小数据积累到一定数量将被转存入存储模块,被转移数据将自动删除.

  (2)存储模块.负责元数据和实体数据的存储,并提供数据的备份.Hbase为元数据和实体数据的存储数据库,HDFS底层存储容器,HDFS的数据存储不受数据类型的限制,可以是任何类型的数据.数据采集模块中的小数据积累到一定数量将被定期存入存储模块Hbase中.

  对于每一个q,计算,… (M 取为或者,本文中选取M 为),考察其中满足的个数是否占M的95.5%(本文选取后者).如果满足95.5% 并且如果1≤k≤q0, 都明显地异于零,而在 之后即,,…均近似于零,则可以近似的判断{ρ∧k}是q0步截尾,否则为拖尾,模型选取为MA(q),q0为初步确定的阶数.本文q0的选取为设value=2/sqrt(N),ρ∧k 为第一个小于value的k的值.

  模式识别是判断平稳序列适合于AR(p),ARMA(p,q),MA(q)中的哪种模型,并初步确定模型的阶次,即初步确定p值、q值或者p和q的值.其判断依据是该平稳序列的样本平均值、自相关系数和偏自相关系数.

  对于每一个p,考察序列的个数是否占M个的95.5%,若满足,则近似的判断 {}是p0步截尾,否则为拖尾.此时选取的模型为AR(p),p0为初步确定的阶数.

  (3)模型定阶.当模型选择完毕后,需要再次确定模型的阶数,即进行模型检验,选定最终模型阶数.本文采用的定阶方法有AIC准则和BIC准则两种.

  (4)结果显示模块.对于普通用户查询分析模块返回的结果将在该模块可视化的显示出来;对于管理员它不仅可以显示查询结果还可以显示分布式文件系统结构,可以对文件系统结构进行一定的管理操作,并且可以对数据库表进行管理.

  (5)数据迁移模块.该模块使用Sqoop将Oracle中的数据转移到HBase中,自动定时执行.

  其中:n为序列数据个数;k为滞后期;Y为序列平均值.自相关系数表示时间序列滞后k个时间段后两项之间的相关程度,其取值范围为-1≤≤1,当越接近于1时,相关程度越高.

  偏自相关系数是序列Yt 在给定Yt-1,Yt-2,…,Yt-k+1 的条件下,Yt 与Yt-k 之间的条件相关.其公式为(2)根据序列的自相关系数和偏自相关系数的截尾性选择计算模型,并初步确定模型阶数.

  选择不同的p和q计算相应的AIC值,使AIC最小的p、q值即为确定模型的阶数,随着p和q的增加,式(1)中第一项不断下降,第二项不断上升,本文选取AIC准则为AR(p)模型和ARMA(p,q)模型定阶,其中当模型选取为AR(p),其中p的上限为模型选择时初步确定的阶数.BIC准则的函数式为

  预测是数据挖掘的两个基本目标之一.数据挖掘(Data Mining)是从大量的数据中挖掘出隐含的、未知的、用户可能感兴趣或对决策有潜在价值的知识和规则,这些潜在的知识和规则能够揭示数据间的规律,我们可以充分利用这些规律进行预测,这些方法广泛应用于金融预测、商品推荐、市场规划等方面[2].数据挖掘的技术方法有很多种,其中主要有:关联规则挖掘算法、决策树分类算法、聚类算法和时间序列挖掘算法等.时间序列数据挖掘就是要从大量的时间序列数据中提取人们事先不知道的、但又是潜在有用的与时间属性相关的信息和知识,并用于短期、中期或长期预测,指导人们的社会、经济、军事和生活等行为[3].

  (3)查询分析模块.查询分析模块包括真实数据读取和建立预测数据两部分.真实数据读取主要使用数据仓库工具Hive,它支持类SQL语句,便于查询,Hbase不支持类SQL语句,开发者在开发过程中需要专门学习Hbase支持的语言,十分不便.Hive还提供对外的数据查询管理API,Hive会自动将用户提交的类SQL语句编译转化为MapReduce形式进行执行,MapReduce适合大数据的处理,可以明显提高响应速度,返回查询分析结果.建立预测数据是对未来数据的预测功能,该功能由ARIMA算法实现,使用过去几年的数据对未来15天的数据进行预测,预测结果存入采集模块的Oracle数据库的预测表中,便于用户对天气预报的查询.

  目前,气象观测数据在数据存储和数据管理上面临很多问题,主要有数据量与数据属性种类增长速度快、数据响应速度要求快、数据要求具有较好的稳定性和较高的安全性、数据要求方便使用和维护.为了解决上述问题,本文设计了基于Hadoop框架的气象数据存储挖掘平台并在此基础上实现了ARIMA模型预测算法.Hadoop是Apache下的一个开源软件平台,使用该平台可以存储和管理海量数据,还可以比较容易地编写和运行用于处理海量数据的应用程序.Hadoop框架的核心思想是Map/Reduce,Map/Reduce是一个可以用于进行海量数据计算的编程模型,同时也是一种快速高效的任务调度模型,它将一个大型任务分解成很多细粒度的子任务,这些子任务能够在空闲的处理节点之间调度,使处理速度越快的节点处理越多的任务,从而避免处理速度慢的节点延长整个任务的完成时间[5].

  【作者单位】内蒙古工业大学 信息工程学院,内蒙古 呼和浩特 010051;内蒙古工业大学 信息工程学院,内蒙古 呼和浩特 010051;内蒙古工业大学 信息工程学院,内蒙古 呼和浩特 010051;内蒙古工业大学 信息工程学院,内蒙古 呼和浩特 010051

基于Hadoop框架和ARIMA算法的气象预测系统研究(图1)

  (1)根据上述方法确定的时间序列分析模型,采用对应的预测算法进行预测分析,其预测模型为自回归移动平均模型(ARMA).ARMA模型的表达式为

  根据上述分析与设计,气象预测系统整体功能结构可以设计为数据采集模块、结果显示模块、查询分析模块、存储模块、数据迁移五部分[6],如图2所示.

  本文采用ARIMA模型预测算法进行气象预测,在气象领域中几乎所有的数据都是时间序列数据,采用时间序列挖掘算法可以更好的对未来的气象情况进行预测.算法基本思想是用相应的数学模型对一组随时间推移而形成的有规律的时间序列数据进行描述,然后运用该模型及时间序列数据的过去值和现在的值对未来值进行预测.算法共有数据预处理、零变换处理、平稳性判断、模式识别、参数估计、最终模型、预测结果、数据还原和最终预测结果9步,流程图如图1所示.

  零变换处理使得数据序列其平均值为零,即zero[i]=src[i]-E(src),其中

  是否平稳是ARIMA模型建立的前提条件,只有平稳的时间序列才能进行下一步的模型选择.平稳性一般可分为严平稳和宽平稳,一般要求有宽平稳即可.平稳性检验方法也有多种,如观察法、游程法等[4].本文采用的平稳性检验方法是单位根检验法中的ADF检验法.

  数据预处理本文对数据只进行了简单的预处理,在数据库中部分数据为“32744”、“32700”、“32766”、“300+XXX”等形式,这些数据在气象数据中分别代表所有要素空白、所有要素微量、所有要素缺测等,这些数值与测量真实数据相差太大,对后续的预测有很大影响,故需先进行数据预处理,本文采用的数据预处理方法为当遇到这些值时求出其前一数值和后一数值的平均值代替.

Sitemap