He desarrollado un modelo glm Poisson en R y me gustaría extraer la fórmula para poder hacer el cálculo en otro lenguaje de software. Cuando escribo la ecuación estoy obteniendo diferentes valores de la predict
función en R y las matemáticas que hago manualmente.
summary(model1)
Call:
glm(formula = time ~ dayPart+ weekPart + NumberOfCustomers,
family = poisson(link = log), data = trainDf)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0077 -0.6974 -0.1732 0.6231 2.4361
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 5.471287 0.018404 297.291 < 2e-16 ***
DAY_PARTNight 0.177905 0.015721 11.317 < 2e-16 ***
DAY_PARTEvening 0.106609 0.020109 5.302 1.15e-07 ***
DAY_PARTAfternoon 0.082161 0.016076 5.111 3.21e-07 ***
WEEK_DESCWEEKEND 0.083837 0.012819 6.540 6.16e-11 ***
NumberOfCustomers 0.069795 0.002081 33.545 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 1405.299 on 69 degrees of freedom
Residual deviance: 81.949 on 64 degrees of freedom
AIC: Inf
Number of Fisher Scoring iterations: 3
Por ejemplo, tengo esta fila
Morning WEEKDAY 1 (customer) 255 11.463557 (prediction)
calcular:
exp(5.47)+ (0)(1) + (0)(1) + exp(0.069795)*1 = 238
exp(5.47) - the exp of the intercept since I used a log link function
(0)(1) - The coefficient for Weekday since this is the base for WEEK_DESC
(0)(1) - Since morning is base for time of day categorical variable
exp(0.069795) - slope for number of customers.
¿Qué es lo que está mal donde estoy obteniendo diferencias entre el resultado de la función de predicción de 255 y mis matemáticas donde calculo 238?