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

#python #regression #formula #patsy

#python #регрессия #формула #простофиля

Вопрос:

Я хочу провести многомерный анализ данных с использованием векторной автоматической регрессии ( 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) модель or, а смесь. Поддерживает ли какой-либо пакет статистических моделей python такие уравнения и как записать его в formula или patsy?

Комментарии:

1. под «записью в формулу» вы подразумеваете просто печать, форматирование? если НЕТ, я думаю, вы выполняете какую-то итеративную операцию, каждый шаг которой основан на предыдущем шаге.

2. Мне нужно сгенерировать формулу для подачи в модель VAR, такую как statsmodels.tsa.vector_ar.var_model.VAR.from_formula()

Ответ №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)
  

Комментарии:

1. Мне нужно сгенерировать формулу для подачи в модель VAR, такую как statsmodels.tsa.vector_ar.var_model.VAR.from_formula()