*! version 1.0.0 Feb2025

Title

symbionet -- Builds a symbiotic (or symmetric) correlation network from a list of variables.

Syntax

symbionet
[varlist]
[,
slevel()
symmetric
strict
keepsignchange
keepall
dag
output()
plot
]

[varlist] Indicates the variables to add to the network. _all is accepted. Something is required.

slevel() Indicates the significance threshold to keep correlations. Could be 1, 5, 10 (default), or all(100) (no threshold).

symmetric Indicates if the network has to be symetric. If absent the (default) analysis runs an asymmetric correlation network following Von Jacobi (2018) quantile regression analysis.

strict (Only for asymmetric analysis) Restrict the network to strictly commensalit edges (monotonic increase).

keepsignchange (Only for asymmetric analysis) Do not drop edges with changing tie sign.

keepall (Only for asymmetric analysis) Keep all edges. Do not restrict network to dominant and commensalist edges.

dag (Only for asymmetric analysis) Indicates whether the resulting network is a Directed Acyclic Graph.

output() Output desired. Could be the network edgelist (default), initial restores the initial dataset, matrix* creates the adjacency matrix as Stata variables, and detail shows the intermediate variables (only debug/development purposes)

plot Plots the network. Requires nwcommands from Thomas Grund.

Description

Builds a symbiotic (or symmetric) correlation network from a variable list. Keeps only correlations significant at the level set in slevel()
Returns the edgelsit of correlation network in Stata and its the adjacency matrix in Mata (unless specified otherwise).
Previous dataset is deleted, unless output(intial) option is chosen.

Two correlations networks can be computed :

- symetric correlation networks computes the bilateral correlation coefficient between variables.

- asymmetric (default) correlation network identifies the directionality of the relationships, building a symbiotic network and only displays dominant and comensalist edges between variables. (See Horvath (2011) ; Von Jacobi (2018))

Note : the symbionet command does not require any additional user written package to run properly.
However, some options (plot and output(matrix)) require Thomas Grund nwcommands package.
Similarly, if nwcommands is installed, additional results are stored as Stata networks (see below).

Any nonnumeric variables in the varlist will be ignored.

Example

. sysuse auto.dta,clear
. netsymmetric _all ,slevel(5)

. sysuse auto.dta,clear
. symbionet price p mpg rep78 headroom trunk , dag

Saved results

In Mata
Mat : The adjacency matrix of the correlation network.

if nwcommands is installed
symbionetwork: The correlation network
signimat: The network of significance level of each edge.

See also

For a deeper presentation of symbiotic (asymmetric) correlation network, please see:
Von Jacobi, N. 2018. "Institutional Interconnections: Understanding Symbiotic Relationships." Journal of Institutional Economics 14(5): 853–76. doi: 10.1017/S1744137417000558.
Horvath, S. (2011). Weighted network analysis: applications in genomics and systems biology. Springer Science & Business Media.

Cite as

Please, cite the command as:

Author

Nadia Von Jacobi, University of Trento
Charlie Joyez, Universite Cote d'Azur
contact : charlie.joyez[@]univ-cotedazur.fr