Expand description
Time series interpolation and resampling utilities
This module provides comprehensive time series interpolation methods and resampling capabilities for handling irregular time series data and missing timestamps.
§Interpolation Methods
- Linear interpolation: Simple linear interpolation between points
- Polynomial interpolation: Higher-order polynomial fitting
- Spline interpolation: Cubic spline interpolation for smooth curves
- Forward/Backward fill: Propagate last/next known value
- Seasonal interpolation: Use seasonal patterns for interpolation
§Resampling Methods
- Upsampling: Increase frequency (minute to second, daily to hourly)
- Downsampling: Decrease frequency with aggregation (second to minute, hourly to daily)
- Aggregation functions: Mean, sum, min, max, first, last, median
- Regular grid resampling: Convert irregular to regular time grid
§Multi-variate Alignment
- Time alignment: Align multiple series to common time index
- Interpolation alignment: Fill missing values during alignment
- Frequency harmonization: Bring series to common frequency
§Examples
use sklears_preprocessing::temporal::interpolation::{
TimeSeriesInterpolator, InterpolationMethod, TimeSeriesResampler, ResamplingMethod
};
use scirs2_core::ndarray::Array1;
// Simple linear interpolation
let times = Array1::from(vec![0.0, 2.0, 5.0, 6.0]);
let values = Array1::from(vec![1.0, 3.0, 7.0, 8.0]);
let target_times = Array1::from(vec![0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0]);
let interpolator = TimeSeriesInterpolator::new()
.with_method(InterpolationMethod::Linear);
let interpolated = interpolator.interpolate(×, &values, &target_times).unwrap();Structs§
- Multi
Variate Time Series Aligner - Multi-variate time series aligner
- Time
Series Interpolator - Time series interpolator for filling missing values and irregular grids
- Time
Series Resampler - Time series resampler for frequency conversion and aggregation
Enums§
- Interpolation
Method - Interpolation methods for time series data
- Resampling
Method - Resampling methods for time series aggregation