Beyond the standard support (frequency),
fcaR provides advanced metrics to analyze the quality and
robustness of formal concepts, especially in fuzzy settings.
Intensional stability is defined as the probability that the intent of a concept is preserved when a random subset of its extent is removed.
\[ \sigma(C) = \frac{|\{ A \subseteq \text{Ext}(C) \mid A' = \text{Int}(C) \}|}{2^{|\text{Ext}(C)|}} \]
Let’s compute it for the planets dataset:
fc <- FormalContext$new(planets)
fc$find_concepts()
stab <- fc$concepts$stability()
head(stab)
#> [1] 1.000000 0.703125 0.750000 0.750000 0.750000 0.562500Concepts with stability close to 1 are very robust (likely real patterns), while those near 0 are unstable (likely artifacts).
Separation measures how many objects are “unique” to a concept \(C\), i.e., they are covered by \(C\) but not by any of its direct subconcepts (descendants).
\[ \text{Sep}(C) = |\text{Ext}(C)| - |\bigcup_{K \prec C} \text{Ext}(K)| \]
A high separation indicates that the concept introduces a significant set of new objects into the hierarchy.
In Fuzzy FCA, concepts are “rectangles” of high values in the matrix, but not necessarily all 1s. Density measures the average value of the relation \(I\) within the concept.
\[ \rho(C) = \frac{\sum_{g \in \text{Ext}(C), m \in \text{Int}(C)} I(g, m)}{|\text{Ext}(C)| \cdot |\text{Int}(C)|} \]
We can combine these metrics to filter and analyze the lattice.