The Analog Ensemble (AnEn) method allows to reconstruct incomplete time series, based on correlated series with full records. It has been extensively applied to meteorological data, which may involve many variables and stations, and span many years, slowing down the reconstruction. To accelerate this process, Principal Component Analysis (PCA) may be employed, to combine several input series into a few principal components (PCs), over which AnEn is then applied for a faster data reconstruction. The integration of PCA with K-means clustering further amplifies efficiency. In this paper, multicore-based implementations of non-PCA and PCA-based methods, in MATLAB, R, and Python, were scrutinized to ascertain numerical consistency and evaluate relative performance. The experiments show that when using PCA, accuracy is kept, or even improved, despite lowering the number of input time series. Performance-wise, the experiments revealed a distinct edge for the Python code, for which the benefits of parallel processing were most evident. Preliminary results are also shown for a Python variant that exploits GPUs for the analog search, with very promising speedups.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Computational Performance Analysis of PCA Enhanced AnEn Method

  • Murilo Montanini Breve,
  • Ana Flavia P. Camargos,
  • José Rufino,
  • Carlos Balsa

摘要

The Analog Ensemble (AnEn) method allows to reconstruct incomplete time series, based on correlated series with full records. It has been extensively applied to meteorological data, which may involve many variables and stations, and span many years, slowing down the reconstruction. To accelerate this process, Principal Component Analysis (PCA) may be employed, to combine several input series into a few principal components (PCs), over which AnEn is then applied for a faster data reconstruction. The integration of PCA with K-means clustering further amplifies efficiency. In this paper, multicore-based implementations of non-PCA and PCA-based methods, in MATLAB, R, and Python, were scrutinized to ascertain numerical consistency and evaluate relative performance. The experiments show that when using PCA, accuracy is kept, or even improved, despite lowering the number of input time series. Performance-wise, the experiments revealed a distinct edge for the Python code, for which the benefits of parallel processing were most evident. Preliminary results are also shown for a Python variant that exploits GPUs for the analog search, with very promising speedups.