周凱文,苑明海,張晨希
(河海大學 機電工程學院,江蘇 常州 213022)
智慧社區,其概念起源于西方,其建設是一個復雜的系統工程,其核心為“以人為本”。智慧社區的建設需要新穎的技術綜合應用以連接所有資源,包括電子政府信息資源等,為政府、企業、居民所共享[1]。2021年《中華人民共和國國民經濟和社會發展第十四個五年規劃和2035年遠景目標綱要》中明確指出:加快數字社會建設步伐,建設智慧城市和數字鄉村,以數字化助推城鄉發展和治理模式創新。智慧社區作為智慧城市的基本組成部分,其是否能建設并健康發展是智慧城市未來十多年的發展關鍵[2]。2015年,聯合國人口基金委員會發表的關于世界人口狀況的報告中預言,預計到2050年,世界城市人口占比將達到66%[3]。城市發展過程中接踵而至且日益嚴重的“大城市病”及持續的負外部性,與安全、可持續發展為目標的智慧城市建設理念不再相容。傳統的社區服務已經無法滿足社區居民的生活需求,尤其是在醫療衛生方面[4]。一種前瞻性的社區醫療服務的理念是通過對社區居民的健康監測、評價、維護和促進,減少健康隱患帶來的問題,改善生活質量并降低醫療費用開支[5]。李彩寧等提出了一種智慧養老服務體系,其中的智慧醫療是體系的要點,針對老年人多病多變的患病特點,建立動態健康檔案、提供遠程診療服務,重視康復護理服務[6]。
據調查數據顯示,2019年中國高血壓患者高達2.45億人,近乎十年還將持續增長。高血壓會導致嚴重的心血管疾病,而心血管疾病死亡率多年來高居首位。目前中國15歲以上居民高壓病患者數量持續增多,成人高血壓患病率為27.9%,患病率隨年齡增加而增加[7]。鑒于中國高血壓患者多而知曉率、治療率低,且治療費用不菲的情況,有關高血壓的預防、監測情況迫切需要改善[8]。龔軍等[9]運用機器學習算法對原發性高血壓進行診斷,其中BPNN模型和XGBoost模型效果較優。黃薇等[10]選取影響高血壓的顯著因素通過建立神經網絡預測模型對收縮壓和舒張壓進行預測,誤差值為6.4%。楊靖祎等[11]提出了一種密集神經網絡模型,對CT圖像特征提取并分類,具有一定的有效性。BP神經網絡[12](BPNN)以大量的數據信息做訓練,通過調整神經元之間的權值來降低輸出值與真實值的損失,最終通過推斷出輸入與輸出之間的關系得出準確度較高的預測值,以此來形成人工智能模型[13]。陳桂林等[14]提出一種使用K-means壓縮減少計算量,從而加速神經網絡計算的方法。陳麗芳等[15]提出神經網絡規則建模方法,用于解決隱藏層節點和參數選擇的困難問題。宋波等[16]利用BPNN對糖尿病加高血壓的臨床路徑進行優化建模,結果誤差較小。Abiyev Rahib H等[17]使用卷積神經網絡對胸部疾病進行診斷,并討論了不同的神經網絡的性能,證明了常規和深度學習方法對胸部疾病分類的可行性。但是以上研究都是在數據預處理時剔除掉缺值樣本,也就是對完備數據進行處理,這一方法不符合智慧社區對居民的服務理念,于是研究一種可針對含部分缺值數據的樣本進行高血壓預測的模型具有一定必要性。
在對居民個人健康信息的調查過程中,當存在信息填寫錯誤、居民不愿透漏信息或其他原因使得樣本數據部分缺失時,則會影響到該樣本的高血壓預測結果,一般最直接的方法是將缺失數據的樣本刪除,但是高血壓預測作為智慧社區中醫療保障的部分功能,要對社區中所有居民的健康負責,擅自刪除缺值的樣本就是視居民健康于無物。常用的數據插補方法有眾數插補、組均值插補、多重插補、決策樹預測插補、貝葉斯預測插補等。鄒文華等[18]為保證廣播式自動相關監視報文(ADS-B)的數據完整性,利用基于擴張算法(DA)的多重插補法(MI)對缺值補全,該方法可以處理任意的缺失模式,插補后的數據與原數據的相似度隨著數據缺失率的上升而下降,但仍具有較高相似度。施虹等[19]為解決不完備數據的聚類問題,提出了一種改進的均值插補方法,將硬聚類算法和均值插補相結合,該方法在不完整數據填充聚類方面有效,但不具有數據集普適性。Darling Anne Marie等[20]建立了插補對象的混合效應模型對缺失的體重值插補,比樣條回歸模型預測的結果誤差更小。
復雜估算值補全法的預測模型推理運算太過復雜,預測結果的準確度與先驗數據的數量相關,而眾數插補方法雖簡單,但準確度不高。對于智慧社區基于居民健康信息進行高血壓預測,數據量不會太多,組均值插補為將健全數據的樣本以某種規則進行分組,再計算每個組的均值,用該值填補缺失數據的樣本。使用BPNN來預測樣本缺失值,可在保證正確率的前提下降低運算復雜度。故該文提出以BPNN進行數值插補的方法,并與組均值插補的方法進行對比,最后以插補后的完整樣本集預測高血壓,圖1所示為該文基于BPNN的數值插補進而對高血壓預測的方法流程。研究一種基于神經網絡的居民高血壓患病風險預測的方法,為智慧社區居民提供數字化醫療服務具有重要意義。

圖1 方法流程
智慧社區包括多種感知設備對社區的智能家居、網絡通信、醫療、物業管理、電子商務、物流等信息的有效獲取、高效處理,其中醫療信息除了從當地衛生所或醫院中的居民健康檔案中提取,對于居民的基本信息也可從物業的感知系統中獲取。數據內容中基本信息如性別、年齡等可從社區居民管理系統中獲取,生活習慣相關數據需要居民積極反饋信息到個人信息表中,其余精準醫療信息需從當地衛生所或醫院中獲取。最后智慧社區管理系統將所有數據整合并供居民查看分析結果。
對某社區的1 000個居民進行健康信息提取,數據內容包括性別,年齡,身高,體重,是否抽煙,月飲酒次數,工作方式,久坐時間,運動時間,睡眠時間,精神壓力程度,是否患有高血壓共11個屬性。由于18歲以下幾乎沒有高血壓患者,且60歲以上的居民應定期進行身體檢查,故不作為預測樣本。將18歲以下和60歲以上的居民數據去掉后,在剩余820個樣本中隨機抽取50個為插補所用,其余樣本分為訓練集和測試集。當樣本缺失兩個及以上的屬性時,BPNN的訓練結果準確性會大大降低,神經網絡亦不再適用,故在此僅研究缺單值時的數值插補,將抽取的50個樣本數據的“運動時間”屬性改為零值以模擬數據缺失的情況。
BPNN即誤差反向傳播的神經網絡,設置激活函數將輸入數據通過隱藏層計算出輸出數據并與期望值對比得出損失函數,利用梯度下降法調整神經元之間的權值和偏置參數使得損失最小。
(1)確定參數。
記m為輸入層節點數,n為輸出層節點數,l為隱藏層節點數。考慮到效率問題,神經網絡采用三層網絡,即含有一個隱藏層。隱藏層節點由公式(1)得:
(1)
其中,a為常數,范圍[1,10]。
(2)確定激活函數。
本研究選用Sigmoid函數作為隱藏層和輸出層的激活函數,該函數的輸出映射在(0,1)之間,收斂速度較快,光滑性和魯棒性好,輸出范圍有限并且優化穩定,記作:
(2)
(3)計算誤差。
記輸入變量為:
Xi=(x1,x2,…,xm)',i=1,2,…,m
(3)
其中,m為輸入層節點數。
則隱藏層輸出變量為:
(4)
其中,n為隱藏層節點數,ω1為輸入層到隱藏層的權重向量,b1為偏置向量。
進而輸出層輸出變量為:
(5)
其中,p為輸出層節點數,ω2為輸入層到隱藏層的權重向量,b2為偏置向量。
而輸出期望值為:
yk=(y1,y2,…,yp)
(6)
故用最小二乘誤差定義的損失函數為:
(7)
其中,q為樣本數量。
(4)修正權重、偏置參數。
由激活函數和損失函數可得權重向量的修正公式為:
ω2jk=ω2jk+αIj(yk-Yk)
(8)
(9)
偏置向量的修正公式為:
b2k=b2k+α(yk-Yk)
(10)
(11)
其中,f'(x)=x(1-x)為激活函數的導函數,α為學習率。
輸入屬性去掉“運動時間”和“是否患有高血壓”后為9個屬性值,即輸入層節點數為9,輸出層節點數為1。通過式(1)計算出隱藏層節點數范圍為[5,15]。完整數據樣本數為770個,其中將500個樣本作為訓練集,270個樣本作為測試集。

圖2 不同隱藏層節點數時預測插補值與真值的誤差
隱藏層節點數對預測過程的訓練時間和誤差收斂有較大影響,原則上應在網絡能正確反映輸入輸出情況下選擇較少的節點數使網絡結構更簡單。設置訓練函數為trainlm,即梯度下降反向傳播算法,設置學習率為0.01,隱藏層節點數在[4,14]中依次實驗100次,實驗結果的準確率如圖2所示,橫坐標表示不同的隱藏層節點,縱坐標表示BPNN預測的數據與真值的誤差,預測插補值與真實值誤差的局部最小值4.68%左右,彼此相差不大。為了使網絡結構更加簡單,選擇隱藏層節點數為5,此時誤差為4.7%。
將剩余50個缺值樣本進行網絡測試,并以組均值插補的方法對該缺值數據集插補作對比,組均值插補法將完整樣本按照性別、年齡和工作方式分為12組,求出每組的居民運動時間均值,將50個缺值樣本匹配到對應組中并賦予該組的均值。兩種方法的插值結果對比如圖3所示,橫坐標代表50個缺值樣本的編號,縱坐標表示預測的居民每周運動時間。BPNN插補數據更貼近原數據,組均值插補僅將三個屬性分為12組,故插補結果較為平穩,BPNN插補法預測的屬性值與其余所有屬性值相關,插補結果更加理想,其中BPNN插補值的誤差為5.3%,組均值插補值的誤差為11.7%。

圖3 BPNN與組均值插補的數據對比
使用BPNN插補的數據的正確性從誤差和曲線圖并不能體現,將其用于高血壓預測后的結果是否理想決定著插補方法的優越性。
輸入層節點為原輸入層節點數加上“運動時間”屬性,即10個節點,輸出層節點為2,分別為“患有高血壓”和“不患高血壓”。隱藏層節點數由式(1)得出為[5,15],其余參數與前文相同,設置不同的隱藏層節點并訓練50次取均值得出的錯誤率如圖4所示,當隱藏層節點為7時預測效果最好,誤差僅為4.32%。

圖4 不同隱藏層節點數時預測結果與真值的誤差
將BPNN插補和組均值插補方法處理后的完整樣本進行高血壓預測,預測結果的對比如圖5所示,橫坐標為完整樣本的編號,縱坐標為預測的結果,0代表不患有高血壓,1代表患有高血壓。
圖5(a)為BPNN插補后的完整樣本的高血壓預測,圖5(b)為組均值插補后的完整樣本的高血壓預測,可以看出大部分的預測類別和實際類是相同的,其中BPNN插補后的完整樣本對高血壓預測正確率為92%,組均值插補后的完整樣本對高血壓預測正確率為86%。

圖5 插補后高血壓預測結果對比
近年來,隨著中國城鎮化的快速建設,城鎮人口急劇增多,社區服務逐漸不能滿足居民的要求。智慧社區聯合物聯網、云計算、數據挖掘等智能技術可解決這些問題。該文以智慧醫療板塊的衛生服務保障為研究起點,設計了基于BPNN的居民高血壓預測模型。智慧社區中的各種感知設備、物業管理系統、智能家居設備、居民反饋系統和醫療衛生系統等自動收集整理健康信息而對于數據收集過程中數據丟失或覆蓋等產生的不完備數據樣本的問題,設計了BPNN預測插補法。通過實例驗證,BPNN插補法效果遠優于傳統插補法,插補后的數據用于高血壓預測時的正確率雖沒有完備數據的預測正確率高,但總體效果也非常理想。樣本的數量和健康信息與高血壓的相關性也影響著神經網絡預測的準確率,但是實驗證明該方法較傳統方法更具有效性,并適用含缺值的樣本集,即通過BPNN預測缺失值并將其用于高血壓病的預測具有可行性。