Я выполняю это задание, где я пытаюсь запустить эту программу 5000 раз и сделать AR (1) и AR (2) подходящими для модели. Сначала я определил функцию, которая формировала временные ряды следующим образом:python arma установка работает слишком медленно?
def ts_gen_ar1(size,sigma,alpha1):
wt = np.random.normal(0,sigma**2,size=size)
x = np.zeros(size)
for i in np.arange(1,size):
x[i] = 0.2 + alpha1*x[i-1] + wt[i]
return x
Тогда я выполнил следующие операторы Thats принимая очень много времени, чтобы работать
sample_ar1 = []
sample_ar2 = []
for i in range(0,5000):
rt = ts_gen_ar1(2500,1,0.8)
coeff_ar1 = sm.tsa.ARMA(rt,order=(1,0)).fit().params[1]
coeff_ar2 = sm.tsa.ARMA(rt,order=(2,0)).fit().params[1:]
sample_ar1.append(coeff_ar1)
sample_ar2.append(coeff_ar2)
может кто-то подскажет, как ускорить этот процесс? Я также получаю фиктивные ошибки, когда моя программа говорит, что MLE не удалось сходиться для определенных итераций.
Благодаря
какая версия statsmodels вы используете? – andrewwowens
Возможно, вы захотите следовать рекомендациям в ответе, но если вы действительно нуждаетесь в безошибочной оценке ARMA, вы можете увидеть мое решение для этого [здесь] (https://github.com/statsmodels/statsmodels/blob/master/ statsmodels/tsa/stattools.py # L935) – jseabold
Привет, мистер jseabold. Спасибо, я слежу за вашими сообщениями здесь. Я полностью пропустил эту функцию. Я попробую сразу и посмотрю, поможет ли это. Мне все же нужно ускорить итерацию, хотя ... поскольку она занимает примерно 15-20 минут, используя оба алгоритма подгонки. Но, если я разделяю процесс в разных ячейках и выполняю один за другим, тогда он занимает примерно 6 минут каждый. Я попытаюсь следовать предложению в ответах –