Hello, fellow researchers! I'm hoping to find someone well familiar with Firth's logistic regression. I am trying to analyse whether certain emotions predict behaviour. My outcomes are 'approached', 'withdrew', & 'accepted' - all coded 1/0 & tested individually. However, in some conditions the outcome behaviour is a rare event, leading to extremely low cell frequencies for my 1's, so I decided to use Firth's method instead of standard logistic regression.

However, I can't get the data to converge & get warning messages (see below). I've tried to reduce predictors (from 5 to 2) and increase iterations to 300, but no change. My understanding of logistic regression is superficial so I have felt too uncertain to adjust the step size. I'm also not sure how much I can increase iterations. The warning on NAs introduced by coercion I have ignored (as per advice on the web) as all data looks fine in data view.

My skill-set is only a very 'rusty' python coding, so I can't use other systems. Any SPSS friendly help would be greatly appreciated!

***

Warning messages:

1: In dofirth(dep = "Approach_Binom", indep = list("Resent", "Anger"), :

NAs introduced by coercion

2: In options(stringsAsFactors = TRUE) :

'options(stringsAsFactors = TRUE)' is deprecated and will be disabled

3: In (function (formula, data, pl = TRUE, alpha = 0.05, control, plcontrol, :

logistf.fit: Maximum number of iterations for full model exceeded. Try to increase the number of iterations or alter step size by passing 'logistf.control(maxit=..., maxstep=...)' to parameter control

4: In (function (formula, data, pl = TRUE, alpha = 0.05, control, plcontrol, :

logistf.fit: Maximum number of iterations for null model exceeded. Try to increase the number of iterations or alter step size by passing 'logistf.control(maxit=..., maxstep=...)' to parameter control

5: In (function (formula, data, pl = TRUE, alpha = 0.05, control, plcontrol, :

Nonconverged PL confidence limits: maximum number of iterations for variables: (Intercept), Resent, Anger exceeded. Try to increase the number of iterations by passing 'logistpl.control(maxit=...)' to parameter plcontrol

Similar questions and discussions