Learn R Programming

fBasics (version 260.72)

TwoSampleTests: Two Sample Tests

Description

A collection and description of functions for two sample statistical tests. The functions allow an easy use to test two financial return series for distributional equivalence, for difference in location, variance and scale, and for correlations and association. Distributional Equivalence: ll{ ks2Test Two sample Kolmogorov--Smirnov test.} Test Difference in Locations: ll{ locationTest The location test suite, method="t" the t test, method="kw" the Kruskal--Wallis test. } Test Difference in Variance: ll{ varianceTest The variance test suite, method="varf" the variance F test, method="bartlett" the Bartlett test, method="fligner" the Fligner--Killeen test.} Test Difference in Scale: ll{ scaleTest The scale test suite, method=ansari the Ansari--Bradley test, method=mood the Mood test.} Test for Correlations: ll{ correlationTest The correlation test suite, method=pearson Pearson's coefficient, method=kendall Kendall's tau, method=spearman Spearman's rho.}

Usage

ks2Test(x, y, title = NULL, description = NULL)

locationTest(x, y, method = c("t", "kw2"), title = NULL, description = NULL) varianceTest(x, y, method = c("varf", "bartlett", "fligner"), title = NULL, description = NULL) scaleTest(x, y, method = c("ansari", "mood"), title = NULL, description = NULL) correlationTest(x, y, method = c("pearson", "kendall", "spearman"), title = NULL, description = NULL)

Arguments

description
optional description string, or a vector of character strings.
method
a character string naming which test should be applied.
title
an optional title string, if not specified the inputs data name is deparsed.
x, y
numeric vectors of data values.

Value

  • In contrast to R's output report from S3 objects of class "htest" a different output report is produced. The classical tests presented here return an S4 object of class "fHTEST". The object contains the following slots:
  • @callthe function call.
  • @datathe data as specified by the input argument(s).
  • @testa list whose elements contail the results from the statistical test. The information provided is similar to a list object of class{"htest"}.
  • @titlea character string with the name of the test. This can be overwritten specifying a user defined input argument.
  • @descriptiona character string with an optional user defined description. By default just the current date when the test was applied will be returned.
  • The slot @test returns an object of class "list" containing (at least) the following elements:
  • statisticthe value(s) of the test statistic.
  • p.valuethe p-value(s) of the test.
  • parametersa numeric value or vector of parameters.
  • estimatea numeric value or vector of sample estimates.
  • conf.inta numeric two row vector or matrix of 95
  • methoda character string indicating what type of test was performed.
  • data.namea character string giving the name(s) of the data.

Details

The tests may be of interest for many financial and economic applications, especially for the comparison of two time series. The tests are grouped according to their functionalities. Distributional Equivalence: The test ks2Test performs a Kolmogorov--Smirnov two sample test that the two data samples x and y come from the same distribution, not necessarily a normal distribution. That means that it is not specified what that common distribution is. Differences in Location: The tTest can be used to determine if the two sample means are equal for unpaired data sets. Two variants are used, assuming equal or unequal variances. The kw2Test performs a Kruskal-Wallis rank sum test of the null hypothesis that the central tendencies or medians of two samples are the same. The alternative is that they differ. Note, that it is not assumed that the two samples are drawn from the same distribution. It is also worth to know that the test assumes that the variables under consideration have underlying continuous distributions. Differences in Variances: The varfTest can be used to compare variances of two normal samples performing an F test. The null hypothesis is that the ratio of the variances of the populations from which they were drawn is equal to one. The bartlett2Test performs the Bartlett's test of the null hypothesis that the variances in each of the samples are the same. This fact of equal variances across samples is also called homogeneity of variances. Note, that Bartlett's test is sensitive to departures from normality. That is, if the samples come from non-normal distributions, then Bartlett's test may simply be testing for non-normality. The Levene test (not yet implemented) is an alternative to the Bartlett test that is less sensitive to departures from normality. The fligner2Test performs the Fligner-Killeen test of the null that the variances in each of the two samples are the same. Differences in Scale: The ansariTest performs the Ansari--Bradley two--sample test for a difference in scale parameters. The test returns for any sizes of the series x and y the exact p value together with its asymptotic limit. The code{moodTest}, is another test which performs a two--sample test for a difference in scale parameters. The underlying model is that the two samples are drawn from f(x-l) and f((x-l)/s)/s, respectively, where l is a common location parameter and s is a scale parameter. The null hypothesis is s=1. Correlations: The correlationTest for association between paired samples, allows to compute Pearson's product moment correlation coefficient, Kendall's tau, or Spearman's rho.

References

Conover, W. J. (1971); Practical nonparametric statistics, New York: John Wiley & Sons.

Durbin J. (1961); Some Methods of Constructing Exact Tests, Biometrika 48, 41--55.

Durbin,J. (1973); Distribution Theory Based on the Sample Distribution Function, SIAM, Philadelphia.

Lehmann E.L. (1986); Testing Statistical Hypotheses, John Wiley and Sons, New York. Moore, D.S. (1986); Tests of the chi-squared type, In: D'Agostino, R.B. and Stephens, M.A., eds., Goodness-of-Fit Techniques, Marcel Dekker, New York.

Examples

Run this code
## x, y -
   x = rnorm(50)
   y = rnorm(50)
  
## ks2Test - 
   ks2Test(x, y)
   
## locationTest | .tTest | .kw2Test - 
   locationTest(x, y)
   
## varianceTest | .varfTest, .bartlett2Test | .fligner2Test -
   varianceTest(x, y)

## scaleTest | .ansariTest | .moodTest -
   scaleTest(x, y)
   
## correlationTest | .pearsonTest | .kendallTest | .spearmanTest -
   correlationTest(x, y)

Run the code above in your browser using DataLab