# Variance of rank of means

Consider an $$n\times m$$ matrix of scores obtained by measuring $$n$$ items $$m$$ times. Items are assumed independent with unique variances. The sample mean of each row is calculated and the resulting length $$n$$ vector of sample means is converted to ranks. For a specific mean, how is the variance of its sample rank estimated?

I'm not sure where to begin this problem. Any references would be much appreciated.

Edit: To clarify, if I were interested in the sample mean of item $$i$$, then I could easily calculate its variance given the individual scores. However, if I exchange the sample means for their corresponding rank then I have the sample rank of item $$i$$. This rank has some noise because it was derived from noisy, repeated observations. Using the item scores, how do I calculate the variance of this estimate?

## 1 Answer

I'm not sure I have understood your question properly because, by my reading, it is almost trivial.

Exact results. Anytime you have ranks of $$n \ge 2$$ random observations, the ranks are numbers $$1, 2, \dots, n,$$ with equal probabilities. For example, if $$n = 10,$$ the expected rank of any one value is $$\mu = 5.5$$ and its variance is $$\sigma^2 = 8.25.$$ In R, this is easy to verify:

y = 1:10; p=rep(.1, 10)
mu = sum(y*p); mu
[1] 5.5
vr = sum(y^2*p) - mu^2; vr
[1] 8.25


The mean and variance for general $$n \ge 2$$ can be derived in a straightforward way using the well-known formulas for the sum of the first $$n$$ natural numbers and for the sum of the first $$n$$ squares.

Approximate results by simulation. Simulating your proposed experiment for $$m = 10$$ samples of size $$n = 25$$ from a population with distribution $$\mathsf{Norm}(50, 7),$$ we have the following:

set.seed(4321)
m = 10;  n = 25
MAT = matrix(rnorm(m*n, 50, 7), nrow=m)
a = rowMeans(MAT)  # vecter of m=10 row averages
mean(a); var(a)
[1] 50.49871       # very roughly 50
[1] 1.647417       # very roughly 7^2/25 = 49/25


The $$E(A_i) = 50$$ and the squared standard error is $$7^2/m = 1.96.$$ Neither of these can be well estimated with only $$n = 5$$ iterations.

However the mean and variance of the ranks do not depend on the data, but on the sample size, and they are more closely estimated.

mean(rank(a));  (m-1)*var(rank(a))/m

[1] 5.5         # compare with theoretical value 5.5
[1] 8.25        # compare with theoretical value 8.25


Uniform data: An advantage of a nonparametric rank-based approach to inference is that the mean and variance of the ranks do not not change as the continuous family from which we sample changes. The same simulation is shown below using uniform data.

set.seed(1234)
n = 10;  m = 25
MAT = matrix(runif(m*n), nrow=n)  # change to uniform data
a = rowMeans(MAT)
mean(a); var(a)
[1] 0.4944352        # very roughly 1/2
[1] 0.007035658      # [too small to estimate here]
mean(rank(a));  (m-1)*var(rank(a))/m
[1] 5.5              # substantially same...
[1] 8.8              # ... results as previouslly