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