邏輯(Logistic)回歸分析-補充

2021-02-13 臨床流行病學和循證醫學

邏輯回歸(Logistic Regression)是在臨床研究中應用最為廣泛的統計方法之一,很多研究會在單因素分析的基礎上,進行一定的多因素分析(如線性回歸或邏輯回歸)。在本微信公眾號中已經有邏輯回歸的SPSS操作介紹了,詳見第33期,(加入微信公眾號"bysyrcce",回復"33"可查看)這裡我僅對其作一補充。

邏輯回歸是分類資料統計分析的一種重要方法,是一種研究多水平(包括兩水平)的反應變量與其影響因子(又稱自變量)間關係的回歸分析。

這裡簡單解釋一下幾個概念:1、分類資料是指所得數據是分類的,不完全連續的;可分為有序分類和無序分類,有序分類如疾病的預後(未改善、改善和痊癒),無序分類如研究對象的職業(工人、農民、知識分子等)。2、反應變量就是我們常說的因變量,顧名思義就是因別人的變化而變化的量,比如研究某病預後的影響因素,這裡的預後就是因變量。3、自變量(影響因子),通俗地說就是不因別人變化而自己變化的量,比如上例中某病預後的影響因素就是自變量,如病人的年齡,疾病分期分型,處理方式等等。下面我們針對邏輯回歸的常見問題作一討論。

1、為什麼會有非條件和條件邏輯回歸?

按照研究設計的不同,可將邏輯回歸分為成組資料的非條件邏輯回歸和配對資料的條件邏輯回歸兩類。成組資料是指組與組之間是相互獨立的,沒有針對每一個病例去尋找他特定的對照,它是相對於配對資料而言的。配對資料是指研究設計之初,根據潛在的影響因素如性別、年齡等將病例與對照配成對子,可以是一個病例配一個對照,也可以是一個病例配n個對照。對於成組資料,採用的是非條件邏輯回歸;對與配對資料,採用的是條件邏輯回歸,兩者之間有著明顯的區別。

按照因變量分類數的多少,可將非條件邏輯回歸分為二分類邏輯回歸和多分類邏輯回歸兩類,二分類是指因變量只有兩個分類(如是否發生出血),多分類是指因變量有三個及以上分類(如按照出血量的不同,分為輕度、中度和重度出血)。

在實際工作中我們最為常用的還是「二分類非條件邏輯回歸」,即因變量是兩個分類的,研究設計不是病例與對照配對設計的,而是常規的成組設計。

2、邏輯回歸需要多大的樣本量?

在實際工作中,經常遇到僅有20-30個病人的資料去做邏輯回歸的,這樣回歸結果可能存在樣本量不足的問題。那麼在邏輯回歸的計算中到底需要多少樣本量呢?

對於邏輯回歸樣本量的確定,有一些計算公式和工具表可供參考。一般認為非條件邏輯回歸樣本容量應為自變量個數的5-10倍,即如果你納入5個自變量那麼樣本的總例數應該大於25-50人。較為嚴格的要求是,在因變量的各個水平中,例數最少的水平的樣本數也應該是自變量個數的5-10倍。比如有200個研究對象,其中患病40個,未患病160個,想研究患病的影響因素,那麼邏輯回歸可納入的自變量個數為40/10=4個。也有教材指出,經驗上非條件邏輯回歸中各組的人數應該至少有30-50例(摘自《醫學統計學》第三版p293,人民衛生出版社,主編孫振球)。

對於條件邏輯回歸而言,配對組數不應<50組,且總體的樣本量應該大於納入方程的自變量個數的20倍以上。

邏輯回歸的所有統計推斷都是建立在大樣本基礎之上的,因此要求有足夠的樣本量來支持其回歸結果的可信度。

3、如何判斷邏輯回歸模型擬合的好壞?

通常我們在分析自己的數據時,會遇到不同的分析方法會跑出不同的邏輯回歸結果,那麼哪個結果更好呢?或者是在多大的程度上,我們能夠說明自己在邏輯回歸中尋找出的影響因素是對的呢?這就需要我們對邏輯回歸模型擬合的效果進行一定的判斷。

常見的邏輯回歸模型效果判斷指標有對數似然值、偽決定係數、模型預測的正確率和ROC曲線。具體如下:(1)對數似然值,邏輯回歸是通過極大似然法求解的,極大似然取值在0-1之間,可利用-2倍的對數似然值來表示模型的擬合好壞,其值越小越接近於0,說明模型擬合效果越好;(2)偽決定係數,跟線性回歸一樣,邏輯回歸也存在決定係數,稱為偽決定係數。它是由似然函數計算而來的,它的值越接近於1說明回歸擬合的越好。在SPSS的結果中存在兩種偽決定係數,分別是1989年Cox和Snell提出的偽決定係數(取值範圍為0≤R2<1)和1991年Nagelkerke提出的最大調整決定係數(取值範圍為0≤R2≤1),兩者選一即可。(3)模型預測的正確率,顯然對因變量結局預測的準確程度也可以反應模型的效果。SPSS在Logistic回歸過程中會給出模型預測的列聯表,這也是模型擬合好壞的判斷依據之一。同時在SPSS中用戶還可以自定義模型預測的概率標準(默認是0.5)。(4)ROC曲線,在獲得每一個研究對象的預測概率之後,我們可以通過製作ROC曲線來判斷一下,取不同的預測概率值時,預測的準確率會有何種變化。

4、用SPSS做邏輯回歸分析的注意事項

(1)自變量和因變量的變量名最好都是英文的。在做邏輯回歸時,如果自變量或因變量的變量名中含有中文字符或括號可能會導致邏輯回歸結果非常迥異,而且錯誤的莫名其妙,且不同版本的SPSS出錯的形式還不盡相同。建議在所有的統計分析中,變量名均需要修改為英文格式。

(2)當自變量中有多分類名義變量時,應該將其設為啞變量進行處理。

(3) 如果某連續性自變量可以將因變量的兩組完全分開時(如某自變量在病例組中的的最小值大於該自變量在對照組中的最大值時),該自變量不應該被納入回歸方程。

(4)如果某分類自變量在因變量的某一組中取值完全一致時(如在病例組中某自變量取值均為1,而在對照組中自變量的取值有0也有1),該自變量不應該被納入回歸方程,否則該自變量的p值特別大,且不會被剔出方程,OR值接近0或無窮大。

相關焦點

  • Logistic回歸分析之二元Logistic回歸
    Logistic回歸分析用於研究X對Y的影響,並且對X的數據類型沒有要求,X可以為定類數據,也可以為定量數據,但要求Y必須為定類數據,並且根據Y的選項數,使用相應的數據分析方法。本次內容將針對二元logistic(logit)回歸進行說明,後續兩篇文章將分別講解有序logistic(logit)和多分類logistic(logit)回歸。
  • Logistic邏輯回歸原理及實現
    我們用一條直線對這些點進行擬合,該線陳偉最佳擬合直線,這個擬合過程成為回歸。利用logistic回歸進行分類的主要思想是根據現有數據對分類邊界線建立回歸公式,依次進行分類。邏輯回歸的一般流程1.收集數據:採用任何方法收集數據2.準備數據:由於需要進行距離計算,因此需要數據類型為數值型,另外結構化的數據格式則最佳3.分析數據:採用任一方法對數據進行分析
  • 【理論+案例實戰】Python數據分析之邏輯回歸(logistic regression)
    -item)))    return ax = numpy.arange(-10, 10, 0.1)y = sigmoid(x)plt.plot(x,y)plt.yticks([0.0, 0.5, 1.0])plt.axhline(y=0.5, ls='dotted', color='k')plt.show()
  • SPSS統計分析案例:多項logistic回歸分析
    小兵博客幾年前分享的二項logistic回歸分析案例非常受歡迎,在實際應用中,可能還會碰到因變量是多個分類的情況,並且不包含排序信息。比如視力分為輕度、中度、重度三個水平,此時如果想考察影響視力評價的指標,常用的二項logistic回歸已經無法勝任。幸好,SPSS軟體為我們提供了多項logistic回歸。
  • 邏輯回歸(Logistic Regression) 模型簡介
    本文作為美團機器學習InAction系列中的一篇,主要關注邏輯回歸算法的數學模型和參數求解方法,最後也會簡單討論下邏輯回歸和貝葉斯分類的關係,以及在多分類問題上的推廣。模型sigmoid 函數在介紹邏輯回歸模型之前,我們先引入sigmoid函數,其數學形式是:
  • Logistic回歸—多重共線性
    對篩選變量的影響: 在病因學研究分析中 , logistic回歸的建模一般採用逐個篩選自變量的方法,這種方法得出的納入回歸子集內的解釋變量存在多重共線性即解釋變量非正交的條件下可以看成是影響因素,但未包含在回歸子集內的解釋變量卻不能說不具有統計學意義。
  • Logistic 回歸101
    Logistc 回歸    今天,我們首先聊一聊最簡單的分類問題——二分類問題。二分類問題並不是要看看誰比較「二」, 純粹只是把數據分為兩類。    既然我們上個系列詳細地聊了聊線性回歸模型,我們首先來聊一聊最重要的線性二分類器之一—— logistic 回歸模型。
  • 一文詳述:觀察性研究中的logistic回歸分析思路
    本文內容來自《中華流行病學雜誌》2019年第40卷第8期,作者為馮國雙教授,原題目為《觀察性研究中的logistic回歸分析思路》。將這篇文章分享給醫咖會的夥伴們,希望大家能從領域大咖的見解中有所收穫,指導醫學研究之路。
  • Logistic(邏輯)回歸分析及癌症分類預測案例
    Logistic(邏輯)回歸分析一、邏輯回歸數學背景1、邏輯回歸(Logistic回歸)分析概要如果現在想對某件事情發生的概率進行預估,比如一個非醫用口罩,在疫情期間是否有人願意買?這裡的Y變量是「是否願意購買」,屬於分類數據,所以不能使用回歸分析。如果Y為類別性(定性)數據,研究影響關係,正確做法是選擇Logistic回歸分析。
  • 統計·logistic回歸
    儘管此分析不需要因變量和自變量線性相關,但它要求自變量與對數比值線性相關。自變量間不存在多重共線性。即自變量彼此之間的相關度不應過高。logistic回歸的類型因變量:一定是分類變量二分類:比如某種疾病患病與否,治療結果是有效還是無效等。據研究設計的類型分為:非條件logistic回歸:也稱為logistic回歸。
  • Logistic回歸—初步了解10個問題
    依據因變量類型(水平數量),又可分為二分類logistic回歸模型和多分類logistic回歸模型;二分類logistic回歸也稱二元logistic回歸、二項logistic回歸。
  • Logistic回歸分析-分類因變量最常用且首先考慮的分析方法
    一、重要概念一)基本表達式 當因變量為分類變量時,最常用且首先考慮的回歸分析方法應為logistics回歸,也稱為logit回歸,因logistic回歸模型表達式為,由表達式可知logit P與變量間存在線性關係,P/(1-P)稱為發生比(odds)即觀測事件發生的概率與未發生的概率的比值。
  • 零基礎的同學如何用Stata做logistic回歸?
    同學們在做統計研究時,時常聽到身邊的朋友會提及一個詞:logistic回歸。聽的次數久了,同學們多半會思考:什麼是logistic回歸?如何在Stata中做logistic回歸呢?logistic回歸:指的是一種廣義的線性回歸,在一定程度上和多重線性回歸分析有著相似的地方。例如:模型的形式基本上相同,都有待求參數。兩者的關係是:logistic回歸分類模型的預測函數是通過線性回歸模型的預測值的結果進一步接近真實標記的對數機率!從而能夠使線性回歸的預測值和分類任務的真實標記兩者關聯在一起!
  • 一文掌握多分類logistic回歸
    Logistic回歸分析(logit回歸)一般可分為3類,分別是二元Logistic回歸分析、多分類Logistic回歸分析和有序Logistic回歸分析。logistic回歸分析類型如下所示。1、多分類logistic回歸分析基本說明只要是logistic回歸,都是研究X對於Y的影響,區別在於因變量Y上,logistic回歸時,因變量Y是看成定類數據的,如果為二元(即選項只有2個),那麼就是二元logistic回歸; 如果Y是多個類別且類別之間無法進行對比程度或者大小,則為多分類logistic回歸;如果Y是多個類別且類別之間可以對比程度大小(也稱為定量數據,
  • 一文讀懂條件Logistic回歸
    病歷對照研究或者傾向得分匹配研究(一種將研究數據處理成『隨機對照實驗數據』的方法)中常使用條件Logistic回歸進行分析。其與普通的二元logistic回歸區別在於,多出配對ID,即將配對組納入考慮範疇。
  • 利用R語言進行logistic回歸分析 | 30 天學會R DAY 26
    第26 天 利用R語言進行logistic回歸分析Logistic回歸是醫學研究甚至是很多社會學研究常見的一種回歸方法,它主要針對結局變量為二分類或者多分類的數據
  • 機器學習算法系列(一):logistic回歸
    定義二項logistic回歸模型的條件分布如下:其中x∈Rn是輸入,Y∈{0,1}是輸出,W∈Rn和b∈R是參數,w稱為權重,b稱為偏置。有時為了方便會將權重向量和輸入向量進行擴充:w = (w1,w2, …, wn, b)T,x = (x1,x2, …, xn, 1)T所以,logistic回歸模型變為:得到概率之後,我們可以通過設定一個閾值將樣本分成兩類。
  • Logistic 回歸-原理及應用
    這次來介紹一下 Logistic 回歸,中文音譯為邏輯回歸,它是一個非線性模型,是由線性回歸改進而來(所以邏輯回歸的名字中帶有「回歸」二字)。solver:代表的是邏輯回歸損失函數的優化方法。有 5 個參數可選,分別為:liblinear:coordinate descent (CD),坐標下降法。適用於數據量小的數據集。
  • 快速數據分析教程:無序多分類Logistic回歸
    如果是二元Logistic回歸,默認以數字0作為參考項(通常用數字0表示不願意,不喜歡,不會等)如果是多分類logistic回歸,SPSSAU默認以數字最小的一項作為參考項。如果想更換參考項,可在【數據處理->數據編碼】裡進行設置,把參考項的數值設為最小的數值即可。
  • 【算法】逐步在Python中構建Logistic回歸
    2 如何用Python平臺做邏輯回歸?logistic回歸是一種機器學習分類算法,用於預測分類因變量的概率。 在邏輯回歸中,因變量是一個二進位變量,包含編碼為1(是,成功等)或0(不,失敗等)的數據。 換句話說,邏輯回歸模型基於X的函數預測P(Y = 1)。