Temporal Information Partitioning Networks (TIPNets)使用方法-中文

一、导入数据

点击EntropyGUI_mainwindow.m文件运行即可得到如下界面。(文档中说首次使用需要通过mex将.c文件编译成.mexw64文件,但是给的代码包里面其实已经有.mexw64文件了,不需要编译)

Load New Dataset:

可以选择导入.xls文件或者.mat文件。.xls文件第一列为时间序列,第一行应为标题。.mat文件必须包括一个名为data的(#变量x#时间段)矩阵和一个名为varnames的(1x#变量)单元,其中包含变量名称。导入后得到如下界面:

 点击OK可得到.mat的项目文件(包含原数据和一些其他未经修改的初始数据)。

Load Project File:

可直接导入.mat的已经经过修改的数据。

Generate Data:

生成随机测试数据。

(前两个按键导入后可以执行下一步,生成随机数据后需要重新导入)

二、数据预处理

五种处理模式:

No filtering:不进行滤波

This option reverts the data to the original normalized data set. 使数据恢复原始数据集。 

Anomaly:取异常值

For data that exhibit diurnal or seasonal cycle, the X-day anomaly is the difference between the value at a certain time (e.g. 12:00 noon on Day 100) and the mean value at that time on the X surrounding days (e.g. 12:00 noon on Days 95-105 for a 10-day anomaly). The anomaly can
only be computed for 1 variable at a time, and the user must check on the time step and units of the data (minutes, days) and units of the desired anomaly (days, years). The anomaly of the originally loaded data is then normalized to a (0,1) range. 对于呈日或季节周期变化的数据,X天异常值是一个确定时刻(例如第100天的12:00点)和该时刻在周围X天的平均值的差(例如十天异常值为95-105天12:00点)。异常值一次只能计算一个变量,并且需要选择时间步长及其单位(分钟/天等)和想要计算的异常值的单位(天/年)。最后异常值会被归一化在(0,1)的范围内。
(这个用法有点没懂)

Increment:增量

增量:For data where an increase or decrease may be more relevant than an actual value (e.g. a population variable). This changes the data as follows X(t) = X(t) − X(t − 1). 用于增减量更适合表达真实情况的数据(例如人口变量)

Log10:

This takes the base 10 logarithm for skewed input data (e.g. flow rate data) 用于给倾斜的输入数据取对数(例如流速)

Filter: 滤波

For a single variable at a time, this option applies a Butterworth Filter to the data for a high-pass or low-pass filter to preserve or omit short-term fluctuations. This can be used to (a) omit the diurnal and/or seasonal cycle with a high-pass filter (b) omit noise with a low-pass filter. 对于时间内的单一变量,进行巴特沃斯高通或者低通滤波,用于忽略短期波动。使用高通滤波忽略周期性变化,使用低通滤波忽略噪声。

Remove Outliers: 移除离群值

For each option, outlier removal is performed after the operation (e.g. after taking the logarithm or increment). Outliers, data points that lie above X75 + 1.5IQR or below X25 − 1.5IQR, are set to the values X75 + 1.5IQR or X25 − 1.5IQR, respectively rather than being removed. Removal of outliers would impact the time dependencies by removing a time-step of the specified variable. Any outlier removal via gap-filling or other methods should be done prior to loading a dataset.  对于每个选项,在操作之后(例如,在取对数或增量之后)执行异常值去除。 异常值,即高于 X75 + 1.5IQR 或低于 X25 - 1.5IQR 的数据点,分别设置为值 X75 + 1.5IQR 或 X25 - 1.5IQR,而不是被删除。 移除异常值会通过移除指定变量的时间步长来影响时间依赖性。 应在加载数据集之前通过间隙填充或其他方法删除任何异常值。(大意就是超出界限的值用界限值代替,而不是直接移除异常值,直接移除会影响时间序列,应该在导入数据前就进行处理)

Nomalize: 归一化到(-1,1)

Steps per window: 

to partition a long time-series data sets into multiple segments, the segment length can be changed. This option results in computation of one network for each time-series segments, and is useful to compare before-after scenarios or to consider the evolution over time of interactions. 最后,为了将一个长的时间序列数据集划分为多个片段,可以改变片段的长度。这个选项的结果是为每个时间序列段计算一个网络,对于比较前后情况或考虑相互作用随时间的演变很有用。(将长时间序列划分成n个短时间序列集,用于比较时间先后的情况或者比较随时间变化的相互作用)

三、网络选项

Statistical Sig Tests: 统计学上的显著性检测,框里面为测试数量

Number of Lags: 滞后数 注意:滞后数应远小于时间窗口内的数据点总数,否在在构建pdf时会出错

Enter Lag Vector: 除了制定的连续滞后,可以通过lagvect.mat导入滞后向量。lagvect在userdata文件中,根据需要替换。滞后数由非负数组成,且不包含0.

Lag Zero Forcing: 默认情况下该选项为否,0滞后不被认为是主要链接。当X在比Y时间尺度低得多的时间尺度上驱动Y时,改为YES。

Network Run Option: 默认情况下选项为full network,程序将执行所有运算。如果只想计算单个节点的熵或者相互信息,可以改变选项。但当选项改变时,Plot Results查看器将不起作用。

Omit Self-Links: 默认情况下不忽略自相关,如果忽略自相关可更改选项。

Run Segments in Parallel: 同时进行分段运行。如果数据集在预处理中被分割成多个时间序列,且计算机可以同时运行代码,请启用此功能。

四、PDF选项

PDF:probability distribution function 概率分布函数

Time Segment:对于在预处理选项中已经分段的数据集,选择分段来查看pdf

Choose nodes and lags:选择1、2或3个节点,分别查看一维、二维或三维pdf。要查看滞后的pdf,请选择第二和第三节点的滞后。一维pdf将显示为柱状图,每个柱子的高度与p(x)相对应。一个二维的pdf会显示为一个彩色比例的图像,其中颜色与p(x, y)相对应。三维的pdf将显示为三维点云,其中一个点代表p(x, y, z) > 0。

pdf method:选择pdf方法。默认为fixed bin method,另一选项为KDE。KDE的h(带宽)暂时只能在compute_pdfGUI.m窗口更改。

Kernel Density Estimation:核密度估计。由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parzen窗(Parzen window),设数据集包含N个样本,对这N个样本进行核函数拟合,将这N个概率密度函数进行叠加便得到了整个样本集的概率密度函数。带宽h的选择:当选择极小的带宽值,每个点就是一个峰值,那么每个点就是一类,如果选择大的带宽值,那么所有的数据只有一个峰值,只有一类。带宽选择没有对错之分,可以基于分析的需求进行选择。也可以通过可视化观察估计结果和数据分布的匹配度。

bin scheme:对于分段数据,默认为global模式,数据在0,1之间缩放。local模式是数据在时间尺度内的最大最小值中缩放。(但是看图感觉v3版本的按键反了,global是区间内缩放,local是0,1之间缩放)

当对所看到的的窗口更改PDF的相关属性的时候,其他片段也会随之更改。这里不同的变量没有机制选择不同的bin数量或者方法。

五、网络计算和制图

点击Compute Links进行计算。(关于同时运行的内容,可以在matlab设置里进行一定的更改,还有一些对nodes数量选择或者运行时间的内容没有翻译)

点击Plot Results进行绘图。

网络圈图包含了每个节点,并描述了几个信息措施和相关的时间滞后和强度。箭头表示方向性(源到目标),颜色表示检测到的链接的时间滞后,线宽表示链接的强度。节点的大小和颜色对应于 "自我 "链接的属性,取决于在网络选项中选择的Omit Self Links。圆环网络下面的时间序列或点图显示了每个片段(对于1个或多个片段)和六个信息量度的总数值(平均值)。

Choose Segment:选择分段

Choose Time Lag:选择时间滞后。只有占主导地位的滞后显示在网图中。

Choose Measure:选择绘制方法

Normalize:归一化(V3似乎没有这个按钮)

Choose nodes (or all):选择一个特定的节点对,只查看该链接的统计数据,或选择一个单一的源节点或目标节点,分别查看传出或传入的链接。

六、输出结构

所有TIPNet计算结果保存在entropy(熵)的结构中。这个结构包括含了在预处理选项中选择的每个时间窗口的cell,每个cell包含information measures的变量。这个变量在EntropyGUI_Nomenclature.xlsx文件中被描述。

七、常见问题

以下选项对计算时间有影响:

1.变量的数量

2.滞后时间的数量。lagvect中更多的滞后时间会导致更多的计算pdfs结果。

3.PDF方法。KDE方法通常比固定分档法慢,特别是随着分档数N和数据长度的增加。

4.统计学意义测试的数量(sig)

常见问题:

1.数据缺失或者出现NAN值:NAN值在PDFS中被省略。但是NAN值会导致更稀疏的PDF。且TIPNet并不考虑不好的数值,如-999。但会认为它们是数据中的离群值。

原始代码及参考的论文/操作文档:https://github.com/HydroComplexity/TIPNet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值