• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 数学学习 > 正文

    一种混合编程技术在宏观经济监测预警系统中的应用

    时间:2021-02-25 16:01:56 来源:雅意学习网 本文已影响 雅意学习网手机站


      摘要
      R语言具有强大的数据处理功能,Java语言广泛应用于数据库应用系统的开发,两者互补结合的混合编程在工程实践中具有重要的意义。本文以某市宏观经济监测预警系统为背景,从Java调用R语言两种方式的角度,深入研究了它们之间混合编程的原理和实现机制,并且给出了具体条件下的混合编程方法和步骤。
      【关键词】R语言 混合编程 Java
      1引言
      R语言是一款可以对数据进行统计分析的开源软件包,同时也是一個可以进行交互数据分析平台。它提供时间序列分析方法和图形技术,具有高度可拓展。R语言内置包括统计分析、数据可视化在内的有丰富的内置的功能,这些功能给在数值计算、金融应用、工业系统仿真等领域得到了广泛的应用。进入大数据时代,R语言成为数据挖掘领域的重要工具。JAVA是面向对象编程语言,它具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,但JAVA语言在数值计算方面的能力却不突出,特别是对数组矩阵数据的处理速度缓慢。
      在本文中的宏观经济预警监测系统是基于Java语言开发的,系统在不同的阶段调用R编写的预测模型获得预测结果并展示,这样充分利用R语言在统计分析方面的优势,降低程序设计的复杂度;同时也产生了R和Java混合编程的问题。因此,本文基于R和Java语言开发环境Eclipse,在Windows平台下就它们之间的混合编程问题从JAVA调用R语言的方式进行深入研究并举例说明。
      2R安装及配置
      (1)下载安装R在R官网的CRAN站点选择下载R语言安装程序R-3.4.1-win.exe,并运行安装程序。Rgui.exe作为标准WindowsGUI可执行文件,并提供R控制台在自己的窗口。
      (2)配置forecast包R语言是以软件包的形式提供不同的功能,forecast包提供了时间序列预测分析法,其中包括指数平滑、自动ARIMA建模等预测模型。
      3Java调用R语言
      Java调用R语言的方式主要有两种:JRI调用和Rserve调用。
      3.1JRI调用
      JRI是一个Java/R接口,是用于java调用R语言的软件包,可以将Java内部的R程序作为单个线程运行。它将R动态链接库加载到Java中,同时可以为R功能提供JavaAPI。它支持对R函数的简单调用和完全运行的REPL。使用JRI需要在R里安装rJava扩展包。目前JRI己经被包含在rJava中。JRI配置需要3个步骤:
      (1)运行RGUIwindow程序,在R控制台输入命令installed.packages(“rJava”)下载rJava包到R-3.4.1的library文件夹下rJava子文件夹。rJava的子文件夹jri有4个文件:jri.DLL、JRI.jar、JRIEngine.jar、REngine.jar,其中jri.DLL为动态链接库文件,用于连接RGUI本地库文件;而JRLjar、JRIEngine.jar、REnginejar3个用于java编写调用R的客户端程序。
      (2)在系统变量Path添加jri.DLL的文件路径;在系统变量Classpath加上JRI.jar文件路径。
      (3)在web项目中lib中加入JRI.jar,JRIEngine.jar,REngine.jar。
      JRI调用过程是:Java客户端实例化,通过挂接到调用此构造函数的现有的初始化R实例来创建新引擎;调用引擎实例的eval()方法解析预测模型R表达式并返回结果。
      己知某市2008-2010年12个月的GDP产值进行HoltWinter三参数指数平滑,并预测下一年12个月的产值的R算法实现的源代码文件forecast.R,文件内容如下:
      library(forecast)
      x<-1234568159627769090117154040
      401009105512123259
      3133561371411152251025487418528159627769090117154040
      401009105512123259313356137141115225102548081596277690
      90117154040401009105512123259313356137141115225102548train<-scan(text=x)
      timeseriesl<-ts(train,frequency=12,start
      =c(2008,l))
      timeseries2<-HoltWinters(timeseries1)
      下面以JRI调用R算法实现源代码为例,说明JRI调用的步骤和过程:
      PublicclassJRIClientForHgimplements
      RMainLoopCallbacks{
      Publicstaticvoidmain(String[]args){
      Renginere=newRengine(a
      rgs,tme,newJRIClientForHg());//创建R计算引
      擎
      if(!re.waitFor()){return;}
      re.eval("source("d:\\
      forecast.R")");//加载R算法模型
      double[]results=re.
      eval("timeseries2$fitted").asDoubleArray();//预测结果

    推荐访问:宏观经济 预警 编程技术 监测 混合

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章