2014-07-09 2 views
1

J'ai exécuté un modèle de Poisson gonflé à zéro en utilisant proc genmod et j'essaie de marquer mon ensemble de données de test en utilisant Proc PLM mais cela me donne cette erreur :Impossible de marquer l'ensemble de test à l'aide du modèle de régression de Poisson 0 dans NO

proc genmod data = train2; 
class region/param=glm; 
model response = var1 var2 var3 var4 var5 
        /dist=zip; 
        zeromodel; 
output out = zeropoisson_output predicted= estprobzip; 
store zero_poisson; 
run; 


proc plm source=zero_poisson; 
    score data = test2 out= pred_zip; 
run; 

ERREUR: La notation des modèles à gonflage zéro n'est pas prise en charge dans cette version de la procédure PLM.

des idées de comment se déplacer?

+0

Quelle version de SAS? – Joe

+0

Plus précisément, quelle version de SAS/STAT? (Commençant après SAS 9.22, ils ont commencé à émettre des numéros de version séparés, qui commenceraient par 12.1, qui sortirait avec SAS 9.3). – Joe

+0

J'utilise SAS EG 4.3 mais SAS Base est 9.3 - Je ne suis pas sûr de savoir comment obtenir des informations de version supplémentaires ou s'il y en a? –

Répondre

0

Cela demandera beaucoup plus d'efforts, mais vous pouvez toujours utiliser l'option de sortie ODS pour obtenir les estimations de paramètres et analyser les données à partir de là. J'ai pris quelques exemples de données d'un exemple de SAS sur genmod et j'ai démontré le concept de sauvegarder les coefficients et de les analyser ci-dessous. La sortie est un fichier .sas qui peut être inclus dans n'importe quelle étape de données pour marquer un échantillon de validation.

data drug; 
    input drug$ x r n @@; 
    datalines; 
    A .1 1 10 A .23 2 12 A .67 1 9 
    B .2 3 13 B .3 4 15 B .45 5 16 B .78 5 13 
    C .04 0 10 C .15 0 11 C .56 1 12 C .7 2 12 
    D .34 5 10 D .6 5 9 D .7 8 10 
    E .2 12 20 E .34 15 20 E .56 13 15 E .8 17 20 
    ; 
run; 

ods output ParameterEstimates = ZIP_COEFF_EST; 
proc genmod data=drug; 
     class drug; 
     model r/n = x drug/dist = zip; 
     zeromodel; 
run; 
ods output close; 

data ZIP_COEFF_EST_Parsed; 
    length equation $ 2500; 
    set ZIP_COEFF_EST (rename=(estimate=coefficient)) end=last; 
    where coefficient ne .; 
    if upcase(Parameter) = "INTERCEPT" then do; 
     equation = " = " || trim(left(put(coefficient,20.10))); 
     output; 
    end; 
    else if LEVEL1 ne '' then do; 
     equation = " + (" || trim(left(Parameter)) || " = '" || trim(left(LEVEL1)) || "') * (" || trim(left(put(coefficient,20.10))) || ")"; 
     output; 
    end; 
    else do; 
     equation = " + " || trim(left(Parameter)) || " * (" || trim(left(put(coefficient,20.10))) || ")"; 
     output; 
    end; 
    if last then do; 
     equation=';'; 
     output; 
    end; 
    keep equation; 
run; 

data _null_; 
    set ZIP_COEFF_EST_Parsed; 
    FILE "C:/estimate_file.sas";; 
    PUT equation; 
run; 
Questions connexes