Skip to content

Releases: haziqj/iprior

v0.7.2

19 Oct 23:35
Compare
Choose a tag to compare
  • Updated get_kern_matrix() accessor function.
  • Fixed bug in delta method conversion of standard errors in direct optimisation.
  • Updated references and README.

v0.7.1

20 Dec 09:50
Compare
Choose a tag to compare
  • Modification to centering of SE and polynomial kernels.
  • Added option train.samp and test.samp to kernL() and iprior() to easily split training and test samples for cross-validation.
  • Added a function to perform k-fold cross validation experiments for I-prior models.
  • Fixed minor bug in iprior_em_closed() which caused lambda to expand together with the number of iterations.
  • Fixed incorrect calculation of polynomial kernel.
  • Removed all legacy functions.
  • Updated vignette.
  • Added vignette for cross-validation function.

iprior2

03 Nov 12:34
Compare
Choose a tag to compare
  • This udpate provides a complete redesign of the internals of the package. There are more kernels supported, new estimation methods, and plots are done using the ggplot2 package.
  • Enhanced the methods and calculations for the linear (canonical) kernel, the fractional Brownian motion kernel, and the Pearson kernel.
  • Added support for the squared exponential kernel and the d-degree polynomial kernel with offset c.
  • Newly redesigned kernel loader function kernL(), while still keeping support for the legacy .kernL() function - although there are plans to phase out this in favour of the new one.
  • There is now a summary method for ipriorKernel2 objects.
  • The legacy kernels Canonical, FBM and Pearson are now referred to as linear, fbm and pearson, but there is backward compatability with the old references.
  • parsm option for interactions has been removed - it's hardly likely that this is ever useful.
  • rootkern option for Gaussian process regression has been removed. Should use specialised GPR software for this and keep this package for I-priors only.
  • order option to specify higher order terms has been removed in favour of polynomial kernels.
  • The package now supports the following estimation methods:
    1. Direct minimisation of the marginal deviance;
    2. EM algorithm (efficient closed-form version and the "regular" version);
    3. Combination of direct and EM methods;
    4. A fixed estimation method to obtain the posterior regression function without estimating any hyperparameters; and
    5. The Nystrom kernel approximation method.
  • Parallel restarts is supported via control = list(restarts = TRUE). By default it will use the maximum number of available cores to fit the model in parallel from different random initial values.
  • New plot functions added: plot_fitted(), plot_predict(), and plot_iter().
  • Updated documentation throughout.
  • New vignette added which gives an overview of regression modelling using I-priors.

v0.6.5

14 Jun 22:38
Compare
Choose a tag to compare
  • Updated documentation.
  • Edit FBM kernel. Corrected a mistake. Initially for multivariate x then H(x) = H1(x[1]) + ... + H_p(x[p]). This is only true for Canonical kernel. Now correctly applies the FBM kernel using the norm function on each multivariate x_i.
  • Added support for Gaussian process regression with the currently available kernels.
  • Fixed memory leak in FBM kernel function. Also made Canonical kernel function more efficient.
  • While linear I-prior models can perform classification tasks, one cannot obtain estimation of probabilities for the classes. This is the motivation behind the [iprobit] (https://github.com/haziqjamil/iprobit) package. By using a probit link, the I-prior methodology is extended to categorical responses.
  • Most functions written here can be used by I-prior probit models in the iprobit package. Added support for categorical response kernel loading.
  • Exported some helper functions like is.ipriorKernel() and is.ipriorMod().

v0.6.4

14 Feb 14:50
Compare
Choose a tag to compare
  • Fixed "override warning" bug in kernel loader when multiple Hurst coefficients used.
  • Updated documentation for iprior() and kernL().
  • Trimmed down the size of ipriorMod objects by not saving Psql, Sl, Hlam.mat, and VarY.inv. Although these are no longer stored within an ipriorMod object, they can still be retrieved via the functions Hlam() and vary().
  • Fixed a bug with ipriorOptim() or fbmOptim() whereby standard errors could not be calculated.
  • Added new features to fbmOptim(): Ability to specify an interval to search for, and also the maximum number of iterations for the initial EM step.

fbmOptim

15 Jan 11:12
Compare
Choose a tag to compare
  • Changed some code to match JSS paper.
  • Commented on the line where Pearson kernels are always used for factor-type variables. Should this always be the case?
  • Added control option to set intercept at a fixed value.
  • Added (hidden) options for str() when printing ipriorKernel objects.
  • Added fbmOptim() function to find optimum Hurst coefficient for fitting FBM I-prior models.
  • Added new way to specify Hurst coefficient using the syntax kernel = "FBM,<value>".
  • Wrote vignette manual guide which details how to calculate the matrices required for the closed form estimate of lambda.
  • Removed the T2 statistic from the summary() output for now.

first-cran

21 Aug 16:55
Compare
Choose a tag to compare

This is the first CRAN-ready release. It is also obtainable directly from CRAN.