郭寧,龔致富
(河北北方學院附屬第一醫院,河北張家口 075000)
隨著我國醫療行業的不斷改革,醫療資源的有效整合得到了國家的高度重視。占據資源較多的醫院機構,由于各類數據的規模過于龐大,出現了不同程度的財務信息管理問題,已無法滿足行業發展的需求。
隨著加密貨幣技術在供應鏈、醫療保健與數字身份等不同領域的大規模部署,區塊鏈和分布式賬本技術近年來呈現出了快速發展的趨勢,其是一種安全、有效的數據存儲方式。文中提出了一種基于區塊鏈特征識別的框架與OpenAPI 的標準程序接口,允許基于不同策略的數據進行并行管理,從而實現對醫院財務數據的時效性檢測。為了對財務數據進行快速、準確的分析,該文引入了數據挖掘算法,同時設計檢測模型,以實現對異常財務數據的高效檢測。
為了實現對財務數據的準確分析,文中設計了基于區塊鏈的財務模型,并建立了財務模型的特征識別方法。
圖1 為所設計模型框架的總體結構,該模型框架基于公證互操作性方法的服務器端組件,支持區塊鏈的客戶端向框架發送交易,并支持將交易轉換為所需的區塊鏈[1]。

圖1 模型框架
在圖1 所示的框架中,API 接口是與框架交互的入口點,其為去中心化應用程序提供一個接口以連接一個或多個鏈[2];區塊成本監控模塊對選定的區塊鏈執行定期查詢,以檢索交易費用和費率等數據[3];分析求解器根據預定義的成本閾值、預選鏈和受監控的區塊鏈數據定期計算使用場景[4]。
該框架的一個重要特點就是OpenAPI 模塊,其可將一個或多個事務輸入創建到目標區塊鏈上的可讀事務中[5]。基于策略的管理模塊包括PDP 與PEP算法,此模塊負責根據預定義的參數決定操作,并強制執行到OpenAPI 調用中。
框架實際運營時,第一步涉及到的是用戶信息、支持的區塊鏈和策略的配置。一個用戶可以有1~N個與其區塊鏈賬戶相關聯的賬戶,能預先定義策略以優化成本或性能,策略定義的表達式如下所示:
其中,b是區塊鏈,c是與交易費用相關的成本[6]。
若需要優化成本,即最小化與交易費用相關的成本數據,則需該系統決定如何采用不同的區塊鏈來存儲優化成本數據,或者通過設定閾值以限制相應的最大成本[7]。文中使用MAX_COST 閾值來定義目標金額,MAX_TIME 定義所有交易挖掘的最大等待時間。若優先考慮數據處理的性能,則應將該框架配置為盡快存儲交易,且允許增加交易費用。
為了保證財務數據分析框架的穩定性,此次所設計的安全策略優先于成本和性能策略[8]。保持數據機密性可以防止醫院將特定數據存儲在公共區塊鏈上,該模型通過為特定操作聲明私有區塊鏈來實現。具體實現方法為:在可修改區塊鏈集相關聯的數據類型上定義允許的操作(例如寫入、讀取、遷移、估計),以表示每個操作的一組允許鏈ID。根據策略定義,PDP 算法將決定不同的策略,以實現針對OpenAPI請求的不同區塊鏈和操作類型的正常運行。
一旦系統配置了策略,區塊鏈成本監控器就會自動計算來自可用區塊鏈的成本和等待時間信息,從而實現以歷史交易數據作為OpenAPI 的調用響應來獲取平均交易成本,進一步估計出單個交易的平均等待時間成本。公共API 用于查詢費用信息,一旦收集到有關成本和時間的信息,PEP 算法會根據當前策略將操作請求轉發到OpenAPI 模塊。
根據定義的用戶策略,系統會選擇最合適的區塊鏈來實現存儲和檢索數據。
OpenAPI 執行存儲函數的工作流程如圖2 所示。API 是OpenAPI 的入口點,一旦其接收到store(·)函數,便會根據選擇的區塊鏈將請求委托給相應的適配器使用BC_ID 值。因此每個區塊鏈均需要一個區塊鏈適配器,實現創建、簽名和發送交易(TX)的特定方法,而每個區塊鏈適配器的核心是存儲和檢索方法。區塊鏈適配器存儲基于正確的區塊鏈模板創建交易并對輸入數據進行編碼,使用私鑰(從憑證數據庫中檢索)簽署此交易,并將其作為原始交易廣播到區塊鏈中的多個節點。廣播是通過定義區塊鏈遠程過程來調用(RPC)服務器執行的,且在交易哈希返回給用戶之前會將交易存儲在TX 數據庫中。區塊鏈適配器的檢索模塊使用交易哈希作為搜索參數在區塊鏈中搜索交易信息,從交易信息中提取數據并將恢復的文本消息返回給用戶。

圖2 OpenAPI工作流程
為了保證此次數據挖掘的真實有效性,文中使用了真實的大型數據集特征參數進行數據挖掘平臺的設計。分析的主要目的為從給定的數據集中過濾屬性,以便為高效的數據分析選擇最相關的屬性[9]。
首先對數據庫進行預處理,此次使用兩種方法來執行數據增強以避免在訓練模型期間過度擬合[10]。當卷積網絡提取特征時,使用Dropout技術;其次,使用滑動窗口將傳感器數據分解為各種子序列;然后將其用作輸入數據,其特征隨后由CNN 提取[11]。
定義數據X是一個包含M個相關機構、K個財務記錄和時間的三維數據矩陣,其第q個財務記錄的子矩陣形式如下所示:
其中,np是財務記錄數據長度。當使用滑動窗口w獲取第q個財務記錄Xq的子序列時,首先選擇np-w+1 個子序列si(i=1,…,np-w+1),再通過滑動窗口從長度為np的傳感器數據Xq中完成獲取。滑窗函數如下所示:
經過預處理后,異常數據檢測診斷層在兩個堆疊的卷積池化層之后構建[12]。所設計的數據挖掘平臺包含一個全連接的神經網絡,在第二個池化層后分配了一個扁平層、一個隱藏層和一個神經元節點[13]。激活函數用于判定財務記錄故障,以篩選整個數據集的重要信息。
在診斷層,使用MTS-CNN 模型訓練得到一組最優權重。該權重表示傳感器之間的關系,并與激活層結合使用[14]。基于激活層的特征,系統可以識別并篩除具有負權重的財務記錄,同時設置其為零輸出。通過進一步觀察正常和異常財務記錄的輸出值,可以設置一個閾值來確定出數據X的某個屬性所表征的異常數據最多[15]。在診斷層之后,架構了兩個具有全連接網絡的隱藏層用于預測輸出狀態(即故障或正常)[16]。在輸出層,使用Softmax 函數進行分類預測,其表達式如下:
其中,C是輸出層中考慮類的數量。
訓練神經網絡需要使用前向傳播和反向傳播,最終通過前向傳播生成輸出值。異常檢測的本質是一個分類問題,若使用平方誤差函數作為損失函數來調整每個神經元的權重可能會過于平滑,導致網絡的收斂性變差,文中設計使用交叉熵函數(CE)作為損失函數:
其中,CEp是第p個數據的交叉熵值,Lr是二進制值。網絡在訓練時,只有正常數據的Softmax 函數值會被計算。
數據挖掘模型的權重可以基于損失函數CE 進行調整,此次使用反向傳播算法和隨機梯度下降(SGD)算法作為優化器來調整整個模型的權重,直到誤差達到最小值并收斂。在使用反向傳播訓練神經網絡時,該系統應用了多種模型訓練技術,以提高神經網絡的收斂速度并找到最優參數。
由于財務數據量非常大,整批學習方法難以在模型中找到一個理想的權重組合,導致訓練時間過長和計算機內存需求較大。因此,使用小批次方法來訓練模型的權重。小批次方法在每個訓練時期僅使用一批數據,并通過在每個時期之后找到平均值來更新權重,其可以在相同的訓練時間內對網絡進行更有效的權重更新。
整個數據挖掘框架中包含了大量的參數,為了避免出現過擬合,在訓練網絡時,模型的診斷層中使用了Dropout 技術。該技術隨機允許隱藏層中的神經元在指定概率p下消失,這一概率由用戶在每個訓練時期校正權重時設置。因此,在權重更新過程中不會對所有神經元進行更新,從而防止過擬合的發生。
為了驗證文中所提出財務數據分析算法的綜合性能,實驗所使用的數據集為某醫療機構提供的真實財務數據,共有87 531 條記錄,涵蓋了包括操作人員信息在內的30 余種數據屬性。同時,也包含一些與操作人員信用歷史相關的附加信息。
在數據分析模型構建之前,需要對所有財務數據進行標準化操作,并通過移動窗口選擇原始時間序列數據。財務數據經過預處理后,使用特征提取的方法提取相應特征。特征提取網絡由兩個卷積-激活-池化層組成。為了提取每個財務子序列的細微變化,設置卷積核大小為5,第一層卷積層的特征數量為16,第二層卷積層的特征數量為64。為了表征出每個財務數據子序列的趨勢,此次使用了平均池化法,設定池化層的核大小為2,步幅參數為2。為了確定數據挖掘模型訓練中的超參數,模型設置神經元之間連接權重的學習率為0.01;優化器使用隨機梯度下降,動量值為0.9,批量大小為128。
考慮到財務數據異常檢測是一個二元分類問題,因此文中使用精度、召回率和F1 分數來衡量模型的性能。經過5 次交叉驗證后,表1 總結了1NNDTW 算法、SAX-VSM 算法、FDC-CNN 與所提算法的精度、召回率、F1 和準確度的區別。在準確度方面,FDC-CNN 和SAX-VSM 均大于0.9,在所有方法中1NN-DTW 算法的性能最差。盡管SAX-VSM 算法的精度(0.932 0)優于1NN-DTW 算法,但SAX-VSM算法的召回率仍然較低,僅為0.394 4。在精度和召回率方面,FDC-CNN 算法與所提算法具有更優的實現效果,尤其是所提算法在表1 所比對的4 項性能指標上均優于對比方法。

表1 性能比較實驗
為了可視化本算法提取的每個子時間序列特征的效果,文中使用t-SNE 算法執行二維數據可視化,結果如圖3 所示。從圖3 中可以看出,正常數據緊密地聚集在一起;而異常數據則分散成了幾組,且大多數正常數據與異常數據均可分離。因此,可以通過該模型的輸出值來監控和實時識別異常數據。

圖3 財務數據分類可視化
系統檢測到異常后,會根據現有數據分析數據異常的可能原因,這些信息在系統診斷層的權重中被捕獲。此信息可以幫助管理者識別關鍵數據并快速處理,該文使用真實數據進行驗證,結果如表2 所示。

表2 數據驗證實驗結果
每個數據場景均結合了公共與私有區塊鏈,數據參數各不相同,這些參數會觸發不同的數據分析模型。
如表2 所示,對于不同時間跨度的財務數據,該系統均能給出相應的判定結果。盡管私有區塊鏈不像公共區塊鏈那樣需要交易費用,但仍會產生其他的計算成本開銷,例如硬件消耗等。因此,表中計算成本的數值單位記為焦耳。從表中可以看出,所提算法對于數據分析所產生的成本與時間跨度之間并未呈現出明顯的線性關系,證明了所提算法對于大量數據有良好的分析能力。
文中針對財務數據的分析檢測問題,使用特征識別方法建立了數據挖掘算法,并通過數值實驗對與數據分析的精度、準確度、召回率以及成本消耗等進行了分析,取得了相對理想的效果。在未來的研究中,如何提高數據分析的實時性,設計更加廣泛的人機交互接口將是下一步研究的重點。