999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種混合編程技術在宏觀經濟監測預警系統中的應用

2018-01-28 23:16:04許傳本
電子技術與軟件工程 2017年18期

許傳本

摘要

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();//預測結果endprint

}}

此方法可以實現Java與R語言之間的調用。其優點是高效,缺點是緊耦合,擴展受限,過度依賴rJava的版本,接口程序無法重用。

3.2Rserve調用

Rserve是一個基于TCP/IP協議的,允許R語言與其他語言(如C/C++,Java、PHP等)通信的C/S結構的程序。在本文的宏觀經濟預警系統中,不同的時間段對經濟指標進行統計建模并返回的結果作為業務系統數據可視化的數據源,Rserve可以將R內置的強大的計算功能以后臺服務的形式供異構平臺調用。使用Rserve實現Java語言與R的通信需要3個步驟:

(1)在RGUI的R控制臺輸入指令install.packages(”Rserve”),下載安裝Rserve包。

(2)在RGUI的R控制臺輸入指令Rserve(),出現StartingRserve提示說明啟動Rserve成功。

(3)編寫Java客戶端,將REngine.jar、RserveEngine.jar添加到java項目的編譯路徑中。

啟動Rserve服務是實現Rserve調用的前提條件,啟動服務是通過在R控制臺中執行Rserve()語句來單獨啟動一個守護進程作為Rserve實例,其默認端口6311。Java客戶端通過實例化RConnection對象與Rserve實例建立TCP/IP連接,預測模型的R語言算法實現源碼內容轉化字符串作為RConnection對象的eval方法實參傳入,由R計算引擎解析、編譯并返回計算結果。

下面以Rserve方式調用R算法實現源代碼為例,說明調用的步驟和過程:

PublicclassRserveClientForHg{

Publicstaticvoidmain(String[]args){

RConnectionrc=new

RConnection();//創建RConnection對象

rc.eval("source(d:\forecast.

R)");//加載R算法模型

double[]results=rc.

eval(”timeseries2$fitted").asDoubles();//預測結果

}

4結論

在本文中,以上介紹了R語言和JAVA在native環境和網絡環境上混合編程方法,并通過實例介紹了如何實現R語言和JAVA混合編程,著重講了混合編程的關鍵之處在于數據的傳輸,通過混合編程可以降低程序設計復雜度,同時提高程序的運行速度。由此可見使用不同編程語言進行混合編程,可以充分各語言的優點,優化了程序設計,提高軟件運行效率,混合編程將會有更大的現實意義和發展空間,基于Rserve的遠程調用方式實現R語言和JAVA混合編程具有優勢。

參考文獻

[1]李國軍.基于R語言多元分析的教育統計應用研究[J].鞍山師范學院學報,2015,04,17(02):69-74.

[2]夏成鋒.基于COM及Java-COM橋的Java與Matlab混合編程[J].現代計算機,2015-12:100-102.

[3]徐啟猛.交互式語言開發工具的設計與實現[D].吉林大學碩士學位論文,2011.

[4]王燕.時間序列分析-基于R[M].北京:中國人民大學出版社,2015(09):01.endprint

主站蜘蛛池模板: 国产精品手机在线播放| 亚洲综合香蕉| 88av在线| 美女免费精品高清毛片在线视| 日韩精品久久无码中文字幕色欲| 一级毛片无毒不卡直接观看| 超薄丝袜足j国产在线视频| 欧美日韩精品一区二区视频| 成人国产精品2021| 亚洲国产成人精品无码区性色| 欧美精品伊人久久| 9久久伊人精品综合| 毛片手机在线看| 天堂成人在线视频| 欧美色视频在线| 免费一级无码在线网站| 亚洲欧州色色免费AV| 亚洲AV无码精品无码久久蜜桃| 国产视频只有无码精品| 亚洲精品亚洲人成在线| 一本视频精品中文字幕| 免费a级毛片18以上观看精品| 国产亚洲高清视频| 国产成人喷潮在线观看| 国产97视频在线| 18禁色诱爆乳网站| 欧美福利在线| 波多野结衣视频一区二区| 亚洲黄网在线| 久久青草精品一区二区三区| 国产91精品调教在线播放| 精品福利网| 五月综合色婷婷| 国产激情影院| 久久亚洲综合伊人| 精品亚洲麻豆1区2区3区| 国产免费人成视频网| 婷婷亚洲视频| 美女亚洲一区| 久久综合亚洲鲁鲁九月天| 亚洲人成网站在线观看播放不卡| 九九九久久国产精品| 一本色道久久88综合日韩精品| 无码专区第一页| 久久综合九色综合97网| 亚洲午夜国产片在线观看| 国产精品网址在线观看你懂的| 久久黄色免费电影| 被公侵犯人妻少妇一区二区三区| 999国产精品永久免费视频精品久久| 色九九视频| 日本三区视频| 五月婷婷伊人网| 中文字幕永久视频| 在线精品视频成人网| 91网红精品在线观看| 色婷婷电影网| 99国产精品免费观看视频| a级高清毛片| www.精品视频| 久久综合结合久久狠狠狠97色| 国产浮力第一页永久地址 | 99热国产在线精品99| 亚欧乱色视频网站大全| 日本午夜视频在线观看| 亚洲久悠悠色悠在线播放| 无套av在线| 久久午夜夜伦鲁鲁片不卡| 国产人成乱码视频免费观看| 69精品在线观看| 一级黄色网站在线免费看| 在线一级毛片| 99久久免费精品特色大片| 亚洲福利视频一区二区| 91福利国产成人精品导航| 在线一级毛片| 国产精品区视频中文字幕| 欧美无专区| 国产日本欧美在线观看| 日韩高清欧美| 日韩国产亚洲一区二区在线观看| 国产亚洲成AⅤ人片在线观看|