基于SAS中多个时间序列变量的聚类公司
clustering companies based on several time series variables in SAS
我有大约 70 家公司,我想根据使用 SAS 的三个时间序列变量将它们分成更小的组。
数据标准化堆叠。它看起来像这样:
Day Company Var1 Var2 Var3
1 A 0.01 0.015 0.14
2 A ...
3 A ...
...
99 Z ...
100 Z ...
这是我的想法:
- 我通过计算它们的欧氏距离Var4,将三个变量合为一个变量
然后我将拆开数据并得到一个像这样的新数据集:
Day Var4_A Var4_B ... Var4_Z
1 0.141 0.1 ... 0.23
2
...
99
100
- 我将新数据集发送到 proc similarity 以获得某种相似性
矩阵
- 我将相似度矩阵发送到 proc 集群并获取公司组
我的问题是:
步骤 1 是组合三个变量的明智方法吗?我在网上找到了一些使用步骤 2 和 3 对时间序列数据进行聚类的示例,但它们似乎只使用了 1 个变量。
通常的方法是使用动态时间扭曲距离。但是你在这里可能不需要这个,假设公司之间没有时间延迟。
您是否尝试过直接将此数据集转换为公司(然后 havong days x variables new variables)并在其上使用欧氏距离?
对我来说,对所有变量采用欧几里德范数作为特征缩减听起来不是一个好主意...
我有大约 70 家公司,我想根据使用 SAS 的三个时间序列变量将它们分成更小的组。
数据标准化堆叠。它看起来像这样:
Day Company Var1 Var2 Var3
1 A 0.01 0.015 0.14
2 A ...
3 A ...
...
99 Z ...
100 Z ...
这是我的想法:
- 我通过计算它们的欧氏距离Var4,将三个变量合为一个变量
然后我将拆开数据并得到一个像这样的新数据集:
Day Var4_A Var4_B ... Var4_Z
1 0.141 0.1 ... 0.23
2
...
99
100
- 我将新数据集发送到 proc similarity 以获得某种相似性 矩阵
- 我将相似度矩阵发送到 proc 集群并获取公司组
我的问题是:
步骤 1 是组合三个变量的明智方法吗?我在网上找到了一些使用步骤 2 和 3 对时间序列数据进行聚类的示例,但它们似乎只使用了 1 个变量。
通常的方法是使用动态时间扭曲距离。但是你在这里可能不需要这个,假设公司之间没有时间延迟。
您是否尝试过直接将此数据集转换为公司(然后 havong days x variables new variables)并在其上使用欧氏距离?
对我来说,对所有变量采用欧几里德范数作为特征缩减听起来不是一个好主意...