Learn R Programming

bnmonitor (version 0.2.2)

psd_check: Check for positive semi-definiteness after a perturbation

Description

psd_check returns a boolean to determine if the covariance matrix after a perturbation is positive semi-definite.

Usage

psd_check(x, ...)

# S3 method for GBN psd_check(x, entry, delta, ...)

# S3 method for CI psd_check(x, type, entry, delta, ...)

Value

A dataframe including the variations performed and the check for positive semi-definiteness.

Arguments

x

object of class GBN or CI.

...

additional arguments for compatibility.

entry

a vector of length 2 indicating the entry of the covariance matrix to vary.

delta

numeric vector, including the variation parameters that act additively.

type

character string. Type of model-preserving co-variation: either total, partial, row, column or all. If all, the Frobenius norms are computed for every type of co-variation matrix.

Methods (by class)

  • psd_check(GBN): psd_check for objects GBN

  • psd_check(CI): psd_check for objects CI

Details

The details depend on the class the method psd_check is applied to.

Let \(\Sigma\) be the covariance matrix of a Gaussian Bayesian network and let \(D\) be a perturbation matrix acting additively. The perturbed covariance matrix \(\Sigma+D\) is positive semi-definite if $$\rho(D)\leq \lambda_{\min}(\Sigma)$$ where \(\lambda_{\min}\) is the smallest eigenvalue end \(\rho\) is the spectral radius.

References

C. Görgen & M. Leonelli (2020), Model-preserving sensitivity analysis for families of Gaussian distributions. Journal of Machine Learning Research, 21: 1-32.

Examples

Run this code
psd_check(synthetic_gbn,c(2,4),-3)
psd_check(synthetic_gbn,c(2,3),seq(-1,1,0.1))
psd_check(synthetic_ci,"partial",c(2,4),0.95)
psd_check(synthetic_ci,"all",c(2,3),seq(0.9,1.1,0.01))

Run the code above in your browser using DataLab