張嬌霞
摘要:本文主要通過R軟件對定性數(shù)據(jù)分析中的Logistic回歸模型進行模型建立及預(yù)測擬合。
關(guān)鍵詞:Logistic回歸模型;R軟件:預(yù)測擬合
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)15-0269-02
logistic回歸又稱logistic回歸分析,主要在流行病學(xué)中應(yīng)用較多,比較常用的情形是探索某疾病的危險因素,建立起該疾病發(fā)生概率與危險因素之間的函數(shù)關(guān)系,從而根據(jù)危險因素預(yù)測某疾病發(fā)生的概率等等。例如欲探討心血管病發(fā)生的危險因素,可以先找?guī)讉€可能的影響因素逐一進行分析,也就是一元的Logistic回歸,也可以幾個因素一起分析,就要建立多元Logistic回歸模型。
R軟件是統(tǒng)計領(lǐng)域廣泛使用的,隨著云時代的來臨,大數(shù)據(jù)技術(shù)的發(fā)展,對于數(shù)據(jù)分析,數(shù)據(jù)挖掘以及數(shù)據(jù)可視化等的應(yīng)用,R軟件由于其免費、自由、開源以及有眾多包的支持,R程序可以簡潔明了的解決很多問題,因此R軟件的應(yīng)用越來越廣泛,也被越來越多的人接受和使用。本文主要通過使用R軟件對一元Logistic回歸模型的問題進行求解和說明。
1 Logistic回歸模型
一般有以下形式的數(shù)學(xué)函數(shù):[π(x)=exp(α+βx)1+exp(α+βx)]稱作logistic回歸函數(shù)。
把以上函數(shù)線性化可以得到:[lnπ(x)1-π(x)=α+βx]
我們這里討論的[π(x)]是患某種疾病的概率,記為p,人們通常把p的某個函數(shù)f(p)假設(shè)為變量的函數(shù)形式,取[f(p)=lnπ(x)1-π(x)=lnp1-p],稱之為logit函數(shù),也叫邏輯斯蒂變換。最重要的邏輯斯蒂回歸模型是logistic線性回歸模型,多元logit模型的形式為:[lnp1-p=β0+β1x1+…+βkxk],其中[β0,β1,…,βk] 是待估參數(shù)。最簡單的logit線性模型為:[lnp1-p=α+βx],此時的概率應(yīng)為:[p=eα+βx1+eα+βx]
2 Logistic回歸模型在R軟件中的實現(xiàn)
例1體質(zhì)指數(shù)BMI大于等于25為肥胖,某高校3983位體檢職工中有388位肥胖者,肥胖者患心血管病的體檢數(shù)據(jù)見表1:
問可否建立患心血管病的概率p與體質(zhì)指數(shù)BMI(設(shè)為x)間的函數(shù)關(guān)系 [p=π(x)]?
我們可以先做列聯(lián)表的獨立性檢驗,即檢驗體質(zhì)指數(shù)與是否患心血管病是否相互獨立,檢驗的R程序如下:
library(vcd)
x<-c(68,55,66,32,21,25,42,38,20,10,7,4)
dim(x)<-c(6,2)
assocstats(x)
程序運行結(jié)果如下:
X^2 df P(> X^2)
Likelihood Ratio 15.330 50.0090411
Pearson 14.737 5 0.0115481
Phi-Coefficient : NA
Contingency Coeff.: 0.191
Cramer's V : 0.195
結(jié)果的p值小于0.05,因此認為體質(zhì)指數(shù)與是否患心血管病是不相互獨立的,也即體質(zhì)指數(shù)與是否患心血管病是有關(guān)聯(lián)的。
接下來做logit模型及預(yù)測,R程序如下:
x<-rep(c(25,26,27,28,29,30,25,26,27,28,29,30),c(68,55,66,32,21,25,42,38,20,10,7,4))
y<-rep(c(1,0),c(267,121))
Discount<-data.frame(x,y)
log.glm<-glm(y~x,family=binomial,data=Discount)
summary(log.glm)
#預(yù)測擬合
pre<-predict(log.glm,data.frame(x=25:30))
p<-exp(pre)/(1+exp(pre));p
回歸結(jié)果如下:
Call:
glm(formula = y ~ x, family = binomial, data = Discount)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.9229 -1.3480 0.7373 0.9167 1.0159
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -6.03235 2.08929 -2.887 0.00389 **
x 0.25700 0.07893 3.256 0.00113 **
---
Signif. codes: 0 ‘*** 0.001 ‘** 0.01 ‘* 0.05 ‘. 0.1 ‘ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 481.57 on 387 degrees of freedom
Residual deviance: 470.10 on 386 degrees of freedom
AIC: 474.1
Number of Fisher Scoring iterations: 4
> #預(yù)測擬合
> pre<-predict(log.glm,data.frame(x=25:30))> p<-exp(pre)/(1+exp(pre));p 1 2 3 4 5 6
0.5969029 0.6569145 0.7122980 0.7619805 0.8054271 0.8425815
得到logit模型為:[lnp1-p=-6.03235+0.25700×BMI]
由得到的模型可知,患病概率為:[p=e-6.03235+0.257×BMI1+e-6.03235+0.257×BMI]
根據(jù)此模型預(yù)測體質(zhì)指數(shù)為25-30的患病率分別為:0.5969029 ,0.6569145, 0.7122980, 0.7619805, 0.8054271 ,0.8425815 .
模型結(jié)果與實際結(jié)果略有偏差,可能與樣本不足或我們考慮的因素太少有關(guān),將來我們可以進一步考慮更大樣本或更多因素建立多元邏輯斯蒂回歸模型進行分析,從而得到更加精確的結(jié)果。
參考文獻:
[1] 王靜龍,梁小筠,王黎明.屬性數(shù)據(jù)分析[M].北京:高等教育出版社,2013.
[2] 茆詩松,丁元,周紀薌,等.回歸分析及其實驗設(shè)計[M].上海:華東師范大學(xué)出版社,1981.
[3] 高濤,肖楠,陳鋼譯.R語言實戰(zhàn)[M].北京:人民郵電出版社,2014.