Core function of nestorFit

nestorFit(
  MO,
  SO,
  initList,
  maxIter = 20,
  eps = 0.01,
  alpha = 0.1,
  verbatim = 1,
  print.hist = FALSE,
  trackJ = FALSE
)

Arguments

MO

Estimated means from norm_PLN.

SO

Estimated marginal vairances from norm_PLN.

initList

Result list from initVEM.

maxIter

Maximal number of iterations.

eps

Convergence precision parameter.

alpha

Tempering parameter, default to 0.1.

verbatim

Integer controlling verbosity in three levels, starting at 0.

print.hist

Prints edges weights histograms at each step if TRUE.

trackJ

Computes the lower bound at each parameter update if TRUE. Otherwise, the lower bound is only computed at each new VE step.

Value

  • M: estimated means.

  • S: estimated marginal variances.

  • Pg: edges probabilities.

  • Wg: edges variational weights.

  • W: edges weights.

  • Omega: matrix filled with precision terms common to all spanning trees.

  • lowbound: table containing the lowerbound trajectory.

  • features: table containing the parametes trajectory.

  • finalIter: number of iterations until convergence was reached.

  • time: running time of the VEM.

  • max.prec: boolean for reach of maximal precision reached during the VEM fit.

Examples

data=generate_missing_data(n=100,p=10,r=1,type="scale-free", plot=FALSE) PLNfit<-norm_PLN(data$Y) MO<-PLNfit$MO SO<-PLNfit$SO sigma_O=PLNfit$sigma_O #-- initialize with true clique for example initClique=data$TC #-- initialize the VEM initList=initVEM(cliqueList=initClique,sigma_O, MO,r=1 ) #-- run core function nestorFit fit=nestorFit( MO,SO, initList=initList, maxIter=5,verbatim=1)
#> #> nestor ran in 0.271secs and 4 iterations.
str(fit)
#> List of 11 #> $ M : num [1:100, 1:11] 2.3145 -0.536 1.4827 0.0809 0.793 ... #> $ S : num [1:100, 1:11] 0.0125 0.1691 0.028 0.1016 0.0537 ... #> $ Pg : num [1:11, 1:11] 0.00 9.64e-09 0.00 0.00 0.00 ... #> $ Wg : num [1:11, 1:11] 0.00 2.85e-01 1.13e-08 0.00 0.00 ... #> $ W : num [1:11, 1:11] 0 0.439 0 0 0 ... #> $ Omega : num [1:11, 1:11] 1.437 -0.339 -0.166 -0.289 -0.41 ... #> $ lowbound :'data.frame': 5 obs. of 5 variables: #> ..$ J : num [1:5] -745 -743 -744 -744 -744 #> ..$ T1 : num [1:5] -1028 -1068 -1076 -1077 -1078 #> ..$ T2 : num [1:5] -8.04e-03 -9.07e-04 -1.35e-04 -2.67e-05 -6.33e-06 #> ..$ T3 : num [1:5] 283 325 332 333 334 #> ..$ parameter: chr [1:5] "complete" "complete" "complete" "complete" ... #> $ features :'data.frame': 4 obs. of 4 variables: #> ..$ diffPg : num [1:4] 0.5 0.00273 0.000605 0.000112 #> ..$ diffW : num [1:4] 50486 709593 7342408 14667979 #> ..$ diffOmega: num [1:4] 0.62307 0.05675 0.01324 0.00369 #> ..$ diffWg : num [1:4] 2.99e+10 4.91e+09 7.47e+10 7.81e+11 #> $ finalIter: num 4 #> $ time : 'difftime' num 0.270549058914185 #> ..- attr(*, "units")= chr "secs" #> $ max.prec : logi FALSE