位置:首頁 > 大數據教學 > R語言教學 > R語言泊鬆回歸

R語言泊鬆回歸

泊鬆回歸涉及回歸模型,其中,應變量是計數且不是為分數的形式。例如出生或足球比賽係勝場數的列的計數。響應變量的值遵循泊鬆分布。
對於泊鬆回歸一般的數學公式是:

log(y) = a + b1x1 + b2x2 + bnxn.....

以下是所使用的參數的說明:

  • y 是響應變量。
  • a 和 b 是數字係數。
  • x 是預測變量。

用於創建泊鬆回歸模型是 glm()函數。

語法

glm()函數在泊鬆回歸函數的基本語法是:
glm(formula,data,family)

以下是在上述函數中使用的參數的說明:

  • formula 是呈現所述變量之間的關係的標誌。
  • data 是給定的這些變量的值的數據集。
  • family 為R對象以指定模型的細節。它的值是泊鬆回歸。

實例

我們有內置數據集“warpbreaks”,它描述羊毛類型的每個織機經紗斷頭的數目的效果(A或B)和張力(低,中或高)。讓我們來考慮“breaks”作為響應變量,這是斷裂的次數的計數。羊毛的“type”和“tension”作為預測變量。

輸入數據

input <- warpbreaks
print(head(input))

當我們上麵的代碼執行時,它產生以下結果:

  breaks wool tension
1     26    A       L
2     30    A       L
3     54    A       L
4     25    A       L
5     70    A       L
6     52    A       L

建立回歸模型

output <-glm(formula = breaks ~ wool+tension, 
			data=warpbreaks, 
			family=poisson)
print(summary(output))

當我們上麵的代碼執行時,它產生以下結果:

Call:
glm(formula = breaks ~ wool + tension, family = poisson, data = warpbreaks)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-3.6871  -1.6503  -0.4269   1.1902   4.2616  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  3.69196    0.04541  81.302  < 2e-16 ***
woolB       -0.20599    0.05157  -3.994 6.49e-05 ***
tensionM    -0.32132    0.06027  -5.332 9.73e-08 ***
tensionH    -0.51849    0.06396  -8.107 5.21e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 297.37  on 53  degrees of freedom
Residual deviance: 210.39  on 50  degrees of freedom
AIC: 493.06

Number of Fisher Scoring iterations: 4

我們尋找最後一列的p值是摘要小於0.05來考慮,預測變量的對響應變量的影響。可以看出羊毛B型有張力型M和H對中斷的次數影響。