Общее хорошее правило в науке о данных - сначала попробовать легкую вещь.Только когда что-то не получается, вы можете перейти к чему-то более сложному.Имея это в виду, вот как вы бы вычислили корреляцию Пирсона между каждым измерением и некоторыми другими временными рядами.Здесь ключевой функцией является pearsonr
:
import numpy as np
from scipy.stats import pearsonr
# Generate a random dataset using 2000 points and 1500 dimensions
n_times = 2000
n_dimensions = 1500
data = np.random.rand(n_times, n_dimensions)
# Generate another time series, also using 2000 points
other_time_series = np.random.rand(n_times)
# Compute correlation between each dimension and the other time series
correlations = np.zeros(n_dimensions)
for dimension in range(n_dimensions):
# The Pearson correlation function gives us both the correlation
# coefficient (r) and a p-value (p). Here, we only use the coefficient.
r, p = pearsonr(data[:, dimension], other_time_series)
correlations[dimension] = r
# Now we have, for each dimension, the Pearson correlation with the other time
# series!
len(correlations)
# Print the first 5 correlation coefficients
print(correlations[:5])
Если корреляция Пирсона не работает для вас, вы можете попробовать заменить функцию pearsonr
на что-то другое, например:
spearmanr
Ранговый коэффициент корреляции Спирмена. kendalltau
Тау Кендалла, мера корреляции для порядковых данных.