6
$\begingroup$

Trying to run a panel logistic model. In the parameters a default NULL is specified for the "start" parameter.

My model is:

res<-pglm(DFLT_DEBT_01.3~NGDPRPC+NGDP_RPCH+BCA_NGDPD+LC_PER_USD+OFF_RSVA+M2 ,
index=c("Country","Date"),start=NULL,data=dat,family="binomial", model="within")

However, even if I explicitly set start=NULL I receive the message:

Error in prepare Fixed(start = start, activePar = activePar, fixed = fixed) : 
  argument "start" is missing, with no default

I'm not sure how I can specify starting values as I have not seen anywhere the precise order of specification of the parameters.

$\endgroup$
  • $\begingroup$ Always add reproducible example. More often than not the problem is with the data or specification of the model. Without the data it is impossible to help with that problem. $\endgroup$ – mpiktas Apr 15 '15 at 6:48
6
$\begingroup$

There is a good reason for that. Within model for probit regression suffers from incidental parameters problem. Within model for logit regression can be estimated, but requires quite strong assumptions. This is discussed in J. Wooldridge's "Econometric analysis of cross-section and panel data", chapter 15.

If you look at the code for pglm, you can see that starting values are calculated with function starting.values. For family binomial the code calculates starting values only for model random and pooling, there is no variant for within. Hence the error. If you supply the starting values, the error is given in the function lnl.binomial. Looking at the code it is clear that model within is not supported.

The author of package pglm could add explicit error message for the case of within model. I would advise you to write to him.

$\endgroup$
  • $\begingroup$ For a within (fixed effects) model I assume "starting values" refers to all the parameters to be estimated. But not sure where to begin with that. One assumes they would be in the same order as model spec but preceded by the intercept. Am I on the right track there? For an ARIMA model you can do something like an OLS to get you started but I can't think of an equivalent way to get a startup for the optimisation in this situation. $\endgroup$ – David Apr 15 '15 at 7:11
  • 1
    $\begingroup$ Did you read my answer? You get an error, because fixed effects are not supported. Even if you supply the values, the code will not work, because log likelihood is not defined for within model. $\endgroup$ – mpiktas Apr 15 '15 at 7:19
  • 1
    $\begingroup$ Hi I previously asked this question. I understand the issue about the "within" model but I hope you agree it is odd that the pglm documentation explicitly includes "within" as an option. Anyway I got exactly the same result using the "random" model as follows: family=list(family="ordered",link="logit") res<-pglm(as.factor(SP_RTG)~NGDP_RPCH+PPPPC_log+GGXWDG_NGDP+PCPIPCH ,index=c("Country","Date"),effect="individual",data=dat,family=family, model="random") Error in prepareFixed(start=start,activePar=activePar,fixed=fixed) : argument "start" is missing, with no default $\endgroup$ – David May 26 '15 at 4:46
  • $\begingroup$ It is hard to say why the code fails, when it is not possible to reproduce it. From your code in the comment and the code in the question it is clear that they do not fit the same model. I suspect that the reason of failure is the same, orderered logit is either not supported yet, or it is not supported because the panel version is not statistically sound. $\endgroup$ – mpiktas May 26 '15 at 6:11
  • $\begingroup$ Ordinal probit is certainly supported for the random model: see inside-r.org/packages/cran/pglm/docs/pglm $\endgroup$ – David May 26 '15 at 7:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.