Modell läuft mit glm aber nicht bigglm

Ich habe versucht, eine logistische Regression für 320.000 Datenzeilen (6 Variablen) durchzuführen. Die schrittweise Modellauswahl anhand einer Stichprobe der Daten (10000) ergibt ein ziemlich komplexes Modell mit 5 Interaktionstermen:Y~X1+ X2*X3+ X2*X4+ X2*X5+ X3*X6+ X4*X5. Dasglm() Die Funktion könnte für dieses Modell mit 10000 Datenzeilen passen, jedoch nicht für den gesamten Datensatz (320.000).

Verwendenbigglm Das Lesen von Datenblock für Block von einem SQL-Server führte zu einem Fehler, und ich konnte die Ergebnisse von nicht nachvollziehentraceback():

fit <- bigglm(Y~X1+ X2*X3+ X2*X4+ X2*X5+ X3*X6+ X4*X5, 
       data=sqlQuery(myconn,train_dat),family=binomial(link="logit"), 
       chunksize=1000, maxit=10)

Error in coef.bigqr(object$qr) : 
NA/NaN/Inf in foreign function call (arg 3)

> traceback()
11: .Fortran("regcf", as.integer(p), as.integer(p * p/2), bigQR$D, 
    bigQR$rbar, bigQR$thetab, bigQR$tol, beta = numeric(p), nreq = as.integer(nvar), 
    ier = integer(1), DUP = FALSE)
10: coef.bigqr(object$qr)
9: coef(object$qr)
8: coef.biglm(iwlm)
7: coef(iwlm)
6: bigglm.function(formula = formula, data = datafun, ...)
5: bigglm(formula = formula, data = datafun, ...)
4: bigglm(formula = formula, data = datafun, ...)

bigglm konnte ein kleineres Modell mit weniger Interaktionsbedingungen anpassen. aberbigglm war nicht in der Lage, dasselbe Modell mit einem kleinen Datensatz (10000 Zeilen) anzupassen.

Hat jemand dieses Problem schon einmal? Gibt es einen anderen Ansatz, um ein komplexes Logistikmodell mit Big Data zu betreiben?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage