例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