魏汝哲,王劍平,付 萍,張 果,歐陽鑫,楊曉洪,車國霖
(1. 昆明理工大學 信息工程與自動化學院,云南 昆明 650500;2. 昆明醫科大第二附屬醫院 風濕免疫科,云南 昆明 650500)
基于PCA挖掘的SLE疾病的數據相關性研究
魏汝哲1,王劍平1,付 萍2,張 果1,歐陽鑫1,楊曉洪1,車國霖1
(1. 昆明理工大學 信息工程與自動化學院,云南 昆明 650500;2. 昆明醫科大第二附屬醫院 風濕免疫科,云南 昆明 650500)
本文針對 SLE患者并發繼發性腎炎發病原因復雜多樣、影響因素眾多的問題,提出了一種主成分分析降維算法,用于分析這些數據,找出最相關指標及相關規律。運用 python軟件運行主成分分析算法的程序,降維得出影響SLE患者并發繼發性腎炎主要指標。結果表明,利用主成分分析算法可以找出影響SLE患者并發繼發性腎炎主要指標,為診治提供科學依據。
SLE患者并發繼發性腎炎,主成分分析(pca),降維
隨著信息時代的到來, 數據挖掘被越來越多地應用于臨床實踐。利用信息技術,醫療記錄和隨訪數據可以更有效地被存儲和提取。同時,從醫學數據中尋找潛在的關系或規律,從而獲得有效的對病人進行診斷、治療的知識;增加對疾病的預測準確性,在早期發現疾病,提高治愈率。
主成分分析在醫療方面主要應用于中藥的成分吸收的藥效,任衛高等在主成分分析用于清肺消痤凝膠體外經皮滲透的研究[1]中,主成分分析法可以較全面的反應接受液中藥物的信息,以此建立的評價方法可準確的優選出透皮吸收促進劑,并為后續中藥復方經皮給藥提供了可借鑒的研究思路。張衛國等在基于PCA多特征融合的肝臟B超臨床醫學圖像識別研究與實現研究[2]中,針對任何單一特征都不能完整地表示醫學圖像的信息,提取醫學圖像的顏色特征、紋理特征以及區域形狀特征,更多地保留圖像的各種信息。并對提取的特征利用主成分分析(PCA)方法進行特征級的數據融合。
系統性紅斑狼瘡(Systemic Lupus Erythematosus,SLE)是一種臨床表現涉及多種器官、多個系統受損的慢性系統性自身性免疫性疾病,其具有臨床表現復雜多樣,輕重緩急不一,免疫調節功能紊亂,血清中含有以抗核抗體為主的多種致病性自身抗體,病程多呈現出病情緩解和急性發作交替等特點[3-4]。SLE是一種育齡期女性好發、多臟器累及的自身免疫性疾病。狼瘡性腎炎(LN)是指在SLE的基礎上有腎臟疾病臨床表現和(或)伴有腎功能異常,或僅在腎活檢時發現有腎小球腎炎病變的系統性紅斑狼瘡患者。LN實際上是一種腎病,即病人的腎臟器官發生的病變,但是當這種腎病和SLE結合在一起的時候就變成了一種非常難以診斷同時又難以治療的繼發性疾病[5-7]。LN是SLE繼發性疾病中發病率最高的,同時由于其發病原因復雜多樣、影響因素眾多而變得非常難以確診。因此,尋找影響 LN的主要指標,對 LN疾病的診斷具有非常重要的醫學意義。
PCA是一種掌握主要矛盾的統計分析方法 ,能夠通過簡化數據(即用較少的綜合指標代替原來具有一定相關性的較多的指標)來反映原來多變量的大部分信息。本文從昆明醫學院第二附屬醫院風濕免疫科近10年關于系統性紅斑狼瘡的病例中,提取出了758個已確診患有SLE并發腎炎的病例。由于該病是SLE繼發性疾病中發病率最高的,同時由于其發病原因復雜多樣、影響因素眾多而變得非常難以醫治,而且每個病人的整理病歷有280個指標,醫生很難從中挑選出比較重要的指標對病人進行醫治,對病人的治療造成很大的困難。
本文通過運用 pca降維方法,對病人的指標數據進行降維,通過降維來尋找影響LN的主要指標,找出的指標來對醫生提供幫助制定治療方案。
主成分分析(Principal Component Analysis, PCA)是一種常用的數據分析方法。PCA通過線性變換將原始數據變換為一組各維度線性無關的表示,可用于提取數據的主要特征分量,常用于高維數據的降維。在PCA中,數據從原來的坐標系轉換到了新的坐標系,新坐標系的選擇是由數據本身決定的。第一個新坐標軸選擇的是原始數據中方差最大的方向,第二個新坐標軸的選擇和第一個新坐標軸正交而且具有最大方差的方向。該過程一直重復,重復次數為原始數據中特征的數目。我們會發現,大部分方差都包含在最前面的幾個新坐標軸中。因此我們可以忽略余下的坐標軸,即對數據進行了降維處理。
設F1表示原變量的第一個線性組合所形成的主成分指標,即由數學知識可知,每一個主成分所提取的信息量可用其方差來度量,其方差 V ar(F1) 越大,表示 F1包含的信息越多。常常希望第一主成分 F1所含的信息量最大,因此在所有的線性組合中選取 F1應該是的所有線性組合中方差最大的,故稱 F1為第一主成分。如果第一主成分不足以代表原來p個指標的信息,再考慮選取第二個主成分指標 F2,為有效地反應原信息, F1已有的信息就不需要再出現在 F2中,即 F2是與 F1不相關的 X1, X2,… ,Xp的所有線性組合中方差最大的,故稱 F2為第二主成分,依此類推構造出的為原變量指標第一、第二、…、第m個主成分。

根據以上分析得知:
(1) Fi與 Fj互不相關,即 C ov( Fi, Fj) = 0
本文實驗中所用的計算機是 Intel (R) Pentium(R) CPU G2020 @ 2.90 GHz,8 GB內存,500 GB硬盤,Windows操作系統。在python環境下實現實驗。
本文從昆明醫學院第二附屬醫院風濕免疫科近10年關于系統性紅斑狼瘡的病例中,提取出758個已確診患有SLE并發腎炎的病例。每個病人的整理病歷有280個指標,但是該數據包含有很多的缺失值。處理數據中的缺失值,我們有一些可選的做法:1.使用可用特征的均值來填補缺失值;2.使用特殊值來填補缺失值,如-1;3.忽略有缺失值的樣本。在280個指標里幾乎所有的樣本都有缺失值,因此去除不完整的樣本不太現實。在后面的算法中要進行去均值化,所以也沒有采取特征的均值來填補缺失值。這里選擇實數0來替換所有的缺失值。
本文在實驗仿真中使用了 python第三方庫numpy,由于每組數據數值差異較大,有可能影響預測效果,因此需要對數據進行歸一化處理,使每組數據的參數都在 0~1 之間。

用代碼實現pca降維的流程圖如下:

圖1 pca降維流程圖Fig.1 Pca dimension reduction flow chart
Python代碼如下:
def loadDataSet(fileName, delim=' '):
fr = open(fileName)
stringArr = [line.strip().split(delim) for line in fr.readlines()]
datArr = [map(float,line) for line in stringArr]
return mat(datArr)
def pca(dataMat, topNfeat=9999999):
meanVals = mean(dataMat, axis=0)
meanRemoved = dataMat - meanVals
covMat = cov(meanRemoved, rowvar=0)
eigVals,eigVects = linalg.eig(mat(covMat))
eigValInd = argsort(eigVals)
eigValInd = eigValInd[:-(topNfeat+1):-1]
redEigVects = eigVects[:,eigValInd1]
lowDDataMat = meanRemoved * redEigVects
reconMat = (lowDDataMat * redEigVects.T)+ meanVals
return lowDDataMat, reconMat,eigVals,eigValInd
loadDataSet()函數是用來將數據轉換為 pca()函數可以操作的數據集。
pca()函數有兩個參數:第一個參數是調用loadDataSet()后得到的數據集,第二個參數topNfeat則是一個可選參數,即應用的N個特征值。如果不指定 topNfeat的值,那么函數將會返回前 9999999個特征值,或者原始數據中的全部的特征。這里我們根據和醫院的交流選取前5個特征。
首先計算并減去原始數據集的平均值,mean()函數求平均值。然后通過cov()函數來計算協方差矩陣,Linalg.eig()函數計算其特征值和特征向量,接著利用啊如果 argsort()函數對特征值進行從小到大的排序。根據特征值排序結果的逆序就可以得到topNfeat個最大的特征向量。這些特征向量將構成后面對數據進行轉換的矩陣,該矩陣則利用N個特征將原始數據轉換到新空間中。最后,原始數據被重構后返回用于調試,同時降維之后的數據集也被返回了。
本文是通過降維來尋找影響 LN的主要指標,通過 pca降維之后數據轉換到了新的空間,所以用來構建新的空間的topNfeat個最大的特征向量是影響LN的主要指標,topNfeat個最大的特征向量也就是topNfeat個最大的特征值。
pca()函數最后輸出的 eigValInd就是 topNfeat個最大的特征值的下標,通過數據可視化,圖1就是最相關的 5個理化指標,這 5個指標分別是dsDNA 抗體、clq 抗體[8-9]、ANCA[10]、SM 抗體[11-12]、ALB。

圖2 數據挖掘結果Fig.2 Data mining results
通過實驗得到dsDNA抗體、SM抗體、clq抗體、ANCA抗體、ALB這5個影響LN的主要指標,根據實驗結果可以幫助醫生得到最佳的治療方案。
本文通過運用 pca降維方法,對病人的指標數據進行降維,通過降維來尋找影響LN的主要指標,找出的指標來對醫生提供幫助制定治療方案。現將本文的主要內容總結如下:
(1)本文對來自醫院的病例資料進行數據預處理,包括數據清洗、數據插補、數據變換,為下一步的研究做準備工作;
(2)基于預處理后的數據,通過python運算pca算法,對原始數據降維,獲得影響LN的主要 指標。
(3)將運行算法獲得的結果與醫學文獻所得結果相對比,驗證了算法的正確,也為治療 LN提供更加科學的依據。
[1] 任衛高, 彭琳秀, 雷飛飛, 等. 主成分分析用于清肺消痤凝膠體外經皮滲透的研究[J]. 中國中藥雜志. 2015, 40(2):231-235.
[2] 張衛國, 王桂花. 基于PCA多特征融合的肝臟B超臨床醫學圖像識別研究與實現[J]. 計算機應用與軟件. 2014, (4):239-243.
[3] Hochberg MC.Updating the American College of Rheum atology revised criteria for the classification of systemic lupus erythem atosus[J]. Arthritis Rheum, 1997, 40(9): 1725.
[4] Kozyrev SV, Abelson AK, Wojcik J, et al. Functional variants in the B-cell gene BANK1 are associated with systemic lupus erythematosus[J]. Nat Genet, 2008, 40(2): 211-216.
[5] Biesecker G, Katz S, Koffler D. Renal localization of the membrane attack complex in systemic lupus erythematosus nephritis[J]. Journal of Experimental Medicine, 1982, 154(6):1779-1794.
[6] HOUMAN MH, SMITI- KHANFIR M, BEN GHORBELL I,et al.Sysmetic lupus erythematosus in Tunisia: Demographic and clinical analysis of 100 patients[J]. Lupus, 2004, 13(3):204-211.
[7] RESENDE AL, TITAN SM, BARROS RT, et al. Worse renal outcome of lupus nephritis in male patients: a case- control study[J]. Lupus, 2011, 20(6): 561- 567.
[8] Botto M, Walport MJ. C1q, autoimmunity and apotosis[J].Immunobiol, 2002, 205: 395-406.
[9] Braun A, Sis J, Max R, et al. Anti-chromatin and anti-C1q antibodies in systemic lupus erythematosus compared to other systemic autoimmune diseases[J]. Scand J Rheumatol,2007, 36: 291-298.
[10] 劉軍生, 肖湘成, 陳立平, 等. 狼瘡腎炎抗中性粒細胞胞漿抗體與臨床表現的相關性研究[J]. 醫學臨床研究, 2006,23(10): 1606-1610.
[11] MANSON JJ, MA A, ROGERS P, MASON LJ, et al.Relationship between anti-dsDNA, anti- nucleosome and anti- alpha-actinin antibodies and markers of renal disease in patients with lupus nephritis: a prospective longitudinal study[J]. Arthritis Res Ther, 2009, 11(5): 154.
[12] SUH-LAILAM BB, CHIARO TR, DAVIS K W, et al. Evaluation of a high avidity anti- dsDNA IgG enzyme- linked immunosorbent assay for the diagnosis of systemic lupus erythematosus[J]. Int J Clin Exp Pathol, 2011, 4(8): 748-754.
Correlation of PCA-based Data Mining SLE Disease
WEI Ru-zhe, WANG Jian-ping, FU Ping, ZHANG Guo
(Kunming University of Science and Technology, Kunming 650500, China; Intelligent Measurement and Control Institute, Kunming 650500)
In this paper, we propose a principal component analysis reduction algorithm to solve the problem of complex and diverse influencing factors of SLE patients with secondary nephritis. The program of running the principal component analysis algorithm using python software was used to reduce the influence of SLE Patients with secondary primary symptoms of secondary nephritis. The results show that the principal component analysis algorithm can find out the main indexes that affect the secondary nephritis in SLE patients, and provide scientific basis for diagnosis and treatment.
SLE patients with secondary nephritis; Principal component analysis; Dimensionality reduction
TP181
A
10.3969/j.issn.1003-6970.2017.12.018
本文著錄格式:魏汝哲,王劍平,付萍,等. 基于PCA挖掘的SLE疾病的數據相關性研究[J]. 軟件,2017,38(12):95-97
國家自然科學基金(61364008);云南省應用基礎研究重點項目(2014FA029);云南省教育廳重點基金項目(2013Z127);昆明理工大學人才培養項目(14118596);昆明理工大學復雜工業控制學科方向團隊建設計劃
魏汝哲(1992-),男,山東聊城人,碩士,主要研究方向為醫療數據挖掘,檢測技術。單位:昆明理工大學;張果,男,研究生導師,昆明理工大學;歐陽鑫,男,研究生導師,昆明理工大學;楊曉洪,女,研究生導師,昆明理工大學;車國霖,男,研究生導師,昆明理工大學。
王劍平,男,研究生導師,昆明理工大學;付萍,女,研究生導師,昆明醫科大學。