多元線性迴歸

html

使用基礎包中state.x77的數據集,想研究犯罪率與其餘的關係dom

states <- as.data.frame(state.x77[,c("Murder", "Population", 
                                     "Illiteracy", "Income", "Frost")]) #矩陣轉化爲數據框

檢查變量間的相關性spa

> cor(states)
               Murder Population Illiteracy     Income      Frost
Murder      1.0000000  0.3436428  0.7029752 -0.2300776 -0.5388834
Population  0.3436428  1.0000000  0.1076224  0.2082276 -0.3321525
Illiteracy  0.7029752  0.1076224  1.0000000 -0.4370752 -0.6719470
Income     -0.2300776  0.2082276 -0.4370752  1.0000000  0.2262822
Frost      -0.5388834 -0.3321525 -0.6719470  0.2262822  1.0000000

繪製散點圖矩陣,注意使用的是scatterplotMatrix(),觀察相關性code

#以下圖
library(car)  
#scatterplot(states,spread=FALSE,smoother.args=list(lyt=2),main="Scatter Plot Matrix")
#scatterplot是繪製二維變量的時候使用scatterplot(x~y,spread=F,smoother.args=list[lyt=2],main="xx")

scatterplotMatrix(states,spread=FALSE,smoother.args=list(lyt=2),main="Scatter Plot Matrix")

 

擬合多元線性迴歸模型orm

> fit <- lm(Murder ~ Population + Illiteracy + Income + Frost, data=states)
> summary(fit)

Call:
lm(formula = Murder ~ Population + Illiteracy + Income + Frost, 
    data = states)

Residuals:  #殘差的統計量,中位數接近0,表示接近標準正態分佈,由於標準正態分佈的中位數爲0
    Min      1Q  Median      3Q     Max 
-4.7960 -1.6495 -0.0811  1.4815  7.6210 

Coefficients: #coefficents爲:係數的意思
             Estimate Std. Error t value Pr(>|t|)     # estimate 意思爲:估計量(值)  std.error表示標準誤 ,t value :表示係數的t值,Pr(>|t|係數的p值
(Intercept) 1.235e+00  3.866e+00   0.319   0.7510     #Intercept 爲 截距
Population  2.237e-04  9.052e-05   2.471   0.0173 *  
Illiteracy  4.143e+00  8.744e-01   4.738 2.19e-05 *** #「*」號越多表示越顯著              2.19e-05表示科學計數法, 2.19*10的負5次方即0.0000219
Income      6.442e-05  6.837e-04   0.094   0.9253    
Frost       5.813e-04  1.005e-02   0.058   0.9541    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.535 on 45 degrees of freedom   #Residual standard error 意思爲:標準差,殘差標準誤,剩餘標準差
Multiple R-squared:  0.567,	Adjusted R-squared:  0.5285   #Multiple R-squared 意思爲斷定係數
F-statistic: 14.73 on 4 and 45 DF,  p-value: 9.133e-08    #整句話爲模型的總體檢驗,就是F檢驗,F-statistic爲F-統計量,p-value爲 p值,


#在統計學上 迴歸係數須要進行檢驗,迴歸係數是經過樣本計算的,於是帶有必定的隨機性
#對r進行檢驗 ,如 y = β1 + β2X
# H0: β2 = 0,迴歸係數在統計上不顯著,解釋變量 X 對 Y 無顯著影響
# H1: β2 ≠ 0,迴歸係數在統計上顯著,解釋變量 X 對 Y 有顯著影響
#構建統計量:t檢驗
#決策:若是 |t| >= ta/2,落入拒絕域,拒絕 H0,接受H1,證實 係數在統計上是顯著的,若是 |t| <= ta/2,則接受 H0,代表係數在統計上是不顯著的
      #利用 p值決策,若是 p <= a,表示比小几率事件否發生了,因此要拒絕 H0,解釋變量X 對解釋變量 Y 有顯著影響,相反 p <= a,接受H0,解釋變量 X 對被解釋變量 Y  無顯著影響

#更多參考連接:簡單線性相關係數r及檢驗,p值決策

當預測變量不止一個時,迴歸係數的含義爲:一個預測變量增長一個單位,其餘預測變量保持不變時,因變量將要增長的數量htm

本例中,文盲率的迴歸係數爲4.14,表示控制人口、收入和溫度不變時,文盲率上升1%,謀殺率將會上升4.14%,它的係數在 p < 0.001的水平下顯著不爲 0。事件

相反,Frost的係數沒有顯著不爲 0 (p=0.945),代表當控制其餘變量不變時,Frost 與 Murder不呈線性相關ip

整體來講,全部的預測變量解釋了各州謀殺率57%的方差ci

 

參考get

簡單線性相關係數 r 及檢驗

p值決策

R語言如何直接提取回歸中的t值和P值 - R語言論壇 - 經管之家(原人大經濟論壇) 

R語言之線性迴歸分析 

相關文章
相關標籤/搜索