                ------------------------------
                Variation "False Alarm" Trials
                ------------------------------

In the Visual Basic programme 'Variation', a small amount of random 
variation is added in to the x-velocity of the ball as it leaves the
launcher, and a small amount of y-velocity is added to the ball after
it bounces on the baseline.  The magnitude of these added velocities 
are based on Visual Basic's random number generator transformed by the 
Polar Marsaglia method to produce the normal (bell-shaped) distribution 
of results.

I understand that probability theory predicts that with no special
variation present, there will be an average of one point plotting 
outside the control lines in 370 subgroups on the average chart.
(source - Donald J. Wheeler's 'Understanding Statistical Process 
Control'). 

Trials were undertaken to try to determine if this programme produces 
more of these 'false alarms' than would be expected from real processes. 

Below are results of tests to count the number of points outside
control lines.  Default settings every time (i.e. only common causes 
of variation present).  800 subgroups of 5 in each trial.

Control lines calculated using all 800 subgroups.

              Number outside control lines:
     Trial    Xbar   Range
       1       1       4
       2       2       2
       3       4       2
       4       2       4
       5       0       2
       6       4       4
       7       2       0
       8       0       5
       9       5       1
      10       0       3
      11       1       4
      12       1       4
      13       1       1
      14       1       3
      15       0       3
      16       0       3
      17       2       2
      18       0       2
      19       4       3
      20       1       6
      21       2       4
      22       2       2
      23       4       2
      24       1       2
      25       5       3
      26       1       0
      27       1       5
      28       1       7
      29       1       5
      30       1       4

Totals        50      92

Results:

Average chart: 50 false alarms in 24,000 subgroups 
    i.e. 1 in 480 subgroups or 1 in 2400 shots

Range chart: 92 false alarms in 24,000 subgroups
    i.e. 1 in 260 subgroups or 1 in 1300 shots


***********************************************************
To get as close as possible to the theoretical values for the 
control lines, the trials above used all 800 subgroups in the 
calculations.  Using smaller numbers of subgroups is bound
to introduce extra errors.

Below is the results of tests to see the effects of using
different sets of subgroups to calculate the control lines
First, all the subgroups were used as before, then different 
sets of 50 subgroups were used. Remember that there should be no
special causes of variation at any point in this data.


Data from Trial 1:                         Number outside control lines:
Subgroup   UCLxbar LCLxbar UCLrange        Xbar   Range
All 800    506.6   339.0   307.2           1       4
1 - 50     506.3   336.3   311.0           0       3
51 - 100   504.7   333.3   314.3           0       3
101 - 150  510.1   350.0   292.3           3       6
151 - 200  504.3   353.7   276.0           4       7
201 - 250  501.6   333.9   307.4           1       4
251 - 300  496.0   336.8   291.7           5       6

Data from Trial 2:                         Number outside control lines
Subgroup   UCLxbar LCLxbar UCLrange        Xbar   Range
All 800    506.8   337.7   309.9           2       2
1 - 50     507.8   339.1   309.3           2       2
51 - 100   505.2   331.0   319.3           3       2
101 - 150  507.8   333.4   319.7           2       2
151 - 200  513.2   337.2   322.5           1       2
201 - 250  500.6   341.7   291.2           4       4
251 - 300  500.8   337.0   300.3           4       3

***********************************************************

I am not a statistician, so I would like to know if any of the above 
indicates that this programme produces more false alarms than could be
expected from real stable processes.  If this is the case, then we may 
have to conclude that Visual Basic's random number generator is not 
100% statistically stable.

I would be grateful to hear from anyone who has experience or knowledge
of this subject. 

Thanks in advance.


Steve Horn,
21 Benjamin Drive, Bo'ness, West Lothian EH51 0QS, United Kingdom
CompuServe 100116,3151
Internet steve@horn.demon.co.uk

4 January 1995
