- 基于大智移云技術(shù)的財(cái)政數(shù)字化轉(zhuǎn)型研究
- 彭程 王宏利 霍然 羅建鋼
- 4046字
- 2021-08-12 18:27:45
3.2 財(cái)政數(shù)字化轉(zhuǎn)型大數(shù)據(jù)技術(shù)介紹
3.2.1 流式處理Flink介紹
大數(shù)據(jù)技術(shù)的到來(lái)使財(cái)政各種業(yè)務(wù)場(chǎng)景不斷豐富,產(chǎn)生大量數(shù)據(jù),而很多政府部門(mén)還沒(méi)有相關(guān)數(shù)據(jù)采集與存儲(chǔ)的能力。財(cái)政業(yè)務(wù)數(shù)據(jù)通常伴隨著業(yè)務(wù)的發(fā)生而產(chǎn)生,其實(shí)時(shí)性強(qiáng)、數(shù)據(jù)量大,價(jià)值更具有隱蔽性,流式的數(shù)據(jù)使Spark、Map Reduce、Storm等實(shí)時(shí)批處理框架在財(cái)政場(chǎng)景無(wú)法滿足使用者的需求。財(cái)政流式處理的新場(chǎng)景也迫切需要新技術(shù)出現(xiàn),流式處理Flink應(yīng)運(yùn)而生。
在Flink程序中,數(shù)據(jù)流處理的流程如下。當(dāng)執(zhí)行Flink程序后,數(shù)據(jù)流會(huì)與Flink程序產(chǎn)生映射,每個(gè)Flink程序的數(shù)據(jù)流可以輸入多個(gè)程序,當(dāng)程序中有消息隊(duì)列或者文件輸入時(shí),流處理就開(kāi)始了,當(dāng)這些文件接受加工處理輸出到下一個(gè)容器時(shí),標(biāo)志著流處理結(jié)束,F(xiàn)link程序可以向多個(gè)接收器輸出數(shù)據(jù)。在數(shù)據(jù)處理過(guò)程中,F(xiàn)link程序支持對(duì)流數(shù)據(jù)執(zhí)行非常豐富的變換,包括按時(shí)間窗口計(jì)數(shù)與聚合,按數(shù)據(jù)點(diǎn)聚合等操作,允許應(yīng)用程序?qū)?shù)據(jù)流進(jìn)行拆分,對(duì)多個(gè)數(shù)據(jù)流進(jìn)行合并。
Flink程序的數(shù)據(jù)源輸入以及接收器輸出分為很多種。Flink程序可以和多種類型的應(yīng)用進(jìn)行對(duì)接,包括Amazon Kinesis、Apache Kafka、Apache Cassandra、Hadoop Distributed File System(HDFS)等,這些應(yīng)用程序既可以作為Flink的數(shù)據(jù)源,也可以作為接收器。另外,F(xiàn)link程序繼承了分布式集群的運(yùn)行特點(diǎn),既可以在分布式的集群內(nèi)運(yùn)行,也可以以獨(dú)立模式(通常說(shuō)的單機(jī)版本)或基于Docker(一個(gè)開(kāi)源的應(yīng)用容器引擎)的環(huán)境進(jìn)行部署。
在財(cái)政大數(shù)據(jù)平臺(tái)中應(yīng)用Flink程序的優(yōu)點(diǎn),還在于其狀態(tài)檢查點(diǎn)與容錯(cuò)機(jī)制,支持?jǐn)?shù)據(jù)異常的檢查與恢復(fù)。Flink程序的檢查點(diǎn)是其執(zhí)行過(guò)程中的快照信息,記錄某一刻的數(shù)據(jù)狀態(tài)和應(yīng)用程序狀態(tài)。如果發(fā)生故障,只需要啟用檢查點(diǎn),就可以將數(shù)據(jù)恢復(fù)到上一個(gè)快照點(diǎn),確保數(shù)據(jù)的完整性與準(zhǔn)確性,避免異常事件對(duì)財(cái)政數(shù)據(jù)采集與存儲(chǔ)的影響。
Flink程序中除了自帶的快照恢復(fù)機(jī)制,還存在保存點(diǎn)機(jī)制。快照恢復(fù)機(jī)制是應(yīng)用程序自動(dòng)實(shí)現(xiàn)的,相對(duì)的,財(cái)政工作人員還可以手動(dòng)設(shè)置數(shù)據(jù)保存點(diǎn),當(dāng)數(shù)據(jù)出故障時(shí),可以停止應(yīng)用程序,將數(shù)據(jù)恢復(fù)到手動(dòng)保存點(diǎn)。保存點(diǎn)保存了程序的應(yīng)用狀態(tài),因此,可以在不丟失應(yīng)用狀態(tài)的情況下對(duì)程序進(jìn)行恢復(fù)。
3.2.2 Hive數(shù)據(jù)倉(cāng)庫(kù)
在本平臺(tái)規(guī)劃中,為了解決財(cái)政數(shù)據(jù)巨量存儲(chǔ)的問(wèn)題,將會(huì)使用分布式的Hive數(shù)據(jù)倉(cāng)庫(kù)對(duì)財(cái)政數(shù)據(jù)進(jìn)行保存。Hive數(shù)據(jù)倉(cāng)庫(kù)是基于Hadoop分布式架構(gòu)的關(guān)系型數(shù)據(jù)保存工具,支持傳統(tǒng)的數(shù)倉(cāng)建模,可以基于Hive數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行數(shù)據(jù)的提取、轉(zhuǎn)化、加載。Hive數(shù)據(jù)倉(cāng)庫(kù)可以將關(guān)系型的數(shù)據(jù)映射為一張形如Excel的數(shù)據(jù)表,最重要的是,Hive數(shù)據(jù)倉(cāng)庫(kù)提供了與MySQL基本一致的SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言)查詢功能,這將大大降低財(cái)政相關(guān)人員使用Hive數(shù)據(jù)倉(cāng)庫(kù)的難度。
Hive數(shù)據(jù)倉(cāng)庫(kù)繼承了SQL語(yǔ)句,能將其轉(zhuǎn)變?yōu)镸ap Reduce任務(wù)。這一個(gè)特性,使得Hive的學(xué)習(xí)成本低,可以通過(guò)SQL代碼對(duì)大量的財(cái)政數(shù)據(jù)進(jìn)行分布式Map Reduce統(tǒng)計(jì),而不必開(kāi)發(fā)專門(mén)的應(yīng)用程序。因此,Hive數(shù)據(jù)倉(cāng)庫(kù)十分適合目前的財(cái)政大數(shù)據(jù)存儲(chǔ)與財(cái)政工作人員日常的統(tǒng)計(jì)分析操作。
需要注意的是,在Hadoop框架上使用Hive數(shù)據(jù)倉(cāng)庫(kù)通常存在較高的延遲,一方面是Hadoop框架在提交程序與資源調(diào)度時(shí),需要消耗大量的時(shí)間,另一方面是Hive數(shù)據(jù)倉(cāng)庫(kù)將SQL語(yǔ)句轉(zhuǎn)化為Map Reduce執(zhí)行時(shí)需要時(shí)間。因此,Hive數(shù)據(jù)倉(cāng)庫(kù)并不能對(duì)財(cái)政大數(shù)據(jù)進(jìn)行實(shí)時(shí)查找,它比較適合離線查找與大規(guī)模靜態(tài)數(shù)據(jù)分析。例如,在Hive數(shù)據(jù)倉(cāng)庫(kù)執(zhí)行SQL語(yǔ)句進(jìn)行MB級(jí)別的數(shù)據(jù)查詢時(shí)性能不如MySQL,但是在進(jìn)行GB級(jí)別的或者TB級(jí)別的數(shù)據(jù)查詢時(shí),性能優(yōu)越。因此,Hive數(shù)據(jù)倉(cāng)庫(kù)的最佳使用場(chǎng)景是財(cái)政大數(shù)據(jù)集的批量處理任務(wù),例如一年一度的數(shù)據(jù)匯總分析,月度的財(cái)政報(bào)告查詢等。
3.2.3 HBase數(shù)據(jù)倉(cāng)庫(kù)
鑒于Hive數(shù)據(jù)倉(cāng)庫(kù)只適用于大規(guī)模離線數(shù)據(jù)的批量非實(shí)時(shí)查詢,在構(gòu)建財(cái)政大數(shù)據(jù)平臺(tái)時(shí),還需要支持實(shí)時(shí)數(shù)據(jù)處理的數(shù)據(jù)存儲(chǔ)方式——HBase數(shù)據(jù)倉(cāng)庫(kù),它在一定程度上與Hive數(shù)據(jù)倉(cāng)庫(kù)相似,都基于分布式結(jié)構(gòu),可以存儲(chǔ)巨量數(shù)據(jù)。不同的是,Hive數(shù)據(jù)倉(cāng)庫(kù)是面向行存儲(chǔ)的,存儲(chǔ)的是關(guān)系型結(jié)構(gòu)化的數(shù)據(jù)表單,HBase數(shù)據(jù)倉(cāng)庫(kù)是面向列存儲(chǔ)的,存儲(chǔ)方式比較松散,以鍵值對(duì)的方式存儲(chǔ),讀寫(xiě)非常迅速,是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的格式。由于這個(gè)特點(diǎn),HBase數(shù)據(jù)倉(cāng)庫(kù)不適合用于數(shù)據(jù)統(tǒng)計(jì)與分析,更適合用于數(shù)據(jù)實(shí)時(shí)查詢。因此,本項(xiàng)目結(jié)合Hive數(shù)據(jù)倉(cāng)庫(kù)與HBase數(shù)據(jù)倉(cāng)庫(kù)兩者的特點(diǎn),實(shí)現(xiàn)財(cái)政大數(shù)據(jù)的實(shí)時(shí)查詢與離線分析,具體內(nèi)容詳見(jiàn)4.2財(cái)政數(shù)字化轉(zhuǎn)型平臺(tái)總體架構(gòu)設(shè)計(jì)內(nèi)容描述。
3.2.4 MySQL數(shù)據(jù)倉(cāng)庫(kù)
Hive數(shù)據(jù)倉(cāng)庫(kù)適合離線批量分析統(tǒng)計(jì),HBase數(shù)據(jù)倉(cāng)庫(kù)適合財(cái)政大數(shù)據(jù)實(shí)時(shí)查詢,但是兩種數(shù)據(jù)倉(cāng)庫(kù)都不適合數(shù)據(jù)展示。一方面,大批量數(shù)據(jù)展示沒(méi)有意義,另一方面匯總后的數(shù)據(jù)一般體量較小,結(jié)構(gòu)規(guī)則。因此,平臺(tái)規(guī)劃在通過(guò)HBase數(shù)據(jù)倉(cāng)庫(kù)與Hive數(shù)據(jù)倉(cāng)庫(kù)將數(shù)據(jù)處理后,將數(shù)據(jù)存儲(chǔ)到MySQL數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行數(shù)據(jù)實(shí)時(shí)展示。
MySQL數(shù)據(jù)倉(cāng)庫(kù)不支持大數(shù)據(jù)存儲(chǔ),表單數(shù)據(jù)過(guò)千萬(wàn)條會(huì)影響查找速度,但是,它為小數(shù)據(jù)量的可視化展示提供了大量的訪問(wèn)節(jié)點(diǎn),讀取性能優(yōu)良,前端查詢能實(shí)時(shí)交互與反饋。MySQL數(shù)據(jù)倉(cāng)庫(kù)將不同主題的財(cái)政數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了讀取速度并提高了靈活性。
3.2.5 Logical回歸算法介紹
做財(cái)政決策時(shí)有很多需要判別的場(chǎng)景,例如多個(gè)決策該選誰(shuí),未來(lái)經(jīng)濟(jì)運(yùn)行是好是壞,是否應(yīng)該進(jìn)行稅務(wù)改革等。完成判別需要整合大量且多維的數(shù)據(jù)進(jìn)行研究,才能得出結(jié)論。常用的判別模型是邏輯回歸,由比利時(shí)學(xué)者P.F.Verhulst首次提出,它的基本原理是在線性回歸的基礎(chǔ)上另外套用了一個(gè)邏輯函數(shù),運(yùn)用概率的方法來(lái)判定某種事件發(fā)生的可能性大小。本文的目的是通過(guò)Logistic(邏輯斯蒂曲線)回歸模型去識(shí)別某一財(cái)政措施是否合理。第一步,收集決策目標(biāo)的相關(guān)指標(biāo),可以將它設(shè)置為x=(x1, x2, x3,…, xn),假設(shè)在選取的指標(biāo)條件下合理概率為P(y=1|x)=P,此時(shí)的y=1可以視為該決策合理,那么Logistic回歸模型可以表示為

式中:稱為L(zhǎng)ogistic函數(shù);g(x)=w0+w1x1+…+wnxn。
那么該決策不合理的概率為

計(jì)算這兩個(gè)條件概率的比值為

再將這個(gè)比值取對(duì)數(shù)為

最終得到這個(gè)決策合理的概率,一般來(lái)說(shuō)劃分決策是否合理的閾值是0,如果測(cè)試集中得到的數(shù)據(jù)大于0,則說(shuō)明這個(gè)決策合理的概率大于不合理的概率。
3.2.6 隨機(jī)森林算法介紹
Logistic回歸模型能解決二分類的決策問(wèn)題,然而,財(cái)政在運(yùn)行過(guò)程中還存在多分類的問(wèn)題,因此介紹另一種多分類算法——隨機(jī)森林。Leo Breiman和Adele Cutler提出的一種機(jī)器學(xué)習(xí)方法被命名為隨機(jī)森林,它是一種覆蓋了若干種決策樹(shù)的特殊分類器,其核心原理是如果在一個(gè)樣本集的特征空間里,相鄰的n個(gè)樣本屬于同一個(gè)類別,那么基于此可以判定該樣本也屬于這個(gè)類別,同時(shí)具備這個(gè)樣本集里的特征。可以發(fā)現(xiàn),隨機(jī)森林對(duì)樣本的預(yù)測(cè)并不是單線程的,而是利用了多棵決策樹(shù)共同預(yù)測(cè)樣本的類別。這里所說(shuō)的決策樹(shù)是指此結(jié)構(gòu)類似于樹(shù)狀結(jié)構(gòu),具有多個(gè)樹(shù)狀分叉節(jié)點(diǎn),一般稱為決策節(jié)點(diǎn),在進(jìn)行類別決策時(shí)一般只與鄰近的樣本有關(guān),并且在監(jiān)督學(xué)習(xí)的條件下,通過(guò)事先設(shè)置好的特征指標(biāo)來(lái)判定將哪個(gè)指標(biāo)作為決策的節(jié)點(diǎn)。在選擇時(shí),通常按照事先設(shè)定好的度量指標(biāo)來(lái)確定哪個(gè)特征將作為決策節(jié)點(diǎn),最后的決策結(jié)果以葉節(jié)點(diǎn)作為表示,特征的重要程度以確定特征的先后順序來(lái)表示,同時(shí)按照決策樹(shù)之間的距離進(jìn)行排序,以出現(xiàn)頻率最高的類別作為決策樹(shù)的預(yù)測(cè)分類。在隨機(jī)森林中覆蓋的千百個(gè)決策樹(shù)中,通過(guò)輸入測(cè)試的數(shù)據(jù)與之前決策樹(shù)輸出一個(gè)的分類結(jié)果相比較,找出與之最為接近的特征,從而判定此樣本被分為哪一類。
3.2.7 支持向量機(jī)算法介紹
除了以上模型,還可以綜合使用其他模型進(jìn)行輔助參考。機(jī)器學(xué)習(xí)的模型大多有自己適合的場(chǎng)景,因此在選擇模型時(shí)需要多樣化。支持向量機(jī)(Support Vector Machines, SVM)是一種分類模型,它在特征空間上被定義為距離最大的線性分類器,向量機(jī)的最大作用就是使分類的數(shù)據(jù)間隔最大化,即對(duì)每一個(gè)類別最近的元素距離最遠(yuǎn),且這種方法降低了對(duì)數(shù)據(jù)質(zhì)量的要求,因此在較小的數(shù)據(jù)集里面也有極好的表現(xiàn)。
支持向量機(jī)可以運(yùn)用于數(shù)據(jù)線性可分和線性不可分兩種情況,可等同于在二維平面上將數(shù)據(jù)二分類和多維空間中將數(shù)據(jù)二分類。支持向量機(jī)的基本算法是找到幾何間隔最大的分離超平面并且使之能夠正確劃分訓(xùn)練數(shù)據(jù)集,如圖3-1所示。

圖3-1 支持向量機(jī)原理
劃分超平面的公式為wT+b=0,其中以w=(w1, w2,…, wn)為法向量,決定了超平面的方向;b為位移項(xiàng),決定了超平面與原點(diǎn)之間的距離。
假設(shè)該直線能夠?qū)深悢?shù)據(jù)都正確分類,將其記為(w, b),數(shù)據(jù)集中任意一點(diǎn)x到超平面(w, b)的距離可寫(xiě)為

滿足該條件的決策邊界實(shí)際上構(gòu)造了兩個(gè)平行的超平面作為間隔邊界以判別樣本的分類,即
w T xi+b≥1→yi=1
w T xi+b≤-1→yi=-1
所有在上間隔邊界上方的樣本屬于正類,在下間隔邊界下方的樣本屬于負(fù)類。兩個(gè)間隔邊界的距離為

3.2.8 模型評(píng)估方法介紹
在對(duì)3種分類集成方法的原理進(jìn)行介紹后,接下來(lái)需要對(duì)3種分類方法的建模效果進(jìn)行驗(yàn)證。分類模型的識(shí)別效果不可能達(dá)到100%正確,目前的研究也只是選出達(dá)到識(shí)別極限值的分類識(shí)別模型,下面通過(guò)常用的混淆矩陣的方法對(duì)分類模型的效果進(jìn)行比較。
混淆矩陣是評(píng)價(jià)模型結(jié)果的指標(biāo),多用于判斷分類模型的優(yōu)劣,使用n行n類的形式來(lái)呈現(xiàn)準(zhǔn)確率、精確率與特異度。準(zhǔn)確率是指分類模型中判斷正確的結(jié)果占總觀測(cè)值的比重;精確率表達(dá)的是模型找到數(shù)據(jù)集中相關(guān)實(shí)例的能力;特異度表示為精確率和準(zhǔn)確率的調(diào)和均值,模型的識(shí)別效果可以由以上3種指標(biāo)對(duì)比得出。模型識(shí)別數(shù)據(jù)集中的數(shù)據(jù)后可以分為4種結(jié)果,合理的決策被正確地識(shí)別出,合理的決策未被正確地識(shí)別出,不合理的決策被正確地識(shí)別出,不合理的決策被錯(cuò)誤識(shí)別為合理的決策。用TN(True Negative)代表被正確識(shí)別的不合理決策的數(shù)量;FN(False Negative)代表不合理決策被錯(cuò)誤識(shí)別為合理決策的數(shù)量;TP(True Positive)代表被正確識(shí)別的合理決策的數(shù)量;FP(False Positive)代表被錯(cuò)誤識(shí)別的合理決策的數(shù)量。由此可得混淆矩陣,見(jiàn)表3-1。
表3-1 混淆矩陣

混淆矩陣計(jì)算公式見(jiàn)表3-2。
表3-2 混淆矩陣計(jì)算公式

在平臺(tái)構(gòu)建過(guò)程中可通過(guò)準(zhǔn)確率、精確率、特異度這3個(gè)指標(biāo)對(duì)模型的識(shí)別效果進(jìn)行評(píng)判,而在實(shí)際運(yùn)用中,此數(shù)據(jù)會(huì)受到樣本數(shù)據(jù)的量級(jí)影響,出現(xiàn)過(guò)擬合的現(xiàn)象。精確率是在減少樣本方差的條件下對(duì)數(shù)據(jù)的進(jìn)一步優(yōu)化,表現(xiàn)出比準(zhǔn)確率更高的精度。由計(jì)算公式的原理可知,精確率的提高帶來(lái)的是準(zhǔn)確率的下降,所以需要引入特異度來(lái)平衡兩者之間的關(guān)系,即精確值和準(zhǔn)確率的調(diào)和均值,取值范圍為0~1,1代表模型的輸出結(jié)果最好,0代表模型的輸出結(jié)果最差。
- 企業(yè)納稅籌劃方案設(shè)計(jì)
- 中國(guó)增值稅改革影響與展望
- 不公正的勝利
- 稅收籌劃實(shí)戰(zhàn)(第2版)
- 匯率制度與國(guó)際貨幣體系
- 從零開(kāi)始學(xué)營(yíng)改增:增值稅實(shí)務(wù)指引+行業(yè)應(yīng)用+案例分析
- 歐債危機(jī)
- 負(fù)利率
- 財(cái)務(wù)騙術(shù)大曝光
- 中外金融組織變遷:基于市場(chǎng)-技術(shù)-組織的視角
- 中國(guó)宏觀審慎監(jiān)管:工具評(píng)價(jià)與創(chuàng)新
- 稅制變遷與英國(guó)政府社會(huì)政策研究:18世紀(jì)~20世紀(jì)初
- 通向財(cái)務(wù)自由之路:心理實(shí)戰(zhàn)篇
- 中國(guó)古代賦稅役徭役
- 懂了就好辦:最新稅收政策與實(shí)操指引