Package skellam. R topics documented: December 15, Version Date

Similar documents
Package Delaporte. August 13, 2017

Package invgamma. May 7, 2017

Package pearson7. June 22, 2016

Package sdprisk. December 31, 2016

Package polypoly. R topics documented: May 27, 2017

Package gk. R topics documented: February 4, Type Package Title g-and-k and g-and-h Distribution Functions Version 0.5.

Package goftest. R topics documented: April 3, Type Package

Package SimSCRPiecewise

Package emg. R topics documented: May 17, 2018

Package gtheory. October 30, 2016

Package EMVS. April 24, 2018

Package gwqs. R topics documented: May 7, Type Package. Title Generalized Weighted Quantile Sum Regression. Version 1.1.0

Package sbgcop. May 29, 2018

Package LindleyR. June 23, 2016

Package SK. May 16, 2018

Package generalhoslem

Package horseshoe. November 8, 2016

Package varband. November 7, 2016

Package HIMA. November 8, 2017

Package condmixt. R topics documented: February 19, Type Package

Package alphaoutlier

Package esaddle. R topics documented: January 9, 2017

Package elhmc. R topics documented: July 4, Type Package

Package CPE. R topics documented: February 19, 2015

Package RTransferEntropy

Package NlinTS. September 10, 2018

Package CompQuadForm

Package MultisiteMediation

Package ARCensReg. September 11, 2016

Package flexcwm. R topics documented: July 11, Type Package. Title Flexible Cluster-Weighted Modeling. Version 1.0.

Package ADPF. September 13, 2017

Package rbvs. R topics documented: August 29, Type Package Title Ranking-Based Variable Selection Version 1.0.

Package gma. September 19, 2017

Package bmem. February 15, 2013

Package darts. February 19, 2015

Continuous Univariate Distributions

Package TwoStepCLogit

Package CCP. R topics documented: December 17, Type Package. Title Significance Tests for Canonical Correlation Analysis (CCA) Version 0.

Package Grace. R topics documented: April 9, Type Package

Package flexcwm. R topics documented: July 2, Type Package. Title Flexible Cluster-Weighted Modeling. Version 1.1.

Package SimCorMultRes

Package depth.plot. December 20, 2015

Package bivariate. December 10, 2018

Package leiv. R topics documented: February 20, Version Type Package

Package esreg. August 22, 2017

Package factorqr. R topics documented: February 19, 2015

Package gambin. July 12, 2018

Package TimeSeries.OBeu

Package codadiags. February 19, 2015

Package mcmcse. July 4, 2017

Package Perc. R topics documented: December 5, Type Package

Package RootsExtremaInflections

Lecture 09: Sep 19, Randomness. Random Variables Sampling Probability Distributions Caching. James Balamuta STAT UIUC

Package covtest. R topics documented:

Package scio. February 20, 2015

Package nardl. R topics documented: May 7, Type Package

Package spcov. R topics documented: February 20, 2015

Package bpp. December 13, 2016

Package rnmf. February 20, 2015

Package TSF. July 15, 2017

Package aspi. R topics documented: September 20, 2016

Package LIStest. February 19, 2015

Package CoxRidge. February 27, 2015

Package GPfit. R topics documented: April 2, Title Gaussian Processes Modeling Version Date

Package gumbel. February 15, 2013

Package MiRKATS. May 30, 2016

Package netcoh. May 2, 2016

Package ShrinkCovMat

Package DiscreteLaplace

Package rgabriel. February 20, 2015

Package homtest. February 20, 2015

Package sscor. January 28, 2016

Package hurdlr. R topics documented: July 2, Version 0.1

Package BNN. February 2, 2018

Package MicroMacroMultilevel

Package WaveletArima

Package semgof. February 20, 2015

Package sklarsomega. May 24, 2018

Package ProDenICA. February 19, 2015

R Functions for Probability Distributions

Package IsingFit. September 7, 2016

Package CopulaRegression

Package dominanceanalysis

Package reinforcedpred

Package penmsm. R topics documented: February 20, Type Package

Package BayesNI. February 19, 2015

Package severity. February 20, 2015

Package SEMModComp. R topics documented: February 19, Type Package Title Model Comparisons for SEM Version 1.0 Date Author Roy Levy

Package JointModel. R topics documented: June 9, Title Semiparametric Joint Models for Longitudinal and Counting Processes Version 1.

Package jmcm. November 25, 2017

Package NonpModelCheck

Package beam. May 3, 2018

Package FinCovRegularization

Package OGI. December 20, 2017

Package univoutl. January 9, 2018

Package OUwie. August 29, 2013

Package HarmonicRegression

Package Tcomp. June 6, 2018

Package jmuoutlier. February 17, 2017

Package ProbForecastGOP

Transcription:

Version 0.2.0 Date 2016-12-13 Package skellam December 15, 2016 Title Densities and Sampling for the Skellam Distribution Author Jerry W. Lewis, Patrick E. Brown <patrick.brown@utoronto.ca>, Michail Tsagris <mtsagris@yahoo.gr> Maintainer Patrick E. Brown <patrick.brown@utoronto.ca> Description Functions for the Skellam distribution, including: density (pmf), cdf, quantiles and regression. URL http://r-forge.r-project.org/projects/healthqueues/ License GPL (>= 2) Imports stats Suggests knitr, VGAM VignetteBuilder knitr RoxygenNote 5.0.1 Repository CRAN Repository/R-Forge/Project healthqueues Repository/R-Forge/Revision 23 Repository/R-Forge/DateTimeStamp 2016-12-14 22:40:16 Date/Publication 2016-12-15 15:57:06 NeedsCompilation no R topics documented: Skellam........................................... 2 skellam.mle......................................... 4 skellam.reg......................................... 6 Index 8 1

2 Skellam Skellam The Skellam Distribution Description Usage Density, distribution function, quantile function and random number generation for the Skellam distribution. dskellam(x, lambda1, lambda2 = lambda1, log = FALSE) pskellam(q, lambda1, lambda2 = lambda1, lower.tail = TRUE, log.p = FALSE) qskellam(p, lambda1, lambda2 = lambda1, lower.tail = TRUE, log.p = FALSE) rskellam(n, lambda1, lambda2 = lambda1) dskellam.sp(x, lambda1, lambda2 = lambda1, log = FALSE) pskellam.sp(q, lambda1, lambda2 = lambda1, lower.tail = TRUE, log.p = FALSE) Arguments x, q vector of quantiles. p Details vector of probabilities. n number of observations. If length(n) > 1, the length is taken to be the number required. lambda1, lambda2 vectors of (non-negative) means. log, log.p lower.tail logical; if TRUE, probabilities p are given as log(p). logical; if TRUE (default), probabilities are P [X x], otherwise, P [X > x]. If Y 1 and Y 2 are Poisson variables with means µ 1 and µ 2 and correlation ρ, then X = Y 1 Y 2 is Skellam with parameters λ 1 = µ 1 ρ µ 1 µ 2 and λ 2 = µ 2 ρ µ 1 µ 2. dskellam returns a value equivalent to I(2 λ 1 λ 2, x )(λ 1 /λ 2 ) x/2 exp( λ 1 λ 2 ) where I(y, ν) is the modified Bessel function of the first kind. The x differs from most Skellam expressions in the literature, but is correct since x is an integer, resulting in improved portability and (in R versions prior to 2.9) improved accuracy for x<0. Exponential scaling is used in besseli to postpone numerical problems. When numerical problems do occur, a saddlepoint approximation is substituted, which typically gives at least 4-figure accuracy. An alternative representation is dchisq(2λ 1, 2(x + 1), 2λ 2 )2 for x 0, and dchisq(2λ 2, 2(1 x), 2λ 1 )2 for x 0; but in R besseli appears to be more accurately implemented (for very small probabilities) than dchisq.

Skellam 3 Value Note pskellam(x,lambda1,lambda2) returns pchisq(2*lambda2, -2*x, 2*lambda1) for x <= 0 and 1 - pchisq(2*lambda1, 2*(x+1), 2*lambda2) for x >= 0. When pchisq incorrectly returns 0, a saddlepoint approximation is substituted, which typically gives at least 2-figure accuracy. The quantile is defined as the smallest value x such that F (x) p, where F is the distribution function. For lower.tail=false, the quantile is defined as the largest value x such that F (x,lower.tail=false) p. rskellam is calculated as rpois(n,lambda1)-rpois(n,lambda2) dskellam.sp and pskellam.sp return saddlepoint approximations to the pmf and cdf. They are called by dskellam and pskellam when results from primary methods are in doubt. dskellam gives the (log) density, pskellam gives the (log) distribution function, qskellam gives the quantile function, and rskellam generates random deviates. Invalid lambdas will result in return value NaN, with a warning. The VGAM package also contains Skellam functions, which are syntactically similar; independently developed versions are included here for completeness. Moreover, this dskellam function offers a broader working range, correct handling of cases where at least one rate parameter is zero, enhanced argument checking, and (in R versions prior to 2.9) improved accuracy for x<0. If both packages are loaded, skellam::dskellam or VGAM::dskellam can unambiguously specify which implementation to use. Author(s) Source Jerry W. Lewis, Patrick E. Brown The relation of dgamma to the modified Bessel function of the first kind was given by Skellam (1946). The relation of pgamma to the noncentral chi-square was given by Johnson (1959). Tables are given by Strackee and van der Gon (1962), which can be used to verify this implementation (cf. direct calculation in the examples below). qskellam uses the Cornish Fisher expansion to include skewness and kurtosis corrections to a normal approximation, followed by a search. If getoption("verbose")==true, then qskellam will not use qpois when one of the lambdas is zero, in order to verify that this search algorithm has been implemented properly. References Butler, R. (2007) Saddlepoint Approximations with Applications, Cambridge University Press, Cambridge & New York, p.17. Johnson, N. L. (1959) On an extension of the connexion between Poisson and chi 2 distributions. Biometrika 46, 352 362. Johnson, N. L.; Kotz, S.; Kemp, A. W. (1993) Univariate Discrete Distributions, 2nd ed., John Wiley and Sons, New York, pp.190-192.

4 skellam.mle Skellam, J. G. (1946) The frequency distribution of the difference between two Poisson variates belonging to different populations. Journal of the Royal Statistical Society, series A 109/3, 26. Strackee, J.; van der Gon, J. J. D. (1962) The frequency distribution of the difference between two Poisson variates. Statistica Neerlandica 16/1, 17-23. Wikipedia. Skellam distribution http://en.wikipedia.org/wiki/skellam_distribution Examples require('skellam') # one lambda = 0 ~ Poisson c(dskellam(0:10,5,0), dpois(0:10,5)) c(dskellam(-(0:10),0,5), dpois(0:10,5)) c(pskellam(0:10,5,0,lower.tail=true), ppois(0:10,5,lower.tail=true)) c(pskellam(0:10,5,0,lower.tail=false), ppois(0:10,5,lower.tail=false)) c(pskellam(-(0:10),0,5,lower.tail=false), ppois(0:10-1,5,lower.tail=true)) c(pskellam(-(0:10),0,5,lower.tail=true), ppois(0:10-1,5,lower.tail=false)) # both lambdas!= 0 ~ convolution of Poissons dskellam(1,0.5,0.75) # sum(dpois(1+0:10,0.5)*dpois(0:10,0.75)) pskellam(1,0.5,0.75) # sum(dskellam(-10:1,0.5,0.75)) dskellam(c(-1,1),c(12,10),c(10,12)) # c(0.0697968,0.0697968) dskellam(c(-1,1),c(12,10),c(10,12),log=true) # log(dskellam(c(-1,1),c(12,10),c(10,12))) dskellam(256,257,1) # 0.024829348733183769 # exact result for comparison with saddlepoint dskellam(-3724,2000,3000) # 3.1058145363400105e-308 # exact result for comparison with saddlepoint # (still accurate in extreme tail) pskellam(c(-1,0),c(12,10),c(10,12)) # c(0.2965079,0.7034921) pskellam(c(-1,0),c(12,10),c(10,12),lower.tail=false) # 1-pskellam(c(-1,0),c(12,10),c(10,12)) pskellam(-2:2,8.5,10.25,log.p=true) # log(pskellam(-2:2,8.5,10.25)) qskellam(c(0.05,0.95),3,4) # c(-5,3); pskellam(cbind(-6:-5,2:3),3,4) qskellam(c(0.05,0.95),3,0) # c(1,6); qpois(c(0.05,0.95),3) rskellam(35,8.5,10.25) skellam.mle MLE of the Skellam distribution Description MLE of the Skellam distribution.

skellam.mle 5 Usage skellam.mle(x) Arguments x A vector of integers, positive or negative. Details Instead of having to maximise the log-likelihood with respect to the two parameters, λ 1 and λ 2, we maximise with respect to λ 2 and then λ 1 = λ 2 + x. This makes it faster. The command "nlm" is used to optimise the log-likelihood as it proved to be faster than the "optimise". Value A list including: iters The number of iterations required by "nlm". loglik The maximised log-likelihood value. param The estimated parameters, ˆλ 1 and ˆλ 2. Author(s) Michail Tsagris References Butler, R. (2007) Saddlepoint Approximations with Applications, Cambridge University Press, Cambridge & New York, p.17. Johnson, N. L. (1959) On an extension of the connection between Poisson and chi 2 distributions. Biometrika 46, 352 362. Johnson, N. L.; Kotz, S.; Kemp, A. W. (1993) Univariate Discrete Distributions, 2nd ed., John Wiley and Sons, New York, pp.190-192. Skellam, J. G. (1946) The frequency distribution of the difference between two Poisson variates belonging to different populations. Journal of the Royal Statistical Society, series A 109/3, 26. Strackee, J.; van der Gon, J. J. D. (1962) The frequency distribution of the difference between two Poisson variates. Statistica Neerlandica 16/1, 17-23. Abdulhamid, A. A.; Maha, A. O. (2010) On The Poisson Difference Distribution Inference and Applications. BULLETIN of the Malaysian Mathematical Sciences Society, 33/1, 17 45. Wikipedia. Skellam distribution http://en.wikipedia.org/wiki/skellam_distribution

6 skellam.reg Examples require('skellam') x1 <- rpois(1000, 10) x2 <- rpois(1000, 6) x <- x1 - x2 skellam.mle(x) x1 <- rpois(10000, 10) x2 <- rpois(10000, 6) x <- x1 - x2 skellam.mle(x) skellam.reg Regression assuming a Skellam distribution Description Regression assuming a Skellam distribution. Usage skellam.reg(y, x) Arguments y x A vector of integers, positive or negative. A matrix, a vector or a data.frame with the covariates. Details Value We use the exponential link function to ensure that the both λ s are positive. The command nlm does the main job. A list including: loglik param1 param2 The maximised log-likelihood value. The estimated regression coefficients of λ 1. This is matrix, with the first column being the estimated regression coefficients. The second column is their relevant standard error. The third column is the t value (coef/se(coef)) and the final column is the p-value of the Wald test. The estimated regression coefficients of λ 2. This is matrix, with the first column being the estimated regression coefficients. The second column is their relevant standard error. The third column is the t value (coef/se(coef)) and the final column is the p-value of the Wald test.

skellam.reg 7 Author(s) Michail Tsagris References Skellam, J. G. (1946) The frequency distribution of the difference between two Poisson variates belonging to different populations. Journal of the Royal Statistical Society, series A 109/3, 26. Strackee, J.; van der Gon, J. J. D. (1962) The frequency distribution of the difference between two Poisson variates. Statistica Neerlandica 16/1, 17-23. Karlis and Ntzoufras IMA 2009 presentation http://stat-athens.aueb.gr/~jbn/papers/files/ 20_Karlis_Ntzoufras_2009_IMA_presentation_handouts_v01.pdf Examples require('skellam') set.seed(0) x <- rnorm(1000) y1 <- rpois(1000, exp(1 + 1 * x) ) y2 <- rpois(1000, exp(-1 + 1 * x) ) y <- y2 - y1 skellam.reg(y, x)

Index Topic Maximum likelihood estimation skellam.mle, 4 Topic Skellam regression skellam.reg, 6 Topic distribution Skellam, 2 dskellam (Skellam), 2 nlm, 6 pskellam (Skellam), 2 qskellam (Skellam), 2 rskellam (Skellam), 2 Skellam, 2, 3 skellam (Skellam), 2 skellam.mle, 4 skellam.reg, 6 8