Tiens... il y a des fonctions que je ne connaissais pas (lgamma) !!!
Que signifie votre alpha=0.1 dans
- Citation :
- proc nlmixed data=Butir.arbre(where=(parcelle='Butir')) alpha=0.1;
Sinon, je comprends d'ou vient votre problème. Votre variable explicative "H" est utilisée 2 fois dans votre modèle. Une fois pour modéliser l'inflation et l'autre fois pour modéliser le paramètre de la loi de Poisson. Elles entrent en compétition l'une avec l'autre...
Essayez avec un modèle avec le H dans le terme d'inflation (sans celui dans la loi de Poisson) et un modèle avec le H seulement dans le parametre de Poisson. Ensuite, choisissez le modèle qui vous convient.
Par exemple, pour le second modèle, je vous suggère d'indiquer
- Citation :
- proc nlmixed data=Butir.arbre(where=(parcelle='Butir')) alpha=0.1;
parms bp_0=0 bp_1=0 bll_0=0 bll_1=0;
eta_prob= bp_0;
p_0= exp(eta_prob)/(1+exp(eta_prob));
eta_lambda= bll_0 + bll_1*H;
lambda= exp(eta_lambda);
if nbb=0 then prob = p_0 + (1-p_0)*exp(-lambda);
if nbb=0 then loglike = log(prob);
else loglike = log(1-p_0) + nbb*log(lambda) - lambda -lgamma(nbb+1);
model nbb ~ general(loglike);
estimate 'p_0' exp(eta_prob)/(1+exp(eta_prob));
run;
La ligne "estimate" vous donnera une idée de la "grosseur" du terme zero-inflationné... (et un genre de p-value...attention ! voir mon commentaire plus haut à ce sujet)