6 个版本 (重大变更)
0.6.0 | 2023 年 10 月 11 日 |
---|---|
0.5.0 | 2022 年 9 月 29 日 |
0.4.0 | 2022 年 9 月 27 日 |
0.3.0 | 2022 年 9 月 25 日 |
0.1.0 | 2022 年 9 月 25 日 |
#471 在 数学 中
每月 112 次下载
在 3 个 Crates 中使用 (2 个直接使用)
54KB
865 代码行
Rust 中的单位根测试
描述
Rust 中时间序列数据的平稳性测试。
目前包括:无常数无趋势、常数或常数和趋势的 Dickey-Fuller 测试 和 Augmented Dickey-Fuller 测试。
许可证
本项目受 Apache License 2.0 许可证的约束。
用法
Augmented Dickey-Fuller 测试
use unit_root::prelude::distrib::{AlphaLevel,Regression};
use unit_root::prelude::nalgebra::DVector;
use unit_root::prelude::*;
fn main() {
let y = DVector::from_row_slice(&[
-0.89642362,
0.3222552,
-1.96581989,
-1.10012936,
-1.3682928,
1.17239875,
2.19561259,
2.54295031,
2.05530587,
1.13212955,
-0.42968979,
]);
let lag = 2;
// compute the test statistic
let regression = Regression::Constant;
let report = tools::adf_test(&y, lag, regression).unwrap();
// critical values for the model with a constant but no trend:
let critical_value: f32 = distrib::dickeyfuller::get_critical_value(
regression,
report.size,
AlphaLevel::OnePercent,
)
.unwrap();
assert_eq!(report.size, 8);
// comparison
let t_stat = report.test_statistic;
println!("t-statistic: {}", t_stat);
println!("critical value: {}", critical_value);
}
更多示例请见 此处。
依赖项
~4MB
~78K SLoC