public class NormTwoSample extends Object implements Serializable, Cloneable
Class NormTwoSample
computes statistics for making
inferences about the means and variances of two normal populations, using
independent samples in x1
and x2
. Missing values,
that is, values equal to NaN (not a number), are excluded from the
computations. For inferences concerning parameters of a single normal
population, see class NormOneSample
.
Let and be the mean and variance of the first population, and let and be the corresponding quantities of the second population. The function contains test confidence intervals for difference in means, equality of variances, and the pooled variance.
The means and variances for the two samples are as follows:
and
Inferences about the Means
The test that the difference in means equals a certain value, for
example, , depends on whether or not the variances
of the two populations can be considered equal. If the variances are equal
and meanHypothesis
equals 0, the test is the twosample
ttest, which is equivalent to an analysisofvariance test. The
pooled variance for the differenceinmeans test is as follows:
The t statistic is as follows:
Also, the confidence interval for the difference in means can be obtained
by first assigning the unequal variances flag to false. This can be done by calling
the setUnequalVariances
method. The confidence interval
can then be obtained by the getLowerCIDiff
and
getUpperCIDiff
methods.
If the population variances are not equal, the ordinary t
statistic does not have a t distribution and several approximate
tests for the equality of means have been proposed. (See, for example,
Anderson and Bancroft 1952, and Kendall and Stuart 1979.) One of the
earliest tests devised for this situation is the FisherBehrens test, based
on Fisher's concept of fiducial probability. A procedure used in the
getTTest
, getLowerCIDiff
and getUpperCIDiff
methods assuming unequal variances are specified is the Satterthwaite's
procedure, as suggested by H.F. Smith and modified by F.E. Satterthwaite
(Anderson and Bancroft 1952, p. 83). Use setUnequalVariances
true to obtain results assuming unequal variances.
The test statistic is
where
Under the null hypothesis of , this
quantity has an approximate t distribution with degrees of freedom
df
, given by the following equation:
Inferences about Variances
The F statistic for testing the equality of variances is given by , where is the larger of and . If the variances are equal, this quantity has an F distribution with and degrees of freedom.
It is generally not recommended that the results of the F test be used to decide whether to use the regular ttest or the modified on a single set of data. The modified (Satterthwaite's procedure) is the more conservative approach to use if there is doubt about the equality of the variances.
Constructor and Description 

NormTwoSample(double[] x,
double[] y)
Constructor to compute statistics for mean and variance
inferences using samples from two normal
populations.

Modifier and Type  Method and Description 

void 
downdateX(double[] x)
Removes the observations in
x from the first sample. 
void 
downdateY(double[] y)
Removes the observations in
y from the second sample. 
double 
getChiSquaredTest()
Returns the test statistic associated with the chisquared test
for common, or pooled, variances.

int 
getChiSquaredTestDF()
Returns the degrees of freedom associated with the chisquared
test for the common, or pooled, variances.

double 
getChiSquaredTestP()
Returns the probability of a larger chisquared associated
with the chisquared test for common, or pooled, variances.

double 
getDiffMean()
Returns the difference in means, mean of
x  mean of y . 
double 
getFTest()
Returns the F test value of the F test for equality
of variances.

int 
getFTestDFdenominator()
Returns the denominator degrees of freedom of the F
test for equality of variances.

int 
getFTestDFnumerator()
Returns the numerator degrees of freedom of the F
test for equality of variances.

double 
getFTestP()
Returns the probability of a larger F in absolute value for the
F test for equality of variances, assuming equal variances.

double 
getLowerCICommonVariance()
Returns the lower confidence limits for the common,
or pooled, variance.

double 
getLowerCIDiff()
Returns the lower confidence limit for the mean of
the first population minus the mean of the second for
equal or unequal variances depending on the value
set by setUnequalVariances.

double 
getLowerCIRatioVariance()
Returns the approximate lower confidence limit for the ratio
of the variance of the first population to the second.

double 
getMeanX()
Returns the mean of the first sample,
x . 
double 
getMeanY()
Returns the mean of the second sample,
y . 
double 
getPooledVariance()
Returns the Pooled variance for the two samples.

double 
getStdDevX()
Returns the standard deviation of the first sample.

double 
getStdDevY()
Returns the standard deviation of the second sample.

double 
getTTest()
Returns the test statistic for the Satterthwaite's
approximation.

double 
getTTestDF()
Returns the degrees of freedom for the Satterthwaite's
approximation for ttest for either equal
or unequal variances, depending on the value set by
setUnequalVariances . 
double 
getTTestP()
Returns the approximate probability of a larger
t for the
Satterthwaite's approximation for equal or unequal variances. 
double 
getUpperCICommonVariance()
Returns the upper confidence limits for the common,
or pooled, variance.

double 
getUpperCIDiff()
Returns the upper confidence limit for the mean of
the first population minus the mean of the second for
equal or unequal variances depending on the value
set by
setUnequalVariances . 
double 
getUpperCIRatioVariance()
Returns the approximate upper confidence limit for the ratio
of the variance of the first population to the second.

void 
setChiSquaredTestNull(double varianceHypothesisValue)
Sets the null hypothesis value for the chisquared test.

void 
setConfidenceMean(double confidenceMean)
Sets the confidence level (in percent) for a twosided
interval estimate of the mean of
x  the mean of y ,
in percent. 
void 
setConfidenceVariance(double confidenceVariance)
Sets the confidence level (in percent) for twosided interval
estimate of the variances.

void 
setTTestNull(double meanHypothesis)
Sets the Null hypothesis value for ttest for the mean.

void 
setUnequalVariances(boolean eqVar)
Specifies whether to return statistics based on equal or unequal
variances.

void 
update(double[] x,
double[] y)
Concatenates samples x and y to the samples provided in the constructor.

void 
updateX(double[] x)
Concatenates the values in
x to the first sample
provided in the constructor. 
void 
updateY(double[] y)
Concatenates the values in
y to the second sample
provided in the constructor. 
public NormTwoSample(double[] x, double[] y)
x
 is a double
array containing the first sample.y
 is a double
array containing the second sample.public void downdateX(double[] x)
x
from the first sample.x
 is a double
array containing the values to remove from the first sample.public void downdateY(double[] y)
y
from the second sample.y
 is a double
array containing the values to remove from the second sample.public double getChiSquaredTest()
setChiSquaredTestNull
.double
containing the test statistic for the
chisquared test.public int getChiSquaredTestDF()
setChiSquaredTestNull
.int
containing the degrees of freedom for the
chisquared test.public double getChiSquaredTestP()
setChiSquaredTestNull
.double
containing the probability of a larger
chisquared for the chisquared test for variances.public double getDiffMean()
x
 mean of y
.double
containing the
difference in mean.public double getFTest()
double
containing the F test value
of the F test for equality of variances.public int getFTestDFdenominator()
int
containing the denominator
degrees of freedom.public int getFTestDFnumerator()
int
containing the numerator
degrees of freedom.public double getFTestP()
double
containing the probability
of a larger F in absolute value, assuming equal variances.public double getLowerCICommonVariance()
double
containing the lower confidence
limits for the variance.public double getLowerCIDiff()
setUnequalVariances
double
containing the lower confidence
limit for the mean of the first sample minus the mean of the
second sample.public double getLowerCIRatioVariance()
double
containing the approximate
lower confidence limit variance.public double getMeanX()
x
.double
containing the mean.public double getMeanY()
y
.double
containing the mean.public double getPooledVariance()
double
containing the Pooled
variance for the two samples.public double getStdDevX()
double
containing the standard deviation
of the first sample.public double getStdDevY()
double
containing the standard deviation
of the second sample.public double getTTest()
setUnequalVariances
.
setUnequalVariances
double
containing the test statistic for
the ttest.public double getTTestDF()
setUnequalVariances
.
setUnequalVariances
double
containing the degrees of freedom
for the ttest.public double getTTestP()
t
for the
Satterthwaite's approximation for equal or unequal variances.
setUnequalVariances
double
containing the probability for the
ttest.public double getUpperCICommonVariance()
double
containing the upper confidence
limits for the variance.public double getUpperCIDiff()
setUnequalVariances
.
setUnequalVariances
double
containing the upper confidence
limit for the mean of the first sample minus the mean of the
second sample.public double getUpperCIRatioVariance()
double
containing the approximate
upper confidence limit variance.public void setChiSquaredTestNull(double varianceHypothesisValue)
varianceHypothesisValue
 a double
containing the null hypothesis value for the
chisquared test.public void setConfidenceMean(double confidenceMean)
x
 the mean of y
,
in percent. Argument confidenceMean
must be between 0.0 and 1.0 and is often 0.90, 0.95 or 0.99.
For a onesided confidence interval with confidence level c (at least
50 percent), set .
If the confidence mean is not specified, a 95percent confidence interval
is computed.
Default: confidenceMean = .95confidenceMean
 double
containing the confidence
level of the mean.public void setConfidenceVariance(double confidenceVariance)
confidenceVariance
percent confidence interval
for the common variance with
getLowerCICommonVariance
or
getUpperCICommonVariance
.
Without making the assumption
of equal variances,
setUnequalVariances
, the ratio of the
variances is of interest. A twosided confidenceVariance
percent confidence interval for the ratio of the variance of the
first sample to that of the second sample is given by the
getLowerCIRatioVariance
and getUpperCIRatioVariance
.
See setUnequalVariances
and
getUpperCIRatioVariance
. The confidence
intervals are symmetric in probability.
Argument confidenceVariance
must be between 0.0 and 1.0
and is often 0.90, 0.95 or 0.99. The default is 0.95.confidenceVariance
 double
containing the confidence
level of the variance.public void setTTestNull(double meanHypothesis)
meanHypothesis
=0.0 by default.meanHypothesis
 double
containing the hypothesis value.public void setUnequalVariances(boolean eqVar)
eqVar
is True then statistics for unequal variances
will be returned.eqVar
 a boolean
containing a true or false value.
A value of true will cause results for unequal variances to be returned.
A value of false will cause results for equal variances to be returned.public void update(double[] x, double[] y)
This method updates the test results to include a new subset of the data. This is useful when the data is too large to fit into memory or when all of the data is not available at one time or location.
x
 is a double
array containing updates to the first sample.y
 is a double
array containing updates to the second sample.public void updateX(double[] x)
x
to the first sample
provided in the constructor.
This method updates the test results to include a new subset of the data. This is useful when the data is too large to fit into memory or when all of the data is not available at one time or location.
x
 is a double
array containing updates for the first sample.public void updateY(double[] y)
y
to the second sample
provided in the constructor.
This method updates the test results to include a new subset of the data. This is useful when the data is too large to fit into memory or when all of the data is not available at one time or location.
y
 is a double
array containing updates for the second sample.Copyright © 19702015 Rogue Wave Software
Built October 13 2015.