v0.7.2
- 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
- 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.
v0.7.0
- 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:
- Direct minimisation of the marginal deviance;
- EM algorithm (efficient closed-form version and the “regular” version);
- Combination of direct and EM methods;
- A fixed estimation method to obtain the posterior regression function without estimating any hyperparameters; and
- 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
- 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
- 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.
v0.6.3
- 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.
v0.6.2
- Fix for the installation error (#26) on old R releases (prior to 3.3.0). This error was caused by the generic S3 method
sigma()
not being available from the stats
package prior to R v3.3.0.
v0.6.1
- Several bug fixes and cleanups makes this a CRAN-ready release.
v0.6
- Added documentation for the package.
v0.5.1
- Added multi-stage model fitting via
kernL()
.
v0.5
- Massive improvement to the EM engine which brings about speed improvements.
- Added a plotting feature.
v0.4.7
v0.4.6
- Added support for Fractional Brownian Motion kernel (i.e. smoothing models).
v0.4.5
- Added the ‘predicted log-likelihood feature’ in the EM reporting.
- WARNING: The I-prior package is currently not optimised for large datasets yet. You might encounter debilitating slowness for
n > 1000
. This is mainly due to the matrix multiplication and data storing process when the EM initialises. See issue #20.
v0.4.4
v0.4.3
- Fixed an error in the
predict()
functionality.
v0.4.2
- Added progress feedback reporting feature for the EM algorithm.
v0.4.1
- Improved Pearson kernel generation, but still requires tweaking.
v0.4
- Added support for Pearson kernels (i.e. regression with categorical variables)
v0.3
v0.2
- Multiple scale parameters supported.
v0.1
- First useful release.
- Only centred canonical kernel and a single scale parameter able to be used.