iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0

延續前一篇的血壓紀錄 App,前一篇的文章中我們將資料流畫出來,並藉由系統架構圖,來掌握安全邊界,知道如果發生模組發生問題時,我們應該如何處理。

但是另外一個需要注意的點是,雖然資料流是正確的,但是資料的完整性不夠,我們該怎麼辦?假設血壓紀錄 App 採用「台灣高血壓學會建議的居家血壓監測 722 原則」:

  • 7:連續量測 7天
  • 2:每天量 2次(早上起床後、晚上睡覺前各一次)
  • 2:每次量 2遍(間隔1-2分鐘,取平均值)
    也就是說,一個人一天會需要量測四次,一週最多會有 28 次。

而我們的血壓紀錄 App 在紀錄一段時間後,有足夠數據之後,就可以依照輸入的數值畫上趨勢圖。
但是問題來了,假如在本週只量兩次血壓:週一 120/80 mmHg,週四 126/82 mmHg。只憑這兩個值可以說明趨勢嗎?

我認為,只有兩筆資料是無法說明趨勢的,我們頂多說週四的數值比週一高,但是少了中間日子的數值,充其量也只能知道數值往上,但是任意給出結論。更何況,若這兩筆數值的量測時間點又不一致,那麼比較的依據又降低了。

退一步想,若 App 要求用戶在一週內需要量測 28 次,但是實際上只有收到 2 次的數據,這代表什麼?有可能是用戶只有在不舒服時候量測,也或者是 App 並沒有加上提醒的功能,所以沒有讓使用者知道量測時間到了。

繪製流程圖時,如果我們只是將有數據的畫上去,並未明確標示「缺資料」,也就是說無論如何,畫面上都可以產生出一個趨勢圖,但是這個趨勢圖是我們期待的嗎?還是我們應該要預期每一天都要有資料,否則無法畫出趨勢圖。

以上這些問題,在設計開發時,我們都需要規劃進去,有些時候,我們需要完整的資料才能夠作分析,有些時候,漏掉幾筆是可接受的。

綜合以上,資料完整性在醫療軟體中,是相當重要的。

AI 資料品質

前面討論了資料完整性的重要性,接下來我們來談談 AI 的資料品質。在使用 AI 時,無論你怎麼詢問,它都可以給出一個回答,若我們給予很差的資料,自然也會得到很差的回覆。我們在 App 中加上一個 AI 摘要的功能,它可以根據我們輸入的數據來給予摘要,這時候若我們提供的數據很少、不足夠判斷時,這時候 AI 的回答離正確就很遠了。
同樣地,如果我們需要收集資料餵給 AI 訓練,若我們的資料量很少,那麼我們雖然也可以訓練出一個模型,但是這個模型因為沒有足夠的訓練資料,於是在實際應用上就無用武之地。

測試資料怎麼分也很重要。同一個人的相近紀錄,一部分拿來訓練,另一部分拿來測試,模型可能對這個人已經很熟悉,結果就顯得特別好。這在模型評估裡常被稱為資料洩漏。醫療器材機器學習良好實務原則也提到,資料要能代表預期使用情境,訓練與測試資料要保持適當獨立。

小結

從血壓紀錄 App 的例子可以看到,資料有存進來,還要看它能不能回答我們想問的事。一週只收到兩筆量測,我們可以呈現這兩筆,卻不能直接說這一週的血壓持續上升。畫面要讓人看出哪些時段沒有資料;少到什麼程度就不適合畫趨勢,也需要在設計時先定義。

AI 摘要同樣只能根據收到的紀錄來寫,資料不夠時就說明限制。若要用這些紀錄訓練或測試模型,除了資料量,還要看資料能否代表預期的使用情境,以及訓練和測試資料有沒有適當分開。最後能說出什麼結論,取決於手上的資料能支持到哪裡。


上一篇
Day18 - 醫療軟體架構與安全邊界
下一篇
Day20 - 醫療資料的隱私保護:去識別化就夠了嗎?
系列文
三十天轉職成「醫療軟體工程師」 共 24 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言