對(duì)于數(shù)值型自變量和數(shù)值型因變量之間的關(guān)系,我們可以進(jìn)行相關(guān)和回歸分析。如果研究的是兩個(gè)變量之間的關(guān)系,稱為簡(jiǎn)單回歸分析;如果研究的是兩個(gè)以上變量之間的關(guān)系,稱為多元回歸分析。按照關(guān)系的形態(tài),也可以分為線性回歸分析與非線性回歸分析
相關(guān)性分析解決的兩個(gè)問(wèn)題:判斷兩個(gè)變量或者多個(gè)變量之間是否有依存關(guān)系,進(jìn)一步分析變量之間的關(guān)聯(lián)方向和關(guān)聯(lián)強(qiáng)度。
相關(guān)性分析
系數(shù)
應(yīng)用場(chǎng)景
缺點(diǎn)
a.兩個(gè)連續(xù)變量的度量線性相關(guān)
b.觀察值匹配
c.觀察值分布接近滿足正態(tài)分布,或接近正態(tài)的單峰分布
d.數(shù)據(jù)的標(biāo)準(zhǔn)差不為0
a.異常值影響很大,可以提出異常值或者變量變換,以避免異常值干擾結(jié)論。
b.相關(guān)系數(shù)一樣的情況下,實(shí)際相關(guān)程度有可能存在明顯差異。需要配合散點(diǎn)圖分析。
a.兩個(gè)連續(xù)變量之間的單調(diào)關(guān)系
b.可以描述非線性關(guān)系
a.統(tǒng)計(jì)效能比相關(guān)系數(shù)要低一些(不容易檢測(cè)出兩者事實(shí)上存在的相關(guān)關(guān)系)
b.配合散點(diǎn)圖
c.只要是單調(diào)關(guān)系,系數(shù)就為±1
a.兩個(gè)變量均為有序分類
: 通常也叫積矩相關(guān)系數(shù)。簡(jiǎn)而言之:一個(gè)變量中的變化與另一個(gè)變量中的成比例變化相關(guān)。相當(dāng)于協(xié)方差的升級(jí)版。
:通常也叫斯皮爾曼秩相關(guān)系數(shù)。非參數(shù)方法,對(duì)數(shù)據(jù)分布沒(méi)有要求,用于測(cè)量?jī)蓚€(gè)變量之間的關(guān)聯(lián)程度。簡(jiǎn)而言之:評(píng)估兩個(gè)連續(xù)變量之間的單調(diào)關(guān)系。在單調(diào)關(guān)系中,變量趨于一起變化,但不一定以恒定速率變化。
:是用于檢驗(yàn)至少有一個(gè)有序分類變量關(guān)聯(lián)強(qiáng)度和方向的非參數(shù)分析方法。該檢驗(yàn)與相關(guān)的應(yīng)用范圍基本一致,但更適用于存在多種關(guān)聯(lián)的數(shù)據(jù)(如列聯(lián)表)。
01
相關(guān)性
|r|>0.95 存在顯著性相關(guān)
|r|≥0.8 高度相關(guān)
0.5≤|r|
0.3≤|r|
|r|
±代表正相關(guān)還是負(fù)相關(guān)
【示例】Step 1.數(shù)據(jù)分布情況的統(tǒng)計(jì)檢驗(yàn)
測(cè)試數(shù)據(jù)集:cars
1.1 Q-Q圖
X軸是理論值,Y軸是觀測(cè)值。當(dāng)所有點(diǎn)都大致落在該參考線時(shí),可以假定數(shù)據(jù)為正態(tài)。
()、qplot()、() 三個(gè)函數(shù)都可以用來(lái)看觀察值的分布情況。
qqnorm(cars$speed)
qqnorm(cars$dist)
library(ggplot2)
qplot(sample=data$speed)
qplot(sample=data$dist)
library(ggpubr)
ggqqplot(data$speed)
ggqqplot(data$dist)
library("devtools")
library(ggpubr)
library(ggthemr)
library(ggthemes)
library(ggsci)
library("scales")
library("mvnormtest")
base_theme <- theme(
plot.margin = unit(c(0.5,0.5,0.5,0.5),"cm"),
plot.title = element_text(size = 24,
face = "bold",
color = "#22292F",
margin = margin(b = 8)),
plot.subtitle = element_text(size = 16,
lineheight = 1.1,
color = "#22292F",
margin = margin(b = 25)),
plot.caption = element_text(size = 12,
margin = margin(t = 25),
color = "#3D4852"),
axis.title.x = element_text(margin = margin(t = 1),size=15,face = "bold",color="black"),
axis.title.y = element_text(margin = margin(r = 1),size=15,face = "bold",color="black"),
axis.text = element_text(color = "#22292F"),
text=element_text(family='STXihei'),
legend.title=element_blank(),
panel.grid.major =element_blank(),
axis.text.x = element_text(size=15,color="black"),
axis.text.y = element_text(size=15,color="black")
)
p1 <- ggqqplot(cars$speed,color =pal_npg("nrc")(10)[4] ) + base_theme + labs(title="speed")
p2 <- ggqqplot(cars$dist,color =pal_npg("nrc")(10)[4] ) + base_theme + labs(title="dist")
p3 <- ggpubr::ggarrange(p1, p2, nrow = 2, ncol = 1, labels = c('A', 'B'))
speed圖中,所有的點(diǎn)基本都落在合理范圍內(nèi),dist圖中有少部分的點(diǎn)落在合理范圍外,可能dist不符合正態(tài)分布。
1.2 密度分布圖:一般來(lái)說(shuō),正態(tài)分布的數(shù)據(jù)成鐘型對(duì)稱。
p1 <- ggdensity(cars$speed,
main = "Density",
xlab = "Value",color =pal_npg("nrc")(10)[4] ) + base_theme + labs(title="speed")
p2 <- ggdensity(cars$dist,
main = "Density",
xlab = "Value",color =pal_npg("nrc")(10)[4] ) + base_theme + labs(title="dist")
p3 <- ggpubr::ggarrange(p1, p2, nrow = 2, ncol = 1, labels = c('A', 'B'))
speed圖顯示為正態(tài)分布,dist圖表現(xiàn)出偏態(tài)分布。
Step2.正態(tài)分布評(píng)估原則上,需要對(duì)兩個(gè)變量做兩元正態(tài)分布檢驗(yàn),但實(shí)際操作中也經(jīng)常用兩個(gè)變量單因素正態(tài)分布來(lái)代替兩元正態(tài)分布 。理論偏差概率是1%。
2.1 單因素正態(tài)分布檢驗(yàn):
一般來(lái)說(shuō),常用的正態(tài)分布檢驗(yàn)為 -Wilk (SW) 檢驗(yàn) ,適用于3-50個(gè)樣本的數(shù)據(jù)集。大樣本可以用 JB檢驗(yàn) 。
speed 數(shù)據(jù),p-value > 0.05,接受H0假設(shè),數(shù)據(jù)為正態(tài)分布,且W值接近于1,正態(tài)分布程度比較高。
dist 數(shù)據(jù),p-value < 0.05,不符合正態(tài)分布。
Tips:如果樣本量足夠大(n> 30),則違反正態(tài)性假設(shè)不會(huì)造成重大問(wèn)題(中心極限定理)。這意味著我們?cè)谠瓌t上可以忽略數(shù)據(jù)存在輕微的的分布非正態(tài)并使用參數(shù)測(cè)試 。
2.2 兩元正態(tài)分布檢驗(yàn):
包.test()函數(shù)可以進(jìn)行多元正態(tài)分布檢驗(yàn)。
p < 0.05,拒絕假設(shè),非兩元正態(tài)分布。
Step 3.正態(tài)分布評(píng)估
雖然數(shù)據(jù)正態(tài)分布檢驗(yàn)不成立,但還是看了一下,、、三種方法差異。
:cor=0.806,p-value
:cor =0.830, p-value
:cor =0.669, p-value 但該方法不太適用在這個(gè)條件下。
### 數(shù)據(jù)不符合兩元正態(tài)分布檢驗(yàn),所以選擇spearman檢驗(yàn)
ggplot(data = cars,aes(x=cars$speed,y=cars$dist))+
geom_point()+
geom_smooth(method = lm)+
theme_bw()+
base_theme +
stat_cor(method = "spearman",label.x = 0, label.y =max(cars$dist) )+
stat_poly_eq(aes(label = ..eq.label..),
formula = formula, parse = TRUE,geom = "text",label.x = 10,label.y = 100, hjust = 0)+
scale_fill_npg()+
xlab("speed") +
??ylab("dist"
參考資料
《相關(guān)系數(shù)和秩相關(guān)系數(shù)介紹》
《要做相關(guān)性分析,該如何選擇正確的統(tǒng)計(jì)方法?》對(duì)于變量類型講的特別清楚
02
一元線性回歸分析
一元回歸分析與相關(guān)性的區(qū)別:一元回歸分析有明確的自變量和因變量,相關(guān)性單純指代相互的關(guān)系,在明確有自變量和因變量的情況下,近似等于一元回歸分析。
該模型,前提假設(shè):
線性---因變量與自變量之間是線性關(guān)系;
獨(dú)立性---因變量互相獨(dú)立;
正態(tài)性---對(duì)于固定的自變量值,因變量服從正態(tài)分布;
同方差性---因變量的方差不隨自變量的水平不同而變化。
1.幾個(gè)概念
R方:直線的擬合程度( ,中文叫判定系數(shù)、擬合優(yōu)度分類變量和連續(xù)變量怎么做散點(diǎn)圖,決定系數(shù)),表示這一條直線能反映Y波動(dòng)的一個(gè)程度。
SST:總偏差平方和又稱總平方和,Sum of Total,是每個(gè)因變量的實(shí)際值(給定點(diǎn)的所有Y)與因變量平均值(給定點(diǎn)的所有Y的平均)的差的平方和,即,反映了因變量取值的總體波動(dòng)情況。
SSR:回歸平方和,Sum of ,因變量的回歸值(直線上的Y值)與其均值(給定點(diǎn)的Y值平均)的差的平方和,即,它是由于自變量x的變化引起的y的變化,反映了y的總偏差中由于x與y之間的線性關(guān)系引起的y的變化部分,是可以由回歸直線來(lái)解釋的。
SSE:殘差平方和,又稱誤差平方和,Sum of Error),因變量的各實(shí)際觀測(cè)值(給定點(diǎn)的Y值)與回歸值(回歸直線上的Y值)的差的平方和,它是除了x對(duì)y的線性影響之外的其他因素對(duì)y變化的作用分類變量和連續(xù)變量怎么做散點(diǎn)圖,是不能由回歸直線來(lái)解釋的。
SST(總偏差)=SSR(回歸線可以解釋的偏差)+SSE(回歸線不能解釋的偏差)
回歸直線的擬合程度的好壞,其實(shí)就是看看這條直線(及X和Y的這個(gè)線性關(guān)系)能夠多大程度上反映(或者說(shuō)解釋)Y值的變化,定義
R^2=SSR/SST 或 R^2=1-SSE/SST, R^2的取值在0,1之間,越接近1說(shuō)明擬合程度越好。
R(相關(guān)系數(shù),相關(guān)系數(shù))=R2(決定系數(shù))
R2:代表回歸方程的擬合程度,表示這一條直線能反映Y波動(dòng)的一個(gè)程度。
R:代表XY線性相關(guān)的程度。(僅限于系數(shù))
2. 顯著性檢驗(yàn)(后面寫(xiě)多元回歸會(huì)再標(biāo)注一下注意事項(xiàng))2.1 線性關(guān)系的檢驗(yàn)
由于估計(jì)方程是根據(jù)樣本數(shù)據(jù)得到的,能否反映變量x和y的關(guān)系,需要檢驗(yàn)證實(shí)。
F檢驗(yàn)
2.2 回歸系數(shù)的檢驗(yàn)
回歸系數(shù)的顯著性檢驗(yàn)是檢驗(yàn)x與y的影響是否顯著,即檢驗(yàn)一元線性回歸模型y=β0+β1x+ε的回歸系數(shù)β1是否等于0,等于0則y不依賴于x。
t檢驗(yàn)
在一元線性回歸中,由于自變量只有一個(gè),上述F檢驗(yàn)和t檢驗(yàn)是等價(jià)的。但在多元回歸分析中,這兩種檢驗(yàn)的意義是不同的,F(xiàn)檢驗(yàn)用于檢驗(yàn)總體回歸關(guān)系的顯著性,t檢驗(yàn)用檢驗(yàn)各個(gè)回歸系數(shù)的顯著性。
library(tidyverse)
library(ggpubr)
model <- lm(dist ~ speed, data = cars)
ggplot(cars, aes(dist, speed)) +
geom_point() +
geom_smooth(method = 'lm',formula = y ~ x)+
stat_poly_eq(aes(label = paste(..eq.label.., ..adj.rr.label.., sep = '~~~~')), formula = y ~ x, parse = T,size = 5,
label.x = 0.1, #位置 ,0-1之間的比例
label.y = 1) +
#stat_fit_tb(tb.type = 'fit.anova',
#label.y.npc = "top",
#label.x.npc = "left",
# size = 4) + #添加方差分析表,用label.y可完全避免重疊
scale_fill_npg()+
xlab("speed") +
ylab("dist") +
base_theme +
??????stat_fit_deviations(formula?=?y?~?x)?#連接點(diǎn)到線
3. 回歸分析結(jié)果的評(píng)價(jià)
對(duì)于回歸分析結(jié)果的評(píng)價(jià),就是利用回歸方程進(jìn)行預(yù)測(cè)。
3.1 點(diǎn)估計(jì)
平均值的點(diǎn)估計(jì)是利用估計(jì)的回歸方程,對(duì)x的一個(gè)特定值x0。求出y的平均值的一個(gè)估計(jì)值E(y0)。
個(gè)別值的點(diǎn)估計(jì)是利用估計(jì)的回歸方程,對(duì)x的一個(gè)特定值x0。求出y的一個(gè)個(gè)別值的估計(jì)值y0^。
3.2區(qū)間估計(jì)
利用估計(jì)的回歸方程,對(duì)于x的一個(gè)特定值x0,求出y的一個(gè)估計(jì)值的區(qū)間就是區(qū)間估計(jì),它分為置信區(qū)間估計(jì)和預(yù)測(cè)區(qū)間估計(jì)。
可參考簡(jiǎn)書(shū)的文章,對(duì)于非統(tǒng)計(jì)學(xué)專業(yè)的人非常友好
#
4.殘差分析
驗(yàn)證統(tǒng)計(jì)假設(shè):
正態(tài)性
獨(dú)立性
線性
同方差性
線性: vs ,殘差圖與擬合圖,橫坐標(biāo)為真實(shí)值,縱坐標(biāo)為殘差(預(yù)測(cè)值-真實(shí)值),理論上兩者沒(méi)有相關(guān)性,如果有相關(guān)性,模型需要優(yōu)化。正態(tài)性: Q-Q,正態(tài)QQ圖,用于檢驗(yàn)殘差正態(tài)性,如果滿足正態(tài)假設(shè),那么圖上的點(diǎn)就應(yīng)該均勻的落在呈45°角的直線上(圖中虛線),不然就違反了正態(tài)性的假設(shè)。同方差性:Scale-,如果滿足同方差性,那么圖中水平線周圍的點(diǎn)應(yīng)該隨機(jī)分布,也就是說(shuō)方差為一個(gè)常數(shù)。 VS :殘差與杠桿圖,從圖形中可以鑒別出離群點(diǎn),高杠桿值點(diǎn)和強(qiáng)影響點(diǎn)。離群點(diǎn):表明擬合回歸模型對(duì)其預(yù)測(cè)效果不佳;高杠桿值點(diǎn):是一個(gè)異常的預(yù)測(cè)變量值的組合 ;強(qiáng)影響點(diǎn):表明它對(duì)模型參數(shù)的估計(jì)產(chǎn)生的影響過(guò)大,非常不成比例。有個(gè)重要指標(biāo):Cook距離,指代強(qiáng)影響點(diǎn)。一般來(lái)說(shuō)距離大于0.5的點(diǎn)就需要引起注意了。那個(gè)1,和0.5分別就是Cook距離為1和0.5的等高線。分析的時(shí)候,特殊的點(diǎn)會(huì)被標(biāo)注出來(lái),但需要審慎判斷是否要?jiǎng)h除。