Learn R Programming

ptest (version 1.0-8)

ptestReg: Test short time series for periodicity with maximum likelihood ratio tests

Description

This function is used to test the existence of the periodicity for a short time series (length

Usage

ptestReg(z, method = c("LS", "L1"), multiple = FALSE)

Arguments

z
A series or a matrix containg series as columns
method
The statistical test to be used. See details for more information.
multiple
Indicating whether z contains multiple series.

Value

Object of class "Htest" produced.An object of class "Htest" is a list containing the following components:

Details

The null hypothesis is set as no peridicities, H0: f=0. Discriptions of different test statistics (methods) are as follow:

LS: The -2 loglikelihood ratio test statistic based on the likelihood ratio test with normal noises, where the p-values are efficiently computed by the response surface method.

L1: The -2 loglikelihood ratio test statistic based on the likelihood ratio test with Laplace noises, where the p-values are efficiently computed by the response surface method.

References

Islam, M.S. (2008). Peridocity, Change Detection and Prediction in Microarrays. Ph.D. Thesis, The University of Western Ontario.

Li, T. H. (2010). A nonlinear method for robust spectral analysis. Signal Processing, IEEE Transactions on, 58(5), 2466-2474.

MacKinnon, James (2001) : Computing numerical distribution functions in econometrics, Queen's Economics Department Working Paper, No. 1037.

See Also

fitHReg, ptestg

Examples

Run this code
# Simulate the harmonic regression model with standard Gaussian error terms
set.seed(193)
# Non-Fourier frequency
z <- simHReg(n = 14, f=2/10, A = 2, B = 1, model="Gaussian",sig=1) 
ptestReg(z,method = "LS") #Normal likelihood ratio test
ptestReg(z,method = "L1") #Laplace likelihood ratio test  
fitHReg(z, algorithm="exact") #the nls fitted result 
    
                                           
# Performe tests on the alpha factor experiment
data(alpha)
## Eliminate genes with missing observations
alpha.nonNA <- alpha[complete.cases(alpha),]
## Using the multiple option to do the test for all the genes
## Transpose the data set so that each column stands for a gene
alpha.nonNA <- t(alpha.nonNA)
result <- ptestReg(alpha.nonNA, method = "LS",multiple=TRUE) 
str(result)       


# The movtivating example: gene ORF06806 in Cc
data(Cc)
x <- Cc[which(rownames(Cc)=="ORF06806"),]
plot(1:length(x),x,type="b", main="ORF06806",
     xlab="time",ylab="Gene expression")
ptestg(x,method="Fisher") #Fail to detect the periodicity
ptestReg(x,method="LS") #The periodicity is significantly not zero
ptestReg(x,method="L1") #The periodicity is significantly not zero

Run the code above in your browser using DataLab