Plot the heatmap of the MAP covariance matrix estimator
or the convergence of the optimization method.
The plot depends on the type
argument.
Usage
# S3 method for class 'gips'
plot(
x,
type = NA,
logarithmic_y = TRUE,
logarithmic_x = FALSE,
color = NULL,
title_text = "Convergence plot",
xlabel = NULL,
ylabel = NULL,
show_legend = TRUE,
ylim = NULL,
xlim = NULL,
...
)
Arguments
- x
Object of a
gips
class.- type
A character vector of length 1. One of
c("heatmap", "MLE", "best", "all", "both", "n0", "block_heatmap")
:"heatmap"
,"MLE"
- Plots a heatmap of the Maximum Likelihood Estimator of the covariance matrix given the permutation. That is, theS
matrix inside thegips
object projected on the permutation in thegips
object."best"
- Plots the line of the biggest a posteriori found over time."all"
- Plots the line of a posteriori for all visited states."both"
- Plots both lines from "all" and "best"."n0"
- Plots the line ofn0
s that were spotted during optimization (only for "MH" optimization)."block_heatmap"
- Plots a heatmap of diagonally block representation ofS
. Non-block entries (equal to 0) are white for better clarity. For more information, see Block Decomposition - [1], Theorem 1 section invignette("Theory", package = "gips")
or in its pkgdown page.
The default value is
NA
, which will be changed to "heatmap" for non-optimizedgips
objects and to "both" for optimized ones. Using the default produces a warning. All other arguments are ignored for thetype = "heatmap"
,type = "MLE"
, ortype = "block_heatmap"
.- logarithmic_y, logarithmic_x
A boolean. Sets the axis of the plot in logarithmic scale.
- color
Vector of colors to be used to plot lines.
- title_text
Text to be in the title of the plot.
- xlabel
Text to be on the bottom of the plot.
- ylabel
Text to be on the left of the plot.
- show_legend
A boolean. Whether or not to show a legend.
- ylim
Limits of the y axis. When
NULL
, the minimum, and maximum of thelog_posteriori_of_gips()
are taken.- xlim
Limits of the x axis. When
NULL
, the whole optimization process is shown.- ...
Additional arguments passed to other various elements of the plot.
Value
When type
is one of "best"
, "all"
, "both"
or "n0"
,
returns an invisible NULL
.
When type
is one of "heatmap"
, "MLE"
or "block_heatmap"
,
returns an object of class ggplot
.
See also
find_MAP()
- Usually, theplot.gips()
is called on the output offind_MAP()
.project_matrix()
- The function used withtype = "MLE"
.gips()
- The constructor of agips
class. Thegips
object is used as thex
parameter.
Examples
require("MASS") # for mvrnorm()
perm_size <- 6
mu <- runif(6, -10, 10) # Assume we don't know the mean
sigma_matrix <- matrix(
data = c(
1.0, 0.8, 0.6, 0.4, 0.6, 0.8,
0.8, 1.0, 0.8, 0.6, 0.4, 0.6,
0.6, 0.8, 1.0, 0.8, 0.6, 0.4,
0.4, 0.6, 0.8, 1.0, 0.8, 0.6,
0.6, 0.4, 0.6, 0.8, 1.0, 0.8,
0.8, 0.6, 0.4, 0.6, 0.8, 1.0
),
nrow = perm_size, byrow = TRUE
) # sigma_matrix is a matrix invariant under permutation (1,2,3,4,5,6)
number_of_observations <- 13
Z <- MASS::mvrnorm(number_of_observations, mu = mu, Sigma = sigma_matrix)
S <- cov(Z) # Assume we have to estimate the mean
g <- gips(S, number_of_observations)
if (require("graphics")) {
plot(g, type = "MLE")
}
g_map <- find_MAP(g, max_iter = 30, show_progress_bar = FALSE, optimizer = "hill_climbing")
if (require("graphics")) {
plot(g_map, type = "both", logarithmic_x = TRUE)
}
if (require("graphics")) {
plot(g_map, type = "MLE")
}
# Now, the output is (most likely) different because the permutation
# `g_map[[1]]` is (most likely) not an identity permutation.
g_map_MH <- find_MAP(g, max_iter = 30, show_progress_bar = FALSE, optimizer = "MH")
if (require("graphics")) {
plot(g_map_MH, type = "n0")
}