小派看數據(五):如何用邏輯回歸模型預測宮頸癌的致病因素

在我們的生活、工作中,常常會遇到這樣的多重變數分析問題:

當選擇理財產品時,我們需要在年化收益率、買家人數、交易次數、銀行貨幣政策等錯綜複雜的信息中,篩選出與高收益、低風險相關度最高的因素,並依此作出購買選擇,帶來最大的財富收益。

當我們處理某一疾病的統計數據,會綜合分析年齡、血壓、抽煙習慣、某病毒感染等諸多種可能與患病有相關性的因素,從而驗證患病誘因,預測罹患這一疾病的高危人群,並尋找有效的預防方法。

在這些涉及n個數據變數的問題中,我們往往需要了解每一個變數對結果的影響程度,以此做出儘可能準確的判斷。其實我們通過選用正確的模型,這一類複雜的數據分析也可以輕鬆地完成。小派今天將帶你了解邏輯回歸模型,展示如何用AtomPai實現智能化的複雜數據分析。

邏輯回歸

邏輯回歸(logistic regression)雖然名字裡面有「回歸」二字,卻是機器學習中一種最常用的分類方法, 常用於估計某種事物存在或者發生的可能性。

作為對比,請大家回憶一下小派早前介紹的回歸問題(參看:如何用高斯過程回歸模型做預測)。其實,我們每個人在中學時代就已經接觸過回歸的思想,比如用最小二乘法求解線性回歸方程來尋找一條直線。我們希望這條直線儘可能接近二維平面上給定的點集(x1, y1),(x2, y2)...(xn, yn)。在得到直線方程後,遇到新的x,就可以通過這條直線找到對應的y,也就完成了一次預測。

在一個回歸問題中, 遇到的y值往往是連續的。而分類問題是判斷一組數據(x)所屬的類別。所以在這裡,可以認為得到的「y」值是離散的——要麼屬於這一類,要麼不屬於這一類,邊界明確,不存在中間情況。邏輯回歸可以處理二分類問題,也可以處理多分類問題(其實多分類問題都可以轉化為多個二分類問題,這個大家想想為什麼)。今天,我們就以基本的二分類問題為例繼續了解一下邏輯回歸。

作為分類工具,邏輯回歸的核心利器是logistic function——邏輯函數(或稱為sigmoid function——S函數),函數形式為:

其中e即是自然常數。 當處理輸入的x的時候, 整個邏輯回歸的函數形式表現為:

由下圖看出,S函數展現出一個完美的「S」形(圖1)。它將x平滑地映射到了0和1之間。在處理分類問題的時候,我們通常會選定0到1之間的一個數a(比如a=0.5),對於使得 h(x) > a 的x,我們歸為一類;對於使得 h(x) < a 的x,我們歸為另一類。找到合適的權重W,我們就可以順利地對各種數據進行分類了。而這個「S」形函數的光滑性也就保證了我們可以方便地找到合適的W 。

邏輯回歸的作用

邏輯回歸的優點在機器學習中非常明顯: 它容易使用、易於解釋,因此可以適用於多種類型的自變數,是一項常用於預測二分類結果(binary outcome)的統計技術,被廣泛應用於醫學、生物統計學、臨床、經濟學等諸多領域。

在醫學領域,邏輯回歸模型作為一種概率模型,通過用影響結果發生的因素為自變數,建立回歸方程。由於邏輯回歸的參數意義清楚,即得到某一因素的回歸係數(即公式2裡面的W)後,可以很快判斷出它是否與某一疾病高度相關,或者根據模型預測出不同自變數對引發某種疾病的可能性大小,因此非常適合於流行病學研究。例如,當我們想研究與肝炎相關的危險因素,便可以選擇兩組人群,一組是肝炎患者,一組是健康人群,兩類人群會出現不同的基本特徵和生活方式。其中,年齡、性別、飲食習慣、抽煙習慣、有無螺桿菌感染等等自變數可能會影響是否患肝炎這個因變數。通過自變數及其權重的判定,我們就可以預測出與肝炎相關的危險因素了。

如果你手裡正好有適用於邏輯回歸的測試數據,可以跳過編寫代碼、實現模型這一步,直接通過AtomPai平台預載的數據分析模型,在幾分鐘內完成一次完美的邏輯回歸數據分析。

案例應用

小派本次帶來的是一例邏輯回歸模型在宮頸癌診斷研究中的應用。

據世界衛生組織報告,宮頸癌作為危害女性健康的主要惡性腫瘤之一,是欠發達地區女性致死的第二大癌症【1】。中國醫學科學院腫瘤醫院全國腫瘤登記中心數據統計顯示,2003~2007年中國女性宮頸癌發病率為9.62/10萬 ,在癌症發病構成中排列第7位;同期宮頸癌死亡率為2.54/10萬,在癌症死亡原因中排列第14位【2】。宮頸癌對女性健康產生了巨大威脅,而研究表明,宮頸癌如能早期發現,則治療效果會好【3】。

宮頸癌的誘發,與人類乳頭狀瘤病毒(HPV)感染相關。那麼個人生活習慣中是否也有導致患病的誘因呢?接下來小派就帶大家從實際數據中驗證與宮頸癌患病相關的因素。

在本次案例中,我們收集了委內瑞拉「Hospital Universitario de Caracas」醫院的統計數據【4】。在497例統計數據中,我們選取了一些可能致病的危險因素進行分析,其中包括女性的年齡、性伴侶人數、初次性行為年齡、抽煙習慣、是否攜帶人類乳頭瘤病毒(HPV)等30個因素。數據的最後四列,Hinselmann, Schiller, Citology,Biopsy,展示採用不同診斷方式的結果。由於結果存在誤診的可能性,所以小派組合了新的診斷策略,即只有當兩種及以上的診斷結果均為 1 時,認為該女性是否確診為宮頸癌患者,否則認為未患病(0)。

登錄AtomPai,點擊「平台模型/數據」標籤,可以找到「邏輯回歸」這一模型並進入詳情頁面。下一步,複製模型到自己的工作台,然後選取「訓練」來導入訓練數據,確定訓練參數(因為數據集存在不平衡問題,即病患與非病患的數量存在較大差異,我們需要在class weight參數中勾選 「balanced」選項,由演算法自動彌補這一問題),再點擊提交等待結果即可。

後台會將訓練集自動拆分成兩份,大部分數據用於真實的訓練過程,另外一小部分用於驗證預測效果。幾秒等待後得出的訓練結果如下表所示,我們可以看到,此次使用邏輯回歸訓練出來的模型在驗證集上的評分非常高。

當然, 鑒於前面提到的該非平衡樣本的問題,如果僅計算這一預測的總體的成功率,難免會有所偏差。針對這種情況,我們採用混淆矩陣(confusion matrix)來更細緻地統計預測的結果。

通過在驗證集上產生的混淆矩陣的樣表,我們可以看到:在真實值為「0」的情況下,165個數據中有28個數據預測值誤判為「1」,即這些數據樣本被錯誤預測為患病;而在真實值為「1」的情況下誤診率很高,22個數據僅有5個被判斷準確。

同時,通過可視化我們可以直觀地看到這個邏輯回歸模型在驗證集上的表現。我們相信,通過更細緻的參數調整,可以得到更好的預測結果。

我們還可以抽取1個特徵值中的任一因素做分析,查看該因素與發病之間的關係,並通過數據可視化來做直觀地展示。圖3展示了年齡、初次性交年齡與是否發病之間的關係。我們看到數據點集分布並沒有明顯規律,可以初步判定這兩個因素與患宮頸癌與否關聯度較低。

為了進一步系統驗證各項因素與發病的直接相關性,小派啟用了AtomPai平台的卡方檢測功能。我們選取了其中兩個標誌性因素(是否抽煙和是否感染HPV)。我們能夠清晰地從分數中判斷某因素與發病的關係(表5)。

表中數據顯示,抽煙與否和發病與否關聯相應較小;另一方面,是否感染HPV病毒與罹患宮頸癌的關聯非常密切。 這一分析結果,與HPV病毒就是宮頸癌主要誘因的醫學結論相吻合,也側面印證了HPV疫苗在宮頸癌預防工作中的重大意義。值得高興的是,在中國大陸今年已有 HPV疫苗獲批【1】、上市【2】,廣大中國女性已經可以有效地預防這一「紅顏殺手」。同時,我們還可以用同樣方法繼續查看其它生活習慣、地區差異因素與罹患宮頸癌與否關聯度的高低,並通過進一步的數據分析與臨床研究進行驗證。

通過小派的展示,相信大家已經基本了解了邏輯回歸在數據分析中的作用。機器的輔助分析降低了我們數據誤判的風險,更是為我們找出了與疾病相關性最高的因素。而AtomPai將這一分析、建模過程簡化至幾分鐘的操作就可以完成,可謂四兩撥千斤。

我們也看到,在很多的疾病相關統計中,由於樣本數量龐大,確診患者數據量較小,所以會存在一定的數據不平衡性。在實踐操作中,有多種方法處理數據不平衡的問題,我們以後還會逐一為大家介紹,讓預測值更加精準,讓機器學習更好地為數據分析服務。

圖片來源:

1、en.wikipedia.org/wiki/L

數據來源:

1、zhuanlan.zhihu.com/p/29

2、2003~2007年中國宮頸癌發病與死亡分析-【維普網】-倉儲式在線作品出版平台-www.cqvip.com

3、who.int/reproductivehea

4、Cervical cancer (Risk Factors) Data Set

參考資料:

1、南方周末 - 四價宮頸癌疫苗獲批,中國女性該如何選擇

2、m.21jingji.com/article/

3、邏輯回歸

4、機器學習演算法與Python實踐之(七)邏輯回歸(Logistic Regress


推薦閱讀:

數據挖掘和網路爬蟲有什麼關聯區別?
視角觀察:四個話題讀懂大數據醫療

TAG:人工智慧 | 數據挖掘 | 醫療 |