hctsa简介
hctsa(highly comparative time-series analysis)是一款功能强大的MATLAB软件包,专门用于进行高度比较的时间序列分析。它能够从一系列单变量时间序列中提取成千上万的时间序列特征,并提供一系列可视化和分析工具来处理生成的时间序列特征矩阵。
hctsa的主要功能
- 对时间序列数据进行归一化和聚类
- 生成时间序列数据的低维表示
- 识别和解释不同类别时间序列之间的区分特征
- 拟合和评估多变量分类模型
hctsa已被广泛应用于多个领域的时间序列分析任务中,包括:
- 从脑电图(EEG)记录中分类癫痫发作
- 通过语音诊断帕金森病,用于精准医疗
- 监测睡眠阶段的进展
- 从脑成像数据预测精神分裂症
- 预测金融和生态系统中的灾难性事件
- 一般时间序列分类问题
hctsa的特征类型
hctsa包含的特征类型非常丰富多样,主要包括:
- 线性相关性(自相关、傅里叶谱密度)
- 信息论量(近似熵、样本熵、置换熵、自互信息)
- 模型拟合(AR、ARMA、GARCH、高斯过程回归、指数平滑、状态空间、HMM)
- 非线性时间序列分析(分形维数估计)
- 尺度(去趋势波动分析)
- 平稳性(滑动窗口测量、StatAv)
- 分布属性(偏度、对称性、分布类型)
- 基函数(小波)
- 其他测量(极端事件、可见性图、延迟向量方差)
安装与使用
安装方法
对于熟悉git的用户(推荐),可以通过以下步骤安装:
- 在GitHub上fork项目仓库
- 将仓库clone到本地机器
- 设置上游远程仓库:
git remote add upstream git://github.com/benfulcher/hctsa.git
- 更新最新版本:
git pull upstream main
- 更新最新工具箱:
git submodule update --init
不熟悉git的用户可以直接下载ZIP压缩包。
下载完成后,运行install.m
脚本即可完成安装。
使用文档
hctsa提供了全面的文档,包括入门指南和高级分析教程,可在GitBook上查阅。
此外,项目的wiki页面也提供了大量额外信息,包括:
- 替代特征集(如更快的catch22)
- 其他可用的R、Python和Julia时间序列包
- 项目的时间序列数据存档CompEngine
- 可下载的hctsa特征矩阵和示例工作流
- 在计算集群上分布式运行hctsa的资源
- 使用hctsa解决不同研究问题的发表论文列表
- 关于hctsa和相关基于特征的时间序列分析的常见问题
引用与许可
引用
如果您使用了hctsa软件,请引用以下开放获取文章:
-
B.D. Fulcher and N.S. Jones. hctsa: A computational framework for automated time-series phenotyping using massive feature extraction. Cell Systems: 5, 527 (2017).
-
B.D. Fulcher, M.A. Little, N.S. Jones. Highly comparative time-series analysis: the empirical structure of time series and their methods. J. Roy. Soc. Interface: 10, 83 (2013).
许可
hctsa采用双重许可:
-
运行hctsa分析和可视化的框架采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议。商业用途需从Engine Analytics获得许可。
-
从时间序列数据计算特征的代码采用GNU通用公共许可证第3版。
致谢
hctsa的开发得到了众多人员的贡献,特别感谢:
- Romesh Abeysuriya在MySQL数据库设置和安装脚本方面的帮助
- Santi Villalba提供的大量有益反馈和建议
如果您对hctsa有任何问题或建议,欢迎通过GitHub issues或email与开发团队联系。我们非常重视用户的反馈,并将认真考虑每一条建议。
hctsa为时间序列分析提供了强大而全面的工具集,希望它能在您的研究中发挥重要作用!🚀