It bothered me to see the debate about CR sidetracked by some arguments over
a simulation, so I devoted the afternoon to finding some more real data to
test CR on.

It's hard for me to find good non-medical examples, but here are some data,
at least, that represent randomized designs. Randomization prevents some of
the possible problems with confounders and convenience samples.

The first data set is an exercise on page 361 of Woolson's book, Statistical
Methods for the Analysis of Biomedical Data. There are six groups, a placebo
group, an aspirin group, and four doses of "a new anti-inflammatory drug".
The outcome measure is "a pooled index used to measure the treatment
effectiveness to improve the symptoms."

If you ignore the placebo and aspirin group, you have a nice designed
experiment with four equally spaced levels of dose. Here is the data.

   dose resp 
 1   10  5.2
 2   10  5.3
 3   10  6.9
 4   10  5.8
 5   10  6.6
 6   15 16.4
 7   15 17.9
 8   15 18.3
 9   15 19.5
10   15 16.9
11   15 17.5
12   15 19.1
13   15 18.8
14   15 17.1
15   20 35.2
16   20 30.4
17   20 37.2
18   20 29.5
19   20 34.6
20   20 31.9
21   25 41.8
22   25 45.2
23   25 43.2
24   25 46.5
25   25 41.7

CR does not show that dose causes the response, even though there is a nice
strong linear response if you graph the data.

> corr.reg(dose,resp)

      D = 0.16 
 rde(y) = 0.06 
 rde(x) = -0.09 
   cc.y = 0.78 
   cc.x = 0.52 

The data is unbalanced, but you can make the data balanced by removing the
11th through the 15th observations. When you do this, CR shows that the
symptom score causes the dose.

> corr.reg(dose[c(1:10,16:25)],resp[c(1:10,16:25)])

      D = 0.16 
 rde(y) = -0.07 
 rde(x) = -0.23 
   cc.y = 0.78 
   cc.x = 0.52 

My suspicion is that CR will not work well for designed experiments like
this because:

a) it is highly sensitive to heteroscedascity (unequal variances), and
b) it performs poorly when there are a small number of x values.

The latter point is best illustrated by the obvious failure of CR to work
with a cause variable with only two levels. The whole concept of
polarization requires data in the middle.

With three or four levels of a cause variable, CR reduces to a comparison of
the variability of the middle group/groups with the variability of the
outside two groups. The rde(y) statistic is effectively zero when there is
homoscedascity and non-zero when there is heteroscedascity. It measures a
trivial detail about the data when the cause variable is restricted to three
or four levels.

Those of you who like simulations might try running some where x1 is a
discrete uniform variable with three or four levels and x2 is a continuous
uniform variable. Also try some simulations with heteroscedascity. I suspect
that CR will perform poorly even in simulations under either of these
conditions.

A second example is on page 382. In this example, four doses of intravenous
nitroglycerin were measured in seven rats with chronic sinoartic
deaffentation. The response variable is regional vascular resistance.  Here
is the data:

   nitro vasc.resist 
 1    10           8
 2    10           6
 3    10          10
 4    10           7
 5    10          12
 6    10          15
 7    10           5
 8    30          19
 9    30          25
10    30          23
11    30          24
12    30          23
13    30          25
14    30          20
15   100          37
16   100          30
17   100          28
18   100          29
19   100          29
20   100          33
21   100          32
22   300          45
23   300          50
24   300          39
25   300          42
26   300          40
27   300          55
28   300          53

This is a randomized block design, since each rat was measured at each of
the four dosages. A randomized block design is ideal for showing cause and
effect, because each animal serves as its own control.

CR shows no cause relationship between nitro dose and vascular resistance.
Remember that a large negative D, according to Dr. Chambers, is not evidence
of a cause unless rde(y) is also large negative.

> corr.reg(nitro,vasc.resist)

      D = -0.22 
 rde(y) = -0.1 
 rde(x) = 0.13 
   cc.y = -0.06 
   cc.x = 0.13 

The doses are skewed, and the response is non-linear, but a log transform
fixes both problems very nicely. When we try this on the log scale, we get
equally disappointing results.

> corr.reg(log(nitro),vasc.resist)

      D = -0.27 
 rde(y) = -0.02 
 rde(x) = 0.25 
   cc.y = -0.12 
   cc.x = 0.49 

Neither data set is perfect, and I'm sure that Dr. Chambers will notice some
details for these data sets that I had not considered.

But imperfect data is a price we pay for living in the real world rather
than in the world of simulations. Besides, a statistical method that can't
overcome a few problems is not very useful. Finally, the types of problems
that might plague these data sets are quite different from the problems that
plagued the earlier data sets.

All of my data sources are for medical data sets, so if someone could send
me a published example of a designed experiment in a non-medical area with
four or more equally spaced levels, please do so. Something in the physical
sciences area would be ideal.

I'm also looking into Dr. Chambers' suggestion to take a subsample of the
data to enforce a uniform distribution on the cause and on the residual.

Steve Simon, [EMAIL PROTECTED], Standard Disclaimer.
The STATS web page has moved to
http://www.childrens-mercy.org/stats.


.
.
=================================================================
Instructions for joining and leaving this list, remarks about the
problem of INAPPROPRIATE MESSAGES, and archives are available at:
.                  http://jse.stat.ncsu.edu/                    .
=================================================================

Reply via email to