posteriorDiscard.GaussianNIG: Update a "GaussianNIG" object with sample sufficient...

Description Usage Arguments Value References See Also Examples

View source: R/Gaussian_Inference.r

Description

For the model structure:

x \sim Gaussian(X beta,sigma^2)

sigma^2 \sim InvGamma(a,b)

beta \sim Gaussian(m,sigma^2 V)

Where X is a row vector, or a design matrix where each row is an obervation. InvGamma() is the Inverse-Gamma distribution, Gaussian() is the Gaussian distribution. See ?dInvGamma and dGaussian for the definitions of these distribution.
The model structure and prior parameters are stored in a "GaussianNIG" object.
Contrary to posterior(), this function will update (m,V,a,b) by removing the information of observed samples (x,X). The model structure and prior parameters are stored in a "GaussianNIG" object, the prior parameters in this object will be updated after running this function.

Usage

1
2
## S3 method for class 'GaussianNIG'
posteriorDiscard(obj, ss, w = NULL, ...)

Arguments

obj

A "GaussianNIG" object.

ss

Sufficient statistics of (x,X). In Gaussian-NIG case the sufficient statistic of sample (x,X) is a object of type "ssGaussianLinear", it can be generated by the function sufficientStatistics().

w

Sample weights,default NULL.

...

Additional arguments to be passed to other inherited types.

Value

None. the gamma stored in "obj" will be updated with the information in "ss".

References

Banerjee, Sudipto. "Bayesian Linear Model: Gory Details." Downloaded from http://www. biostat. umn. edu/~ph7440 (2008).

See Also

GaussianNIG,posterior.GaussianNIG

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
X <- 1:20
x <- rnorm(20)+ X*0.3
## add information, then remove them
obj <- GaussianNIG(gamma=list(m=0,V=1,a=1,b=1))
ss <- sufficientStatistics(obj = obj,X=X,x=x)
posterior(obj = obj,ss = ss)
obj
posteriorDiscard(obj=obj,ss=ss)
obj
## or, add information, then remove them one by one
obj <- GaussianNIG(gamma=list(m=0,V=1,a=1,b=1))
ssEach <- sufficientStatistics(obj = obj,X=X,x=x,foreach = TRUE)
for(sss in ssEach) posterior(obj = obj,ss = sss)
obj
for(sss in ssEach) posteriorDiscard(obj = obj,ss = sss)
obj

bbricks documentation built on July 8, 2020, 7:29 p.m.