I have a histogram that looks as such

enter image description here

and I want to use it as part of a Linear Discriminant Analysis but the lda requires its variables to have a normal distribution. What kind of transformation could I use to normalise a graph with multiple peaks (two in this case)?

  • 5
    $\begingroup$ I wouldn't ever want to transform pH unless it was to exponentiate it out of its logarithmic scale, which sometimes makes chemical sense. Here bimodality seems a marked feature of your data, and may even help in discriminant analysis, and I doubt that there is a transform that will remove it that won't also make interpretation much more difficult. I'd back up and say more about the overall goal and the rest of the data. Although I am very positive about transformation as an often helpful device, the impulse here would, I fear, result in distorting the data, not clarifying them. $\endgroup$
    – Nick Cox
    Commented Mar 1, 2019 at 9:06
  • $\begingroup$ Okay great thanks, that's good to know. So to be clear, use of pH with its current distribution wouldn't invalidate the discriminant analysis? $\endgroup$
    – Y Ahmed
    Commented Mar 1, 2019 at 9:37
  • 2
    $\begingroup$ I didn't say that. I can't say that. Without knowing anything about the rest of the data or your purpose, I can't be sure. But that aside, "assumption" is often (usually?) better thought of as "ideal condition". If you think there are groups or clusters in your data, discriminant analysis may not be the best technique at all. I know this is empty as advice, but that depends on details you don't give. $\endgroup$
    – Nick Cox
    Commented Mar 1, 2019 at 9:44
  • $\begingroup$ You could use tree-based methods (RandomForest or classification trees). The motivation for there use is similar to LDA or LDFA, but they do not assume a normal distribution, error distribution or make assumptions about variance. $\endgroup$ Commented Mar 1, 2019 at 18:23
  • $\begingroup$ I'll look into them, thanks for the help all. $\endgroup$
    – Y Ahmed
    Commented Mar 2, 2019 at 12:27

1 Answer 1


I agree with Nick's comments.

More generally, when the data does not fit your model, it is usually better to look for a different model than to try to make your data fit. Transformations should serve your purposes, not the model's purposes. In your particular case, it is hard to imagine any transformation that would make it even remotely normal without totally destroying the data.

Note that LDA doesn't assume the data are normal overall, it assumes the data are normal at each level of the grouping variable. That may be the case in your data.

If not, then there are lots of alternatives; two that spring immediately to mind are logistic regression and classification trees.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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