Crates.io | oxidiviner-math |
lib.rs | oxidiviner-math |
version | 0.3.3 |
created_at | 2025-05-19 18:30:23.051295+00 |
updated_at | 2025-05-19 20:47:03.755233+00 |
description | Mathematical utilities for time series analysis, including transformations, metrics, and statistical functions |
homepage | https://github.com/rustic-ml/OxiDiviner |
repository | https://github.com/rustic-ml/OxiDiviner |
max_upload_size | |
id | 1680220 |
size | 26,189 |
Mathematical utilities for time series analysis and statistical forecasting.
This crate provides essential mathematical functions, statistical tools, and metrics for time series analysis in the OxiDiviner ecosystem. It serves as a foundation for implementing various forecasting algorithms and data transformations.
transforms
- Data transformation functions for time series preprocessingstatistics
- Statistical functions for time series analysismetrics
- Performance and accuracy metrics for evaluating forecastsAdd this to your Cargo.toml
:
[dependencies]
oxidiviner-math = "0.1.0"
use oxidiviner_math::transforms::{difference, log_transform};
use oxidiviner_math::metrics::{mean_absolute_error, mean_squared_error};
fn main() {
// Original time series data
let data = vec![10.5, 11.2, 10.8, 11.5, 12.0, 12.5, 12.2, 12.8];
// Apply transformations
let log_data = log_transform(&data);
let diff_data = difference(&data, 1);
println!("Original data: {:?}", data);
println!("Log-transformed: {:?}", log_data);
println!("First difference: {:?}", diff_data);
// Calculate forecast accuracy metrics
let actual = vec![10.0, 11.0, 9.5, 10.5];
let predicted = vec![9.8, 10.5, 9.7, 10.2];
let mae = mean_absolute_error(&actual, &predicted);
let mse = mean_squared_error(&actual, &predicted);
println!("MAE: {:.4}, MSE: {:.4}", mae, mse);
}
Licensed under the MIT License. See LICENSE for details.