Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS STAT
SAS STAT Forum d'entraide sur les fonctionnalités liées à la statistique sur SAS : statistique descriptive, test, régression, classification
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/11/2010, 19h23   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 1
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 1
Points : 0
Points : 0
Par défaut Nlmixed ZINB multiniveau

Bonjour

Contrairement au modèle de poisson, negative binimial et zero inflated poisson, j'ai des résultats différents entre la procédure nlmixed et countreg ou genmod.

Cela vient peut être des valeurs attribuées aux paramètres ....

et comment peut calculer sd pour faire un modèle multiniveau. (cf /* */) à moins qu'il faille indiquer s2e= et s2u=.

Merci


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
title " ZINB model"; 
 
proc nlmixed DATA=table_fin;
parms a0=0 a1=0 a2=0 a3=0 a4=0 a5=0 a6=0 a7=0 a8=0 b0=0 b1=0 b2=0 b3=0 b4=0 b5=0 b6=0 b7=0 b8=0 alpha=1; /*sd*/
linpinfl=a0+a1*Age+a2*homme+a3*sociodemo+ a4*nais_hi + a5*nais_mid + a6*nais_low + a7*fr_cgi + a8*lognb ;
infprob = 1/(1+exp(-linpinfl));
lambda=exp(b0+b1*Age+b2*homme+b3*sociodemo+ b4*nais_hi + b5*nais_mid + b6*nais_low + b7*fr_cgi + b8*lognb);
m=1/alpha;
p=1/(1+alpha*lambda);
IF nbcount=0 then 
ll = log(infprob + (1-infprob)*(p**m));
else ll = log(1-infprob) + log(gamma(m + nbcount)) - log(gamma(nbcount + 1)) - log(gamma(m)) + m*log(p) + nbcount*log(1-p);
model nbcount ~ general(ll);
/*RANDOM u ~ NORMAL(0,sd*sd) SUBJECT=geo OUT=ebest1;
ESTIMATE 'icc' sd*sd/(3.289868134+sd*sd);*/
run;
ou
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
proc nlmixed DATA=table_fin;
parms b0=0 b1=0 b2=0 b3=0 b4=0 b5=0 b6=0 b7=0 b8=0 bp0=0 bp1=0 bp2=0 bp3=0 bp4=0 bp5=0 bp6=0 bp7=0 bp8=0 k=1; /*sd*/
eta_zip=bp0+bp1*Age+bp2*homme+bp3*sociodemo+ bp4*fr_hi + bp5*fr_mid + bp6*fr_low + bp7*fr_cgi + bp8*lognb ;
p0_zip = exp(eta_zip)/(1 + exp(eta_zip));
eta_nb = b0 + b1*Age+b2*homme+b3*sociodemo+ b4*hdi_hi + b5*hdi_mid + b6*hdi_low + b7*smok_cgi + b8*logndent ;
mean = exp(eta_nb);
y = nbcount;
p0 = p0_zip + (1 - p0_zip)*exp(-(y + (1/k))*log(1 + k*mean));
p_else = (1 - p0_zip)*exp(lgamma(y + (1/k)) - lgamma(y + 1)- lgamma(1/k) + y*log(k*mean) - (y + (1/k))*log(1 + k*mean));
IF y=0 then loglike = log(p0);
else loglike = log(p_else);
model y ~ general(loglike);
estimate "Estimated proportion of 'extra' zeros (theta)" p0_zip;
estimate 'Estimated Conditional Poisson Mean (Lambda)' mean;
estimate 'Estimated Unconditional ZIP Mean' (1-p0_zip)*mean;
estimate 'Estimated Unconditional ZIP Variance'
(1-p0_zip)*mean*(1+p0_zip*mean);
predict mean out = mean_hat;
title 'Zero-inflated Negative Binomial ZINB Distribution';
run;
 
proc countreg DATA = table_fin;
model nbcount = age homme nais_hi nais_mid nais_low sociodemo fr_cgi lognb/ dist= zinb; /* method=qn */
zeromodel nbcount ~ age homme nais_hi nais_mid nais_low sociodemo fr_cgi lognb ;
ods output ParameterEstimates=Zip ZeroParameterEstimates=Zeronb;
run;
epistat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 14h18   #2
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
Peux-tu clarifier ? où est la question ? A quoi sert tout ce code ? que doit-on voir ?
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h54.


 
 
 
 
Partenaires

Hébergement Web