Как написать многомерную формулу в python (patsy), поддерживает ли ее VAR?

Я хочу выполнять многомерный анализ данных с помощью векторной авторегрессии (VAR), но хочу больше свободы. Например, вопрос, с которым я имею дело, может выглядеть так:

y1(t) = a11*y1(t-1) + a12*y1(t-2) + b11*y2(t-1)               + c11*x1(t) + c12*x2(t) + d1

y2(t) = a21*y1(t-1) +               b21*y2(t-1) + b22*y2(t-2) + c21*x1(t) + c22*x2(t) + d2

Итак, вы видите, приведенные выше уравнения — это не простая модель VAR(1) или VAR(2), а смесь. Поддерживает ли какой-либо пакет статистических моделей Python такие уравнения, и как записать их в формулу или в patsy?


person user2355104    schedule 21.04.2019    source источник
comment
под записью в формуле вы имеете в виду просто печать, форматирование? если НЕТ, я думаю, вы выполняете какую-то итеративную операцию, в которой каждый шаг основан на предыдущем шаге.   -  person Rebin    schedule 21.04.2019
comment
Мне нужно сгенерировать формулу для подачи в модель VAR, например statsmodels.tsa.vector_ar.var_model.VAR.from_formula()   -  person user2355104    schedule 22.04.2019


Ответы (1)


следующий подход может помочь?

y1=[0,0]
y2=[0,0]
x1=[0,1,2,3,4,5,6,7,8,9,10]
x2=[0,1,2,3,4,5,6,7,8,9,10]
for t in range (2,11):
    tempY1 = y1[t-1] + y1[t-2] + y2[t-1]+ x1[t] + x2[t] + 1
    tempY2 = y1[t-1] + y2[t-1] + y2[t-2] +x1[t] + x2[t] + 1
    y1.append(tempY1)
    y2.append(tempY2)
person Rebin    schedule 21.04.2019
comment
Мне нужно сгенерировать формулу для подачи в модель VAR, например statsmodels.tsa.vector_ar.var_model.VAR.from_formula() - person user2355104; 22.04.2019