Hallo Kollegen,
ich möchte ein Modell mit der logistischen Regression auf folgender Datenbasis erstellen:
1 abhängige Variable (Zielmerkmal: reag)
31.500 unabhängige Variablen (viele, viele Einzelmerkmale zu einer Beobachtung)
200.000 Beobachtungen
Dafür habe ich folgenden Code verwendet:
proc logistic data=lib.mod_learn descending; model reag = %do i=1 %to 7; &&list&i.. %end; /selection=stepwise fast slentry=0.05 slstay=0.05; ODS OUTPUT ModelBuildingSummary = LR_S5_mvar; ODS OUTPUT ParameterEstimates = LR_S5_mpara; run; ods output close;
Die 31.500 unabhängigen Variablen werden mittels 7 Makrovariablen übergeben.
Ich erhielt folgende Fehlermeldung:
ERROR: Memory required by the hessian matrix exceeds the largest long integer.
ERROR: The SAS System stopped processing this step because of insufficient memory.
NOTE: There were 200000 observations read from the data set LIB.MOD_LEARN.
NOTE: PROCEDURE LOGISTIC used (Total process time):
real time 7:55.82
cpu time 5:52.62
Nun kann ich leider gar nichts damit anfangen, daher die Bitte an Euch, mich zu unterstützen:
-- Wie kann ich meinen Code umstellen, damit das Modell durchläuft und die entsprechenden Modellparameter-Dateien ausgegeben werden?
-- Oder wie kann ich Speicher für das Modell freigegeben? Anscheinend scheint dieser ja zu fehlen.
-- Oder welchen Code bzw. welche Methode für die LR würdet Ihr verwenden bei so vielen Merkmalen?
Mit weniger unabhängigen Variablen hatte ich nie Probleme ;-).
Danke vorab und schönes Wochenende,
Hendrik
Wenn ich mir https://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_logistic_se... ansehe, dann glaube ich nicht, dass 31.500 Variable mit handelsüblicher Hardware zu schaffen sind. Eher denke ich bei 31.500 Einflussvariablen an Overkill um zumindest 2 Größenordnungen.
Nearly 200 sessions are now available on demand in the Innovate Hub.
Watch Now →