張曉琴 李順勇



[摘要]時代的進步、大數據的爆發,R被賦予了新的生命力,其卓越的性能為業界所稱道。R的特性主要集中在以下幾方面:R的語法、R的知識結構及R的理念。課題組對常用的四款軟件進行了對比分析,從其在數學建模中的應用,我們不難發現R的卓越性能。數學建模中,如果恰當地引入了R,將會有事半功倍的效果。
[關鍵詞]R語言;模型構建;統計分析;數據處理
[中圖分類號]G642
[文獻標識碼]A
[文章編號]2095-3437(2020)04-0094-03
社會高速發展,人們會在諸多領域遇見紛繁蕪雜的非機構性數據,如在互聯網、超市、銀行等企業以及國內外高校的科研與教學中都會出現不同類型的數據或數據集。
“工欲善其事,必先利其器”,那么,用什么工具來處理這些數據并構建合理的模型使之吻合實際,成為首要的任務呢?是利用C/C++、Java、PERL、Python、Ruby、Php、JavasCript、Erlang、MATLAB、SPSS、SAS還是R呢?不論使用何種工具,對使用者而言只有應景的才是合適的。本文僅研究R在數學建模中的應用,其他見相應的資料和文獻,不再一一贅述。
R不只精于統計計算及作圖,在數據分析方面更是長袖善舞,其驚艷之處在于人們利用其大量的、完備的工程計算包幾乎可以處理統計機器學習和數據挖掘中所有想解決的問題。
就目前R的使用率而言,國外相較國內要高很多,包括許多大公司如Google、Oracle以及Amazon的許多工程也在使用R進行數據分析,這與MATLAB、SPSs和SAS被破解直接決定了R在中國的普及率有關系。
一、R語言的特色
最初,為提高S語言的性能,新西蘭奧克蘭大學的Ross Ihaka和Robert Gentleman共同開發了R語言。起初R一直在小眾領域徘徊,也只有部分統計學家知曉。經過研究人員多年對其開源源程序持之以恒地不懈推送以及大數據時代的到來,終于讓R獲得了新生,成就了R語言的今天,這也是時代賦予R的任務。
R是一個集數據分析、統計計算、制圖以及可視化的優秀程序設計環境,其卓越的性能為業界所稱道。其特色主要集中在以下幾方面:
(一)R的語法
R語言是語法自由、簡潔易學、完全面向對象且命名自由的函數式語言,其語法來自于Scheme,并受S語言的影響。R的免費、開源使得其有別于SAS,盛行于高等院校和研究機構。但并不代表掌握了這些語法就意味著領會了R的精髓。R涉及的領域極其廣泛,可以說從互聯網到統計分析,從金融風險到數據挖掘,從生物信息到地球物理,從生物制藥到數據可視化等包羅萬象。近年來,R快速地向工業界滲透并有望成為工業界不可或缺的語言。
(二)R的知識結構
想要對R運用自如,應對其前期需具備的基礎知識結構了然于心。R作為一門統計語言與生俱來就有別于其他編程語言。只有把基礎知識(高等數學、線性代數、離散數學、概率論與數理統計等)與業務知識(本專業知識、相應的算法、數據庫、R包等)有效地融合才可以在實際應用中做到收放自如,R強大的生命力才會得以綻放。
(三)R的理念
R的設計理念就是“靜心做事”。
針對一個復雜的統計模型而言,研究人員只需斟酌構建合理的模型,傳什么參數即可,而不必考慮如何進行程序設計,其代碼也不會冗長也不用設計模式,只需調用函數和傳相應的參數即可,全然不必去考慮其時間和空間復雜度的問題。
(四)R的其他特色
R不僅僅有以上一些特色,還有其他特色,如,它與其他編程語言和數據庫之間有相當好的接口、有效的保存機制、有著豐富的網上資源等,不勝枚舉。
二、R語言和其他語言的對比分析
統計學家們最初使用R也是為了用其代替SAS做統計分析,主要是看中了其開源、簡潔、高效、易學、便于操作等性能。時代的進步、大數據的爆發,R被賦予了新的生命力。然而,R的各個商業競爭對手如MATLAB、SPSS以及SAS也在蓬勃發展,它們都是非常優秀的軟件且都在特定領域中一展身手,只是使用人群在不斷地調整著自己的使用工具而已。表1為四款軟件的對比。
通過比較分析和對未來發展的預測,我們認為R是最值得學習掌握的軟件之一。由于R被時代賦予了特殊的使命,這就決定了R在目前以至于未來較長一段時間會占據一定的主角地位。
三、R在數學建模中的應用
隨著R的不斷發展,其已經不僅僅局限于統計學這一小眾領域,互聯網、教育、電商、銀行等諸多行業都在使用R,這使得R一躍成為一門炙手可熱的數據分析利器。
基于R的語法、知識結構、理念以及其他特性,我們不難發現其在高校的數學建模中可以發揮其卓越的性能。對本科生而言,數學建模競賽是一門綜合性非常強的賽事,在培養學生的創新意識、應用能力和實踐能力方面尤為重要。由于R本身具備的特性,如果在數學建模中恰當地引入了R,勢必會起到事半功倍的效果。本文舉兩個例子說明R在數學建模中的效能。
問題1:部分大學生畢業后,面臨的一個主要問題之一就是就業。就業不僅關乎從業學生的未來發展,還對我國的高等教育直接產生深遠的影響。
社會統計表明,大學生畢業后選擇職業主要集中考慮:工資待遇、地區和專業等因素,這些都會直接影響到未來學生的就業渠道。圖1是2002~2010年全國大學畢業生的平均月薪(單位:元;數據來源于《2012中國統計年鑒》)。
根據《2012年中國統計年鑒》提供的數據,專科、本科、碩士2011年畢業后平均月薪見表1。
而我們結合影響大學畢業生月薪的有關因素,進一步收集相關數據,通過構建合理的數學模型預測2011年大學生平均月薪,同時利用MATLAB、SPSS、SAS和R進行了擬合,結果均顯示與《2012中國統計年鑒》給定的數據在伯仲之間,說明MATLAB、SPSS、SAS和R對這一問題擬合效果均有效,但用R語言所做的擬合優度(Good-ness of Fit)最接近于1,說明R的擬合效果相較其他三種語言效果顯著。
問題2:鋼鐵產能一直以來是衡量一個國家經濟實力的標志之一。近年來,我國的經濟態勢呈穩步攀升趨勢,對鋼鐵的需求常常供不應求,其在國民經濟建設中地位彰顯。正因為如此,我們需要通過計量分析來構建模型,從而確定哪些因素對鋼鐵供應量會產生不同的影響。現有2006年各解釋變量數據(單位:萬噸):18382.93、40413、23.53、28344、109998.1624、219439、207694,試預測2006年鋼材供應量。
為了全面反映影響我國鋼鐵供應量的主要因素,選取了我國1986~2005年我國鋼材供應量的具體數據,選擇“鋼材供應量(萬噸)Y”作為被解釋變量,“原油產量(萬噸)X1”“生鐵產量(萬噸)X1”“原煤產量(萬噸)X3”“電力產量(億千瓦小時)X4”“固定資產投資(億元)X5”“國內生產總值(億元)X6”和“鐵路運輸量(萬噸)X7”作為解釋變量。
利用逐步回歸法,構建相應的數學模型,去檢驗并解決此問題中存在的多重復共線性問題,分別作Y對X1、X2、X3、X4、X5、X6、X7的一元回歸,利用四款軟件對2006年的鋼鐵供應量的預測結果見表3。
《2007中國統計年鑒》顯示:2006年我國實際的鋼鐵應量為42266萬噸。表3顯示,就預測結果而言,R誤差最小,說明R回歸的結果相較其他三款軟件最為準確,與實際最為接近。因此我們可以看出,在對大量數據進行分析、做回歸時,R語言表現出較好的性能。
四、結束語
R的優點不言而喻,但R也有一些不盡如人意的地方,主要表現在以下幾點:
(1)就健壯性而言,R語言畢竟出自統計學家,其遜于軟件工程師編寫的軟件是不爭的事實;
(2)初學R有一定門檻,主要是其需要具備一定的數學、概率統計等相關的基礎知識;
(3)R處理文本文件略顯被動。
當R逐漸為我國高校及研究機構人員使用時,普及率具有一定的局限性。然而,隨著R在業界作為眾多領域用戶的平臺后,R聲名鵲起。
R處在了一個對大數據進行深度挖掘的時代,其勢必會被賦予洞察數據內在價值和規律的任務。因此,用好R就會為人類創造更大的價值空間。
[責任編輯:鐘嵐]