Mam dane na temat lotów linii lotniczych (w ramce danych o nazwie flights
) i chciałbym sprawdzić, czy czas lotu ma jakikolwiek wpływ na prawdopodobieństwo znacznie opóźnionego przybycia (co oznacza 10 lub więcej minut). Uznałem, że użyję regresji logistycznej, z czasem lotu jako predyktorem i czy każdy lot był znacznie opóźniony (kilka Bernoullis) jako odpowiedź. Użyłem następującego kodu ...
flights$BigDelay <- flights$ArrDelay >= 10
delay.model <- glm(BigDelay ~ ArrDelay, data=flights, family=binomial(link="logit"))
summary(delay.model)
... ale otrzymałem następujące dane wyjściowe.
> flights$BigDelay <- flights$ArrDelay >= 10
> delay.model <- glm(BigDelay ~ ArrDelay, data=flights, family=binomial(link="logit"))
Warning messages:
1: In glm.fit(x = X, y = Y, weights = weights, start = start, etastart = etastart, :
algorithm did not converge
2: In glm.fit(x = X, y = Y, weights = weights, start = start, etastart = etastart, :
fitted probabilities numerically 0 or 1 occurred
> summary(delay.model)
Call:
glm(formula = BigDelay ~ ArrDelay, family = binomial(link = "logit"),
data = flights)
Deviance Residuals:
Min 1Q Median 3Q Max
-3.843e-04 -2.107e-08 -2.107e-08 2.107e-08 3.814e-04
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -312.14 170.26 -1.833 0.0668 .
ArrDelay 32.86 17.92 1.833 0.0668 .
---
Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2.8375e+06 on 2291292 degrees of freedom
Residual deviance: 9.1675e-03 on 2291291 degrees of freedom
AIC: 4.0092
Number of Fisher Scoring iterations: 25
Co to znaczy, że algorytm się nie zbiegał? Myślałem, że tak jest, ponieważ BigDelay
wartości były TRUE
i FALSE
zamiast 0
i 1
, ale dostałem ten sam błąd po przekonwertowaniu wszystkiego. Jakieś pomysły?