R語言泊松回歸


泊松回歸涉及回歸模型,其響應變數是計數形式而不是分數數位。 例如,計算出生人數或一個足球比賽系列中的勝率數。響應變數的值也遵循泊松分佈。

泊松回歸的一般數學方程為 -

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

以下是使用的引數的描述 -

  • y - 是響應變數。
  • ab 是數位系數。
  • x - 是預測變數。

用於建立泊松回歸模型的函式是glm()函式。

語法

實現泊松回歸的glm()函式的基本語法是 -

glm(formula,data,family)

以下是上述函式中使用的引數的描述 -

  • formula - 是呈現變數之間關係的符號。
  • data - 是給出這些變數值的資料集。
  • family -是R物件來指定模型的細節,邏輯回歸的值是「泊松」。

範例

我們有內建資料集「warpbreaks」,它描述了羊毛型別(AB)和張力(低,中或高)對每個織機的翹曲數的影響。讓我們將「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

在上面結果中,我們在最後一列中尋找小於0.05p值來考慮預測變數對響應變數的影響。 正如所看到的,具有M型和H型張力的羊毛型B對休息次數有影響。