日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

利用貝葉斯網(wǎng)絡(luò)預(yù)測(cè)醫(yī)院服務(wù)患者數(shù)量

來源: 責(zé)編: 時(shí)間:2023-10-18 09:18:43 325觀看
導(dǎo)讀譯者 | 朱先忠審校 | 重樓駕馭復(fù)雜性:預(yù)測(cè)醫(yī)療保健中的患者數(shù)量在醫(yī)療保健領(lǐng)域,準(zhǔn)確預(yù)測(cè)即將到來的患者數(shù)量不僅對(duì)手術(shù)成功至關(guān)重要,也是一個(gè)非常棘手的問題。原因很簡(jiǎn)單:需要考慮的依賴性因素太多了——患者的嚴(yán)重程度和

譯者 | 朱先忠MMl28資訊網(wǎng)——每日最新資訊28at.com

審校 | 重樓MMl28資訊網(wǎng)——每日最新資訊28at.com

駕馭復(fù)雜性:預(yù)測(cè)醫(yī)療保健中的患者數(shù)量

MMl28資訊網(wǎng)——每日最新資訊28at.com

在醫(yī)療保健領(lǐng)域,準(zhǔn)確預(yù)測(cè)即將到來的患者數(shù)量不僅對(duì)手術(shù)成功至關(guān)重要,也是一個(gè)非常棘手的問題。原因很簡(jiǎn)單:需要考慮的依賴性因素太多了——患者的嚴(yán)重程度和特殊要求、管理需求、檢查室限制、員工請(qǐng)病假、嚴(yán)重的暴風(fēng)雪等等。更糟糕的是,意外情況可能會(huì)對(duì)日程安排和資源分配產(chǎn)生連鎖影響,甚至可能與最高質(zhì)量Excel項(xiàng)目預(yù)測(cè)結(jié)果產(chǎn)生矛盾。MMl28資訊網(wǎng)——每日最新資訊28at.com

從數(shù)據(jù)的角度來看,這些挑戰(zhàn)真的很有趣,因?yàn)樗鼈?/span>極其復(fù)雜,足夠你考慮一段時(shí)間。但是,即使是輕微的改進(jìn)也可帶來重大的勝利(例如,提高患者吞吐量、縮短等待時(shí)間、讓醫(yī)療保健提供者更快樂、降低成本)。MMl28資訊網(wǎng)——每日最新資訊28at.com

另一種預(yù)測(cè)方法:貝葉斯模型

那么,還有什么替代方案呢?Epic為我們提供了大量數(shù)據(jù),包括患者何時(shí)赴約的實(shí)際記錄。在已知?dú)v史“顯示”和“未顯示”的情況下,我們可以在監(jiān)督學(xué)習(xí)的空間中操作,貝葉斯網(wǎng)絡(luò)(BN:Bayesian Networks)提供了很好的概率圖形模型來預(yù)測(cè)未來的訪問概率。MMl28資訊網(wǎng)——每日最新資訊28at.com

雖然生活中的大多數(shù)決定都可以通過一個(gè)輸入來決定(例如,考慮“我應(yīng)該帶雨衣嗎?”假設(shè)外面下雨,那么這個(gè)決定應(yīng)該是“是”),但貝葉斯網(wǎng)絡(luò)可以很容易地處理更復(fù)雜的決策——涉及多個(gè)輸入的決策(例如,天氣潮濕,步行僅3分鐘,你的雨衣在另一層樓,你的朋友可能有傘,等等),具有不同的概率結(jié)果和依賴性。在這篇文章中,我將在Python語言環(huán)境構(gòu)造一個(gè)超簡(jiǎn)單的貝葉斯網(wǎng)絡(luò),它可以根據(jù)癥狀、癌癥分期和治療目標(biāo)這三個(gè)因素的已知概率,輸出患者在2個(gè)月內(nèi)到達(dá)的概率得分。MMl28資訊網(wǎng)——每日最新資訊28at.com

理解貝葉斯網(wǎng)絡(luò)

貝葉斯網(wǎng)絡(luò)的核心是使用有向無環(huán)圖(DAG)的聯(lián)合概率分布的圖形表示。DAG中的節(jié)點(diǎn)表示隨機(jī)變量,有向邊表示這些變量之間的因果關(guān)系或條件依賴關(guān)系。正如所有數(shù)據(jù)科學(xué)項(xiàng)目一樣,在一開始就花大量時(shí)間與利益相關(guān)者協(xié)商,以正確映射決策中涉及的工作流程(例如變量),這對(duì)于高質(zhì)量的預(yù)測(cè)結(jié)果是至關(guān)重要MMl28資訊網(wǎng)——每日最新資訊28at.com

因此,我將發(fā)明一個(gè)場(chǎng)景,讓我們與乳腺腫瘤合作伙伴會(huì)面,他們解釋三個(gè)變量——患者癥狀、癌癥分期和當(dāng)前治療目標(biāo)對(duì)于確定患者是否需要在2個(gè)月內(nèi)預(yù)約至關(guān)重要。MMl28資訊網(wǎng)——每日最新資訊28at.com

(事實(shí)上,影響未來患者數(shù)量的因素不下幾十個(gè),其中一些是單一或多重依賴性的,另一些是完全獨(dú)立但仍有影響的)。MMl28資訊網(wǎng)——每日最新資訊28at.com

MMl28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在,假設(shè)我們同意如下工作流程:階段取決于他們的癥狀,但治療類型與癥狀無關(guān),也影響2個(gè)月內(nèi)的預(yù)約。MMl28資訊網(wǎng)——每日最新資訊28at.com

基于此,我們將從我們的數(shù)據(jù)源(對(duì)我們來說Epic)中獲取這些變量的數(shù)據(jù),該數(shù)據(jù)源將再次包含我們的分?jǐn)?shù)節(jié)點(diǎn)(Appointment_2months)的已知值,標(biāo)記為“是”或“否”。這種數(shù)據(jù)整理是一個(gè)重要部分;你需要根據(jù)這些變量在2個(gè)月前表明的情況,正確地捕捉2個(gè)月內(nèi)真正到達(dá)患者的病例。MMl28資訊網(wǎng)——每日最新資訊28at.com

# 安裝包import pandas as pd # 用于數(shù)據(jù)處理 import networkx as nx # 用于繪圖import matplotlib.pyplot as plt # 用于繪圖!pip install pybbn# 用于創(chuàng)建貝葉斯置信網(wǎng)絡(luò)(BBN)from pybbn.graph.dag import Bbnfrom pybbn.graph.edge import Edge, EdgeTypefrom pybbn.graph.jointree import EvidenceBuilderfrom pybbn.graph.node import BbnNodefrom pybbn.graph.variable import Variablefrom pybbn.pptc.inferencecontroller import InferenceController# 通過手動(dòng)鍵入概率創(chuàng)建節(jié)點(diǎn)Symptom = BbnNode(Variable(0, 'Symptom', ['Non-Malignant', 'Malignant']), [0.30658, 0.69342])Stage = BbnNode(Variable(1, 'Stage', ['Stage_III_IV', 'Stage_I_II']), [0.92827, 0.07173,  0.55760, 0.44240])TreatmentTypeCat = BbnNode(Variable(2, 'TreatmentTypeCat', ['Adjuvant/Neoadjuvant', 'Treatment', 'Therapy']), [0.58660, 0.24040, 0.17300])Appointment_2weeks = BbnNode(Variable(3, 'Appointment_2weeks', ['No', 'Yes']), [0.92314, 0.07686,  0.89072, 0.10928,  0.76008, 0.23992,  0.64250, 0.35750,  0.49168, 0.50832,  0.32182, 0.67818])

上面代碼中,讓我們手動(dòng)輸入每個(gè)變量(節(jié)點(diǎn))中對(duì)應(yīng)級(jí)別的一些概率注意,這些概率沒有被猜測(cè),甚至會(huì)是最好的猜測(cè)結(jié)果不過,在實(shí)踐應(yīng)用中,您將再次根據(jù)現(xiàn)有數(shù)據(jù)計(jì)算對(duì)應(yīng)的頻率。MMl28資訊網(wǎng)——每日最新資訊28at.com

讓我們以癥狀(symptom)變量為例。我會(huì)得到它們2級(jí)頻率大約31%是非惡性的,69%是惡性的請(qǐng)參考下圖MMl28資訊網(wǎng)——每日最新資訊28at.com

MMl28資訊網(wǎng)——每日最新資訊28at.com

然后,我們考慮下一個(gè)變量Stage,并使用Symptom進(jìn)行交叉表計(jì)算,以獲得這些頻率。我們這樣做是因?yàn)殡A段Stage取決于癥狀Symptom,因?yàn)?/span>們每個(gè)變量對(duì)應(yīng)兩個(gè)場(chǎng)景,所以們實(shí)際上存在4個(gè)概率結(jié)果。MMl28資訊網(wǎng)——每日最新資訊28at.com

MMl28資訊網(wǎng)——每日最新資訊28at.com

依此類推,直到定義了父子對(duì)之間的所有交叉表。MMl28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在,大多數(shù)貝葉斯網(wǎng)絡(luò)包括許多父子關(guān)系,因此計(jì)算概率可能會(huì)變得乏味(而且非常容易出錯(cuò)),下面的函數(shù)可以用來計(jì)算與0、1或2個(gè)父節(jié)點(diǎn)對(duì)應(yīng)的任何子節(jié)點(diǎn)的概率矩陣。雖然醫(yī)學(xué)洞見不能也不應(yīng)該自動(dòng)化處理,但數(shù)據(jù)準(zhǔn)備部分的工作完全可以也應(yīng)該通過自動(dòng)化的方式來實(shí)現(xiàn)MMl28資訊網(wǎng)——每日最新資訊28at.com

# 此函數(shù)有助于計(jì)算進(jìn)入BBN的概率分布(注意,最多可以處理2個(gè)父節(jié)點(diǎn))def probs(data, child, parent1=None, parent2=None): if parent1==None: # 計(jì)算概率 prob=pd.crosstab(data[child], 'Empty', margins=False, normalize='columns').sort_index().to_numpy().reshape(-1).tolist() elif parent1!=None: # 檢查子節(jié)點(diǎn)是否有1個(gè)父節(jié)點(diǎn)或2個(gè)父節(jié)點(diǎn) if parent2==None: # 計(jì)算概率 prob=pd.crosstab(data[parent1],data[child], margins=False, normalize='index').sort_index().to_numpy().reshape(-1).tolist() else:  # 計(jì)算概率 prob=pd.crosstab([data[parent1],data[parent2]],data[child], margins=False, normalize='index').sort_index().to_numpy().reshape(-1).tolist() else: print("Error in Probability Frequency Calculations") return prob 

接下來,我們創(chuàng)建實(shí)際的貝葉斯網(wǎng)絡(luò)節(jié)點(diǎn)和網(wǎng)絡(luò)本身:MMl28資訊網(wǎng)——每日最新資訊28at.com

# 通過使用我們?cè)缙诘暮瘮?shù)自動(dòng)計(jì)算概率來創(chuàng)建節(jié)點(diǎn)Symptom = BbnNode(Variable(0, 'Symptom', ['Non-Malignant', 'Malignant']), probs(df, child='SymptomCat'))Stage = BbnNode(Variable(1, 'Stage', ['Stage_I_II', 'Stage_III_IV']), probs(df, child='StagingCat', parent1='SymptomCat'))TreatmentTypeCat = BbnNode(Variable(2, 'TreatmentTypeCat', ['Adjuvant/Neoadjuvant', 'Treatment', 'Therapy']), probs(df, child='TreatmentTypeCat'))Appointment_2months = BbnNode(Variable(3, 'Appointment_2months', ['No', 'Yes']), probs(df, child='Appointment_2months', parent1='StagingCat', parent2='TreatmentTypeCat'))# 創(chuàng)建貝葉斯網(wǎng)絡(luò)bbn = Bbn() / .add_node(Symptom) / .add_node(Stage) / .add_node(TreatmentTypeCat) / .add_node(Appointment_2months) / .add_edge(Edge(Symptom, Stage, EdgeType.DIRECTED)) / .add_edge(Edge(Stage, Appointment_2months, EdgeType.DIRECTED)) / .add_edge(Edge(TreatmentTypeCat, Appointment_2months, EdgeType.DIRECTED))# 將BBN轉(zhuǎn)換為連接樹join_tree = InferenceController.apply(bbn)

現(xiàn)在,我們準(zhǔn)備好了一切接下來,讓我們通過貝葉斯網(wǎng)絡(luò)運(yùn)行一些假設(shè),并給出評(píng)估輸出。MMl28資訊網(wǎng)——每日最新資訊28at.com

評(píng)估貝葉斯網(wǎng)絡(luò)輸出

首先,讓我們看看每個(gè)節(jié)點(diǎn)的概率,而不需要具體聲明任何條件。MMl28資訊網(wǎng)——每日最新資訊28at.com

# 定義打印邊際概率的函數(shù)#每個(gè)節(jié)點(diǎn)的概率def print_probs(): for node in join_tree.get_bbn_nodes(): potential = join_tree.get_bbn_potential(node) print("Node:", node) print("Values:") print(potential) print('----------------')# 使用以上函數(shù)打印邊際概率print_probs()輸出結(jié)果如下:Node: 1|Stage|Stage_I_II,Stage_III_IVValues:1=Stage_I_II|0.671241=Stage_III_IV|0.32876----------------Node: 0|Symptom|Non-Malignant,MalignantValues:0=Non-Malignant|0.693420=Malignant|0.30658----------------Node: 2|TreatmentTypeCat|Adjuvant/Neoadjuvant,Treatment,TherapyValues:2=Adjuvant/Neoadjuvant|0.586602=Treatment|0.173002=Therapy|0.24040----------------Node: 3|Appointment_2weeks|No,YesValues:3=No|0.776553=Yes|0.22345----------------

上述情況表明,該數(shù)據(jù)集中的所有患者都有67%的概率為Stage_I_II,69%的概率為非惡性(Non-Malignant),58%的概率需要輔助/新輔助(Adjuvant/Neoadjuvant)治療,其中只有22%的患者需要在2個(gè)月后預(yù)約。MMl28資訊網(wǎng)——每日最新資訊28at.com

顯然,我們可以很容易地從沒有貝葉斯網(wǎng)絡(luò)的簡(jiǎn)單頻率表中得到這一點(diǎn)。MMl28資訊網(wǎng)——每日最新資訊28at.com

但現(xiàn)在,讓我們問一個(gè)更有條件的問題:考慮到患者患有階段=Stage_I_II和TreatmentTypeCat=Therapy,患者在2個(gè)月內(nèi)需要護(hù)理的可能性有多大。此外,考慮到醫(yī)療保健提供者對(duì)他們的癥狀一無所知(也許他們還沒有見過病人)。MMl28資訊網(wǎng)——每日最新資訊28at.com

我們將在節(jié)點(diǎn)中運(yùn)行我們所知道的正確內(nèi)容:MMl28資訊網(wǎng)——每日最新資訊28at.com

# 添加已發(fā)生事件的證據(jù),以便重新計(jì)算概率分布def evidence(ev, nod, cat, val): ev = EvidenceBuilder() / .with_node(join_tree.get_bbn_node_by_name(nod)) / .with_evidence(cat, val) / .build() join_tree.set_observation(ev)# 添加更多證據(jù)evidence('ev1', 'Stage', 'Stage_I_II', 1.0)evidence('ev2', 'TreatmentTypeCat', 'Therapy', 1.0)# 打印邊際概率print_probs()

上述代碼的執(zhí)行將返回如下內(nèi)容:MMl28資訊網(wǎng)——每日最新資訊28at.com

Node: 1|Stage|Stage_I_II,Stage_III_IVValues:1=Stage_I_II|1.000001=Stage_III_IV|0.00000----------------Node: 0|Symptom|Non-Malignant,MalignantValues:0=Non-Malignant|0.576020=Malignant|0.42398----------------Node: 2|TreatmentTypeCat|Adjuvant/Neoadjuvant,Treatment,TherapyValues:2=Adjuvant/Neoadjuvant|0.000002=Treatment|0.000002=Therapy|1.00000----------------Node: 3|Appointment_2months|No,YesValues:3=No|0.890723=Yes|0.10928----------------

上面結(jié)果顯示,這個(gè)病人在兩個(gè)月內(nèi)到達(dá)的幾率只有11%。我們可以詢問我們變量的已知或未知特征的任何排列,以預(yù)測(cè)患者在2個(gè)月內(nèi)到達(dá)的概率。可以利用進(jìn)一步的算法和函數(shù)來收集許多患者或患者組的概率,或優(yōu)化這些概率。MMl28資訊網(wǎng)——每日最新資訊28at.com

關(guān)于質(zhì)量輸入變量重要性的說明

Python代碼編寫是一回事,但貝葉斯網(wǎng)絡(luò)在提供可靠的未來就診估計(jì)方面的真正成功在很大程度上取決于患者護(hù)理工作流程的準(zhǔn)確映射。所有需要時(shí)間、談話和白板——而不是僅僅的編碼工作這樣的信息取得甚至可能需要幾次數(shù)據(jù)挖掘,并與客戶重新接觸,以進(jìn)行壓力測(cè)試假設(shè):“我們之前說過,護(hù)士導(dǎo)航儀總是在報(bào)告癥狀不佳后給患者打電話,但這種情況只發(fā)生了10%。下一次與患者交談是與他們的醫(yī)療服務(wù)提供者進(jìn)行的。”。MMl28資訊網(wǎng)——每日最新資訊28at.com

在類似的情況下,表現(xiàn)相似的患者通常需要類似的服務(wù),并以類似的節(jié)奏進(jìn)入。這些輸入的排列,其特征可以從臨床到管理,最終對(duì)應(yīng)于服務(wù)需求的某種確定性路徑。但是,時(shí)間預(yù)測(cè)越復(fù)雜或越遠(yuǎn),就越需要更具體、更復(fù)雜的具有高質(zhì)量輸入的貝葉斯網(wǎng)絡(luò)MMl28資訊網(wǎng)——每日最新資訊28at.com

原因如下:MMl28資訊網(wǎng)——每日最新資訊28at.com

  1. 精確表示:貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu)必須反映變量之間的實(shí)際關(guān)系。選擇不當(dāng)?shù)淖兞炕蛘`解的依賴關(guān)系可能導(dǎo)致不準(zhǔn)確的預(yù)測(cè)和見解。
  2. 有效推理:高質(zhì)量的輸入變量增強(qiáng)了模型執(zhí)行概率推理的能力。當(dāng)變量根據(jù)其條件依賴性準(zhǔn)確連接時(shí),網(wǎng)絡(luò)可以提供更可靠的見解。
  3. 降低復(fù)雜性:包含不相關(guān)或冗余的變量會(huì)使模型不必要地復(fù)雜化,并增加計(jì)算需求。高質(zhì)量的投入使網(wǎng)絡(luò)更加高效。

譯者介紹

朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計(jì)算機(jī)教師,自由編程界老兵一枚。MMl28資訊網(wǎng)——每日最新資訊28at.com

原文標(biāo)題:Using Bayesian Networks to forecast ancillary service volume in hospitals,作者:Gabe VerzinoMMl28資訊網(wǎng)——每日最新資訊28at.com


MMl28資訊網(wǎng)——每日最新資訊28at.com


MMl28資訊網(wǎng)——每日最新資訊28at.com


MMl28資訊網(wǎng)——每日最新資訊28at.com


MMl28資訊網(wǎng)——每日最新資訊28at.com


MMl28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-13844-0.html利用貝葉斯網(wǎng)絡(luò)預(yù)測(cè)醫(yī)院服務(wù)患者數(shù)量

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: Kubernetes 中的 Java 應(yīng)用的內(nèi)存調(diào)優(yōu)

下一篇: Python字符串處理:掌握文本的藝術(shù)

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 红桥区| 长治县| 来凤县| 冕宁县| 西城区| 贺州市| 武陟县| 龙江县| 门头沟区| 昂仁县| 巧家县| 镇康县| 陵川县| 安岳县| 福安市| 榕江县| 左云县| 隆安县| 普定县| 宿迁市| 乐清市| 内乡县| 淮阳县| 株洲市| 玉山县| 颍上县| 高邮市| 淮安市| 山西省| 鄂伦春自治旗| 合江县| 成都市| 六安市| 奎屯市| 天门市| 鹤山市| 北票市| 肥城市| 英吉沙县| 嘉禾县| 儋州市|