Я хотел бы регрессировать продажи на функцию с неизвестным параметром, называемым ar_coeff_TV (в частности, я бы хотел оценить модель запаса как здесь ). Давайте предположим, что на первом этапе мы знали, что ar_coeff_TV = 0,5. Я бы оценил простую модель OLS следующим образом:
import numpy as np
import pandas as pd
import numpy.random as random
import statsmodels.api as sm
import statsmodels.tsa as tsa
import statsmodels.formula.api as smf
# Create dataset
np.random.seed(0); np.random.seed(1)
data = pd.DataFrame()
data['sales'] = [100,200,300,500,750,900,1000,1300,1450,1500,1600,1400]
data['TV']=[10,10,10,10,20,30,45,40,30,35,35,37]
ar_coeff_TV=0.5
### Estimate model
modelfit2 = smf.ols(formula="data['sales'] ~ tsa.filters.filtertools.recursive_filter(data ['TV'], ar_coeff_TV)", data=data).fit()
print(modelfit2.summary())
Из документации statsmodels я не смог понять, как объявить оценку ar_coeff_TV. Я сталкивался с этим примером R , где оценка соответствующего параметра работает хорошо, но я бы не стал обходить R, если в этом нет необходимости.