#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()