時間:2023-03-21 17:06:03
導語:在數據挖掘論文的撰寫旅程中,學習并吸收他人佳作的精髓是一條寶貴的路徑,好期刊匯集了九篇優秀范文,愿這些內容能夠啟發您的創作靈感,引領您探索更多的創作可能。

1.1經穴效應特異性規律研究
主要采用關聯規則與頻次分析相結合的數據挖掘方法,關聯規則旨在提示處方中存在的兩個或兩個以上腧穴之間的配伍形式,頻次分析能夠提供針灸治療某一疾病選用的腧穴及其頻繁程度。羅玲等在全面采集古代針灸治療中風文獻基礎上,重點進行了選穴的經絡癥狀關聯分析,發現針刺治療中風半身不遂使用腧穴頻次最多的為曲池、肩等手陽明經穴;肩、曲池、足三里、百會、風池配伍是最常用處方;多選用足少陽經和手足陽明經穴位。針刺治療中風不省人事使用腧穴頻次最多的為督脈百會穴、心包經中沖穴;風池、百會、曲池配伍或大椎、百會、風池配伍是最常用處方;經脈多選用督脈和足少陽、手陽明等陽經穴位。以上表明針灸治療中風遵循了辨證循經取穴的處方規律。何冬鳳等在全面采集現代針灸治療心絞痛臨床文獻基礎上,重點進行了選穴的經絡部位關聯分析。結果發現,心絞痛選穴分布在心包經、膀胱經、任脈、心經最多;選穴主要分布在上肢部、背部、胸部,上肢部用穴中近90%分布于心包經和心經,背部用穴近95%分布于膀胱經,胸部用穴全分布于任脈和心經。以上表明針灸治療心絞痛遵循了辨位循經取穴的處方規律。數據挖掘結果證實了古代、現代取穴規律和特點與針灸臨床理論的一般規律和特點是基本相符的。經絡辨證提示了經穴效應的循經性,特定穴的選用提示了經氣會聚狀態是腧穴發揮效應特異性的關鍵。
1.2腧穴運用規律的研究
1)神經系統疾病:趙凌等收錄了從先秦至清末的偏頭痛針灸專著,采用多層關聯規則挖掘算法,計算腧穴項集的支持度和置信度,發現手足少陽經脈的穴位絲竹空、風池、率谷、頷厭、頭臨泣出現頻次最高,偏頭痛處方配伍中以合谷一風池出現的頻次最高,少陽經的交會穴選用最多。楊潔等發現針灸治療貝爾面癱中,手足陽明經穴選用最多,重視局部穴位,配合遠端選穴,地倉穴為使用頻次最多經穴,交會穴、五輸穴、下合穴等特定穴運用廣泛。吳糧葶等挖掘針灸治療中風后遺癥的現代文獻,表明針灸治療中風后遺癥選穴以循經為基礎,首選陽經腧穴,分布主要在四肢,陽明經與少陽經的配伍關系最為常用,特定穴為選穴的主體,特別重視交會穴及肘膝關節以下的特定穴。李旗等挖掘出針刺治療格林巴利綜合征所選腧穴以足三里、合谷、曲池、陽陵泉、外關、三陰交使用頻率最高,經絡則以手足陽明經最為常用。CongMen等以不同針刺手法刺激小鼠足三里,構筑神經元混沌放電的復雜網絡來刻畫神經元放電時間序列的時變特性。
2)消化系統疾病:任玉蘭等通過多維、多層的關聯規則分析針刺治療功能性消化不良的古文獻,發現足三里、中脘、脾俞、胃俞、內關是治療FD最常用的主要腧穴,足三里與中脘相配是最主要穴位組配方式;取穴以循經為基礎,主要集中在任脈、膀胱經、脾胃經上;所選腧穴以特定穴為主體,遵循局部與遠端取穴相結合原則。張勇等以古文獻中治療鼓脹的經穴為原始數據,運用頻數統計及關聯規則算法,統計出古代治療鼓脹最常用經穴為足三里、水分、氣海等,通過2次priori關聯結果,最終確認組穴1(復溜,中風)和組穴2(復溜,脾俞)在臨床應用中具有強關聯性。鄭華斌等發現在治療腸易激綜合征中,特定穴的使用廣泛,其中以足三里為最,其次為天樞、上巨虛、中脘等,臟腑辨證取穴為針刺治療腸易激綜合征的重要原則,以足陽明胃經的足三里和天樞為主。
3)心血管系統疾病:何冬鳳等收集從先秦至清末有關胸痹的文獻,挖掘結果為歷代針灸治療胸痹以心包經選用頻次最高,陰經使用最為頻繁,特定穴的選用占有絕對優勢,如五輸穴原穴絡穴等,體現了循經取穴原則。高麗美通過頻次分析及關聯規則算法挖掘現代穴位貼敷治療心絞痛文獻,結果表明心俞、膻中、內關、厥陰俞使用頻次最多,腧穴選用以特定穴為主,俞募配伍使用最多。腧穴分部以胸腹部、背部腧穴為主;以足太陽膀胱經、任脈、手厥陰心包經選用頻次較高。
4)其他系統疾病:王洪彬等借鑒文獻計量學及數據挖掘的相關方法,對針灸治療更年期綜合征的常用腧穴及經絡進行描述性統計。發現現代治療女性更年期綜合征所選取的穴位中以三陰交、腎俞、關元、足三里使用頻率最高,膀胱經、任脈、脾經腧穴應用最為廣泛。王靜等發現源于149篇文獻的186條數據元素組成的阿片類藥依賴針灸治療數據庫中,用穴頻次居于前五的經穴足三里、三陰交、內關、合谷和神門構成了穴—穴,癥—穴,研究對象—穴,—穴和戒毒分期—穴等關聯規則中的穴位主體。
1.3刺灸方法的應用規律研究
賈春生等提出建立刺灸法文獻數據庫并設計文獻數據應用平臺,在此基礎上分析數據資料,建立刺灸法數據挖掘模型。此后,各學者運用數據挖掘方法對穴位注射、火針、穴位敷貼、穴位埋線、刺絡放血等刺灸法進行了特異性規律及特點的研究。刺灸法挖掘技術的應用中,頻次分析最為常用,能夠提供各類刺灸法治療不同疾病的頻繁程度,篩選其治療的優勢病種。張選平等發現穴位埋線療法主要優勢病種是內科的胃脘痛、肥胖病、癇證、哮喘、腹痛、面癱、便秘;外科的腰腿痛;皮膚科的牛皮癬和五官科的重瞼術。劉新等總結出放血針具共涉及9種,以三棱針使用頻次最高,將放血量人為分為6個等級,其中放血量為少許(少于0.1mL)的出現頻次最高,為401次。許曉康等發現水針療法在內科疾病治療中出現頻次最高,其次為外科疾病,相對于其他疾病,呃逆出現頻次最高。
1.4腧穴疾病譜的研究
吳糧葶等通過規范病癥、腧穴名稱,統計中風后遺癥所屬病癥的針灸病癥譜及總結針灸治療中風后遺癥的腧穴譜,結果顯示針灸病癥譜分布呈偏向性,腧穴譜遍布十四經脈,首選陽經腧穴,常用腧穴以陽明少陽經穴為主。邢晶晶等通過文獻比例、疾病比例對內關及其常見配伍的針刺病譜進行分析,總結出內關針刺病譜主要分布于脾胃系和心系;單穴內關針刺病譜中冠心病文獻比例最高;內關配伍足三里針刺病譜中呃逆文獻比例最高;內關配伍三陰交針刺病譜中焦慮抑郁文獻比例較高。黃宗雄等通過對清代及清以前昆侖穴相關文獻的整理,挖掘得出:昆侖單穴主治病證33種,篩選出2種優勢病證;配伍主治病證45種,篩選出19種優勢病證及其高頻配伍處方。陳文修等統計出百會單穴主治病證73種,篩選出22種優勢病證;配伍主治病證106種,篩選出21種優勢病證及其高頻配伍處方。
1.5名老中醫經驗挖掘
張華等對田從豁教授臨床病歷資料進行整理,發現田從豁教授臨床應用穴方共19個,陰交、肓俞、水分配伍使用頻次最多。陳裕收集當代名中醫針灸治療偏頭痛醫案247篇,總結出臨床與肝陽上亢型關聯密切的是足少陽膽經,血瘀阻絡型是手少陽三焦經,風邪上擾型是足太陽膀胱經,氣血不足型是足陽明胃經。并且,根據關聯規則挖掘提出的基本配穴規律與中醫經絡理論相契合。
1.6針灸臨床決策支持系統構建
針灸臨床決策支持系統對于實現針灸臨床決策模式的轉變有重大意義,基于數據挖掘方法,各學者在此方向進行了有益的探索。任玉蘭等提出建立疾病癥狀、證候癥狀關系的樣本數據庫、概率數學模型;再通過遺傳算法進行針灸治療最優方案的選擇,構建具有人工智能特征的針灸臨床循證診療決策輔助支持平臺。王佑林等利用復雜網絡的K核心思想并改進來尋找針灸治療疾病所用穴位的主穴信息,使其更好地適應中醫決策系統并提供支持。李云松等發現在決策系統中,使用一元字串和二元字串的特征更適合腧穴處方的自動生成,提出了一種基于K近鄰方法的腧穴處方自動生成算法,通過分析病歷庫中與目標現病史最相似K條病歷的穴位配方,來自動給出患者針灸治療的推薦方案。胡綠慧等提出使用Weka平臺進行編程,分析穴位的支持度與置信度,找出適用于針灸臨床方案決策研究的最好方法,用以指導臨床醫生的方案決策。
2分析與展望
2.1數據挖掘結果能夠與傳統的中醫學理論相契
合并提供新知《席弘賦》云:“凡欲行針須審穴。”可見臨證選穴及配伍的重要性。查閱近幾年針灸數據挖掘的結果,不難發現,針灸處方的配伍仍大量選用“原絡配穴”“俞募配穴”“八脈交會配穴”“合募配穴”“遠近配穴”等傳統配穴方法,遵循著“循經取穴”的規則,體現了“經脈所過,主治所及”“腧穴所在,主治所及”的規律。數據挖掘在驗證傳統的中醫學理論的同時,還能在海量的文獻中發掘出新知,如趙凌等挖掘偏頭痛文獻時即發現古代針灸治療該病多采用同名經的配穴方法,發生疾病時即可在相聯系的手足同名經的相應部位針刺;趙華等挖掘田從豁教授治療痹癥經驗的結果提示上肢疼痛與寒凝、血瘀相關,風寒痹阻與下肢發涼相關。這些新的治療方法、不易發現的疾病、證候、癥狀之間的聯系,通過數據挖掘為臨床提供了新的思路與治療模式。
2.2數據挖掘在針灸領域存在的不足及展望
針灸數據挖掘起步較晚,不同于中醫藥數據挖掘文獻量大、方法選用較多,針灸數據挖掘文獻量較少,且仍以關聯規則及頻次分析為主要挖掘方法。對針灸選方用穴的規律進行關聯程度的分析,雖然能夠提供腧穴的使用頻率及處方的關聯度,但此方法對針灸核心處方及配伍的深層分析如增效、減效等卻無能為力。單一的處方關聯分析也制約著針灸數據挖掘的進一步發展,其在生物學機制、腦功能分析等的應用基本為空白。而復雜網絡分析卻在此方面提供了新的可能性。復雜網絡方法是通過穴位、疾病、證型等作為基礎節點,構筑復雜網絡,通過冪律分析、小團體分析、中心性分析等深入分析針灸處方特色的一種數據挖掘方法。可以提煉出核心處方,通過加權與無權的穴位疾病二分網絡從宏觀及動態的角度揭示腧穴配伍規律。亦可進一步以生物學中蛋白、基因或腦影像學數據作為節點,通過節點間的拓撲網絡,深入分析針灸在生物學及腦影像學領域的作用機制。另外,數據挖掘與仿真工程的結合,可以在針刺手法的測定、針灸臨床決策系統中發揮更重要的作用。
目前,作為智能電網重要組成部分的智能配電網,在能量流、信息流、業務流三個方面都表現出于傳統配電網不一樣的特質:
(1)傳統電網能量流由電網單方向流向客戶,智能配電網的能量流可雙向流動。
(2)傳統電網信息流傳輸慢,信息不完整,存在較多信息孤島,智能配電網可以實現信息全面集成,高速雙向對等通信,支持分布式處理。
(3)傳統電網的業務流程局限于部門內部,智能配電網的業務流程貫穿多個部門,支持互動業務流程,全局角度的優化決策。因此,涵蓋電源、電網、用戶的全流程,貫穿電網規劃、設計、建設、運行維護、技術改造、退役的全過程,最終形成電力流、信息流、業務流的高度融合和一體化,將成為智能配電網發展、研究、建設的重點。
智能配電網的信息化建設已經全面開始,但我們仍然不能忽略存在的問題。
(1)對配網信息化的認識和定位不清楚,應用主體不明確,導致后期的應用具體的受益者少或不明顯。
(2)對配電信息化系統缺乏統一細致的規劃,存在“盲人摸象”的現象,提不出完整而準確的需求。
(3)容易套用調度自動化的建設思路,過分強調實時應用,而沒有針對配電信息量大面廣的特點,忽視了對其它系統的相關數據利用和整合,造成配電系統的信息缺口很大,模型不完整,后期的應用無法實用化。
(4)配電自動化涉及供電企業內部的生產管理環節較多,因此存在管理體制對自動化基于實時歷史數據庫開展配電網數據挖掘的應用與研究文/楊劭煒邱佳杰葉偉寶當前全球能源開發利用正呈現多元化、清潔化的發展趨勢,我國經濟快速發展,用電需求急速增加,而煤炭、風能、水能、太陽能等傳統與新能源資源的分布與消費呈逆向分布,因此,國家電網公司在2009年5月21日,提出了建設“堅強智能電網”的發展戰略,并分三個階段逐步實現。國家電網“十二五”電網智能規劃中明確了“電網發展方式的轉變”是這一期間的核心,而作為“兩個薄弱點”之一的“配電網”將是重點需要解決的。本文以配電網為切入點,引入數據挖掘技術,圍繞最能體現配網管理水平的各類業務,既提高了傳統配電網業務的執行效率,又能發揮信息技術強大的智能決策優勢。摘要系統的不適應,或者說是自動化系統對不同的管理體制的適應性不強。造成工作職責界定不清楚,運行管理工作跟不上,系統應用和數據維護工作很薄弱。另外,根據國網“十二五”規劃,國家電網公司明確要制定實施農電發展戰略,大力加強農網建設。本項目正是以縣公司這樣的基層供電公司為研究對象,綜合考慮配電網業務的復雜性,及縣公司覆蓋城網和農網的特點,力圖在建立一個有效配電網數據挖掘與分析模型的基礎上,依托先進的技術手段,提高在縣公司對智能配電網的認識和管理水平,并在可能的情況下,將研究成果在浙江省范圍內的縣級供電企業進行推廣。
2項目建設目標
實現對配調圖形數據的智能化管理與各業務環節的正常流轉;研究無線數據通信節點的接入及組網管理方式,接入包括可能的3G、GPRS、WIFI、RJ45、RS485、RS232等,基于星型、樹型等網絡結構,管理并維護多個節點,對數據進行預處理;應用有源電子標簽的電子標識系統來定位現場配網設備,解決管理人員在日常巡檢和維護中,突發狀況時的準確定位及地理環境變遷后的配網設備查找;為移動終端上各類信息(地理背景、電力網架、電力用戶信息,配網設備臺帳等)提供圖形化的展示和管理;實現以文件或接口的方式導入電網拓撲、電力用戶信息、設備臺帳信息等。項目主要研究內容:
(1)工作任務生成與流轉方式的研究。提出工作任務的概念,將其作為系統中業務流轉的唯一單元。設計并實現其具體流轉方式。
(2)無線數據網絡的研究。分析以無線數據網作為整個系統的通訊核心的技術可行性。研究無線數據通信節點的接入及組網管理方式,接入包括可能的3G、GPRS、WIFI、RJ45、RS485、RS232等,基于星型、樹型等網絡結構,管理并維護多個節點,對數據進行預處理。
(3)有源電子標簽的研究與應用。研究使用有源電子標簽的電子標識系統來定位現場配網設備的技術可行性,以解決管理人員在日常巡檢和維護中,對突發狀況時的準確定位及地理環境變遷后的配網設備查找。
(4)移動終端上配網信息可視化展現的研究。為移動終端上各類信息(地理背景、電力網架、電力用戶信息,配網設備臺帳等)提供圖形化的展示和管理。
(5)與相關系統數據接口的研究與實現。研究電網拓撲、電力用戶信息、設備臺帳信息等數據的載入方式及其技術可行性。涉及系統包括:GIS,PMS,營銷系統等。
3項目技術方案詳情
3.1系統架構
(1)總體要求及架構。系統將采用面向服務架構(SOA),遵循IEC61970標準接口和CIM數據標準,集成SCADA、市公司數據交換總線(IEB)、電力營銷、氣象網站、負控管理等相關系統,采用數據倉庫技術,有效解決多源頭復雜數據的采集、海量數據之上進行快速準確科學的數據分析的難題,貼近國內供電企業電網運行工況和負荷分析預測人員及電網規劃人員日常工作所需的基于省公司實時歷史數據庫開展配電網數據挖掘系統。
(2)技術路線。①基于IEC、CIM等標準,建立資源中心,通過IEB企業總線接收來自PMS、ACADA、電力營銷、用電采集、氣象系統等的多維數據;②采用C/A/S三層架構,保證平臺的穩定性和時效性;③部署上滿足大范圍推廣應用;
3.2集成框架
基于省公司實時歷史數據庫開展配電網數據挖掘平臺集成了SCADA、市公司數據交換總線(IEB)、電力營銷、氣象網站、負控管理等相關系統。集成框架如圖1所示。
4硬件架構
平臺應用采用單獨的應用服務器獨立部署,需要配置相應的軟硬件環境。應用服務器通過F5實現均衡負載,當用戶增加,已有服務器性能影響用戶體驗時,通過增加應用服務器的方式提升系統整體性能。
5軟件架構
基于省公司實時歷史數據庫開展配電網數據挖掘平臺將提供6大業務分析功能及3個基礎管理功能,共約40個分析子功能項,滿足各級負荷分析預測人員的日常工作所要。
6結論
首先,提高財務信息的利用能力。傳統財務數據查詢主要面向應用,屬于一種支持日常操作的事務處理,沒有分析所查詢的數據信息的能力,決策者也無法在分析大量歷史數據的基礎上多維度的比較、分析某個主題的相關數據。而財務分析中應用數據挖掘技術體現出序列導向及多維度的特點,從而有效提高財務信息的應用能力。其次,解決財務信息的噪聲問題。網絡環境下,企業可以方便、快捷的獲取企業內部信息、各關聯方及外部信息,這個過程中難免會出現信息過量的問題,如何迅速從海量信息中獲取對決策有用的信息成為各決策者及管理者面臨的重要問題。這種情況下,數據挖掘技術可以在海量信息中分辨、挖掘出對財務決策有用的信息,最大程度上減少信息噪聲的影響。最后,提高財務分析的智能化水平。決策本身體現出動態性、復雜性、多樣性的特點,而決策者本身的綜合素質也會對決策的準確性產生影響,因此同一種情況可能產生不同的決策結果。隨著數據量的不斷增加,傳統依靠程序人員設計專用程序查詢數據的方法已經相對滯后,決策者需要更加智能化的信息分析方法,數據挖掘技術便可滿足這一要求,其利用現有數據獲取新的、有用的信息,并對信息的查詢、存儲過程預以優化,體現出強大的自我學習功能,從而最大程度上滿足財務信息分析智能化的要求。
二、數據挖掘技術在財務分析中的應用
財務分析的主要目的是改善經營管理,提高企業的經濟效益,其主要目的是保證會計信息資料的正確可靠性,以保證企業財產的安全性、完整性。比如某生態園林企業需要投入大量資金完善生產基礎設施,并保證現場作業的有序,如有必要還要投資于企業產品周邊附屬產業的發展,因此財務決策的重要性不言而喻,而在財務決策中應用數據挖掘技術十分必要。財務分析中應用數據挖掘的基本流程包括問題識別、數據準備、數據開采及結果表達與解釋等四個步驟,圖1可將財務分析數據挖掘的過程直觀的表達出來:
(一)問題識別
典型的財務決策包括投資決策、籌資決策、成本決策、銷售決策等,企業要進行財務分析前必須識別決策問題,明確需要達到的決策目標等,再將決策目標轉換為數據挖掘的目標,最后進行準確的數據定義。如企業需要投資企業產品周邊附屬產業,則需要利用數據挖掘技術明確以下問題:
(1)企業經營中可隨時支配的資金額度,需要財務人員建立數據庫模型,將可用于投資的資金情況準確、詳細的計算出來;
(2)編制投資方案,即與本企業實際情況相結合,考慮具體投資計劃,并對投資方案的可操作性進行分析,比如上述園林生態企業需要投資進口園林機械的項目,就需要在投資前對該項目的大小做出合理評估,了解該品牌園林機械在國際市場的占有份額、品質、成本及銷售價格等信息;
(3)投資收益分析,投資的主要目的是獲得更高收益,因此在數據挖掘過程中,問題識別時必須做出可靠的收益預算。
(二)數據準備
在完成問題識別后,需要根據不同的需求、從相關數據庫信息中選擇適用的數據信息,即進行數據準備,該過程需要收集大量與企業財務分析相關的數據信息,以保證數據挖掘的真實性、客觀性,比如花卉市場分布信息、裝飾裝潢市場信息、園林設計與市場銷售等信息。通常情況下,數據準備又可分為數據集成、數據選擇及數據預處理等三個步驟,其中數據集成是把多數據庫運行環境中的數據進行合并處理,去除信息噪聲,剔除虛假數據;而數據選擇則是分辨需要分析的數據集合,進一步縮小數據處理的范圍,提高數據質量,從而保證數據挖掘的有效性;數據預處理的主要目的是解決數據挖掘工具局限性的問題。
(三)數據挖掘
當上述準備工作完成后即可進行深入的數據挖掘處理,挖掘過程中需要注意,必須以財務分析核心思想為指導,明確數據挖掘的目的性,數據挖掘的主要內容包括:選擇合適的挖掘工具、具體的挖掘操作及證實發現的知識等,其中選擇合適的挖掘工具至關重要,限于篇幅此處對神經網絡及決策樹兩種方法進行簡單介紹。神經網絡是以自學習數學模型為基礎的,利用該方法可以很容易的解決具有上百個參數的問題,為高復雜度的問題提供一種相對簡單的方法;視經網絡既可以表現為有指導的學習,也可以是無指導聚類,不過輸入神經網絡中的值均為數值型的。實際應用中通常采用該方法進行財務預警分析。決策樹法是現階段應用最廣泛的歸納推理算法之一,其提供了一種展示在何種條件下會獲得對應值的規則的方法,是一種簡單的知識表示方法,在數據挖掘過程中,決策樹法主要用于數據挖掘的分類。
(四)結果表達
結果表達即是在處理數據庫信息的基礎上客觀的表達出數據挖掘的結果,以為企業財務分析提供可靠依據。可以說結果表達是數據挖掘的成果展示,其所表達的是最有價值的信息,如結果表達所提供的信息達不到決策的要求,則可重復挖掘過程,直至決策者滿意為止。
三、結語
采用SQLServer2008軟件進行統計分析,統計藥物使用頻次,并采用關聯規則對藥物配伍、藥-病、藥-癥關系進行對應分析,采用SQLServer2008AnalysisServices對癥狀、體征的常用藥物進行多維數據分析。
2結果
2.1活血化瘀藥物使用頻次統計277份醫案中,陳院士使用的活血化瘀藥共20種,其中使用頻次排在前5位的依次為赤芍、延胡索、川芎、丹參、紅花,使用頻率均在23%以上;其次是生地黃、當歸、牡丹皮、桃仁、牛膝、郁金,使用頻率在10%以上;其他如益母草、王不留行、三七、雞血藤、大黃、澤蘭、鬼箭羽使用頻率均在10%以下。具體見表1。
2.2活血化瘀藥物的配伍應用配伍應用的常見兩項關聯如川芎、赤芍為陳院士治療冠心病尤其是介入術后再狹窄的常用配伍,苦參、延胡索為治療心律失常的常用配伍,桔梗、川芎為治療氣滯血瘀證的常用配伍,三七、延胡索為治療瘀血疼痛的常用配伍。具體見表2。配伍應用的常見三項關聯如桃仁、川芎、紅花,丹參、川芎、赤芍,紅花、川芎、赤芍,均反映了冠心Ⅱ號方(當歸、丹參、川芎、赤芍、紅花、降香)藥物配伍;桔梗、紅花、川芎反映了血府逐瘀湯的藥物配伍,均為陳院士常用的活血瘀方藥。其他如鉤藤、川芎、天麻,、川芎、天麻,反映了治療血瘀兼肝陽上亢的常用配伍;藿香、川芎、佩蘭反映了治療血瘀兼濕濁的常用配伍;太子參、紅花、川芎反映了氣虛血瘀的常用配伍。具體見表3。
2.3藥-病關聯分析表4示,支架術后血瘀證應用川芎、赤芍的置信度分別為0.89、0.83,置信度排在3至5位的依次為紅花、延胡索、丹參,再次為黃芪、薤白、桃仁、瓜蔞、半夏,說明陳院士治療冠心病介入術后除活血化瘀外,也重視益氣、化痰法的應用,通補兼施。表5示,高血壓病血瘀證應用活血化瘀藥物按置信度排序依次為牛膝、赤芍、生地黃、川芎、丹參、紅花,其中赤芍味苦微寒,可清熱涼血、散瘀止痛;生地黃甘苦涼,滋陰和血;牛膝苦酸性平,可補肝腎、引血下行,體現陳院士選方用藥注意照顧疾病病機的特點。表6示,心律失常血瘀證應用活血化瘀藥物以延胡索置信度最高(0.39),其他常用的還有川芎、生地黃、丹參、當歸。
2.4藥-癥關聯分析表7示,冠心病出現心痛癥狀時,使用藥物置信度最高的是延胡索、丹參、薤白;出現紫暗舌、黃苔時,赤芍的置信度最高;紫暗舌、畏寒同時出現時,當歸的置信度最高。高血壓病出現頭痛時,使用天麻、鉤藤的置信度最高,頭痛與脈沉弦同時出現時,天麻、鉤藤的置信度最高。表8示,陳院士活血化瘀治療心血管疾病血瘀證不同癥狀、體征所用藥物有一定差別,如治療瘀斑舌牡丹皮使用較多,治療心痛延胡索使用較多,治療頭痛川芎使用較多,治療半身不遂除當歸、赤芍、川芎、生地黃、紅花、桃仁外,還常合并使用全蝎、蜈蚣、烏梢蛇等蟲類通絡藥物。
3討論
血瘀證因瘀血的原因、部位、所患疾病、體質稟賦、病情輕重等不同,其臨床表現可多變,故治療上除血瘀證的通治法和方藥外,也要注意靈活變通,兼顧疾病、病位、兼證和兼癥的特點。陳院士臨診每細察舌脈,再結合證候之兼挾,病程之長短,體質之虛實,對病情進行全面分析,辨證求因,審因論治,科學配伍。處方用藥或根據瘀血之因辨證地運用行氣活血、益氣活血、養血活血、溫經活血、化痰祛瘀、清熱活血、活血解毒等法;或結合病變部位而采用活血通腑、活血利水、清心活血、活血通竅等法;或結合疾病特點施以專方專藥。數據挖掘是從大量的、不完全的、模糊的數據中,抽取潛在的、有價值的知識(模型或規則)的過程。運用結構化數據庫和數據挖掘方法有可能解決中醫特色研究和發展中的關鍵問題,為中醫特色各個信息單元之間內在隱含關系的挖掘、規律的總結、問題的發現等提供技術和方法學上的支持[9]。數據挖掘的算法有多種,如關聯規則、聚類分析、決策樹、貝葉斯、神經網絡等[10]。在中醫醫案和臨床資料的研究中,以關聯規則和聚類分析應用較多,頻數分析則常和其他算法一起使用。本研究采用關聯規則這一數據挖掘方法,對陳院士活血化瘀治療心血管疾病的用藥規律進行了分析。其中對現代醫學病名與藥物進行關聯分析發現,冠心病支架術后血瘀證應用川芎、赤芍的置信度最高,二者配伍可視為治療冠心病支架術后的專病專方專藥,其次常用的活血藥依次為紅花、延胡索、丹參;高血壓病血瘀證對應的藥物依次為牛膝、赤芍、生地黃、川芎、丹參、紅花;心律失常血瘀證對應的用藥依次為延胡索、川芎、生地黃、丹參、當歸。分析結果與陳院士臨證注意兼顧疾病特點靈活選用活血化瘀藥和科學配伍的特色基本相符。其中丹參、紅花、川芎、赤芍可作為血瘀證的通用藥物;延胡索辛散溫通,“行血中氣滯,氣中血滯”,功能活血行氣,療一身諸痛,冠心病心絞痛、頭痛明顯者可選用;川芎辛溫香竄,走而不守,能上行巔頂,下達血海,為血中之氣藥,治療頭痛常選用之,并適當配伍他藥;赤芍苦微寒,清熱涼血、祛瘀止痛,與川芎合用可佐其溫燥,而加強活血化瘀之功,陳院士常用二者配伍治療多種血瘀證尤其是冠心病介入術后,以川芎、赤芍的有效組分配伍組成的芎芍膠囊,經多中心隨機雙盲對照研究證實具有預防介入術后再狹窄的作用[14]。
在熔煉機組優化運行的過程中,機組的運行性能指標與人員的操作水平、負荷及運行參數之間有著復雜的相互關系,這種關系在大量的生產歷史數據中與機組各數據項之間關聯,因此可以通過數據挖掘的方式把其中的關聯關系定量的反映出來,最終反饋到實際運行中。本文結合工廠的實際情況,分析由工廠的DCS系統采集的實時運行數據,來得到用戶期望的相關參數間定量的關聯規則。
2交互式關聯規則挖掘算法
關聯規則挖掘算法在數據庫的記錄或對象中抽取關聯性,展示了數據間位置依賴關系,其目的是尋找在大量的數據項中隱藏著的聯系或相關性。其優越性在于能將用戶的定制信息整合到挖掘過程中,以一種友好的方式引入約束,使挖掘出更加符合用戶需要的信息,并且提高了挖掘的效率和有效性。
2.1目標數據庫的確定
數據挖掘應熟悉對象的背景知識,明確挖掘的目標,根據目標確定相關數據,以此作為目標數據庫,來完成對數據的預處理、挖掘和規則評價。
2.2交互式關聯規則挖掘算法
表示A成立則B成立,其中給出了可信度C和支持度S。可信度C是對關聯規則準確度的衡量,即在出現A的情況下出現B的概率;支持度S是對關聯規則重要性的衡量,即A和B同時出現的概率。
3熔煉機組數據挖掘的實現
本文采用的是冀某工廠于2013年5月運行的數據,采樣頻率為2~3秒/次,采樣模式為實時監測值,得到7595組數據。在分析階段,對影響機組的主要可控參數進行了提取及預處理,參數主要包括:轉速、有功功率、主蒸汽壓力、調節級壓力、中壓缸排汽壓力。以機組轉速設計值為3600r/min為例來分析。對各個可控參數數據進行曲線化處理,作為分析它們之間的關聯規則的數據表。上述關聯規則表示,在三種負荷工況下,工廠熔煉機組有功功率與主蒸汽壓力、調節級壓力、中壓缸排汽壓力三者之間最優變化區間的關聯。經分析,在機組中應用關聯規則的數據挖掘技術與傳統方法相比,優點是其可以對不同的可測參數進行挖掘,方法簡單有效、可操作性強;運用關聯規則進行挖掘,對過程能夠較靈活控制,處理后的目標值直觀,便于操作指導和提高運行效率。
4結論
數據挖掘技術是當前數據分析和處理領域一項十分重要的技術,具體而言數據挖掘技術可以看成是信息技術不斷發展和演進的結果,是在人們對于數據庫技術不斷發展和創新的基礎上發展而來的。在初期階段,商業數據往往只是簡單的進行存儲,然后有了對相關數據的查詢功能,再繼續發展為對相關數據的即時遍歷。數據挖掘技術使得數據查詢已經不僅僅局限于數據本身,同時還可以通過相關的算法和技術發現數據之間潛在的關聯性,從而在很大程度上增加了數據利用的深度和層次。隨著當前大數據時代的到來以及高性能計算機和數據挖掘算法的成熟,數據挖掘技術開始在商業領域進行應用,并且取得了快速的發展。在目前的醫院信息管理系統中已經積累了大量的數據信息,因此如何實現對這一部分信息的深層次數據挖掘是至關重要的,這也將直接決定著醫院將來的發展和命運。在醫院信息管理系統中應用數據挖掘技術可以在更深層次上對醫院的管理數據進行分析,從而可以為醫院從業人員的相關決策、管理以及研究提供更加有力的技術支持。因此數據挖掘技術在醫院信息管理系統中的應用具有十分重要的意義。在目前的數據挖掘技術中,其關鍵技術是數據的預處理。當需要進行分析的數據庫包含大量的噪聲或者存在數據不一致性時,數據預處理就顯得更加有必要。根據對相關數據挖掘過程的統計顯示,超過一半的時間用于進行數據預處理,而真正用于數據信息挖掘的時間則僅占到10%左右。目前的數據預處理技術主要分析對數據的清洗、集成、轉換以及消減等。另一關鍵技術是匿名化以及轉換技術,這主要是由于在目前的醫院信息管理中涉及到病人的隱私問題,因此在進行數據處理的同時需要對患者的相關記錄進行匿名化處理,以更好的保護患者的個人隱私。
2基于數據挖掘技術的醫院信息管理系統
2.1基于數據挖掘技術的醫院信息管理系統
關聯規則是目前進行數據挖掘的重要手段,在醫院信息管理系統中引入關聯規則可以進一步發現數據之間的相互關聯,并且在對病人的相關數據的分析和進一步挖掘過程中,嘗試分析患者年齡與醫療費用之間潛在的關聯,并且進一步通過這種關聯關系加強對醫院資源的合理優化配置,實現對不同年齡段患者的醫療費用的有效控制,進而實現醫院效益的最大化。具體而言,將關聯數據集合記為D{=t1,t2,...tn},tk={i1,i2,im..ip},tk為數據庫中的事務,im為數據庫中的項。在數據集合D中,其包含的集X的項數為集的支持數,將其記為σx,支持度為suppor(tX),則有suppor(tX)=σx/|D|×100%。假設X和Y為數據庫集合D中的項集,則有:假如XY,則有X項的支持度大于Y項的支持度,同時假如X是非頻繁項,則此時Y項也是非頻繁;則假如Y項是頻繁的,則X項也是頻繁的。在數據挖掘的關聯規則中有兩個至關重要的概念,即支持度與置信度。通常而言,支持度只要用于衡量采用的關聯規則的可信度,而置信度則用于表示在生成數據集中關聯規則的統計角色。在實際的應用過程中,假如support(XY)大于支持集,并且置信度大于最小置信度,此時XY可以稱之為強規則,否則將其稱之為弱規則。在數據挖掘的過程中,尋找強規則是整個數據挖掘過程的關鍵。在強規則XY所對應的項集中,必定存在著頻集。基于關聯規則的數據挖掘模型如圖1所示,其中主要包括數據集D、關聯規則搜索算法、數據挖掘結果R以及用戶與數據挖掘之間的交互,對相關的數據挖掘結果信息結果進行合理的評價。在實際的關聯規則數據挖掘過程中還需要考慮到以下兩個方面的問題:其一,盡量減少I/O操作的次數,這主要是由于數據挖掘過程中的數據量是非常大的,因此頻繁的進行I/O操作將會對數據挖掘的效率產生很大的影響,其根本的方法就是減少對于數據庫集的掃描頻率和次數;其二,避免候選集中項的數量過大,這主要是由于過多的項數將會使得存儲空間被大量占用,從而對數據挖掘的效率產生影響。
2.2基于數據挖掘技術的醫院信息管理系統的實現
數據準備階段。在研究過程中采用某醫院信息管理系統中的口腔潰瘍數據進行挖掘分析,其中數據準備階段主要包括集成、清洗以及轉換三個階段。具體而言,數據集成主要是將不同的患者數據表格及其費用數據整合到一起,并且對這些原始數據進行集成,將其集成到統一的數據表格中,其中主要包含患者的性別、年齡以及編號等信息。數據清洗指的是對原始數據進行進一步的處理,其目的是去除原始數據中的噪聲以及不相關信息、補充遺漏數據、去除白噪聲等,并且根據實際情況完成對原始數據的轉換。同時,由于醫院信息數據存在著其特殊性,醫院的數據往往產生于不同的場所,因此其產生的過程較為復雜,這就極易導致數據產生的過程中出現遺失或者出現數據錯誤的情況,因此數據清洗階段對于醫院數據挖掘工作是至關重要的,同時為了更好的保證數據清洗階段的準確性可以實行專業醫護人員監督的模式,此種模式可以有效的降低數據清洗過程中的差錯。數據轉換是針對數據的不同特征對數據進行有效的轉換,其中主要的手段包括對數據的規格化處理、數據信息歸納、旋轉等。結合實際的醫院信息管理系統數據挖掘案例,可以對年齡數據信息進分段編號處理,以更好的提高數據挖掘的效率。同時,在數據轉換的過程中還可以將一些沒有意義的數據進行刪減,以更好的保證數據挖掘的效率,同時還可以降低數據挖掘的誤差。
3結束語
關鍵詞:數據挖掘電子商務應用
當今,國內外電子商務類網站日益興起。許多電子商務類網站都提供了一定程度的個性化服務,比如提供商品推薦服務。而構成這些個性化服務的基礎就是數據挖掘技術。
一、數據挖掘分析
1.數據挖掘的定義。數據挖掘(datamining,DM)是從大量的、不完全的、有噪聲的、模糊的、隨機的數據中提取隱含在其中的、人們事先不知道的但又是潛在有用的信息和知識的過程。包括存儲和處理數據,選擇處理大數據集的算法、解釋結果、使結果可視化。
2.數據挖掘的方法。從商業的角度來看,數據挖掘是一種新的商業信息處理技術,其主要特點是對商業數據庫中的大量業務數據進行抽取、轉換、分析和其他模型化處理,從中提取輔助商業決策的關鍵性數據。數據挖掘的方法大致可以分成4類:關聯分析、概括分析、分類分析、聚類分析。(1)關聯分析:分析表面上不相關數據之間的內在聯系,揭示各事之間的依賴性和相關性,分析范圍包括簡單關聯、因果關聯等。在電子商務中,用數據挖掘找到隱藏的關聯規則,當客戶瀏覽、搜索關聯規則中的某種商品時,就可以在頁面中以推薦商品的形式顯示關聯規則中的其它商品。在進貨計劃和促銷計劃中,也可以將這個因素考慮進去。(2)概括分析:即提取數據庫中指定的數據集合的一般特性,找出遍性規律。(3)分類分析:設置分類規則,把各個事務或實體按照性質和特征不同進行歸類,把數據層次化和規整化,從而建立數據的分類模型。(4)聚類分析:通過分析和歸納實體之間的特征差異,選出具相識特征的實體聚合成為一個類,并用某種規則來描述該類的相同屬性,形成一種聚類規則,實際上,它是與分類分析法互逆的過程。
3.數據挖掘的過程。該過程從大型數據庫中挖掘先前未知的、有效的、可實用的信息,并使用這些信息做出決策或豐富知識。(1)確定業務對象:清晰地定義出業務問題,認清數據挖掘的目的是數據挖掘的重要一步。挖掘的最后結構是不可預測的,但要探索的問題應是有預見的,為了數據挖掘而數據挖掘則帶有盲目性,是不會成功的。(2)數據準備。數據的選擇:搜索所有與業務對象有關的內部和外部數據信息,并從中選擇出適用于數據挖掘應用的數據。(3)數據挖掘:對所得到的經過轉換的數據進行挖掘。除了完善從選擇合適的挖掘算法外,其余一切工作都能自動地完成。(4)結果分析:解釋并評估結果。其使用的分析方法一般應作數據挖掘操作而定,通常會用到可視化技術。(5)知識的同化:將分析所得到的知識集成到業務信息系統的組織結構中去。
二、數據挖掘與電子商務的關系
在電子商務企業中,數據挖掘運用于客戶行為分析,企業從中受益體現在以下四個方面:(1)可以發現客戶和訪問者的愛好、生活模式。(2)可以爭取新顧客,怎樣使產品適銷對路、怎樣給產品定價、怎樣吸引單個客戶、怎樣優化Web網站。(3)可以用相應的信息確定顧客的消費周期,針對不同的產品制定相應的營銷策略。(4)可以確定客戶細分,為每一個客戶的獨特需求設計“量身定制”的產品。三、數據挖掘技術在電子商務中的應用
1.面向電子商務的數據挖掘系統設計。本系統電子商務平臺采用基于三層體系結構構建,服務器端采用先進的J2EE平臺構架,有完整的體系框架組成,具有很好的可擴展性、互聯性和可維護性。因此面向電子商務的數據挖掘系統由數據庫服務器、應用服務器和客戶端三層組成,整個體系結構是以J2EE企業級的構建技術為基礎。對數據挖掘過程中產生的數據,采用獨立的數據挖掘庫表存放,這樣既不影響也不依賴數據挖掘的數據源。應用服務器完成所有的數據挖掘運算,通過接受客戶端的設置,完成所有對數據進行探索、轉換、挖掘的工作。數據挖掘系統的每個功能模塊都以EJB的形式進行封裝,以實現分布式計算和負載平衡等分布式計算的要求,把具有繁重計算任務的模塊和用戶交互模塊分開。客戶端要負責數據挖掘流程的創建工作、所有功能模塊參數的設定以及各種可視化結果的顯示。用戶可以根據自己的要求任意創建各種形式的挖掘流程,同時按照需要執行某部分流程,獲取相應的可視化分析結果,其系統體系結構如圖所示。
面向電子商務的數據挖掘系統體系結構圖
2.面向電子商務的數據挖掘系統功能設計。面向電子商務的數據挖掘系統主要以下幾大功能模塊:(1)用戶信息分析。運用分類和聚類挖掘方法對用戶的信息分析,可以得到用戶的些特征。對用戶分類相當于對具有某些公共屬性的用戶群體建立了概要特征描述,這些特征可以用來對新增的用戶進行分類,可以發現未來的潛在用戶并開展有針對性的商務活動,如自動給一類特定的用戶發送銷售郵件,當屬于同一類的用戶再次訪問站點時為其動態地改變站點的內容等。通過這些舉措使商務活動能夠在一定程度上滿足用戶的要求,實現目標營銷。(2)商品信息分析。運用關聯規則挖掘發現商品訪問中所有關聯和相聯系的規則,可以從交易事務數據庫中發現商品間的相互聯系。這對電子商務公司組織站點網頁結構、開展有效的營銷策略非常有幫助。(3)物流信息分析。采用神經網絡預測技術,根據各物流配送點接到的網站用戶訂單來預測其庫存數量。預測信息可以給物流配送中心以參考,用來合理地確定各配送點倉庫的庫存量,使各配送點的補貨能更加合理有序,降低物流成本,節約庫存費用。
四、結束語
數據挖掘是一個新興的領域,具有廣闊應用前景,目前,電子商務在我國正處于快速發展和應用階段,利用數據挖掘技術,能夠強化對客戶的服務、促進市場最優化、加速資金周轉、實現企業的創新發展。電子商務平臺上的數據挖掘技術有待人們去進行更深入的研究工作,這將不斷的推動數據挖掘技術的深入發展和廣泛應用,創造出更多的社會和經濟價值。
參考文獻:
[1]張云濤龔鈴:數據挖掘原理與技術.北京,電子工業出版社,2004年1月
[2]方真等:電子商務教程[M].北京:清華大學出版社.2004
現有的醫院數據挖掘主要是從兩個方面進行的,一個是從功能的角度,而另一個是從數據對象的角度進行的。
(一)從功能角度
常用的數據挖掘可以分為統計分析、知識發現、和其他的數據挖掘技術這三類。
1.統計分析
統計分析是指運用統計方法及與分析對象有關的知識,從定量與定性的結合上進行的研究活動。在醫療數據挖掘中的應用中,可對病人的各種醫學影像進行自動分析、對在院病人的監護數據進行統計分析、分析中醫診斷和方劑、疾病危險成因的研究等。
2.知識發現
它是一種間接地從數據中提取信息的方法,而且這些信息并不是直觀展現的。如通過關聯分析的方式來分析藥物治療的效果和預測手術術后的情況,可以分析某種疾病的發病因素,從而指導病人如何加強對該疾病的預防。可以通過患者的各項生化結果進行分析,從結果的相互關系中得出比較準確的預防與治療方案。
3.其他類型
隨著互聯網、數據庫等技術的發展,還出現了一些其他數據挖掘技術。如文本挖掘技術、Web挖掘技術、分類分析技術、分布式數據挖掘技術等。
(二)從數據對象的角度
按照不同的數據類型,數據挖掘通過時間序列、空間、文本、等方面進行挖掘。如從時間的角度,對醫院門診及住院患者的數量進行預測以判斷病人的變化量是季節性的還是因為其他原因。
(三)從應用層面的角度
醫院的數據挖掘可分為診療信息挖掘和管理信息挖掘。
1.診療信息挖掘
診療信息挖掘主要目的是通過對患者在醫院當中的診療信息進行分析,從而建立起對患者有針對性的診療方案。如通過對慢性病人長期的住院信息,我們可以分析出病人的發病周期,分析其發病規律,從而做出有效的預防診療方案。
2.管理信息挖掘:
(1)財務管理
通過對病人費用的分析,我們可以得出病人各項費用的組成比例,從而分析各個科室內各種病人的費用組成,從而能針對性的控制各個科室的費用比例。使醫院管理部門能有效的控制醫療費用。通過對不同時期的費用進行對比分析,可以按不同時間對各個科室的各種費用進行對比分析,并通過可視化技術,直觀的展現出其變化趨勢,從而使得醫院的管理者能直觀的看到醫院的歷史變化,幫助其對醫院的長期發展做出一定的判斷。通過數據挖掘對醫院內部的各種物資設備,資產負債進行匯總,從而對醫院的盈利、負債狀況進行分析,以便醫院管理者能真正把握醫院的經營狀況,能正確的對醫院的經營成本進行全面分析。以便把握醫院的真實情況,從而提高醫院的經濟效益。例如:通過對醫院資金的運行情況進行分析,可以有效的了解醫院資金的流向及醫院當前的財務狀況,從而規避一些醫院的運營風險。通過數據挖掘對各類醫保病人的分析,可以有效掌握各類醫保病人的構成,及醫保資金的運行情況。通過分析病人的收治人數及住院天數,并結合醫保資金的使用進度。可以在醫保費用定額的情況下,更好的指導醫院各個科室,收治各類醫保病人,提供更好的醫療服務。
(2)醫療質量管理
如利用數據挖掘技術對住院患者的各項住院數據進行分析,如住院天數、質量費用、診療方案等,從而為醫院的質量管理通過方案,縮短病人的住院時間,減少病人的住院費用。通過總結滅菌工作與消毒效果的規律,加強對手術室感染工作的管理。通過對手術室及各科室無菌物品及消毒器械的使用進行動態監測從而掌握并加強手術室及各科室的院感管理。通過對醫院信息管理系統中各科室的藥品用量,用時間序列的方式進行分析,從而得出各科室的藥品用量消耗趨勢,并進一步指導科室用藥,為臨床科研提供更多有價值的資料。通過數據挖掘能夠有效地對抗生素的使用進行有效的管理,并通過對病人使用過程中相關信息的采集,提前、分析。對抗生素的耐藥性、用量及治療效果能有一個動態的實時監控,從而有效的監測抗生素的使用情況。
(3)醫院經營目標管理
通過對住院患者的職業、性別、年齡、地區等分布情況進行分析,可以得到不同類型患者的醫療需求類型,經濟狀況等信息,掌握患者差異對醫院收入的影響。從而能針對行的采取措施來提供服務質量,增加門診及住院量。再比如通過分析門診病人的就診流程的時間及住院患者從入院到出院的各個就醫環節的時間分布。分析出患者的就醫瓶頸,掌握影響患者診療效率的因素,以便能針對這些因素采取措施來幫助醫院管理者進行業務流程的更新和改進,提高患者的就診效率。
(4)經營決策管理
通過對患者的季節性分布進行分析,來預測未來時期門診及住院的人次。從而使醫院管理者能有效的分配醫院資源,有針對性的改善醫院診療服務項目。實現對醫院人員、設施的合理配置。
(5)醫院資源管理
充分利用數據挖掘技術對醫院各個科室的各項數據進行綜合分析,從而制定出針對各科室的各種合理指標。并從中分析出各科室的薄弱環節,并采取相應的措施,以提高科室的綜合水平。在采購醫療設備并投入使用后,可對其使用情況及效果進行分析,實現對醫療設備從采購到報廢的全程決策支持,使醫院醫療設備的全部使用周期都能被管理者統籌管理,從而較好的解決醫療設備效益、代價、風險等互相制約的管理難題,充分發揮醫療設備的社會效益和經濟效益。
二、結論
1.1分布式框架下的圖計算工具
1.1.1Pregel為了解決MapReduce在一些機器學習算法中性能瓶頸問題,Google針對大規模圖運算提出了Pregel框架,它是嚴格的BSP(bulksynchronousparallel)模型(BSP模型,即“大塊”同步模型,其概念由哈佛大學的Valiant和牛津大學的BillMcColl提出,是一種異步MIMD-DM模型,支持消息傳遞系統,塊內異步并行,塊間顯式同步),采用“計算-通信-同步”模式面向頂點的迭代方式完成機器學習的數據同步,這種靈活的面向頂點的方法和高效的容錯機制的設計模式可以描述一系列的算法,并在有上千臺的計算節點的集群中得以實現。在集群環境中,從遠程機器上讀取數據難以避免地會有延遲,Pregel選擇了一種純消息傳遞的模式,通過異步和批量的方式傳遞消息,通過共享內存的方式,有效地緩解了遠程讀取數據的延遲,提升了集群的性能,并且Pregel應用一組抽象的API隱藏了分布式編程的相關細節,展現給使用者一個易編程和易使用的大型圖算法處理計算框架。但是Google一直沒有將Pregel的具體實現開源,外界對Pregel的模仿實現在性能和穩定性方面都未能達到工業級應用的標準。同時,在圖計算中,由于圖的頂點、邊密度的不平衡性的特點,帶來BSP模型的“木桶效應”(木桶效應是由美國管理學家彼得提出的,本文指的是先完成的任務需要等待后完成的任務,處理速度最慢的任務將成為整個系統的效率制約瓶頸)的限制,網絡、計算機硬件中的差異性也會使這種現象更加明顯。
1.1.2SparkSpark是UCBerkeleyAMP實驗室開發的通用的并行計算框架,是Pregel的優化模型,它是基于MapReduce算法實現的分布式計算框架。Spark擁有MapReduce所具有的優點,但不同于MapReduce的是,Spark采用了一種彈性分布式數據集(resilientdistributeddataset,RDD)的抽象數據結構,Spark是一個基于內存計算的開源的集群計算系統。RDD是一個具有容錯機制的特殊集合,它提供了一種抽象的數據架構,使用RDD邏輯轉換而來的可重復使用的共享內存,而不再需要反復讀寫HDFS,解決了MapReduce框架在迭代計算式中要進行大量磁盤I/O操作的問題,這讓數據分析更加快速,為構建低延遲的并行性大數據分析處理框架提供了穩定的基礎。同時,Spark提供了REPL(read-eval-printloop)的交互式查詢以及函數式編程,支持圍繞RDD抽象的API,同時包括一套transformation(轉化)和action(動作)操作以及針對大量流行編程語言的支持,比如Scala、Java和Python。在圖計算方面,Spark原生的Bagel以及Graphx提供了對于圖操作的API,為大規模的圖計算提供了低延遲,負責優化交互式的大規模并行處理框架,但是Spark的磁盤索引是簡單的靜態機制,無法隨著迭代狀態的變化而動態優化。
1.1.3GraphlabGraphlab是CMU的Select實驗室提出的基于內存共享機制且面向機器學習的流處理并行框架,它的分布式處理是基于MPI(messagepassinginterface,消息傳遞接口)實現的,并且將數據抽象成圖結構,它是以圖的頂點為計算單元的大規模圖處理系統,支持稀疏的計算依賴異步迭代計算等,解決了MapReduce不適應需要頻繁數據交換的迭代機器學習算法問題,是繼Google的Pregel之后的第一個開源的大規模圖處理系統。Graphlab的核心思想是“以圖頂點的方式思考問題”,以最小化集群計算節點之間的通信量和均衡計算節點上的計算和存儲資源為原則,對圖的頂點進行切分。類似于MapReduce中的map和reduce過程,它將機器學習抽象成GAS(gather(收集)、apply(運算)、scatter(更新))3個步驟,然后按該抽象模型設計頂點程序實現算法。在gather階段,當前點收集鄰接點和邊的值,結合自身的值,進行簡單的用戶定義的sum(求和)操作;在apply階段,當前點根據sum得到的值及其前一時刻自身的值計算新的點值;scatter階段當前點利用自己的新值,結合鄰接點/邊前一時刻的值來計算鄰接邊的新值,并更新鄰接邊。GraphLab的算法被應用于很多推薦系統,也包括銀行的欺詐偵測和電腦網絡中的入侵偵測等領域。
1.1.4PowerGraphPowerGraph是卡內基梅隆大學設計的一種強大的圖計算分布式并行框架,它結合了Graphlab和Pregel關于圖計算的優點,有效改善了Pregel和Graphlab等框架的并行化受限于頂點的鄰居個數的問題。現實世界中的圖,都是典型的Power-Law(冪律)分布圖,其中少部分頂點連接到圖中大部分的頂點上,這種圖的劃分對于并行的分布式框架來說是一個非常大的難題,并且圖的劃分效率直接影響系統的通信開銷。一般的并行框架采用的是散列隨機分配方案,但這種方案沒有考慮局部性,劃分完成后各任務負責的子圖之間的強耦合性導致后續的迭代計算過程產生大量的消息通信,嚴重影響負載均衡。PowerGraph使用了支持同步處理和異步處理機制的GAS模型,并且提出了一種P-路頂點切割分區方案,在減少計算中通信量的同時保證了負載均衡,很好地解決了圖的Power-Law問題。
1.2單機圖計算工具——Graphchi除了以上介紹的分布式圖計算框架外,還可以使用單機的圖算法庫,如BGL、LEAD、NetworkX、JDSL、StandfordGraphBase、FGL等進行圖的挖掘和計算,但這種單機的方式由于內存限制的原因,對圖本身的規模有了很大的限制[2]。為解決單機圖計算的內存瓶頸問題,卡內基梅隆大學的Select實驗室開發了Graphchi,它是Graphlab的一個分支,采用基于磁盤的以頂點為中心的計算模型,它可以在PC上進行大規模的類似于社會網絡分析的圖計算,而不需要分布式的集群和云服務,也不需要考慮內存的限制。
1.2.1基于磁盤的計算要想利用單機而不利用集群來并行地進行大規模的圖計算,首當其沖面臨的是存儲問題。龐大的圖數據在內存中處理上百萬條邊需要幾十或幾百吉字節的DRAM,因為其價格昂貴,目前只對高端服務器有可用性,所以Graphchi將目光投向了價格低廉、容量大的磁盤作為其外部存儲,用基于磁盤的計算模型減少內存的使用和隨機存取問題。然而,如何從磁盤上處理大規模的圖數據是一個難題。為了處理這個問題,Graphchi采用了新穎的PSW(parallelslidingwindow,并行式滑動窗口)模型,從磁盤上處理大的圖數據。
1.2.2PSW模型Graphchi采用了PSW模型從磁盤處理大的圖數據,不同于分布式框架通用的BSP模型,PSW模型能夠異步處理存儲在硬盤上的可擴展圖數據,有效規避了“木桶效應”。PSW模型中,邊的信息分區shard采用不相交子集(頂點集被分為P個子集interval(i))的形式關聯存儲,這種存儲方式將每個子集以滑動窗口的形式分別從硬盤裝入內存。Graphchi分多次取節點子集interval(i),每次取1個,并且根據節點子集中的點信息構造子圖進行計算。在第p次操作所需的子圖數據載入后,每個節點并行地執行用戶定義的更新函數,并更新節點,節點子集更新后的塊文件將被寫入磁盤。圖2表示PSW模型進行一次迭代的滑動窗口示意,頂點被分為4個不相交的子集,每個自己都關聯一個分區,計算過程是構建一次子圖頂點的子集。從內存的分區中讀取頂點的入邊,從每個滑動的分區中讀取出邊,每個分區的最頂端為當前的滑動窗口。
1.2.3Graphchi基于PSW模型的改進為了支持Graphchi的可擴展性,Graphchi對PSW模型進行了改進,通過實現一個簡化的、高效的I/O緩存樹來支持圖邊的增加和刪除,改進的PSW模型如圖3所示。
2Graphchi應用前景
2.1分布式圖計算局限性基于圖的分布式框架通過云平臺的計算資源處理上百萬條邊的圖數據有很高的效率,但是利用分布式集群進行圖計算仍然面臨較高的硬件和技術要求,對于那些沒有分布式專業背景、沒有足夠的硬件資源的人來說,仍然是個巨大的挑戰。首先,使用分布式框架時,使用者面臨如何將強耦合性的圖數據進行分割,部署到集群計算節點上的問題[3]。其次,圖的分布式計算涉及復雜的處理過程,需要大量的迭代和數據通信,大多數分布式系統用到的是BSP模型,是一種同步計算模型,對于消息的處理容量有限,網絡的延遲以及節點間的通信會造成“木桶效應”。再次,分布式框架處理需要計算耗時的大規模圖數據時,重復計算以及系統故障使效率大大降低,同時系統的容錯性也是制約運算效率和穩定性的關鍵瓶頸。最后,對于編程者來說,調試和優化分布式算法有很大的難度。相對于復雜的分布式集群框架來說,簡單的單機進行大規模的圖計算,能夠規避分布式框架的問題。使用者不需考慮強耦合性的圖數據如何分割放置到分布式的集群節點中,也不需管理和部署眾多的集群節點,并且可以減少分布式集群節點中的通信開銷,規避網絡延遲、“木桶效應”等問題。例如,企業如果想要在同一張圖上計算多種任務(個性化推薦、圖的社團發現等),在不同的國家、不同的利益集團都要計算同一個任務的情況下,企業要想提高運算速度,就必須要增加集群節點,也就是說要增加成本。但是,如果一臺機器上可以處理一個這樣的大任務,企業可以為每臺機器分配一個任務,每臺機器之間無需互相通信,當增加機器數量時,吞吐量也隨之增加,這樣多種任務的處理將會變得非常簡單、有效。僅僅需要一臺機器就可以對大規模的圖數據進行分析處理和挖掘,這可以大大簡化分布式集群處理框架的復雜性,如圖5所示。本文對單機處理圖數據技術Graphchi的發展、應用場景以及性能進行了研究,并進行了試驗。
2.2單機Graphchi應用前景在圖挖掘方面,Graphchi實現了PageRank、連通分支、社區發現等算法處理和分析現實世界中大規模的圖數據;另外,應用在協同過濾算法的推薦系統中,Graphchi從紛繁復雜的信息中找出可向用戶推薦的有價值的信息。不僅在圖挖掘和協同過濾方面,Graphchi還提供了通用的編程框架,支持使用者調用自己的算法對圖進行分析和計算,這使得Graphchi使用起來更加靈活,也有更加個性化的可用性。當前Graphchi中一些應用的算法設計還不盡完善,但是隨著技術的發展以及應用的普及,Graphchi因其在圖計算方面獨特的模型,其單機運行的簡便、高可用和可觀的運行效率,將在大規模圖計算方面表現出越來越廣闊的應用前景。為了驗證Graphchi在不同硬件環境下,不同數量級別社交網絡圖數據應用中的可行性和可用性,下文對不同數量級的數據在兩種不同的環境進行了相應的測試,并且和其他分布式框架進行了對比。
3Graphchi的可行性、可用性評估實驗
3.1測試環境•Intel(R)Core(TM)[email protected]、RAM2GB、Ubuntu11.04。•Dell服務器QEMUVirtualCPUVersion(cpu64-rhel6)6核CPU、4GB內存(未特殊注明,本文中數據測試環境均為服務器環境)、CentOS6.4。
3.2數據集說明本文采用的數據集來自斯坦福的Snap網站[4]以及Netflix網站。測試的數據集為Wiki、Twitter、Facebook、Friendster等流行的社交網站,數據集大小為40MB~30GB。表1是對實驗中使用到的測試數據集的說明,其中|V|表示測試數據集的頂點數目,|E|表示測試數據集邊的數目。
3.3Graphchi測試結果圖6表示的是PageRank和CommunityDetection兩種算法對除Netflix數據集外所有數據集進行的測試,X軸表示邊集的數量,Y軸表示對應的運行時間。從圖中可以看出,對于兩種不同算法,隨著數據集的增大,運行時間大體呈線性增長。圖7表示PageRank和CommunityDetection兩種算法以及CommunityDetection分別在4次和10次迭代過程中,吞吐量隨邊數的變化。X軸為邊集的數量,Y軸表示吞吐量(系統每秒處理邊的數量)。Graphchi每秒可以處理的邊的數量為0.2×106~2×106個。Graphchi測試Twitter2010年所有的user-follower關系,14億條邊、4千萬個頂點共20GB的數據,PageRank算法需要46min,CommunityDetection算法10次迭代需要70min,Trianglecounting算法需要130min;測試在線游戲Friendster,18億個頂點、6千萬條邊共30GB的數據集com-friendster.ungraph,PageRank算法4次迭代需要54min。可見,Graphchi可以在1h左右完成對社交網絡一年數據的分析。這種處理能力完全可以滿足使用者對大規模圖數據進行計算的需求,并且具有較好的吞吐量。圖8表示的是Graphchi測試兩種數據集smallNetflix和Netflix協同過濾的7種算法進行6次迭代的運行時間。X軸表示7種協同過濾算法:SGD、ALS、RBM、SVD++、biasSGD、CCD++和PMF,Y軸對應的是各種算法的運行時間。Graphchi在協同過濾中的運行時間最長為450s,Netflix數據集的時間不超過300s。圖9表示的是SGD算法運行50次迭代的運行時間以及RSME(rootsquaremeanerror)均方差的變化曲線。迭代20次時,算法的RSME已經趨于穩定,無限接近于0.92,而此時的運行時間約為350s。可見,Graphchi在協同過濾方面表現出良好的性能,可以在幾百秒的時間內處理2GB規模的數據。圖10表示的是PageRank、CommunityDetection和ConnectedComponents3種算法,wiki-Talk和com-orkut兩種測試集分別在2核CPU和6核CPU上運行時間的對比。X軸表示運行時間,Y軸表示3種算法以及兩種數據集。從圖10中可以看出,在相同數據集上6核CPU的運行時間要比2核CPU運行時間快了近10倍。圖11表示的是協同過濾的3種算法,Netflix測試集分別在2核CPU和6核CPU上運行時間的對比。X軸表示運行時間,Y軸表示協同過濾4種不同算法。Netflix數據集在6核CPU上的運行時間比在2核CPU上的運行時間快了5~10倍。圖11表示協同過濾4種算法在不同核數CPU運行時間的對比。隨著CPU數目的增加,運行速度也有明顯的提升。相信在配置更高的單機上運行Graphchi將會有更加可觀的性能。
3.4可行性、可用性分析對比本文對比了一些分布式的圖處理框架,參考了一些其他文章的測試結果,見表2。在有50個節點、100個CPU的Spark框架下,在Twitter-2010數據集上運行5次迭代的PageRank算法的時間比Graphchi在4核CPU的環境中運行相同數據集快了大約5倍。在有1636個節點的Hadoop框架運行Twitter-2010數據集的PageRank算法迭代一次,Graphchi比Hadoop快45倍,比Powergraph慢了155倍。與運行在AMD服務器上的Graphlab相比,用ALS算法測試Netflix數據集,Graphchi運行時間是Graphlab的2.5倍。Trianglecounting算法測試Twitter-2010數據集在1636個節點的Hadoop環境,Graphchi比Hadoop快了3倍。相對于Hadoop來說,Graphchi的大規模圖數據方面的性能遠優于Hadoop;在協同過濾方面,Graphchi和Graphlab性能相差不大;與性能較好的Spark相比,Graphchi的性能表現也在可以接受的范圍內;對于性能強大的Powergraph,Graphchi性能還是有一些差距。總體來說,Graphchi以單機運行方式進行圖運算所表現出的性能可以和一些分布式的框架相媲美,雖然不及性能強大的Powergraph,但是這樣的性能表現已經可以滿足一定規模的圖運算了。這樣的性能表現已足以為成本不足、硬件設備配置不高的中小企業或者個人提供高可行、高可用的社交關系網絡圖數據分析和挖掘平臺。
4Graphchi電信圖數據挖掘應用
為驗證Graphchi對電信大規模圖數據的處理能力,本文構造了電信通話清單數據約20GB,有4000萬個頂點、14億條邊(已對數據進行匿名處理),格式見表3。
4.1PageRank算法挖掘核心人物PageRank算法是Google用于用來標識網頁的等級/重要性的一種方法,是Google用來衡量一個網站好壞的唯一標準。它基于馬爾科夫狀態轉移理論,通過網頁的鏈入數對網頁進行投票來得出重要性排名。發展到目前,PageRank算法也被廣泛用于關鍵人物挖掘等社交關系網絡分析中。本文應用Graphchi的Pagerank算法,對電信關系網絡數據進行Rank值的計算,從而找出關鍵人物。表4是采用Graphchi的Pagerank算法對電信數據集進行計算Rank值的排名前10的結果,在4000萬個用戶中,標號為1653的用戶的重要性最高,為核心用戶,應該對其重點挖掘和營銷推廣。
4.2CommunityDetection算法進行社區發現CommunityDetection社區發現算法用于發現網絡中的社區結構,也可以看作是一種聚類算法。同一社區之間的節點與節點之間的關系比較緊密,而社區與社區之間的關系比較稀疏。如果兩者之間的聯系越頻繁,那么其社交關系就越緊密。如圖12所示,可以找到3個關系緊密的社區。表5為采用Graphchi的CommunityDetection算法對電信數據集進行社團發現的結果,共發現社區1733613個,最大社區有35558616個用戶。運營商可以對每一個社團分析其相似特征,進行潛在客戶挖掘以及后續的客戶關系維護。
5結束語