Module interpolation

Module interpolation 

Source
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(&times, &values, &target_times).unwrap();

Structs§

MultiVariateTimeSeriesAligner
Multi-variate time series aligner
TimeSeriesInterpolator
Time series interpolator for filling missing values and irregular grids
TimeSeriesResampler
Time series resampler for frequency conversion and aggregation

Enums§

InterpolationMethod
Interpolation methods for time series data
ResamplingMethod
Resampling methods for time series aggregation