| Type: | Package | 
| Title: | Khmaladze Martingale Transformation Goodness-of-Fit Test | 
| Version: | 2.2.0 | 
| Date: | 2020-10-17 | 
| Author: | Jiwoong Kim <jwboys26 at gmail.com> | 
| Maintainer: | Jiwoong Kim <jwboys26@gmail.com> | 
| Description: | Consider a goodness-of-fit (GOF) problem of testing whether a random sample comes from one sample location-scale model where location and scale parameters are unknown. It is well known that Khmaladze martingale transformation method - which was proposed by Khmaladze (1981) <doi:10.1137/1126027> - provides asymptotic distribution free test for the GOF problem. This package contains one function: KhmaladzeTrans(). In this version, KhmaladzeTrans() provides test statistic and critical value of GOF test for normal, Cauchy, and logistic distributions. This package used the main algorithm proposed by Kim (2020) <doi:10.1007/s00180-020-00971-7> and tests for other distributions will be available at the later version. | 
| Depends: | R (≥ 3.5.0) | 
| License: | GPL-2 | 
| LazyData: | TRUE | 
| Imports: | Rcpp (≥ 1.0.3), ggplot2, stats, utils, Rsolnp | 
| LinkingTo: | Rcpp, RcppArmadillo | 
| RoxygenNote: | 7.1.1 | 
| NeedsCompilation: | yes | 
| Packaged: | 2020-10-20 12:06:00 UTC; Jason | 
| Repository: | CRAN | 
| Date/Publication: | 2020-10-20 12:30:02 UTC | 
Obtain Critical Value Table
Description
Obtain critical values of the Khmaladze martingale transformation test for various significane levels and sample sizes
Usage
GetCV(strDist, Modified)
Arguments
| strDist | the name of the null distribution for the hypothesis test: Normal, Cauchy, or Logistic. Other distributions such as Gumbel, Weibull and Frechet will be available in later versions. | 
| Modified | a logical value which specifies whether or not to use the modeifed version of the test: False calls the original version while True calls the modified version. | 
Value
A 10-by-6 table of critical values for various significance levles (0.1, 0.075, 0.05, 0.025, 0.01) and sample sizes (10,20,...,100).
See Also
KhmaladzeTrans()
Examples
### Critical values of the original test for a normal distribution
strDist = "Normal"
Modified=FALSE
CritValue = GetCV(strDist, Modified)
## Critical values of the modified test for the logistic distribution
strDist = "Logistic"
Modified=TRUE
CritValue = GetCV(strDist, Modified)
##Critical values of the modified test for the Cauchy distribution
strDist = "Cauchy"
Modified=TRUE
CritValue = GetCV(strDist, Modified)
Implementing Khmaladze Martingale Transformation.
Description
Performs goodness-of-fit test through Khmaladze matringale transformation
Usage
KhmaladzeTrans(X, Modified = FALSE, strDist, bGraph = FALSE, nNum = 10)
Arguments
| X | a random sample of n observations | 
| Modified | a logical value which specifies whether or not to use the modeifed version of the test: False calls the original version while True calls the modified version. | 
| strDist | the name of the null distribution for the hypothesis test: Normal, Cauchy, or Logistic. Other distributions such as Gumbel, Weibull and Frechet will be available in later versions. | 
| bGraph | a logical value which specifies whether or not to get the graph of the objective function of the martingale transformation. | 
| nNum | the number of ticks on each segmented interval when drawing the graph of the objective function. The default is 10. Bigger value will result in a smoother graph. | 
Value
A list of the following values:
- opt.x
-  
- When Modified is False, opt.x is the value of x where the optimum of the objective function - which is also the test statistic - occurs. 
- When Modified is True, opt.x is the vector of the value of x's where the infimum and supremum of - U_{n}occur.
 
- test.stat
-  
- When Modified is False, test.stat is the test statistic obtained through Khmaladze martingale transformation. 
- When Modified is True, test.stat is the vector of the supremum of - U_{n}, the infimum of- U_{n}, and the difference of them.
 
- graph.data
- a data frame which includes the information of the objective function. 
- graph
- a ggplot object which includes the graph of the objective function. 
- intervals
- a list of segmented intervals over which the graph of the objective function is defined. 
- mu
- the point estimate for the location parameter mu 
- sigma
- the point estimate for the scale parameter sigma 
References
[1] Khmaladze, E.V., Koul, H.L. (2004). Martingale transforms goodness-of-fit tests in regression models. Ann. Statist., 32. 995-1034
[2] E.V. Khmaladze, H.L. Koul (2009). Goodness-of-fit problem for errors in nonparametric regression: distribution free approach. Ann. Statist., 37(6A) 3165-3185.
[3] Kim, Jiwoong (2020). Implementation of a goodness-of-fit test through Khmaladze martingale transformation. Comp. Stat., 35(4): 1993-2017
Examples
####################
n = 10
X = rnorm(n, 1,3)    # Generate a random sample of n observations from N(1,3)
strDist = "Normal"
Modified=FALSE
lResult = KhmaladzeTrans(X, Modified, strDist, bGraph=TRUE, nNum=10)
KMT_OptimalX = lResult$opt.x
KMT_TestStat = lResult$test.stat
KMT_DM = lResult$graph.data
KMT_Graph = lResult$graph
#### Draw the graph of the objective function
KMT_Graph
KMT_Intervals = lResult$intervals
KMT_Muhat = lResult$mu
KMT_Sigmahat = lResult$sigma
#####################
#####################
n = 10
X = rlogis(n, 1,2)  # Generate a random sample of n observations from the logistic distribution
strDist = "Logistic"
Modified=TRUE
lResult = KhmaladzeTrans(X, Modified, strDist, bGraph=TRUE, nNum=10)
KMT_Optimal_Positive_X = lResult$opt.x[1]
KMT_Optimal_Negative_X = lResult$opt.x[2]
KMT_Postive_TestStat = lResult$test.stat[1]
KMT_Negative_TestStat = lResult$test.stat[2]
KMT_TestStat = lResult$test.stat[3]
KMT_DM = lResult$graph.data
KMT_Graph = lResult$graph
#### Draw the graph of the objective function
KMT_Graph
KMT_Intervals = lResult$intervals
KMT_Muhat = lResult$mu
KMT_Sigmahat = lResult$sigma
#####################
#####################
n = 10
X = rcauchy(n, 0,1)  # Generate a random sample of n observations from Cauchy distribution
strDist = "Cauchy"
Modified=FALSE
lResult = KhmaladzeTrans(X, Modified, strDist, bGraph=TRUE, nNum=10)
KMT_OptimalX = lResult$opt.x
KMT_TestStat = lResult$test.stat
KMT_DM = lResult$graph.data
KMT_Graph = lResult$graph
#### Draw the graph of the objective function
KMT_Graph
KMT_Intervals = lResult$intervals
KMT_Muhat = lResult$mu
KMT_Sigmahat = lResult$sigma
#####################
Tables of integrations and critical values
Description
A dataset containing integration values used for fast computation and critical values for hypothesis test
Usage
data(Tables)
Details
#'@format A list containing tables of integrations and critical values for normal, logistic and Cauchy distributions:
- Integration.Table.Normal
- 2561-by-3 table for a normal distribution 
- Integration.Table.Logistic1
- 1281-by-3 table for the logistic distribution 
- Integration.Table.Logistic2
- 1281-by-1 table for the logistic distribution 
- Integration.Table.Cauchy
- 2561-by-3 table for the Cauchy distribution 
- Critical.Value.for.OriginalTest.Normal
- 100-by-6 table of critical values of the original test for a normal distribution 
- Critical.Value.for.ModifiedTest.Normal
- 100-by-6 table of critical values of the modified test for a normal distribution 
- Critical.Value.for.OriginalTest.Logistic
- 100-by-6 table of critical values of the original test for the logistic distribution 
- Critical.Value.for.ModifiedTest.Logistic
- 100-by-6 table of critical values of the modified test for the logistic distribution 
- Critical.Value.for.OriginalTest.Cauchy
- 100-by-6 table of critical values of the original test for the Cauchy distribution 
- Critical.Value.for.ModifiedTest.Cauchy
- 100-by-6 table of critical values of the modified test for the Cauchy distribution