header.jpg (15348 bytes)


Hypothesis Testing and AIDS

9/13/01

Announcements:

 

The Problem:

I have somewhat of a problem with this lab because it takes an oversimplistic approach that I will show you in a couple of weeks is less that optimal. On the other hand, it nicely illustrates the basic logic behind hypothesis testing. I am going to use it anyway, but keep in mind that there are better ways of dealing with the data.

One major focus of this lab is on the use of syntax in SPSS. The second focus is on testing a research hypothesis when we don't know any statistical test. This second focus really gets at the idea of hypothesis testing in its most general sense. I also like it because it illustrates (sort of) the concept of empirically generating a sampling distribution, which we will see in Chapter 7, and it comes close to many of the ideas in "resampling statistics."

In a New York Times article in 1996, Altman discussed a study of 1100 AIDS patients who had been given either the drug Ritonavir or a placebo. Of the 543 patients in the Ritonavir group, 26 died over the course of the study. Of the 547 patients in the Control group, 46 died. If the drug had been completely useless as a treatment for AIDS, we would expect the 72 deaths to be evenly distributed between the two groups. In other words, we would expect 36 deaths in each group. If we had 37 deaths in one group and 35 in another, we wouldn't have been very surprised. But if we had 55 deaths in the Control group and 17 deaths in the other, we would have been quite confident that the drug was therapeutic. But is 46/26 a sufficiently extreme split to declare the experimental drug to be effective?

To answer that question you would have to know how often 26 or fewer of the 72 deaths would have fallen in the treatment group if the drug were completely ineffective. We can model that on a computer quite easily. What we will do is to artificially create 72 columns of data, corresponding to the 72 deaths. (Each column represents someone who died, regardless of which drug he/she received.) We will distribute these deaths to the two groups at random with a 50:50 probability. If it is a Ritonavir death, we will call it a 1. If it is a Control death, we will call it a 0. We will then add up these 72 "scores" and have the total number of deaths that might reasonably have occurred in the Ritonavir group (RetDeath) when the drug didn't work (i.e. when the null hypothesis is true.). Then we will see how often we come up with 26 or fewer deaths for that group. (I coded the data as 0 and 1 exactly so that by getting the total I would have the number of 1's--i.e. the total number of Ritonavir deaths.)

Then we will repeat the procedure a second time, representing 72 deaths in another "run" of the experiment. We will keep on doing this until we have run the experiment 1000 times.

Remember, what we are computing is the number of deaths that would occur in the Ritonavir group if the drug has no effect. We can then compare what we actually found (26 deaths) to what would happen if the drug had no effect (the null hypothesis was true). If 26 is a very unusual number of deaths for that situation, then we will conclude that the result isn't the kind we get in the no-effect situation, and we can reject the null hypothesis.

The way that you will do this is to write a very short SPSS program using the Syntax Editor, and then run that program. The program is below. It will repeat your "experiment" 1000 times, and the distribution of the experiment sums will tell you what you need to know.


The Program

Enter the following program in a Syntax window. (I will show you how.) Then select the whole program, and click on the little triangle. If you are looking at this as a web page, you can simply cut and paste to the SPSS syntax window.

new file.
input program.
* Replace the following number with one of your own. In subsequent runs, delete the next line or start it with an asterisk.
SET SEED 3458769.
loop #i = 1 to 1000.
*This will create 1000 cases, or "experiments."
*Now draw data for 72 variables and randomly assign death to the Control (0) or Ritonavir (1) group.
*About half of the random numbers will be below 0, and half will be above 0. None will exceed + 15.
    do repeat response = r1 to r72.
        COMPUTE response = rv.normal(0,1).
        recode response (-15 thru 0.00= 0) (0 thru 15 = 1).
    end repeat.
    end case.
end loop.
end file.
end input program.

Save outfile = "DataOut.sav" /Keep = r1 to r72.
*We now have a file with 1000 experiments, each having 72 deaths distributed
*randomly between the two drug groups.

*Now count up the number of deaths assigned to the Ritonavir group.
*The sum of 0's and 1's is really the number of 1's, which is the number of
*deaths assigned to the Ritonavir group.
COMPUTE RetDeath = SUM(r1 to r72) .

GRAPH
/HISTOGRAM(NORMAL) = RetDeath .
EXECUTE .


That is the end of the program. Enter it in a syntax window (file/new/syntax). Select the whole program and click on run.

Now use the frequencies command to report the number of deaths in the Ritonavir group in each experiment. This is just the frequency distribution of the variable RetDeath.

Calculate the number of experiments actually having 26 or fewer deaths assigned to the Ritonavir group when the null is true. What percentage of the experiments (which were calculated under the condition that deaths were equally likely to come from the Ritonavir or Control group) had 26 or fewer deals from the Ritonavir group?

What conclusions would you draw from the data in the Ritonavir study on the basis of this simple sampling study?

I have no reason to assume that the Ritonavir group would do twice as well (have half the number of deaths) than the control, but suppose that it did. How could you change the syntax to model that situation? What is the likelihood of 26 or fewer deaths under that condition? What does this add to our understanding of hypothesis testing?

Write up this study as if you had run it. You can paraphrase the description of the study from what I have. You can then explain your conclusions relative to the procedures you went through. but don't belabor the point about how you actually wrote the program.

I said that this test is less than optimal. Can you think of something that I failed to take into account in designing this test? Can you think of an example where the approach taken here makes more sense?

Last revised: 09/10/01