# Ridged Fused Inverse Covariance Matrix Estimation

### Description

Calculates the ridge fusion precision estimator for multiple classes

### Usage

1 | ```
RidgeFused(S,lambda1,lambda2,nc,tol=10^(-7), maxiter=1e3,warm.start=NULL,scale=FALSE)
``` |

### Arguments

A list is returned where the elements are:

`S` |
A list of length J that contains the sample covariance estimators of each class |

`lambda1` |
Ridge tuning parameter, must be greater than or equal to 0 |

`lambda2` |
Ridge Fusion tuning parameter, must be greater than or equal to 0 |

`nc` |
A vector of length J that contains the sample size of each class |

`tol` |
Convergence tolerance for blockwise coordinate descent algorithm |

`maxiter` |
The number of iterations the algorithm will run if convergence tolerance is not met |

`warm.start` |
If |

`scale` |
If |

### Value

An object of class `RidgeFusion`

, basically a list including elements

`Omega` |
a list where each element is the inverse covariance matrix estimate for the corresponding element of S |

`Ridge` |
lambda1 |

`FusedRidge` |
lambda2 |

`iter` |
Number of iterations until convergence |

### Author(s)

Brad Price

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ```
## Creating a toy example with 5 variables
library(mvtnorm)
set.seed(526)
p=5
Sig1=matrix(0,p,p)
for(j in 1:p){
for(i in j:p){
Sig1[j,i]=.7^abs(i-j)
Sig1[i,j]=Sig1[j,i]
}
}
Sig2=diag(c(rep(2,p-5),rep(1,5)),p,p)
X1=rmvnorm(100,rep(2*log(p)/p,p),Sig1)
Y=rmvnorm(100,,Sig2)
## Creating a list to use as S
S=list(0,0)
S[[1]]=(99/100)*cov(X1)
S[[2]]=(99/100)*cov(Y)
## Creating the vector of sample sizes
nc2=c(100,100)
## Running RidgeFused scale invariant method for tuning parameters lambda1=1 ,lambda2=2
A=RidgeFused(S,1,2,nc2,scale=TRUE)
A
names(A)
``` |