pywhy_graphs.classes.timeseries.StationaryTimeSeriesDiGraph#
- class pywhy_graphs.classes.timeseries.StationaryTimeSeriesDiGraph(incoming_graph_data=None, max_lag: int = 1, stationary: bool = True, check_time_direction: bool = True, **attr)[source]#
- Stationary time-series directed graph. - A stationary graph is one where lagged edges repeat themselves over time. Edges connecting to nodes in time point “t=0” are all the relevant edges needed to depict the time-series graph. - Time-series graph nodes are defined as a cross-product of variables and a time-index. Nodes are always a tuple of variables and the lag. For example, a node could be - ('x', -1)indicating the ‘x’ variable at ‘-1’ lag.- Parameters:
- incoming_graph_datainput graph (optional, default: None)
- Data to initialize graph. If None (default) an empty graph is created. The data can be any format that is supported by the to_networkx_graph() function, currently including edge list, dict of dicts, dict of lists, NetworkX graph, 2D NumPy array, SciPy sparse matrix, or PyGraphviz graph. 
- max_lagint, optional
- The max lag, by default 1. 
- attrkeyword arguments, optional (default= no attributes)
- Attributes to add to graph as key=value pairs. 
 
- Attributes:
- stationarybool
- Whether or not the graph is stationary. 
- check_time_directionbool
- Whether or not to check time directionality is valid, by default True. May set to False for undirected graphs. 
 
 - Notes - A stationary time-series graph is one in which edges over time are repeated. In order to properly query for d-separation, one needs to query up to 2 times the maximum lag. - A ts-graph’s nodes are defined uniquely by its set of variables and the maximum-lag parameter. Given for example, - ('x', 'y', 'z')as the set of variables and a maximum-lag of 2, then there would be 9 total nodes in the graph consisting of the cross-product of- ('x', 'y', 'z')and- (0, 1, 2). Nodes are automatically added, or deleted depending on the value of the maximum-lag in the graph.