引用本文: 李楠, 楊曉妍, 王覓也, 張睿, 師慶科, 黃勇. 基于粗糙集的某三甲醫院住院患者費用分類特征集約簡. 中國循證醫學雜志, 2016, 16(3): 354-362. doi: 10.7507/1672-2531.20160055 復制
2009年國務院發布《關于深化醫療衛生體制改革的意見》,意見中提出“有效減輕居民就醫費用負擔”,“建立健全覆蓋城鄉居民的基本醫療衛生制度,為群眾提供安全、有效、方便、價廉的醫療衛生服務”的長遠目標。為達到這一目標,對醫療費用進行科學、有效的控制勢在必行。患者費用分類隱藏著泛化的分類規則,通過分類規則能快速判斷患者費用類別,為實施醫療費用控制提供前提條件。
在本研究系列的第一篇文章《某三甲醫院住院患者分類及費用影響因素分析》 [1]中,我們以住院患者診療數據為研究對象,分析基于住院費用的患者分類、病種分布及費用影響因素。本文進一步探討影響住院費用的發生流程,構建患者醫療過程中除費用以外的屬性知識庫,利用粗糙集理論中的知識約簡方法建立快速識別患者費用分類的特征集和判別規則,引導一線醫療工作者在醫療過程中主動控制費用,從而為患者費用管控提供一條有效途徑。
1 患者費用分類規則的概念與原理
1.1 粗糙集的基本概念
粗糙集理論是一種刻畫不完整性和不確定性的數據工具 [2],由波蘭科學家Pawlak ZW在1982年提出,得到了計算機研究領域的廣泛關注和青睞。其特點是不需要預先給定某些特征或屬性的數量描述,而是直接從給定問題的描述集合出發,找出該問題中的內在規律 [3]。粗糙集理論具有良好的數學基礎和性質,提供了以不完全信息或知識去處理一些不分明現象的能力,或依據觀察、度量到的某些不精確的結果而進行數據分類的能力。粗糙集通過約簡能有效地發現數據中起主要或決定性作用的因素,從而實現對數據的簡化和提煉。由于粗糙集的屬性約簡不需要屬性分布的任何先驗信息,因此應用結果更為客觀,常被用于建立含有離散屬性變量的判別準則。
一個信息系統S可以表示為一個四元組S={U,R,V,f}。其中,U={x1,x2,x3,…,xn}為論域,U中的每一個xi(i ≤ n)稱為一個對象;R={r1,r2,r3,…,rj}為屬性集合,又稱為知識,R中的每一個rj(j ≤ m)稱為一個屬性,同時,R=C ∪ D;C={c1,c2,c3,…,cp}為條件屬性集;D={d1,d2,d3,…,dq}為目標屬性集或決策屬性集;V為屬性值域,Vj為rj的屬性值;信息函數f:U×R→V。
設B?R為一個非空子集,如果xi,xj ∈U,均有f(xi,r)=f(xj,r),?r∈B成立,那么,稱xi和xj關于屬性子集B不可分辨。B不可分辨關系,簡記為Ind(B),是一種等價關系。Ind(B)可以將論域U中的元素分成若干等價類。全體等價類組成的集合記為U | Ind(B),稱之為基本集合。若集合X可以表示成某些基本集的并集時,則稱X是B精確集,否則稱為B粗糙集。
粗糙集的邊界是由下、上近似來刻畫的。對于任意X?U,X關于現有知識R的下、上近似分別定義為:R_(X)={x∈U,[x]R ?x},R-(x)={x∈U,[x]R ∩ X≠Φ}。X的確定域Pos(X)=R_(X),是指論域U中那些在現有知識R之下能夠確定地歸入集合X的元素的集合。反之,Neg(X)=U-R_(X)被稱為否定域。邊界域是某種意義上論域的不確定域,即在現有知識R之下U中那些既不能肯定在X中,又不能肯定歸入X=U \ X中的元素的集合,記為BndR(X)。
樣本子集X的不確定性程度可以用粗糙度aR(X)來刻畫,粗糙度的定義為:
${{a}_{R}}\left( X \right)=\frac{Card\left( R\_\left( X \right) \right)}{Card\left( R-\left( X \right) \right)}$ |
式中Card表示集合的基數(集合中元素的個數)。顯然,0≤ aR(X)≤ 1,如果aR(X)=1,則稱集合X關于R是確定的;如果aR(X)<1,則稱集合X關于R是粗糙的,aR(X)可認為是在等價關系R下逼近集合X的精度。
1.2 知識約簡
知識約簡是粗糙集理論的核心內容之一。所謂知識約簡,就是在保持知識庫分類能力不變的條件下,刪除其中不相關或不重要的知識。在粗糙集理論中,知識約簡分為屬性約簡和值約簡,即刪除冗余屬性和冗余屬性值。屬性約簡在一定程度上對信息表中的非必要的冗余信息進行約簡,但對每一個對象而言仍可能存在不必要的屬性。因此在保持信息系統的分類或決策能力不變的前提下,將每一個對象的不必要屬性刪除,即為值約簡。值約簡的最終結果就是信息系統的分類或決策規則。
1.2.1 屬性約簡定義
設P,Q是屬性集,Q中的每一個屬性都是不可省略的。如果Q?P且Ind(Q)=Ind(P),則稱Q是P的一個約簡(Reduce),記為Red(P)。另外,若以Core(P)記P中所有不可省略的屬性集合稱為P的核(Core),那么所有約簡Red(P)的交正好等于P的核,即Core(P)=∩Red(P)。該式的意義在于,不僅體現了核與所有約簡的關系,核直接由約簡得到,而且也表明了核是知識庫中最重要的部分,是進行知識約簡的過程中不能刪除的知識。
一般地,考慮一個分類相對于另一個分類的關系,這就導出了相對約簡與相對核的概念。在粗糙集中,相對約簡的概念是條件屬性相對決策屬性的約簡。
設P和Q為論域U上的兩個等價關系,定義Q關于P的相對肯定域,記為PosP(Q),為論域U中的所有那些對象構成的集合,它們可以在分類U/P的知識指導下,被正確地劃入到U/Q的等價類之中。即
PosP(Q)=∪P_(X) (X∈U/Q)
其中,P_(X)是集合X的下近似。
設P和Q為論域U上的兩個等價關系,r∈P。如果
PosP(Q)=Pos(P-{r})(Q)
那么稱r關于Q可省略,否則稱為Q不可省略。特別,當P-{r}為P中的獨立子集(即它的每個元素都再不可省略),且PosP(Q)=Pos(P-{r})(Q)。那么稱P-{r}為P的關于Q的相對約簡,記為IndQ(P)。P的所有關于Q的相對約簡之交稱為P的關于Q的核,記為CoreQ(P)。此時有CoreQ(P)=I IndQ(P)。
1.2.2 值約簡的定義
決策表約簡的重要內容之一是簡化決策表中的條件屬性使得約簡前后的決策表具有相同的功能。基于更少量的條件得到同樣的決策。
分辯矩陣是粗糙集中又一個重要概念,它將決策表中關于屬性區分的信息濃縮進一個矩陣當中,可用于決策表的屬性約簡。
信息系統S=(U,R,V,f)中,U={x1,x2,…,xn}為論域,R=C ∪ D是屬性集合,C={ai,i=1,2,…,m}與D={dj,j=1,2,…,l}分別為條件屬性集和決策屬性集,ak(xj)是樣本xj在屬性ak上的取值。該系統的分辨矩陣定義為一個n×n階矩陣M(S)=[mij]n×n,其中第i行j行處元素,即分辨矩陣中元素mij是能夠區別對象xi和xj的所有屬性的集合。
${{m}_{ij}}=\left\{ \begin{align} & {{a}_{k}}\in C,{{a}_{k}}\left( {{x}_{i}} \right)\ne {{a}_{k}}\left( {{x}_{j}} \right)\wedge D\left( {{x}_{i}} \right)\ne D\left( {{x}_{i}} \right) \\ & \phi ,D\left( {{x}_{i}} \right)=D\left( {{x}_{j}} \right)i,j=1,2,\ldots ,n \\ \end{align} \right.$ |
但若xi和xj屬于同一個決策類時,則分辨矩陣中元素mij的取值為空集?。由定義可見,M(S)=[mij] n×n是一個對稱矩陣,主對角線上的元素是空集。因此只需要考慮上半或者下半三角部分。
每一個分辨矩陣M(S),可以誘導出一個分辨函數fM(S)如:
fM(S)(a1,a2,…,am)=∧{∨mij,1≤j<i≤n,mij≠?}
它實際上是一個具有m元變量a1,a2,…,am,(ai∈C,i=1,2,…,m)的布爾函數,它是(∨mij)的合取,而(∨mij)是矩陣項mij中的各元素的析取。
根據分辨函數與約簡的對應關系,可以得到計算信息系統S約簡Red(S)的方法為:
第一,計算信息系統S的分辨矩陣M(S);
第二,計算分辨矩陣M(S)對應的分辨函數fmij;
第三,計算分辨函數fm(s)的最小析取范式,其中每個析取分量對應一個約簡,即一條規則。
2 在患者費用分類特征集提取中的應用
2.1 提出問題
我們在本系列第一篇文章中通過聚類分析方法,基于住院醫療費用將患者分為7類 [1]。事實上,每一種分類方法背后都對應著可以泛化的分類規則,如果能找到每種分類的患者特征集以及特征集的取值規律,那么在醫療過程中,醫療工作者就可以更快捷地判斷患者分類,從而減少醫療費用控制的盲目性。本文對住院患者分類特征集以及特征集的取值規律進行分析,實質上就是通過粗糙集的屬性約簡和值約簡方法,發現更為簡單易行的患者分類判別規則。
2.2 實例分析
2.2.1 費用分類樣本集
醫療過程有很多常見業務,如護理、專科、手術、使用抗生素、輸血、搶救等,不同類型患者的診療需要重視不同醫療業務的需求和費用控制。本文采用住院患者的診療數據,以住院患者的部分基本屬性以及醫療業務的屬性來構建患者的屬性集。我們在某三甲醫院HIS的2013年全年住院患者診療數據中,分類隨機抽取1 527份住院患者信息進行分類。使用Rossetta 3.0軟件進行統計分析。由于第六類和第七類患者的例數很少,因此,第一至第五類患者每類隨機抽取300例,第六類和第七類患者則僅剔除屬性缺失的病例,抽樣結果為:第一至第五類患者每類各300例,第六類和第七類分別納入16例和11例。
采集患者40種信息,通過數據清洗建立21類非高度相關的信息,包括:性別、年齡、是否轉科、其他診斷總數、手術次數、是否為傳染病、入院途徑、是否由其他醫療機構轉入、實際住院天數、門急診診斷與出院診斷吻合情況、手術1臺次數、手術1級別、手術1切口愈合等級、是否有31天內再住院計劃、是否搶救、是否輸血、是否有并發癥、是否使用抗生素、是否有護理、術后是否入住ICU、是否使用呼吸機,將其作為樣本的條件屬性C。將患者分類作為樣本的決策屬性D。
隨后對21類條件屬性C的連續變量進行離散化。通過觀察確定其中年齡、手術次數、實際住院天數、手術1次數、其他診斷總數共5類屬性為連續變量,逐一進行離散化。年齡分為6類,分別為≤ 14歲,14歲<年齡≤ 45歲,45歲<年齡≤ 60歲,60歲<年齡≤ 75歲,75歲<年齡≤ 75歲,>90歲。手術次數離散化為有、無手術,0取值為無,大于0取值為有。同時需要注意的是,手術費用包含操作費用,而這里的有無手術不包含操作,與系列一文章分類有區別。實際住院天數按照醫療質控的常規要求分為4類,分別為0天<住院天數≤ 10天,10天<住院天數≤ 30天,30天<住院天數≤ 60天,>60天。基于手術1臺次數的數據分布,得到數取值范圍0~2的正整數,即每一種手術1臺次數作為一種分類。其他診斷總數離散化為有、無其他診斷,0取值為無,>0取值為有。
2.2.2 屬性約簡
條件屬性集為C={C1,C2,C3 …… C20,C21},其中C1~C21分別表示性別(C1)、年齡(C2)、是否為傳染病(C3)、入院途徑(C4)、是否由其他醫療機構轉入(C5)、是否轉科(C6)、其他診斷總數(C7)、有無手術(C8)、實際住院天數(C9)、門急診診斷與出院診斷吻合情況(C10)、手術1次數(C11)、手術1級別(C12)、手術1切口愈合等級(C13)、是否有31天內再住院計劃(C14)、是否搶救(C15)、是否輸血(C16)、是否有并發癥(C17)、是否使用抗生素(C18)、是否有護理(C19)、術后是否入住ICU(C20)、是否使用呼吸機(C21)。決策屬性集D={i|i∈{1,2,3,4,5,6,7}},其中每個數字代表該患者樣本的類別屬性。
通過Rossetta 3.0軟件采用Johnson’s算法得到,U/ind(C-{C1,C2,C3,C4,C5,C9,C10,C11,C12,C13,C14})=U/ind(C);則核為core(C)=∩red(C)=ind(C-{C1,C2,C3,C4,C5,C9,C10,C11,C12,C13,C14})={C6,C7,C8,C15,C16,C17,C18,C19,C20,C21}。決策屬性D是關于核{C6,C7,C8,C15,C16,C17,C18,C19,C20,C21}的近似精度為1,說明核是完全的,因此{C6,C7,C8,C15,C16,C17,C18,C19,C20,C21}是最佳屬性約簡。
2.2.3 值約簡
根據前面的屬性約簡結果,利用決策屬性D和核屬性core(C)={C6,C7,C8,C15,C16,C17,C18,C19,C20,C21}進行值約簡,獲得核屬性的取值與決策屬性之間的關系,即分類規則。通過Rossetta 3.0軟件計算,采用Johnson’s算法得到76條判別規則,只需要明確每個患者的核屬性取值就能快速判斷患者類別。
在76條判別規則中,32條規則能定位患者的所有潛在分類,例如規則序號7。如果某患者沒有轉科、有其他診斷、無手術、有搶救、輸過血、沒有并發癥、使用過抗生素、有護理、沒有術后入住ICU、沒有使用過呼吸機,那么該患者的分類應該為第一類或者第二類或者第三類或者第五類或者第六類或者第七類,并且該患者的分類不會是第四類。因此,針對滿足規則序號7所有核屬性取值的患者,可以快速定位患者的所有潛在分類,同時也能判斷患者一定不屬于的分類。
在76條判別規則中,44條規則能定位患者的唯一分類,例如規則序號22。如果某患者沒有轉科、沒有其他診斷、無手術、有搶救、沒有輸過血、沒有并發癥、使用過抗生素、有護理、沒有術后入住ICU、使用過呼吸機,那么該患者的分類應該為第一類。因此,針對滿足規則序號22所有核屬性取值的患者,可以快速定位患者的的唯一分類為第一類。
入組第一類患者分類的規則有19條,其中有3條規則的分類唯一,詳細規則見表 1。規則序號22、27和34能唯一定位患者的分類為第一類。這三條規則共同的屬性取值是患者無手術、無并發癥、術后未入住ICU、有護理。因此在實際工作中,患者的護理服務應受到足夠的重視,在滿足醫療需求的前提下同時要注意控費。其余16條規則指出了患者所有潛在的分類以及一定不屬于的分類。
入組第二類患者分類的規則有57條,其中有25條規則的分類唯一,詳細規則見表 2。第二類患者判別規則最多,并且所有規則中沒有共同的屬性取值,因此患者醫療過程的多樣性提示該類患者應在各個常見醫療過程都獲得重視。


入組第三類患者分類的規則有13條,其中有3條規則的分類唯一,詳細規則見表 3。規則序號20、33和36能唯一分類患者為第三類。這3條規則共同的屬性取值是沒有轉科、沒有手術、沒有并發癥、沒有術后入住ICU、沒有使用呼吸機。3條規則中,10項屬性有5項屬性取值相同,這類患者的醫療過程應重視5項常見醫療業務,包括其他診斷的治療、搶救、輸血、抗生素使用、護理。

入組第四類患者分類的規則有13條,其中有3條規則的分類唯一,詳細規則見表 4。規則序號25、30和32能唯一定位患者的分類為第四類。這3條規則反應了該類患者無手術、無輸血、無并發癥、未使用抗生素、沒有術后入住ICU、沒有使用呼吸機。其中與本系列文一中對第四類的差異在于,文一是按費用統計,其中操作費用被納入手術費用,而本文是按手術次數來統計。這類患者的醫療業務相對單純,需要著重關注轉科、其他診斷治療、搶救、護理等醫療過程。

入組第五類患者分類的規則有27條,其中有5條規則的分類唯一,詳細規則見表 5。這5條規則中該類患者均無并發癥,也沒有術后入住ICU。該類患者的判別首先應滿足無并發癥和沒有術后入住ICU,同時該類患者的醫療過程中除這兩項以外的屬性都應被重視。

入組第六類患者分類的規則有11條,其中有3條規則的分類唯一,詳細規則見表 6。這3條規則反應了該類患者無轉科、有其他診斷、有輸血、使用過抗生素。這類患者的醫療過程需要受到關注的是其他診斷的治療、輸血、抗生素使用。

入組第七類患者分類的規則有9條。其中有2條規則的分類唯一,詳細規則見表 7。不難看出,這兩條規則中該類患者均無轉科、有其他診斷、有手術、有輸血、使用過抗生素。除了這5項共同的屬性以外,針對沒有搶救的患者,都有并發癥治療和護理業務;針對有搶救的患者,都有術后入住ICU和使用呼吸機的醫療業務。

綜上,每類患者的規則條數,結果見表 8。根據每類患者的醫療業務特點,患者的分類在事中就能進行判斷。可以看出,規則條數最多的是第二類,最少的是第七類;分類唯一的規則條數最多的依然是第二類,最少的是第七類。這是由于納入分析的第六類和第七類患者例數很少,僅有16例和11例。但第一至第五類納入分析的患者例數相同,而生成的規則條數存在差異,是由于每類患者數據的表達能力以及每類患者的多樣性程度不同造成的。

3 討論
本文研究所涉及的21項屬性,是將患者原始數據離散化得到。對數據進行離散化一方面是由于粗糙集方法自身不能直接處理連續型變量,另一方面也能大大減少模型的自由度,提高模型的計算能力和解釋能力。但離散化不免會造成部分信息的損失,同一數據點上的差異會被掩蓋。例如,本文中的屬性“是否手術”一項,只能剔除手術操作,且將手術次數大于0次(無論1次或多次)都定義屬性值為是。本文主要是為了確定需要在什么管理環節控費,如手術環節、護理環節、抗生素使用環節等。因此,文中的屬性“是否使用抗生素”,是通過查看患者是否使用過一線、二線、三線抗生素得到,使用過任何一類抗生素都被視為使用過抗生素。“是否手術”、“是否有護理”也是基于此原則進行了簡單化處理。我們認為,未來還可以基于信息增益優化離散方法,形成信息熵更高的分析數據。
本文通過粗糙集方法對代表患者醫療過程的屬性進行約簡,提出76條快速判別患者分類的規則,同時也指出了每一類患者在醫療過程中需要注意控制費用的環節。本文將粗糙集運用于探索患者分類的事中速判規則,此方法的特點在于:① 屬性約簡的近似精度高,生成了患者的完備的約簡屬性,提高了分類規則的精度;② 值約簡將樣本的覆蓋轉化為決策類的覆蓋,提高了分類規則的解釋能力,從而為患者分類速判提供了一條有效途徑,也提高了分類規則的應用價值。
本文通過值約簡生成的判別規則分為兩類,一類可以確定患者的唯一分類,一類只能確定患者的所有潛在分類。第二類規則的出現說明還存在著未被包含于本研究但是對患者分類起作用的屬性。如果患者屬性能涵蓋所有醫療過程中的業務,那么所獲取的核屬性對每種分類的表達能力將更加全面。本文受限于數據來源的業務系統和數據庫,僅對21項患者屬性進行分析。因此,未來還可以更廣泛地收集患者屬性,采用本文所提供的方法,形成一套基于某醫院或者某區域患者的分類規則集。
2009年國務院發布《關于深化醫療衛生體制改革的意見》,意見中提出“有效減輕居民就醫費用負擔”,“建立健全覆蓋城鄉居民的基本醫療衛生制度,為群眾提供安全、有效、方便、價廉的醫療衛生服務”的長遠目標。為達到這一目標,對醫療費用進行科學、有效的控制勢在必行。患者費用分類隱藏著泛化的分類規則,通過分類規則能快速判斷患者費用類別,為實施醫療費用控制提供前提條件。
在本研究系列的第一篇文章《某三甲醫院住院患者分類及費用影響因素分析》 [1]中,我們以住院患者診療數據為研究對象,分析基于住院費用的患者分類、病種分布及費用影響因素。本文進一步探討影響住院費用的發生流程,構建患者醫療過程中除費用以外的屬性知識庫,利用粗糙集理論中的知識約簡方法建立快速識別患者費用分類的特征集和判別規則,引導一線醫療工作者在醫療過程中主動控制費用,從而為患者費用管控提供一條有效途徑。
1 患者費用分類規則的概念與原理
1.1 粗糙集的基本概念
粗糙集理論是一種刻畫不完整性和不確定性的數據工具 [2],由波蘭科學家Pawlak ZW在1982年提出,得到了計算機研究領域的廣泛關注和青睞。其特點是不需要預先給定某些特征或屬性的數量描述,而是直接從給定問題的描述集合出發,找出該問題中的內在規律 [3]。粗糙集理論具有良好的數學基礎和性質,提供了以不完全信息或知識去處理一些不分明現象的能力,或依據觀察、度量到的某些不精確的結果而進行數據分類的能力。粗糙集通過約簡能有效地發現數據中起主要或決定性作用的因素,從而實現對數據的簡化和提煉。由于粗糙集的屬性約簡不需要屬性分布的任何先驗信息,因此應用結果更為客觀,常被用于建立含有離散屬性變量的判別準則。
一個信息系統S可以表示為一個四元組S={U,R,V,f}。其中,U={x1,x2,x3,…,xn}為論域,U中的每一個xi(i ≤ n)稱為一個對象;R={r1,r2,r3,…,rj}為屬性集合,又稱為知識,R中的每一個rj(j ≤ m)稱為一個屬性,同時,R=C ∪ D;C={c1,c2,c3,…,cp}為條件屬性集;D={d1,d2,d3,…,dq}為目標屬性集或決策屬性集;V為屬性值域,Vj為rj的屬性值;信息函數f:U×R→V。
設B?R為一個非空子集,如果xi,xj ∈U,均有f(xi,r)=f(xj,r),?r∈B成立,那么,稱xi和xj關于屬性子集B不可分辨。B不可分辨關系,簡記為Ind(B),是一種等價關系。Ind(B)可以將論域U中的元素分成若干等價類。全體等價類組成的集合記為U | Ind(B),稱之為基本集合。若集合X可以表示成某些基本集的并集時,則稱X是B精確集,否則稱為B粗糙集。
粗糙集的邊界是由下、上近似來刻畫的。對于任意X?U,X關于現有知識R的下、上近似分別定義為:R_(X)={x∈U,[x]R ?x},R-(x)={x∈U,[x]R ∩ X≠Φ}。X的確定域Pos(X)=R_(X),是指論域U中那些在現有知識R之下能夠確定地歸入集合X的元素的集合。反之,Neg(X)=U-R_(X)被稱為否定域。邊界域是某種意義上論域的不確定域,即在現有知識R之下U中那些既不能肯定在X中,又不能肯定歸入X=U \ X中的元素的集合,記為BndR(X)。
樣本子集X的不確定性程度可以用粗糙度aR(X)來刻畫,粗糙度的定義為:
${{a}_{R}}\left( X \right)=\frac{Card\left( R\_\left( X \right) \right)}{Card\left( R-\left( X \right) \right)}$ |
式中Card表示集合的基數(集合中元素的個數)。顯然,0≤ aR(X)≤ 1,如果aR(X)=1,則稱集合X關于R是確定的;如果aR(X)<1,則稱集合X關于R是粗糙的,aR(X)可認為是在等價關系R下逼近集合X的精度。
1.2 知識約簡
知識約簡是粗糙集理論的核心內容之一。所謂知識約簡,就是在保持知識庫分類能力不變的條件下,刪除其中不相關或不重要的知識。在粗糙集理論中,知識約簡分為屬性約簡和值約簡,即刪除冗余屬性和冗余屬性值。屬性約簡在一定程度上對信息表中的非必要的冗余信息進行約簡,但對每一個對象而言仍可能存在不必要的屬性。因此在保持信息系統的分類或決策能力不變的前提下,將每一個對象的不必要屬性刪除,即為值約簡。值約簡的最終結果就是信息系統的分類或決策規則。
1.2.1 屬性約簡定義
設P,Q是屬性集,Q中的每一個屬性都是不可省略的。如果Q?P且Ind(Q)=Ind(P),則稱Q是P的一個約簡(Reduce),記為Red(P)。另外,若以Core(P)記P中所有不可省略的屬性集合稱為P的核(Core),那么所有約簡Red(P)的交正好等于P的核,即Core(P)=∩Red(P)。該式的意義在于,不僅體現了核與所有約簡的關系,核直接由約簡得到,而且也表明了核是知識庫中最重要的部分,是進行知識約簡的過程中不能刪除的知識。
一般地,考慮一個分類相對于另一個分類的關系,這就導出了相對約簡與相對核的概念。在粗糙集中,相對約簡的概念是條件屬性相對決策屬性的約簡。
設P和Q為論域U上的兩個等價關系,定義Q關于P的相對肯定域,記為PosP(Q),為論域U中的所有那些對象構成的集合,它們可以在分類U/P的知識指導下,被正確地劃入到U/Q的等價類之中。即
PosP(Q)=∪P_(X) (X∈U/Q)
其中,P_(X)是集合X的下近似。
設P和Q為論域U上的兩個等價關系,r∈P。如果
PosP(Q)=Pos(P-{r})(Q)
那么稱r關于Q可省略,否則稱為Q不可省略。特別,當P-{r}為P中的獨立子集(即它的每個元素都再不可省略),且PosP(Q)=Pos(P-{r})(Q)。那么稱P-{r}為P的關于Q的相對約簡,記為IndQ(P)。P的所有關于Q的相對約簡之交稱為P的關于Q的核,記為CoreQ(P)。此時有CoreQ(P)=I IndQ(P)。
1.2.2 值約簡的定義
決策表約簡的重要內容之一是簡化決策表中的條件屬性使得約簡前后的決策表具有相同的功能。基于更少量的條件得到同樣的決策。
分辯矩陣是粗糙集中又一個重要概念,它將決策表中關于屬性區分的信息濃縮進一個矩陣當中,可用于決策表的屬性約簡。
信息系統S=(U,R,V,f)中,U={x1,x2,…,xn}為論域,R=C ∪ D是屬性集合,C={ai,i=1,2,…,m}與D={dj,j=1,2,…,l}分別為條件屬性集和決策屬性集,ak(xj)是樣本xj在屬性ak上的取值。該系統的分辨矩陣定義為一個n×n階矩陣M(S)=[mij]n×n,其中第i行j行處元素,即分辨矩陣中元素mij是能夠區別對象xi和xj的所有屬性的集合。
${{m}_{ij}}=\left\{ \begin{align} & {{a}_{k}}\in C,{{a}_{k}}\left( {{x}_{i}} \right)\ne {{a}_{k}}\left( {{x}_{j}} \right)\wedge D\left( {{x}_{i}} \right)\ne D\left( {{x}_{i}} \right) \\ & \phi ,D\left( {{x}_{i}} \right)=D\left( {{x}_{j}} \right)i,j=1,2,\ldots ,n \\ \end{align} \right.$ |
但若xi和xj屬于同一個決策類時,則分辨矩陣中元素mij的取值為空集?。由定義可見,M(S)=[mij] n×n是一個對稱矩陣,主對角線上的元素是空集。因此只需要考慮上半或者下半三角部分。
每一個分辨矩陣M(S),可以誘導出一個分辨函數fM(S)如:
fM(S)(a1,a2,…,am)=∧{∨mij,1≤j<i≤n,mij≠?}
它實際上是一個具有m元變量a1,a2,…,am,(ai∈C,i=1,2,…,m)的布爾函數,它是(∨mij)的合取,而(∨mij)是矩陣項mij中的各元素的析取。
根據分辨函數與約簡的對應關系,可以得到計算信息系統S約簡Red(S)的方法為:
第一,計算信息系統S的分辨矩陣M(S);
第二,計算分辨矩陣M(S)對應的分辨函數fmij;
第三,計算分辨函數fm(s)的最小析取范式,其中每個析取分量對應一個約簡,即一條規則。
2 在患者費用分類特征集提取中的應用
2.1 提出問題
我們在本系列第一篇文章中通過聚類分析方法,基于住院醫療費用將患者分為7類 [1]。事實上,每一種分類方法背后都對應著可以泛化的分類規則,如果能找到每種分類的患者特征集以及特征集的取值規律,那么在醫療過程中,醫療工作者就可以更快捷地判斷患者分類,從而減少醫療費用控制的盲目性。本文對住院患者分類特征集以及特征集的取值規律進行分析,實質上就是通過粗糙集的屬性約簡和值約簡方法,發現更為簡單易行的患者分類判別規則。
2.2 實例分析
2.2.1 費用分類樣本集
醫療過程有很多常見業務,如護理、專科、手術、使用抗生素、輸血、搶救等,不同類型患者的診療需要重視不同醫療業務的需求和費用控制。本文采用住院患者的診療數據,以住院患者的部分基本屬性以及醫療業務的屬性來構建患者的屬性集。我們在某三甲醫院HIS的2013年全年住院患者診療數據中,分類隨機抽取1 527份住院患者信息進行分類。使用Rossetta 3.0軟件進行統計分析。由于第六類和第七類患者的例數很少,因此,第一至第五類患者每類隨機抽取300例,第六類和第七類患者則僅剔除屬性缺失的病例,抽樣結果為:第一至第五類患者每類各300例,第六類和第七類分別納入16例和11例。
采集患者40種信息,通過數據清洗建立21類非高度相關的信息,包括:性別、年齡、是否轉科、其他診斷總數、手術次數、是否為傳染病、入院途徑、是否由其他醫療機構轉入、實際住院天數、門急診診斷與出院診斷吻合情況、手術1臺次數、手術1級別、手術1切口愈合等級、是否有31天內再住院計劃、是否搶救、是否輸血、是否有并發癥、是否使用抗生素、是否有護理、術后是否入住ICU、是否使用呼吸機,將其作為樣本的條件屬性C。將患者分類作為樣本的決策屬性D。
隨后對21類條件屬性C的連續變量進行離散化。通過觀察確定其中年齡、手術次數、實際住院天數、手術1次數、其他診斷總數共5類屬性為連續變量,逐一進行離散化。年齡分為6類,分別為≤ 14歲,14歲<年齡≤ 45歲,45歲<年齡≤ 60歲,60歲<年齡≤ 75歲,75歲<年齡≤ 75歲,>90歲。手術次數離散化為有、無手術,0取值為無,大于0取值為有。同時需要注意的是,手術費用包含操作費用,而這里的有無手術不包含操作,與系列一文章分類有區別。實際住院天數按照醫療質控的常規要求分為4類,分別為0天<住院天數≤ 10天,10天<住院天數≤ 30天,30天<住院天數≤ 60天,>60天。基于手術1臺次數的數據分布,得到數取值范圍0~2的正整數,即每一種手術1臺次數作為一種分類。其他診斷總數離散化為有、無其他診斷,0取值為無,>0取值為有。
2.2.2 屬性約簡
條件屬性集為C={C1,C2,C3 …… C20,C21},其中C1~C21分別表示性別(C1)、年齡(C2)、是否為傳染病(C3)、入院途徑(C4)、是否由其他醫療機構轉入(C5)、是否轉科(C6)、其他診斷總數(C7)、有無手術(C8)、實際住院天數(C9)、門急診診斷與出院診斷吻合情況(C10)、手術1次數(C11)、手術1級別(C12)、手術1切口愈合等級(C13)、是否有31天內再住院計劃(C14)、是否搶救(C15)、是否輸血(C16)、是否有并發癥(C17)、是否使用抗生素(C18)、是否有護理(C19)、術后是否入住ICU(C20)、是否使用呼吸機(C21)。決策屬性集D={i|i∈{1,2,3,4,5,6,7}},其中每個數字代表該患者樣本的類別屬性。
通過Rossetta 3.0軟件采用Johnson’s算法得到,U/ind(C-{C1,C2,C3,C4,C5,C9,C10,C11,C12,C13,C14})=U/ind(C);則核為core(C)=∩red(C)=ind(C-{C1,C2,C3,C4,C5,C9,C10,C11,C12,C13,C14})={C6,C7,C8,C15,C16,C17,C18,C19,C20,C21}。決策屬性D是關于核{C6,C7,C8,C15,C16,C17,C18,C19,C20,C21}的近似精度為1,說明核是完全的,因此{C6,C7,C8,C15,C16,C17,C18,C19,C20,C21}是最佳屬性約簡。
2.2.3 值約簡
根據前面的屬性約簡結果,利用決策屬性D和核屬性core(C)={C6,C7,C8,C15,C16,C17,C18,C19,C20,C21}進行值約簡,獲得核屬性的取值與決策屬性之間的關系,即分類規則。通過Rossetta 3.0軟件計算,采用Johnson’s算法得到76條判別規則,只需要明確每個患者的核屬性取值就能快速判斷患者類別。
在76條判別規則中,32條規則能定位患者的所有潛在分類,例如規則序號7。如果某患者沒有轉科、有其他診斷、無手術、有搶救、輸過血、沒有并發癥、使用過抗生素、有護理、沒有術后入住ICU、沒有使用過呼吸機,那么該患者的分類應該為第一類或者第二類或者第三類或者第五類或者第六類或者第七類,并且該患者的分類不會是第四類。因此,針對滿足規則序號7所有核屬性取值的患者,可以快速定位患者的所有潛在分類,同時也能判斷患者一定不屬于的分類。
在76條判別規則中,44條規則能定位患者的唯一分類,例如規則序號22。如果某患者沒有轉科、沒有其他診斷、無手術、有搶救、沒有輸過血、沒有并發癥、使用過抗生素、有護理、沒有術后入住ICU、使用過呼吸機,那么該患者的分類應該為第一類。因此,針對滿足規則序號22所有核屬性取值的患者,可以快速定位患者的的唯一分類為第一類。
入組第一類患者分類的規則有19條,其中有3條規則的分類唯一,詳細規則見表 1。規則序號22、27和34能唯一定位患者的分類為第一類。這三條規則共同的屬性取值是患者無手術、無并發癥、術后未入住ICU、有護理。因此在實際工作中,患者的護理服務應受到足夠的重視,在滿足醫療需求的前提下同時要注意控費。其余16條規則指出了患者所有潛在的分類以及一定不屬于的分類。
入組第二類患者分類的規則有57條,其中有25條規則的分類唯一,詳細規則見表 2。第二類患者判別規則最多,并且所有規則中沒有共同的屬性取值,因此患者醫療過程的多樣性提示該類患者應在各個常見醫療過程都獲得重視。


入組第三類患者分類的規則有13條,其中有3條規則的分類唯一,詳細規則見表 3。規則序號20、33和36能唯一分類患者為第三類。這3條規則共同的屬性取值是沒有轉科、沒有手術、沒有并發癥、沒有術后入住ICU、沒有使用呼吸機。3條規則中,10項屬性有5項屬性取值相同,這類患者的醫療過程應重視5項常見醫療業務,包括其他診斷的治療、搶救、輸血、抗生素使用、護理。

入組第四類患者分類的規則有13條,其中有3條規則的分類唯一,詳細規則見表 4。規則序號25、30和32能唯一定位患者的分類為第四類。這3條規則反應了該類患者無手術、無輸血、無并發癥、未使用抗生素、沒有術后入住ICU、沒有使用呼吸機。其中與本系列文一中對第四類的差異在于,文一是按費用統計,其中操作費用被納入手術費用,而本文是按手術次數來統計。這類患者的醫療業務相對單純,需要著重關注轉科、其他診斷治療、搶救、護理等醫療過程。

入組第五類患者分類的規則有27條,其中有5條規則的分類唯一,詳細規則見表 5。這5條規則中該類患者均無并發癥,也沒有術后入住ICU。該類患者的判別首先應滿足無并發癥和沒有術后入住ICU,同時該類患者的醫療過程中除這兩項以外的屬性都應被重視。

入組第六類患者分類的規則有11條,其中有3條規則的分類唯一,詳細規則見表 6。這3條規則反應了該類患者無轉科、有其他診斷、有輸血、使用過抗生素。這類患者的醫療過程需要受到關注的是其他診斷的治療、輸血、抗生素使用。

入組第七類患者分類的規則有9條。其中有2條規則的分類唯一,詳細規則見表 7。不難看出,這兩條規則中該類患者均無轉科、有其他診斷、有手術、有輸血、使用過抗生素。除了這5項共同的屬性以外,針對沒有搶救的患者,都有并發癥治療和護理業務;針對有搶救的患者,都有術后入住ICU和使用呼吸機的醫療業務。

綜上,每類患者的規則條數,結果見表 8。根據每類患者的醫療業務特點,患者的分類在事中就能進行判斷。可以看出,規則條數最多的是第二類,最少的是第七類;分類唯一的規則條數最多的依然是第二類,最少的是第七類。這是由于納入分析的第六類和第七類患者例數很少,僅有16例和11例。但第一至第五類納入分析的患者例數相同,而生成的規則條數存在差異,是由于每類患者數據的表達能力以及每類患者的多樣性程度不同造成的。

3 討論
本文研究所涉及的21項屬性,是將患者原始數據離散化得到。對數據進行離散化一方面是由于粗糙集方法自身不能直接處理連續型變量,另一方面也能大大減少模型的自由度,提高模型的計算能力和解釋能力。但離散化不免會造成部分信息的損失,同一數據點上的差異會被掩蓋。例如,本文中的屬性“是否手術”一項,只能剔除手術操作,且將手術次數大于0次(無論1次或多次)都定義屬性值為是。本文主要是為了確定需要在什么管理環節控費,如手術環節、護理環節、抗生素使用環節等。因此,文中的屬性“是否使用抗生素”,是通過查看患者是否使用過一線、二線、三線抗生素得到,使用過任何一類抗生素都被視為使用過抗生素。“是否手術”、“是否有護理”也是基于此原則進行了簡單化處理。我們認為,未來還可以基于信息增益優化離散方法,形成信息熵更高的分析數據。
本文通過粗糙集方法對代表患者醫療過程的屬性進行約簡,提出76條快速判別患者分類的規則,同時也指出了每一類患者在醫療過程中需要注意控制費用的環節。本文將粗糙集運用于探索患者分類的事中速判規則,此方法的特點在于:① 屬性約簡的近似精度高,生成了患者的完備的約簡屬性,提高了分類規則的精度;② 值約簡將樣本的覆蓋轉化為決策類的覆蓋,提高了分類規則的解釋能力,從而為患者分類速判提供了一條有效途徑,也提高了分類規則的應用價值。
本文通過值約簡生成的判別規則分為兩類,一類可以確定患者的唯一分類,一類只能確定患者的所有潛在分類。第二類規則的出現說明還存在著未被包含于本研究但是對患者分類起作用的屬性。如果患者屬性能涵蓋所有醫療過程中的業務,那么所獲取的核屬性對每種分類的表達能力將更加全面。本文受限于數據來源的業務系統和數據庫,僅對21項患者屬性進行分析。因此,未來還可以更廣泛地收集患者屬性,采用本文所提供的方法,形成一套基于某醫院或者某區域患者的分類規則集。