# CV constant for Normal distribution based variables

#### joeb33050

##### Member
With mu and sigma defining a random Normal distribution, sample pairs, x,y, define a point. The max distance between pairs of points has s/x bar constant for each n, for any/many values of mu and sigma. For n = 5, 5 pairs of points, CV is .27 for any mu and sigma tried.
The .27 has been sorta verified.

I'm thinking that some Normal distributed things have ~ constant CV, ex: samples of n = 5, 6th graders, heights, have CV ~.18--in Boston or Chicago or Yuma.

??? Is there some arithmetic thing I can't find that explains this, that maybe explains this???

#### fed2

##### Active Member
ample pairs, x,y, define a point
you mean x and y are normal(mu,sigma) and you draw two points (x1,y1), (x2,y2)?

#### joeb33050

##### Member
The model covers n = 2-n = 10.
Could the cv have anything to do with the Tippett bias corrections for estimating sigma from range? Just a thought, I can't make that or any connection.
Thanks;
joe b.

#### fed2

##### Active Member
hmm. Looks like d_i/2 has chi-square distribution with 2 df. The reasoning is that (x1 - x2) / sqrt(2) is standard normal, same for y's?

The maximum is an order statistic, so max(d) will have CDF related to d by Fmax = Fd^n, or something like that. The point is as n->inf the d will be increasingly 'independant-ish' (technical term). So the samping distribution of the max will increasingly resemble that of the max order stat.

Thats my story, im sticking to it. I may hack it more later.

Sorry i notice im doing d^2 here, where you had d, just easier to think about all around, but similar arguments apply.

Code:
mu=0
sigma=1
B=100
n=3

runsim = function(i){
D = data.frame( x = rnorm(n,mean = mu,sd = sigma),
y = rnorm(n,mean = mu,sd = sigma)
);
D$n = seq(1:n); D1 = data.frame( x1 = D$x,
y1 = D$y, n1 = D$n
);

U = merge(x=D,y=D1)
U = U[ U$n > U$n1, ]
U$d2 = (U$x - U$x1)^2 + (U$y - U$y1)^2 return( ( max(U$d2) ) )
}

bigDumList = lapply(X=1:B,FUN = runsim)
bigDumVector = as.vector(unlist(bigDumList));

print( mean(bigDumVector) )
print( sd(bigDumVector) )
print(   sd(bigDumVector) / mean(bigDumVector) );

Last edited: