Skip to content

Latest commit

 

History

History
109 lines (77 loc) · 3.99 KB

TODO.md

File metadata and controls

109 lines (77 loc) · 3.99 KB

Package scope and management

[x] Use the rchk tool to check for possible memory errors/problems before submitting to the CRAN.

[ ] Make NSGEV and potomax rely on nieve for the distribution functions, and discard the implementation of the probability functions therein.

[ ] Make sure that the the inst/computing directory and the four vignettes GEV.Rnw, GPD2.Rnw, PP2PoisGP.Rnw, PoisGP2PP.Rnw are not provided to the CRAN since the package may then fail to conform to CRAN rules. Nearly 1MO of pdf files:( Suitable links should be found in the package manual. Maybe keep nieve.Rnw as a package vignette with a few examples?

[ ] Remove any kind of dependence to Renext?

[x] Should we keep the R implementation for the GEV distribution? no.

Documentation

[x] Inquire about the extRemes package and report it in the table of the vignette nieve.Rnw. The package does not aim at exporting probability functions which are rather seen as being for internal use.

[x] Add a .bib file with the citations for the packages and cite the packages in the vignette.

[ ] In GPD2.tex, recall how can the derivatives of the distribution function F are related to those of the cumulated hazard H.

[x] In GEV.tex, give the formula for the 2-nd order derivatives of the distribution function.

[ ] In GEV.tex, the expressions related to the log-likelihood log f (and especially those for the 2-nd order devrivatives) could be made much simpler by using the quantities W, T as defined in the section devoted to the distribution function F.

Computing

[x] Implement the Taylor approximation for ξ ≈ 0 in the PP2poisGPand poisGP2PP (C) functions.

[ ] Add the Extended GPD distributions of Papastathopoulos & Tawn. Since the distribution functions or survival are obtained by composition of functions, the derivatives should come by chain rule.

[ ] Should there be a Gumbel2 distribution?

[ ] Use a global variable for eps in order to share a value across functions? Or add a new argument for each function?

Testing and polishing

[x] Add tests for the specific case ξ ≈ 0 (more precisely, ξ < ϵ) in the transformations PP2poisGPand poisGP2PP.

[ ] Add a test checking that the transformation PP2poisGPand poisGP2PP are reciprocal to each other (in both directions).

[x] Make the quantile functions work correctly for p = 0.0 and p = 1.0. The corresponding end-point of the distribution (be it finite or infinite) must be returned.

[x] (Except for exp1) Make sure that the distribution functions work correctly with q = -Inf and q = Inf. The value 0 or 1 must be returned.

[ ] Add the formal argument log.p to the distribution functions pGPD2 and pGEV to better conform to what is done for distribution functions in the stats package.

[ ] Add the formal argument log.p to the quantile functions qGPD2 and qGEV to better conform to what is done for distribution functions. This of course implies changing the derivative and the Hessian.

[x] Make sure that the density functions are zero (not NA) outside of the support.

[x] Make sure that the distribution functions are OK outside or the support: zero or one.

[ ] Make sure that the probability functions return NA when an incorrect parameter is used (negative scale).

[ ] Test the functions related to the Exp1distribution.

[ ] When checking a Hessian , one can get a “false negative” ressult because the numerical Hessian is wrong. Typically, it contains some NA. Find something to do then: change the options numDeriv::hessian, discard the test, …

Github actions and more

[x] Add GitHub action to check on the three main platforms.

[ ] Add Github action to produce precompiled files as artifacts?

[ ] Add code coverage in a github action.