Learn R Programming

⚠️There's a newer version (0.7.4) of this package.Take me there.

R/iprior: An R package for I-prior regression

Based on the manuscript entitled "Objective Bayes regression using I-priors" by Wicher Bergsma [2016, unpublished]. In a linear regression setting, priors can be assigned to the regression function using a vector space framework, and the posterior estimate of the regression function obtained. I-priors are a class of such priors based on the principle of maximum entropy.

This package performs linear regression modelling using I-priors in R. It is intuitively designed to be similar to lm, with both formula and non-formula based input. The parameters of an I-prior model are the scale parameters of the reproducing kernel Hilbert space (RKHS) over the set of covariates, lambda, and the standard deviation of model errors, sigma. While the main interest of I-prior modelling is prediction, inference is also possible, e.g. via log-likelihood ratio tests.

For installation instructions and some examples of I-prior modelling, continue reading below. The package is documented with help files, and the wiki is a good source to view some discussion topics and further examples.

Installation

R/iprior makes use of several C++ code, so as a prerequisite, you must have a working C++ compiler. To get it:

  • On Windows, install Rtools.
  • On Mac, install Xcode from the app store.
  • On Linux, sudo apt-get install r-base-dev or similar.

Install R/iprior from this GitHub repository. To do this, you must first install the devtools package.

install.packages("devtools")
library(devtools)

Then, run the following code to install and attach the iprior package.

install_github("haziqjamil/iprior")
library(iprior)

Syntax

To fit an I-prior model to mod regressing y against x, where these are contained in the data frame dat, the following syntax are equivalent.

mod <- iprior(y ~ x, data = dat)  # formula based input
mod <- iprior(y = dat$y, x = dat$x)  # non-formula based input

The call to iprior() can be accompanied by model options in the form of model = list(), such as choosing the RKHS, number of scale parameters, and others. Control options for the EM algorithm fit is done through the option control = list(). Find the full list of options by typing ?iprior in R.

Examples

Visit the the wiki page for some usage examples.

Copy Link

Version

Install

install.packages('iprior')

Monthly Downloads

206

Version

0.6.1

License

GPL (>= 3.0)

Issues

Pull Requests

Stars

Forks

Maintainer

Haziq Jamil

Last Published

August 19th, 2016

Functions in iprior (0.6.1)

hsb

High school and beyond dataset
predict

Predict for I-prior models.
hsbsmall

High school and beyond dataset
logLik

Obtain the log-likelihood and deviance of an ipriorMod or ipriorKernel object
ipriorOptim

Estimate an I-prior model using a combination of EM algorithm and direct optimisation
simdat

Random slopes model simulated data
slope

Recover the betas (slopes) of the regression curves
kernel

Reproducing kernels for the I-prior package
ipriorColPal

Colour palette for iprior plots
datfbm

Simulated data to illustrate one-dimensional smoothing
progress

EM algorithm progression results for fitted ipriorMod objects
pollution

Air pollution and mortality