I first heard of Julia a couple of years ago. It was presented as an alternative to R, SAS, and Stata.
I had a look and I really liked it.The syntax just made sense. I could see where I might need to go to other languages, but it seemed worth pursuing.
I started in a new position, and decided to use Julia for data management. Stopped immediately. My supervisor did not want to learn a new language.
But I like Julia (apart from the need to scatter flyspecks to get a command to run).
So I kept reading the forums. I am really put off by all the posts about trying to make the syntax more like python. I hate python and I worry that by the time I am in a position to choose to work in Julia it will be so like Python that I won’t want to use it.
I have been on holidays the past couple of weeks.
I had run a series of Negative models in R (glmmTBB) just before Christmas. Negative binomial was the best fit.
I decided to tey to replicate the analysis in Julia.
NOT POSSIBLE. (Or if it is, I cannot work out how, or I am not prepared to put in the work).
While I ultimately wanted group as a random effect, I first tried a fixed effect. But the estimates did not match, even after I sorted out how to include an offset in the mode.
Turns out glm
in Julia with NegativeBinomial
distribution does not actually fit a negative binomial model. It takes an assumed dispersion parameter. To estimate the dispersion parameter, you are supposed to use the negbin
function. But, try as I may, I could not work out how to provide the offset to the negbin function.
But I actually wanted the group to be a random effect.
So I tried fitting in MixedModels.jl
. And I got a warning that I should not try fitting models with a dispersion parameter in MixedModels. So Julia itself is telling me it is not suitable for my work (that’s why I love this language).
And that was before I tried to work out how to fit a spline to a continuous covariate. (Turns out doing so is too complicated for my simple brain.)
Conclusion
1 I love the current Julia syntax
2 I hate all the posts about trying to turn Julia into Python
3 Julia is useless to me until I can easily fit generalised linear multilevel models including offsets.
I believe my models are possible in Turing, but my supervisor was very much against any Bayesian approach .And I don’t think I should be forced to a Bayesian analysis just because Julia is not capable of the chosen frequentist analysis.