visibility_graph#

visibility_graph(series)[源]#

返回输入时间序列的可见性图。

可见性图将时间序列转换为图。构建的图使用整数节点来指示该节点代表序列中的哪个事件。边的形成方式如下:将序列视为条形图,并将其视为景观的侧视图,每个条形顶部有一个节点。边意味着节点之间可以通过直线“视线”连接,而不会被节点之间的任何条形遮挡。

结果图在其结构中继承了序列的几个属性。因此,周期序列转换为规则图,随机序列转换为随机图,分形序列转换为无标度网络 [1]

参数:
seriesSequence[Number]

表示时间的数值序列(可迭代且可切片)。

返回:
NetworkX 图

输入序列的可见性图

参考文献

[1]

Lacasa, Lucas, Bartolo Luque, Fernando Ballesteros, Jordi Luque, and Juan Carlos Nuno. “From time series to complex networks: The visibility graph.” Proceedings of the National Academy of Sciences 105, no. 13 (2008): 4972-4975. https://www.pnas.org/doi/10.1073/pnas.0709247105

示例

>>> series_list = [range(10), [2, 1, 3, 2, 1, 3, 2, 1, 3, 2, 1, 3]]
>>> for s in series_list:
...     g = nx.visibility_graph(s)
...     print(g)
Graph with 10 nodes and 9 edges
Graph with 12 nodes and 18 edges