羅吉斯回歸

Logistic Regression(羅吉斯回歸):
適用於預測二元類別目標變數的發生機率(p),
和線性回歸模型類似,與線性回歸主要不同之處在於:
(1) 目標變數是目標事件發生機率P經過log函數轉換成log odds值才進行線性預測,且
(2)羅吉斯回歸的各項參數是透過最大概似法(MLE)進行估計的。

資料來源:https://www.jamleecute.com/logistic-regression-part1-%E7%BE%85%E5%90%89%E6%96%AF%E8%BF%B4%E6%AD%B8/

 

# 讀取資料已刪除missing data的資料
my <- na.omit(read.csv(file=”11202.csv”,header=TRUE, sep=”,”))

 

#5個觀察變項的平均數
my$信任度 <- (my$a1+my$a2+my$a3+my$a4+my$a6)/5
my$形象 <- (my$b1+my$b2+my$b3+my$b4+my$b5)/5
my$滿意度 <- (my$c1+my$c2+my$c3+my$c4+my$c5+my$c6+my$c7)/7
my$忠誠度 <- (my$e1+my$e2+my$e3+my$e4+my$e5+my$e6)/6
my$購買意願 <- (my$f1+my$f2+my$f3+my$f4+my$f5)/5

 

# 所有資料的變數名字
names(my)

 

#用購買意願的中位數計算
median_purchase<-median(my$購買意願)
median_purchase

算出來是4.6

 


#法1

# 將購買意願以中位數(4.6)切割成1、0
# 大於4.6的值設為1;小於4.6的值設為0
split_purchase<-0
split_purchase[my$購買意願<4.6]<-0
split_purchase[my$購買意願>=4.6]<-1
table(split_purchase)

 

#法2
my$購買意願 <- ifelse(my$購買意願>=0.007928, 1,0)

ifelse(my$購買意願>=0.007928, 1,0)


# 以表分別呈現0和1的個數
split_purchase

 

#做羅吉斯回歸,glm() → 一般線性模式分析
#跑出來的係數代表「機率」的意思。
model1<-glm(split_purchase~忠誠度,family = binomial,my)
summary(model1)

P值皆小於0.001,表示模型極顯著

 

 

#計算odd ratio
OR<-exp(cbind(OR=coef(model1),confint(model1)))
OR

每增加1單位的忠誠度,購買意願(機率)會是原本的4.9227倍

 

#安裝並載入套件ggplot2畫圖(法1)
library(ggplot2)
ggplot(my, aes(x=忠誠度, y=購買意願)) + geom_point() +
stat_smooth(method=”glm”, method.args=list(family=”binomial”), se=FALSE)

plot(my$忠誠度,split_purchase,xlab = “忠誠度”,
ylab = “購買意願”)
curve(predict(model1,data.frame(忠誠度=x),
type=”resp”),add=T)
points(my$忠誠度,fitted(model1),pch=20,col=30)

 

#畫羅吉斯曲線圖(法2)
names(model1)
my$購買意願1 <-fitted.values(model1)
windows()

ggplot(my, aes(x=忠誠度, y=購買意願1)) + geom_point() +
stat_smooth(method=”glm”, method.args=list(family=”binomial”), se=FALSE)
model2<-glm(split_purchase~my$忠誠度+my$形象+my$信任度,
family = binomial,my)

 

 

#顯示model2結果
summary(model2)

P值皆小於0.05,表示模型顯著

 

#計算odd ratio
OR<-exp(cbind(OR=coef(model2),confint(model2)))
OR

每增加1單位的忠誠度,購買意願會是原本的3.5350倍
每增加1單位的形象,購買意願會是原本的1.7118倍
每增加1單位的信任度,購買意願會是原本的1.3331倍

 

 

#畫羅吉斯曲線圖
names(model2)
my$購買意願2 <-fitted.values(model2)
ggplot(my, aes(x=忠誠度, y=購買意願2)) + geom_point() +
stat_smooth(method=”glm”, method.args=list(family=”binomial”), se=FALSE)

若點的分布越集中在線上,表示羅吉斯預測能力越好

 

 odds ratio(OR)勝算比:

可以用在前瞻性研究(prospective study)與回溯性研究(retrospective study)及病例對照研究(Case–control study),適用範圍較廣。

資料來源:https://medium.com/@chungyizhen/%E7%82%BA%E4%BB%80%E9%BA%BC%E9%83%BD%E7%94%A8-%E5%8B%9D%E7%AE%97%E6%AF%94-odds-ratio-or-%E8%80%8C%E4%B8%8D%E6%98%AF-%E7%9B%B8%E5%B0%8D%E9%A2%A8%E9%9A%AA-rr-%E5%91%A2-5c62fe84787c

     
勝算指的是:一件事情發生的機率與一件事情沒發生機率的比值。
資料來源:https://researcher20.com/2010/06/02/%E8%A7%A3%E8%AE%80-logistic-regression/

              

深夜了,阿芳淚流滿面
>>將內容用自己的手機、平版分享到.....