Learn R Programming

changepoint (version 0.3)

single.meanvar.gamma.calc: Single Change in Mean and Variance - Gamma Data (i.e. change in scale parameter)

Description

Calculates the scaled log-likelihood (assuming the data is Gamma distributed) for all possible changepoint locations and returns the single most probable (max).

Usage

single.meanvar.gamma.calc(data, shape=1, extrainf = TRUE)

Arguments

data
A vector or matrix containing the data within which you wish to find a changepoint. If data is a matrix, each row is considered a separate dataset.
shape
Numerical value of the true shape parameter for the data. Either single value or vector of length nrow(data). If data is a matrix and shape is a single value, the same shape parameter is used for each row.
extrainf
Logical, if TRUE the scaled null and alternative likelihood values are returned along with the changepoint location. If FALSE, only the changepoint location is returned.

Value

  • If data is a vector (single dataset) and extrainf=FALSE then a single value is returned:
  • cptThe most probable location of a changepoint (scaled max log likelihood over all possible changepoint locations
  • If data is a vector (single dataset) and extrainf=TRUE then a vector with three elements is returned:
  • cptThe most probable location of a changepoint (scaled max log likelihood over all possible changepoint locations
  • nullThe scaled null likelihood (log likelihood of entire data with no change)
  • altlikeThe scaled alternative liklihood at cpt (log likelihood of entire data with a change at cpt)
  • If data is an mxn matrix (multiple datasets) and extrainf=FALSE then a vector is returned:
  • cptVector of length m containing the most probable location of a changepoint (scaled max log likelihood over all possible changepoint locations for each row in data. cpt[1] is the most probable changepoint of the first row in data and cpt[m] is the most probable changepoint for the final row in data.
  • If data is a matrix (multiple datasets) and extrainf=TRUE then a matrix is returned where the first column is the changepoint location for each row in data, the second column is the scaled null likelihood for each row in data, the final column is the scaled maximum of the alternative likelihoods for each row in data.

Details

This function is used to find a single change in mean and variance for data that is assumed to be Gamma distributed. The changepoint returned is simply the location where the log likelihood is maximised, there is no test performed as to whether this location is a true changepoint or not.

The returned likelihoods are scaled so that a test can be directly performed using the log of the likelihood ratio, $\lambda=\left{null-alt\right}$, which should be maximised.

In reality this function should not be used unless you are performing a changepoint test using the output supplied. This function is used in the "see also" functions that perform various changepoint tests, ideally these should be used.

References

Change in Gamma scale parameter: Chen, J. and Gupta, A. K. (2000) Parametric statistical change point analysis, Birkhauser

See Also

single.meanvar.gamma, cpt.meanvar

Examples

Run this code
# Example of a change in scale parameter (mean and variance) at 100 in simulated gamma data
set.seed(1)
x=c(rgamma(100,shape=1,rate=1),rgamma(100,shape=1,rate=5))
single.meanvar.gamma.calc(x,extrainf=FALSE) # finds change at 97
single.meanvar.gamma.calc(x) # finds change at 97 and gives null likelihood as -230.8446 and alternative likelihood as -318.8848


# Example of no change in scale parameter (mean or variance) in simulated gamma data
set.seed(10)
x=rgamma(100,shape=1,rate=1)
single.meanvar.gamma.calc(x,extrainf=FALSE) # finds change at 72, this is the most probable point of change but if a changepoint test is performed then no change will be found.
single.meanvar.gamma.calc(x)# change at 72, null liklihood is -13.28644 and alternative is -16.27421

Run the code above in your browser using DataLab