來看看醫療場域中資料探勘的流程、各種研究問題的重要類別與特性吧 🤔
如何透過資料探勘 (Data Mining),挖掘並回應臨床問題?
這次我們來聊聊,醫療場域中資料探勘的流程、各種研究問題的重要類別與特性、如何選擇研究題目、資料種類、處理資歷過程中會遇到的問題和偏誤有哪些吧 🤔🤔
資料探勘整體流程
Data Mining Workflow
身為臨床醫事人員,相信大家都有個共同的終極目標:改善病人(個體)與國人(群體)的健康。而透過臨床資料,我們有機會得以回應達到這個目標過程中所面臨的難題。資料探勘的流程,就是引導我們定義、收集、剖析、應用資料的方式,包含有四大步驟:
- 提出要研究的問題
- 找出至少一個可以回答我們所提出問題的資料來源
- 萃取資料並轉換成資料分析所需要的格式
- 使用資料,進行分析

完成這四個步驟之後,我們就會來評估分析的結果,如果在判讀和解釋上認為有需要在前述流程中做調整(譬如資料有不平衡的狀況、修正研究題目、或想新增資料集等等),則可重複以上四個階段。
那麼,這些資料究竟怎麼呈現呢?我們會介紹兩種方式:以時間軸(Timeline)或特徵矩陣(Feature Matrix)來做說明。
我們先用一個案例來讓大家暖個身:
👧🏻 宜靜 👧🏻 🔸 17 歲的青少女,罹患全身性紅斑性狼瘡(Systemic Lupus Erythematosus) 🔸最近急性發作,出現蛋白尿(Proteinuria)、胰臟炎(Pancreatitis),抽血發現抗磷脂抗體(Antiphospholipid Antibodies)陽性 🔸承上,宜靜有血栓風險 😨
那我們來開始資料探勘之旅吧!
步驟 1️⃣
✅ 提出要研究的問題
臨床問題 👉 「過去有全身性紅斑性狼瘡的青少年,最近出現蛋白尿與抗磷脂抗體,是否需要接受抗凝血劑的治療?」
Hmmm,一般的臨床醫師應該會想到,要去查文獻、根據自己與同事的治療經驗、諮詢專家並綜整前述結果,來做判斷。
而資料探勘能夠使上力的地方,在於能夠把一個大型醫學中心裡,過去與這個病人相關且類似的其他病例,透過電子病歷紀錄(Electronic Medical Record, EMR)撈取出來,讓我們從中找出線索。
步驟 2️⃣
✅ 找出至少一個可以回答我們所提出問題的資料來源
我們決定用電子病歷紀錄作為我們的資料來源,但是在臨床打滾過的朋友都知道,大家寫病歷的方式、以及資訊系統組織病歷資料的邏輯,可能讓「搜尋」這檔事變得很困難。我們必須去把相關的診斷碼或與該疾病有關的專業術語定義出來,這就牽涉到了醫療的背景知識,譬如病歷中哪些症狀的字眼描述,會讓我們一眼看穿這些表象背後的鑑別診斷是否符合我們想要查找的目標疾病。

步驟 3️⃣
✅ 萃取資料並轉換成資料分析所需要的格式
在搜尋時,我們的順序和考量的面向如下 👇
1⃣ 根據病人的年齡(像宜靜是 17 歲),撈出病歷系統中青少年族群的病人。
2⃣ 輸入全身性紅斑性狼瘡的診斷碼。
3⃣ 根據尿液檢驗的結果,把有全身性紅斑性狼瘡診斷碼、又在驗尿結果出現蛋白尿的病人找出來。
4⃣ 再從中找出抗磷脂抗體陽性的病人。
這裡我們先來打個岔,實驗室檢驗資料(Laboratory Data)的結果可能是數字(Numeric)或是文本(Textual)的類型,有時可以用治療(例如有沒有吃 Aspirin 阿斯匹靈)作為確認病人有血栓的標記。
我們已經界定出和宜靜相仿的病人群體,而我們的目標結果 Outcome 是血栓,接著來搜尋跟血栓相關的字詞,像是 Thrombus、Thrombosis、Blood Clot 等,這邊也是需要運用到醫學知識才知道要找哪些字眼。
找完之後拿到一包資料,這時必須做資料前處理、把格式轉換為可供分析(看大家用什麼軟體)的資料型態。
步驟 4️⃣
✅ 使用資料,進行分析
分析變得相對直觀:比較罹患全身性紅斑性狼瘡的青少年病人中,在 (1) 出現蛋白尿和抗磷脂抗體與 (2) 沒有蛋白尿和抗磷脂抗體兩群人的血栓風險。
結果我們發現出現蛋白尿和抗磷脂抗體的全身性紅斑性狼瘡的青少年病人,比起沒有出現這些狀況的群體,發生血栓的相對風險高了兩倍,因此決定給宜靜抗凝血劑治療。
恭喜你,我們完成了資料探勘的四個步驟啦 🥳

我們從健康照護體系裡的資料作為起點,這次我們選擇了包含診斷碼、實驗室檢驗、藥囑、醫師病歷文本的電子醫療紀錄,把資料中每位符合青少年族群、全身性紅斑性狼瘡診斷、出現蛋白尿和抗磷脂抗體的病人,依照時間軸的遞移呈現資料點,並標註哪些病人在經歷前述事件後發生血栓,最終計算有這個血栓 Outcome 的病人佔群體總數的比例,去計算相對風險。
用宜靜的例子再次回顧資料探勘的四步驟 🖖

📌 臨床問題是什麼呢?
👉 「過去有全身性紅斑性狼瘡的青少年,最近出現蛋白尿與抗磷脂抗體,是否需要接受抗凝血劑的治療?」
📌 資料來源是什麼呢?
👉 「電子病歷」
📌 我們做了哪些萃取和轉換資料的步驟?
👉 「定義怎麼找出有全身性紅斑性狼瘡診斷的青少年病人、以及符合特定醫學條件的子族群,包含診斷碼或文本搜尋」
📌 分析和結論是什麼呢?
👉 「比較有蛋白尿和抗磷脂抗體的子族群有相對高的血栓風險,因此決定治療」
這些步驟並沒有完美的標準 SOP 做法,資料探勘的流程主要是作為擁有專業知識背景(Domain Knowledge,這個例子就是自體免疫疾病的醫學專業)的臨床人員或團隊,在回答一個實際醫療問題時的整體性思模框架,而不是固定寫死的自動化演算法,每個獨特情境的走法都是不同的哦~
探究問題的型態
Types of research questions
好玩的來了,我們都知道萬事起頭難,第一步驟「界定出臨床問題」是很大的學問。概括來說,臨床研究問題有分為六種 👇
1️⃣ 描述性(Descriptive),將資料做整理、歸納、結論。
2️⃣ 探索性(Exploratory),去找出資料庫中所有資料的可能模式(Patterns)。
3️⃣ 推論性(Inferential),目的在於找出可概化、放諸四海皆準的知識,把探索到的模式延伸到手上資料庫以外的資料。
4️⃣ 預測性(Predictive),找出資料的特徵(Features)和目標結果(Outcome)之間的量化關聯性。
5️⃣ 因果性(Causal),想知道某個特定變項每改變一單位(或各位研究者想看的規模),對於另外一個變向的影響。
6️⃣ 決定性(Deterministic),根本性地挖掘所觀察現象背後的機制。
臨床資料特別適合用來回答描述性、探索性、推論性、預測性的問題,主要用來達成兩大目的👇
1️⃣ 風險分層,決定是否需要治療
2️⃣ 根據資料分析得出的洞見,來決定如何治療
在宜靜 👧🏻 的例子中,我們問的是描述性的問題:從資料中得出病人數量及比例關係的風險分層,且推論是建立在「過往那些和宜靜相仿狀況的病人所發展出的預後,也很可能發生在宜靜身上」這個假設之上。當我們判斷宜靜是血栓高風險族群,就用抗凝血劑來治療,當然同時要考慮宜靜本身有沒有出血傾向等抗凝血劑不良反應的可能。
我們花了這麼多心血在研究要問什麼問題、用什麼方法和資源來回答、對資料做處理與分析,總要知道效益如何吧?有幾個問題可以來幫助我們思考👇
1️⃣ 這個臨床疾病的發生率和盛行率是多少?有多少人的健康可以因為問題的答案而有所影響?
2️⃣ 針對目標病人群體,這個問題的答案能為他們帶來正面效果的機率有多高?
3️⃣ 問題的答案可能會帶來哪些後續的效果?
4️⃣ 知道這個問題的答案之後,除了幫助病人,對於醫療人員、健保或私人保險有影響嗎?
好的,今天聊到這兒,下次就讓我們來瞧瞧健康照護體系裡的資料有哪些吧 🧑🏻⚕️