Practical overview
When it fits
Use PyPOTS when your Python analysis involves multivariate time series with missing observations and you need a model for imputation or another supported analysis task.
Who it is for
- Researchers analyzing incomplete time-series datasets.
- Engineers applying machine-learning methods to multivariate observations with missing values.
Documented uses
- Impute missing values in multivariate time-series data.
- Classify or cluster partially observed time series.
- Forecast from incomplete time-series observations.
- Detect anomalies in time series that contain missing values.
Requirements & limits
The project documents installation through pip, conda, and Docker. The repository specifies the BSD-3-Clause license.
- The README indicates Python 3.8 or later and points to dependency version limitations in the installation documentation.
- The documented example structures input as sample, time-step and feature dimensions.
- In the example, validation data includes ground truth for evaluation and checkpoint selection.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare data for a SAITS imputation workflow
Load the PhysioNet2012 set-a data and prepare incomplete training, validation, and test inputs for the README's SAITS imputation example.
Before you start
- PyPOTS and the example's dependencies: NumPy, scikit-learn, PyGrinder, and BenchPOTS.
- The README example uses the BenchPOTS
preprocess_physionet2012helper to obtain dataset splits.
Steps
Call
preprocess_physionet2012(subset='set-a', rate=0.1)to obtain the dataset splits; the README says the ecosystem libraries download and extract the data automatically.Assign
train_X,val_X, andtest_Xfrom the returnedtrain_X,val_X, andtest_Xentries.Prepare
train_setas{"X": train_X}andval_setwith{"X": val_X, "X_ori": data["val_X_ori"]}.Prepare
test_setas{"X": test_X}, retaindata["test_X_ori"]as the test ground truth, and form the indicating mask withnp.isnan(test_X) ^ np.isnan(test_X_ori).
Expected outcome
The example's training, validation, and test dictionaries are prepared, along with test ground truth and a mask identifying values missing from the test input but present in the original.
Guide limitations
- These steps stop at data preparation and do not document the complete model setup, training, or evaluation sequence.
- The example depends on the referenced ecosystem data-preprocessing helper and packages.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 11 October 2026
- Original website title
- WenjieDu/PyPOTS · Official homepage title · retained in its source language

