Too important to leave this in just the archive. The R code is below so you too can win a Brattle Prize. Just remember to rename the variables to something with claimed economic meaning; then, spin a tale of bullshit out your ass about what the convergence "means" for markets/firms/etc.

From the archive...

q36spacemodulator .edu Registered

For those who doubt the regression to the mean result is spurious, here is some R code to generate it from purely random numbers.

x = rnorm(1000)

y = rnorm(1000)

q = quantile(x, probs=seq(0,1,0.1))

x.m = numeric(10)

y.m = numeric(10)

for (i in 1:9) {

x.m[i] = mean(x[x<q[i+1] & x>q[i]])

y.m[i] = mean(y[x<q[i+1] & x>q[i]])

}

plot(x.m, y.m-x.m)

Note the -45-degree line in the plot. That suggests reversion toward the mean: negative x's tend to increase while positive x's tend to decrease. Yet there is no relation between x and y.

and then

Anonymous Unregistered

of course if there's persistence...

xe = rnorm(10000);

ye = rnorm(10000);

x[1] = xe[1];

y[1] = ye[1];

for(i in 2:10000) {

x[i] = x[i-1]+xe[i];

y[i] = y[i-1]+ye[i];

}

`q = quantile(x, probs=seq(0,1,0.1));`

x.m = numeric(10);

y.m = numeric(10);

for (i in 1:9) {

x.m[i] = mean(x[x<q[i+1] & x>q[i]]);

y.m[i] = mean(y[x<q[i+1] & x>q[i]]);

}

plot(x.m, y.m-x.m);

Sike!!!

xe = rnorm(10000);

ye = rnorm(10000);

x[1] = xe[1];

y[1] = ye[1];

for(i in 2:10000) {

x[i] = .99*x[i-1]+xe[i]; #note what changing 1 to .99 does

y[i] = .99*y[i-1]+ye[i];

}

`q = quantile(x, probs=seq(0,1,0.1));`

x.m = numeric(10);

y.m = numeric(10);

for (i in 1:9) {

x.m[i] = mean(x[x<q[i+1] & x>q[i]]);

y.m[i] = mean(y[x<q[i+1] & x>q[i]]);

}

plot(x.m, y.m-x.m);

run both sets of code a few times too and see how the graphs change with different draws of the random variables.