Display various outputs (goodness-of-fit criteria, robustness, diagnostic) associated with a collection of PLNnetwork fits (a PLNnetworkfamily)

# S3 method for PLNnetworkfamily
plot(
  x,
  type = c("criteria", "stability", "diagnostic"),
  criteria = c("loglik", "pen_loglik", "BIC", "EBIC"),
  reverse = FALSE,
  log.x = TRUE,
  stability = 0.9,
  ...
)

Arguments

x

an R6 object with class PLNnetworkfamily

type

a character, either "criteria", "stability" or "diagnostic" for the type of plot.

criteria

vector of characters. The criteria to plot in c("loglik", "BIC", "ICL", "R_squared", "EBIC", "pen_loglik"). Default is c("loglik", "pen_loglik", "BIC", "EBIC"). Only relevant when type = "criteria".

reverse

A logical indicating whether to plot the value of the criteria in the "natural" direction (loglik - 0.5 penalty) or in the "reverse" direction (-2 loglik + penalty). Default to FALSE, i.e use the natural direction, on the same scale as the log-likelihood.

log.x

logical: should the x-axis be represented in log-scale? Default is TRUE.

stability

scalar: the targeted level of stability in stability plot. Default is .9.

...

additional parameters for S3 compatibility. Not used

Value

Produces either a diagnostic plot (with type = 'diagnostic'), a stability plot (with type = 'stability') or the evolution of the criteria of the different models considered (with type = 'criteria', the default).

Details

The BIC and ICL criteria have the form 'loglik - 1/2 * penalty' so that they are on the same scale as the model log-likelihood. You can change this direction and use the alternate form '-2*loglik + penalty', as some authors do, by setting reverse = TRUE.

Examples

data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
fits <- PLNnetwork(Abundance ~ 1, data = trichoptera)
#> 
#>  Initialization...
#>  Adjusting 30 PLN with sparse inverse covariance estimation
#> 	Joint optimization alternating gradient descent and graphical-lasso
#> 	sparsifying penalty = 7.541317 
	sparsifying penalty = 6.965695 
	sparsifying penalty = 6.43401 
	sparsifying penalty = 5.942907 
	sparsifying penalty = 5.48929 
	sparsifying penalty = 5.070297 
	sparsifying penalty = 4.683286 
	sparsifying penalty = 4.325815 
	sparsifying penalty = 3.995629 
	sparsifying penalty = 3.690646 
	sparsifying penalty = 3.408942 
	sparsifying penalty = 3.148741 
	sparsifying penalty = 2.9084 
	sparsifying penalty = 2.686404 
	sparsifying penalty = 2.481353 
	sparsifying penalty = 2.291954 
	sparsifying penalty = 2.117011 
	sparsifying penalty = 1.955421 
	sparsifying penalty = 1.806166 
	sparsifying penalty = 1.668303 
	sparsifying penalty = 1.540962 
	sparsifying penalty = 1.423342 
	sparsifying penalty = 1.3147 
	sparsifying penalty = 1.21435 
	sparsifying penalty = 1.121659 
	sparsifying penalty = 1.036044 
	sparsifying penalty = 0.9569638 
	sparsifying penalty = 0.8839195 
	sparsifying penalty = 0.8164507 
	sparsifying penalty = 0.7541317 

#>  Post-treatments
#>  DONE!
if (FALSE) {
plot(fits)
}