как вычислить mutil-измерение для повышения эффективности Statsmodels с python? - PullRequest
0 голосов
/ 06 апреля 2019

Эффективность вычислений очень недостаточна , при использовании цикла.Третий пакет, который я использовал, это statemodels.Могу ли я повысить эффективность с помощью матричных вычислений?

Мне нужно вычислить параметры adf и kpss для каждого временного ряда для каждой точки.данные представляют собой матрицу с размерным измерением, и ее форма (2160, 1080, 200).точка - это первое и второе измерение, а временной ряд - третье измерение.например, первый временной ряд - это данные [0,0,0: 200], второй - данные [0,1,0: 200].
В качестве метода, который я уже пробовал, многопроцессорная обработка Pythonбыл использован.Но коэффициент использования CPU всегда был 100% ,, и вычисления должны быть приостановлены.

   import numpy as np
   import statsmodels.api as sm
   for i in range(0,2160):
      for j in range(1080):
          unvaild=(np.isnan(data[i,j,:]).sum())/len(data[i,j,:]) 
          series.interpolate(inplace=True)
          series.fillna(method='backfill',inplace=True)
          if unvaild < 0.4:                            
             adf=sm.tsa.stattools.adfuller(series.values.flatten(),\
                 maxlag=12,regression='c', autolag='AIC')
             kpss=sm.tsa.stattools.kpss(series.values.flatten(),\
                 regression='c')

Есть ли какой-нибудь хороший метод для повышения эффективности этих пакетов третьей части?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...