v2.0.3
Features
-
Release to CRAN.
-
tMIIC version for temporal causal discovery on stationary time series:
new mode ofmiic()
to reconstruct networks from temporal stationary
datasets (Simon et al., eLife 2024).
The temporal mode ofmiic()
is not activated by default and can be enabled by
setting the newly added parametermode
to"TS"
(Temporal Stationary).
A tuning of the temporal mode is possible through a set of new parameters:
max_nodes
,n_layers
,delta_t
,mov_avg
andkeep_max_data
. -
Addition of the 'is consequence' prior knowledge. Consequence variables are
excluded from the possible contributors, edges between consequences are
ignored and edges between a non consequence and a consequence are pre-oriented
toward the consequence.
Information about consequence variables can be provided tomiic()
in thestate_order
, by supplying anis_consequence
column. -
iMIIC version introducing contextual variables, genuine vs putative causes
and multiple enhancements to deal with very large datasets (Ribeiro-Dantas et al., iScience 2024).
Information on contextual variables can be provided tomiic()
in thestate_order
, by supplying anis_contextual
column and
genuine vs putative causes can be tuned by the newly added parameter
ort_consensus_ratio
. -
Enhancement of orientations using mutual information supremum principle for
finite datasets (Cabeli et al., Why21 at NeurIPS 2021).
The use of enhanced orientations is controlled by the newly added parameter
negative_info
ofmiic()
and is activated by default.
Fixes and improvements
-
Faster post-processing in R for datasets with large number of variables.
-
Fix for memory overflow on shared memory space.
-
The discretization of continuous variables has been improved when dealing
with variables having a large number of identical values.
Breaking changes
As part of this major release, consolidation of long-pending breaking changes:
-
Harmonization of exported function names using
camel case
. -
Harmonization of parameters and return values using
snake case
. -
Harmonization of abbreviations.
All the documentation has been updated accordingly, in case of issue when
upgrading to this version, please consult the help of the relevant function
for more information about its interface.
For the core miic()
function, the main breaking changes in the interface
when upgrading from the 1.5.3 release are:
in the parameters:
-
cplx
: renaming of the complexity term"mdl"
→"bic"
-
ori_proba_ratio
→ort_proba_ratio
in the miic object returned:
-
all.edges.summary
→summary
Nxy_ai
→n_xy_ai
log_confidence
→info_shifted
infOrt
→ort_inferred
trueOrt
→ort_ground_truth
isOrtOk
→is_inference_correct
isCausal
→is_causal
proba
→p_y2x
,p_x2y
consensus
→ort_consensus
-
orientations.prob
→triples
NI3
→ni3
Error
→conflict
Still compared to 1.5.3, another important change in the behavior of miic()
is that, by default, miic()
no longer propagates orientations
and allows latent variables discovery during orientation step.
Known issues
- Conditioning on a (very) large number of contributors can lead to a memory
fault.