天天看點

拓端tecdat|R語言邏輯回歸分析連續變量和分類變量之間的“相關性“

原文連結:http://tecdat.cn/?p=18169

原文出處:拓端資料部落公衆号

比如說分類變量為是否幸存、是因變量,連續變量為年齡、是自變量,這兩者可以做相關分析嗎?兩者又是否可以做回歸分析?

我們考慮泰坦尼克号資料集,

titanic = titanic[!is.na(titanic$Age),]
attach(titanic)
           

 考慮兩個變量,年齡x(連續變量)和幸存者名額y(分類變量)

X =  Age
Y =  Survived
           

 年齡可能是邏輯回歸中的有效解釋變量,

summary(glm(Survived~Age,data=titanic,family=binomial))
 
Coefficients:
Estimate Std. Error z value Pr(>|z|) 
(Intercept) -0.05672 0.17358 -0.327 0.7438 
Age -0.01096 0.00533 -2.057 0.0397 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
(Dispersion parameter for binomial family taken to be 1)
 
Null deviance: 964.52 on 713 degrees of freedom
Residual deviance: 960.23 on 712 degrees of freedom
AIC: 964.23
           

 此處的顯着性檢驗的p值略低于4%。實際上,可以将其與偏內插補點(零偏差和殘差)相關聯。

拓端tecdat|R語言邏輯回歸分析連續變量和分類變量之間的“相關性“

拓端tecdat|R語言邏輯回歸分析連續變量和分類變量之間的“相關性“

在x毫無價值的假設下,D_0趨于具有1個自由度的χ2分布。我們可以計算似然比檢驗的p值自由度,

1-pchisq(
[1] 0.03833717
           

 與高斯檢驗一緻。但是如果我們考慮非線性變換

glm(Survived~bs(Age)
 
Coefficients:
Estimate Std. Error z value Pr(>|z|) 
(Intercept) 0.8648 0.3460 2.500 0.012433 * 
bs(Age)1 -3.6772 1.0458 -3.516 0.000438 ***
bs(Age)2 1.7430 1.1068 1.575 0.115299 
bs(Age)3 -3.9251 1.4544 -2.699 0.006961 ** 
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
(Dispersion parameter for binomial family taken to be 1)
 
Null deviance: 964.52 on 713 degrees of freedom
Residual deviance: 948.69 on 710 degrees of freedom
           

Age的p值更小,似乎“更重要”

[1] 0.001228712
           

為了可視化非零相關性,可以考慮給定y = 1時x的條件分布,并将其與給定y = 0時x的條件分布進行比較,

Two-sample Kolmogorov-Smirnov test
 
data: X[Y == 0] and X[Y == 1]
D = 0.088777, p-value = 0.1324
alternative hypothesis: two-sided
           

 即p值大于10%時,兩個分布沒有顯着差異。

v= seq(0,80
v1 = Vectorize(F1)(vx)
           
拓端tecdat|R語言邏輯回歸分析連續變量和分類變量之間的“相關性“

我們可以檢視密度

拓端tecdat|R語言邏輯回歸分析連續變量和分類變量之間的“相關性“

另一種方法是離散化變量x并使用Pearson的獨立性檢驗,

table(Xc,Y)
Y
Xc 0 1
(0,19] 85 79
(19,25] 92 45
(25,31.8] 77 50
(31.8,41] 81 63
(41,80] 89 53
 
Pearson's Chi-squared test
 
data: table(Xc, Y)
X-squared = 8.6155, df = 4, p-value = 0.07146
           

 p值在此處為7%,分為年齡的五個類别。實際上,我們可以比較p值

pvalue = function(k=5){
LV = quantile(X,(0:k)/k)


plot(k,p,type="l")
abline(h=.05,col="red",lty=2)
           
拓端tecdat|R語言邏輯回歸分析連續變量和分類變量之間的“相關性“

隻要我們有足夠的類别,P值就會接近5%。實際上年齡在試圖預測乘客是否幸存時是一個重要的變量。

拓端tecdat|R語言邏輯回歸分析連續變量和分類變量之間的“相關性“

最受歡迎的見解

1.R語言多元Logistic邏輯回歸 應用案例

2.面闆平滑轉移回歸(PSTR)分析案例實作

3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)

4.R語言泊松Poisson回歸模型分析案例

5.R語言回歸中的Hosmer-Lemeshow拟合優度檢驗

6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實作

7.在R語言中實作Logistic邏輯回歸

8.python用線性回歸預測股票價格

9.R語言如何在生存分析與Cox回歸中計算IDI,NRI名額

繼續閱讀