


摘要:2021年,D公司經(jīng)營(yíng)狀況步履維艱,累計(jì)新簽合同額偏離預(yù)計(jì)指標(biāo)。為響應(yīng)上級(jí)部署,拓寬經(jīng)營(yíng)渠道,利用Python語(yǔ)言,圍繞國(guó)家新型重點(diǎn)建設(shè)領(lǐng)域相關(guān)數(shù)據(jù)的進(jìn)行收集,篩選出符合D公司經(jīng)營(yíng)期望值的數(shù)據(jù)并進(jìn)行預(yù)處理,運(yùn)用概率論及統(tǒng)計(jì)學(xué)知識(shí)構(gòu)建多元線性回歸模型,進(jìn)行大數(shù)據(jù)分析,實(shí)現(xiàn)數(shù)據(jù)可視化,最終為D公司下一步投標(biāo)工作重點(diǎn)和投標(biāo)決策提供參考依據(jù)。
關(guān)鍵詞: Python語(yǔ)言;多元線性回歸模型;大數(shù)據(jù)分析;可視化
大數(shù)據(jù)時(shí)代的到來(lái),為工程建設(shè)項(xiàng)目的招投標(biāo)帶來(lái)了新的機(jī)遇與挑戰(zhàn),大數(shù)據(jù)帶來(lái)了海量的信息,具體體現(xiàn)出的特征有數(shù)據(jù)量大,類型繁多,價(jià)值密度低,速度快、時(shí)效高,在商業(yè)、經(jīng)濟(jì)和其他領(lǐng)域,決策正日益基于數(shù)據(jù)和計(jì)算作出,而非傳統(tǒng)意義上的經(jīng)驗(yàn)和直覺(jué)。
2021年,我國(guó)多地在“十四五”規(guī)劃中指出,要加快智慧城市、新基建等規(guī)模部署,推進(jìn)新技術(shù)等基礎(chǔ)設(shè)施建設(shè),推動(dòng)傳統(tǒng)基礎(chǔ)設(shè)施升級(jí),建設(shè)新一代信息基礎(chǔ)設(shè)施體系。智慧城市建設(shè)成為經(jīng)濟(jì)建設(shè)領(lǐng)域的重點(diǎn)。
Python語(yǔ)言簡(jiǎn)單易用,具備直觀的語(yǔ)法,在探索性計(jì)算、數(shù)據(jù)分析和交互、和數(shù)據(jù)的可視化等方面十分有優(yōu)勢(shì),這是本文將Python語(yǔ)言作為智慧城市大數(shù)據(jù)分析工具的原因之一。
1 使用Python進(jìn)行智慧城市大數(shù)據(jù)分析的流程
智慧城市大數(shù)據(jù)分析流程包括:Python環(huán)境搭建,數(shù)據(jù)獲取,數(shù)據(jù)預(yù)處理,建模與分析,數(shù)據(jù)可視化,為投標(biāo)決策提供依據(jù)。
Python是跨平臺(tái)的代碼(CrossPlatform),但特定的函數(shù)方法只能在對(duì)應(yīng)的操作系統(tǒng)下實(shí)現(xiàn),因此需要判別操作系統(tǒng)的類型(Windows系統(tǒng)、OS X系統(tǒng)、Lunix系統(tǒng))并作對(duì)應(yīng)安裝。
智慧城市尚屬新興產(chǎn)業(yè),通過(guò)人與瀏覽器的交互獲取數(shù)據(jù)費(fèi)時(shí)費(fèi)力,而通過(guò)API交互的方式又很難找到方便可用的API,因此智慧城市大數(shù)據(jù)分析需要利用Python語(yǔ)言設(shè)計(jì)一個(gè)自動(dòng)化程序向網(wǎng)絡(luò)服務(wù)器請(qǐng)求數(shù)據(jù),編寫Python代碼爬取相關(guān)網(wǎng)站里諸如智慧城市試點(diǎn)數(shù)目、PPP項(xiàng)目成交數(shù)目、智慧城市招標(biāo)項(xiàng)目、財(cái)政收入、智慧企業(yè)、日期等有關(guān)數(shù)據(jù),并創(chuàng)建數(shù)據(jù)庫(kù),以方便查詢調(diào)用。
由于在不同的網(wǎng)站、不同的鏈接抓取的數(shù)據(jù)標(biāo)準(zhǔn)不統(tǒng)一,導(dǎo)致數(shù)據(jù)庫(kù)包含很多含有噪聲、不完整(missing)、不一致(inconsisitent)的數(shù)據(jù),必須對(duì)數(shù)據(jù)對(duì)象進(jìn)行預(yù)處理,處理后進(jìn)行數(shù)據(jù)集成,標(biāo)準(zhǔn)化規(guī)范化后才能進(jìn)行建模分析。
本文將預(yù)處理后的2021年智慧化工程相關(guān)數(shù)據(jù)建立數(shù)據(jù)集,并轉(zhuǎn)換為CSV格式,構(gòu)建多元線性回歸模型,并對(duì)模型進(jìn)行顯著性檢驗(yàn),利用Python進(jìn)行數(shù)據(jù)的逆向選擇,剔除統(tǒng)計(jì)意義最小的變量。流程見(jiàn)圖1。
通過(guò)對(duì)多元線性回歸模型的計(jì)算分析,以及對(duì)大數(shù)據(jù)分析結(jié)果的診斷,得出結(jié)論:智慧城市市場(chǎng)活躍程度與智慧城市試點(diǎn)數(shù)目、城市基建計(jì)劃投資額、累計(jì)成交PPP項(xiàng)目數(shù)、財(cái)政收入、建材漲跌指數(shù)具有顯著的線性關(guān)系。
采用數(shù)據(jù)可視化技術(shù)可以直觀地表達(dá)經(jīng)過(guò)分析處理的數(shù)據(jù),也更方便決策者對(duì)數(shù)據(jù)的解讀。Python有很多可視化工具,在進(jìn)行智慧城市大數(shù)據(jù)分析時(shí),本文調(diào)用Python中的pyecharts工具包,加載中國(guó)省級(jí)地圖包,以熱力圖的形式展現(xiàn)2021年中國(guó)智慧城市市場(chǎng)活躍程度。
以智慧城市試點(diǎn)數(shù)目為例,根據(jù)2021年《住房和城鄉(xiāng)建設(shè)部工業(yè)和信息化部關(guān)于確定智慧城市基礎(chǔ)設(shè)施與智能網(wǎng)聯(lián)汽車協(xié)同發(fā)展第一批試點(diǎn)城市的通知》,確定北京、上海、廣州、武漢、長(zhǎng)沙、無(wú)錫等6個(gè)城市為智慧城市基礎(chǔ)設(shè)施與智能網(wǎng)聯(lián)汽車協(xié)同發(fā)展第一批試點(diǎn)城市。對(duì)比前文的市場(chǎng)熱力圖,北京、上海、廣州、無(wú)錫與智慧城市市場(chǎng)活躍省份高度重合,說(shuō)明市場(chǎng)成型已久,基建設(shè)施完善,但相對(duì)市場(chǎng)趨于固化,競(jìng)爭(zhēng)壓力較大,不易進(jìn)入;武漢、長(zhǎng)沙兩市地處的湖北、湖南兩省,對(duì)比熱力圖可見(jiàn)智慧城市建設(shè)方興未艾,較易進(jìn)入,但智慧城市基建設(shè)施相對(duì)薄弱。不同分析結(jié)果可以作為不同投標(biāo)決策參考的依據(jù)。
2 應(yīng)對(duì)反爬取機(jī)制
在智慧城市建設(shè)大數(shù)據(jù)分析中,當(dāng)爬取網(wǎng)頁(yè)的時(shí)候,輸出信息中會(huì)出現(xiàn)諸如“HTTP Error 403: Forbidden”“URLError”等字眼,翻譯過(guò)來(lái)就是訪問(wèn)被拒絕,禁止爬取。這是由于爬蟲(chóng)技術(shù)會(huì)造成大量IP訪問(wèn)和占用帶寬資源,部分網(wǎng)站會(huì)采用反爬取機(jī)制。面對(duì)此類問(wèn)題,需要采取相應(yīng)的反爬機(jī)制應(yīng)對(duì)。如降低爬取速度,減少對(duì)服務(wù)器的影響,文明爬取;或隱藏身份,使用代理服務(wù)器,應(yīng)對(duì)封鎖IP機(jī)制;或構(gòu)造合理的HTTP請(qǐng)求頭(headers),偽裝成瀏覽器,應(yīng)對(duì)封鎖User-Agent機(jī)制。
3 數(shù)據(jù)預(yù)處理
在智慧城市建設(shè)大數(shù)據(jù)分析中,通過(guò)爬取相關(guān)數(shù)據(jù)來(lái)源網(wǎng)站,采集出2021年國(guó)內(nèi)各省份“智慧城市建設(shè)”相關(guān)數(shù)據(jù),并創(chuàng)建數(shù)據(jù)集。面對(duì)不完整、冗余、異常的數(shù)據(jù),采取不同的應(yīng)對(duì)策略以使數(shù)據(jù)標(biāo)準(zhǔn)化。
對(duì)于數(shù)據(jù)的缺失值,有三種處理缺失值的方法,分別是刪除、插補(bǔ)、不處理。常采用插補(bǔ)法處理。使用Python中的df.isnull()函數(shù),顯示數(shù)據(jù)集情況,缺失值返回結(jié)果為“True”,調(diào)用df.fillna()或Imputer()函數(shù),在缺失值中填充數(shù)據(jù)。
對(duì)于數(shù)據(jù)的重復(fù)值,需要導(dǎo)入Pandas工具包,使用duplicated()找出重復(fù)的行(默認(rèn)全部列),返回布爾類型的運(yùn)算結(jié)果:沒(méi)有重復(fù)的行,返回False,有重復(fù)的行,在重復(fù)數(shù)據(jù)首次出現(xiàn)的行返回False,其余返回True。
對(duì)于數(shù)據(jù)的異常值,處理時(shí)需要視情況而定,尤其包含特俗信息的數(shù)據(jù),要慎重處理,常用刪除記錄、視為缺失、平均值修正的處理方法。
對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,其中,y是因變量,代表2021年國(guó)內(nèi)智慧城市預(yù)測(cè)投資規(guī)模;x1至x9都是自變量,x1是智慧城市試點(diǎn)數(shù)目;x2是2021年城市基建計(jì)劃投資額;x3是2021年累計(jì)成交PPP項(xiàng)目數(shù);x4 是2021年智慧城市招標(biāo)項(xiàng)目數(shù);x5 是2021年上半年財(cái)政收入;x6 是2021年人口比重統(tǒng)計(jì);x7是一級(jí)資質(zhì)智能化企業(yè)統(tǒng)計(jì)數(shù)目;x8是2021年上半年耗電總量;x9是2021年建材漲跌指數(shù)。其中y、x2、x5的單位是億元;x8的單位是億千瓦時(shí);x1 、x3 、x4 、x7 的單位都是個(gè);x6、 x9是指數(shù),沒(méi)有單位。其內(nèi)容如表1所示。
4 創(chuàng)建多元線性回歸模型
多元線性回歸分析考慮幾個(gè)自變量同因變量的線性關(guān)系,其公式如下:
y=β0+β1x1i+β2x2i+…+βkxki+ei
這里y是因變量,xki是自變量,βn是回歸系數(shù),β0是回歸常數(shù),ei是隨機(jī)誤差。
我們獲得了k組觀察數(shù)據(jù),矩陣形式如下所示:
模型寫作:y=Xβ+ε
根據(jù)原理,利用ptyhon生成多元線性回歸模型,返回結(jié)果見(jiàn)圖2。
在結(jié)果中,回歸系數(shù)是coef的值,回歸常數(shù)是const的值,我們生成的回歸模型為:
y=10.8346-5.1654x1+0.0372x2+0.2776x3+0.0061x4+0.0182x5-1026.5773x6+0.0497x7+0.0327x8-3422.4688?x9
返回結(jié)果中R-squared是0.718,根據(jù)方差膨脹因子(Variance Inflation Factor,以下簡(jiǎn)稱VIF)計(jì)算公式:
可以得出結(jié)論:模型的精度較低,存在線性關(guān)系不顯著的變量,需要建立逆向逐步回歸,篩選自變量。
在智慧城市建設(shè)大數(shù)據(jù)分析中我們采用P檢驗(yàn),即“P>|t|”判斷每個(gè)自變量和y的線性顯著關(guān)系,統(tǒng)計(jì)學(xué)常用系數(shù)0.05、0.02或0.01作為檢驗(yàn)標(biāo)準(zhǔn),這里我們采用0.05。P>|t|列中,數(shù)值大于0.05的自變量,顯示和y線性關(guān)系不顯著,逐個(gè)篩選去除,并重復(fù)上述建模過(guò)程,直到所有P值都小于等于0.05。得到最終建模結(jié)果見(jiàn)圖3。
得出多元線性回歸方程如下:
y=10.1598-5.1441x1+0.039x2+0.28x3+0.0229x5-3215.0963x9
由此可以推導(dǎo)出,與因變量y具有顯著線性關(guān)系的自變量是x1、x2、x3、x5、x9。
5 結(jié)語(yǔ)
本文旨在研究智慧城市市場(chǎng)中Python語(yǔ)言對(duì)于投標(biāo)決策者們的支持。文中利用Python強(qiáng)大的開(kāi)源庫(kù),根據(jù)爬取到的數(shù)據(jù)建立多元線性回歸模型,通過(guò)對(duì)模型系數(shù)的定量分析,推論出與市場(chǎng)密切相關(guān)的因素,并實(shí)現(xiàn)分析結(jié)果的可視化。作為一門集合了函數(shù)式編程的腳本語(yǔ)言,Python在對(duì)數(shù)據(jù)集進(jìn)行回歸性分析時(shí),取得了較好成果,論證了Python作為招投標(biāo)市場(chǎng)分析的工具是可行的。
參考文獻(xiàn):
[1]?趙勇,徐軻,等. 大數(shù)據(jù)在招投標(biāo)領(lǐng)域大有可為[N].政府采購(gòu)信息,2015:8-31
[2]?[美]Eric Matthes.Python編程從入門到實(shí)踐[M].袁國(guó)忠,譯.北京:人民郵電出版社,2016:7
[3]?GB/T 36333 – 2018,智慧城市頂層設(shè)計(jì)指南[S].北京:國(guó)家市場(chǎng)監(jiān)督管理總局中國(guó)國(guó)家標(biāo)準(zhǔn)化管理委員會(huì),2018:6-7
[4]?住房和城鄉(xiāng)建設(shè)部、工業(yè)和信息化部.住房和城鄉(xiāng)建設(shè)部工業(yè)和信息化部關(guān)于確定智慧城市基礎(chǔ)設(shè)施與智能網(wǎng)聯(lián)汽車協(xié)同發(fā)展第一批試點(diǎn)城市的通知[EB/OL].2021:4-28
[5] Ryan,Mitchell.Web Scraping With Python[M]. New York: O'Reilly Media. 2015:7-24
[6] Michael Bowles.Python機(jī)器學(xué)習(xí)預(yù)測(cè)分析核心算法[M].沙嬴,李鵬,等,譯.?北京:人民郵電出版社,2017:1
作者簡(jiǎn)介:宋迪(1987-),男,漢族,遼寧沈陽(yáng)人。主要研究方向:經(jīng)營(yíng)開(kāi)發(fā)招投標(biāo)工作。