8
$\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$
1
  • $\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, 2015 at 6:48

1 Answer 1

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$
8
  • $\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, 2015 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, 2015 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, 2015 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, 2015 at 6:11
  • 1
    $\begingroup$ I wrote to the author to confirm the above. "pglm doesn't fit fixed effects logit model. See clogit from the survival package instead." You could update the answer with this. I'll ask him to make an explicit and informative error in the package. $\endgroup$ Feb 4, 2019 at 7:14

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.