项目简介
本项目是基于C和R语言开发的用于时间序列数据分析和小波模型参数估计的工具。其核心功能是借助小波变换和半参数模型开展事件检测,适用于处理具有复杂变化的时间序列数据。项目提供了从基础矩阵构建、模型参数估计到特征提取的完整工作流,助力用户从时间序列数据中提取有用信息。
项目的主要特性和功能
- 小波基础矩阵构建:利用R脚本
mk_wavelet_basis.R
生成小波基础矩阵,为后续模型拟合提供支撑。 - 半参数模型估计:使用C语言编写的
rowavedt
程序,通过PX - EM算法估计半参数模型的参数,最大化对数似然函数。 - 时间序列筛选:通过
screen_time_series.R
脚本,筛选出有显著变化的时间序列,提取感兴趣的时间尺度。 - 特征计算:借助
compute_features.R
脚本,结合模型输出和基础矩阵,计算时间序列的特征,为后续分类或其他分析提供支持。 - 高效计算:核心计算部分采用C语言编写,结合BLAS和LAPACK库进行高效矩阵运算,支持ATLAS和Intel MKL等高性能数学库。
安装使用步骤
1. 环境准备
确保系统已安装以下依赖:
- C编译器:如 gcc
和 glibc
。
- BLAS和LAPACK库:如ATLAS或Intel MKL。
- GNU科学库(GSL)。
- R语言环境:并安装 optparse
和 wavethresh
包。
2. 编译核心程序
- 编辑
Makefile
文件,按需修改以下参数: INSTALLDIR
:指定二进制文件的安装目录。LIBS
:指定编译和链接时使用的库。INCLUDES
:指定头文件的路径。CFLAGS
:指定传递给gcc
的额外参数,默认为-O3 -Wall
。- 在项目根目录下运行以下命令进行编译:
bash make all
- 运行测试以确保程序正常工作:
bash make test
- 安装
rowavedt
二进制文件:bash make install
3. 使用R脚本
R脚本可直接从 scripts/
目录运行,例如:
bash
Rscript scripts/mk_wavelet_basis.R
4. 工作流示例
- 使用
mk_wavelet_basis.R
生成小波基础矩阵。 - 使用
rowavedt
拟合半参数模型。 - 使用
screen_time_series.R
筛选感兴趣的时间序列。 - 使用
compute_features.R
计算特征。
5. 命令行帮助
所有脚本和程序都支持 -h
选项,可查看详细的帮助信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】