So when I have two vectors of unequal sizes with different means and different standard deviations.

One has coefficient of variation of 10% and the other 15%. Which statistical test would I use to test whether this difference is statistically significant?

I've found an R package called cvequality that uses Modified signed-likelihood ratio test (SLRT) for equality of CV, but it only works with equal sample sizes.


The same package (cvequality) includes Asymptotic test for k samples (k sample populations with unequal sized) from Feltz CJ, Miller GE (1996) An asymptotic test for the equality of coefficients of variation from k population. Stat Med 15:647–658

  • $\begingroup$ Are your variables all-positive? $\endgroup$
    – Glen_b
    May 15, 2017 at 11:53
  • $\begingroup$ All variables are positive and mean is nowhere near 0. $\endgroup$
    – magasr
    May 15, 2017 at 11:58

1 Answer 1


With positive variables, one possibility would be to work on the log-scale.

If the shapes of the underlying distributions from which your samples are drawn are the same on the log scale, then this should convert the question of constant coefficient of variation to a question of equality of spread of the logs.

Consider two variables $V_1, V_2$ with common completely specified distribution $F$. Let $Z_1=V_1$ and $Z_2=\tau V_2 + \delta$. Further let $Y_1=\exp(Z_1)$ and $Y_2=\exp(Z_2)$ and consider their coefficients of variation ($C_v$).

$E(Y_1) = E(\exp(V_1))$

$E(Y_1^2) = E(\exp(2V_1))$

$\text{C}_v(Y_1)^2+1 = E(\exp(2V_1))/E(\exp(V_1))^2$

$E(Y_2) = E(\exp(\tau V_2 + \delta))=kE(\exp(\tau V_2))$

$E(Y_2^2) = k^2E(\exp(2\tau V_2))$

$\text{C}_v(Y_2)^2+1 = E(\exp(2\tau V_2))/E(\exp(V_2))^2$

You can see that if $\tau=1$ that one more than the squared coefficients of variation must be equal (and hence the $C_v$'s themselves).

So under that assumption about the shape of the parent populations on the log scale this is the same as testing for equality of spread of the logs.

There are a number of tests for equality of spread (with specific parametric assumptions and without) that you might consider using. I would not, however, use a test that was sensitive to an assumption of normality of the logs.

  • $\begingroup$ Thank you for the answer. If I may ask what specific test that is not sensitive to the assumption of normality of logs, that is implemented in R, would you use? $\endgroup$
    – magasr
    May 16, 2017 at 15:52
  • $\begingroup$ I don't know anything about your data other than the original values are positive so I can't possibly make any reasonable suggestions. I don't even know what area you're working in (which might let me at least guess at some likely variable types -- I don't even know if your variates are discrete/continuous/neither). There's at least three or four different possibilities I'd consider (not all of them implemented in R as far as I know, but all readily implemented), using maybe half a dozen criteria to compare them, none of which I have information about for your situation. Post a new question. $\endgroup$
    – Glen_b
    May 16, 2017 at 23:12

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.