Python 在所有数据帧列上应用statsmodels自回归函数

Python 在所有数据帧列上应用statsmodels自回归函数,python,pandas,vectorization,statsmodels,autoregressive-models,Python,Pandas,Vectorization,Statsmodels,Autoregressive Models,我试图在熊猫数据框架中的一些数据上拟合自回归模型 我当前的代码:- import pandas as pd import statsmodels.tsa.api as smt store=[] df = pd.DataFrame({'A':[0.345, 0.985, 0.912, 0.645, 0.885, 0.121], 'B':[0.475, 0.502, 0.312, 0.231, 0.450, 0.234],

我试图在熊猫数据框架中的一些数据上拟合自回归模型

我当前的代码:-

import pandas as pd
import statsmodels.tsa.api as smt
store=[]

df = pd.DataFrame({'A':[0.345, 0.985, 0.912, 0.645, 0.885, 0.121],
                       'B':[0.475, 0.502, 0.312, 0.231, 0.450, 0.234],
                       'C':[0.098, 0.534, 0.125, 0.984, 0.236, 0.734],
                       'D':[0.345, 0.467, 0.935, 0.074, 0.623, 0.469]})

for i in range(len(df.columns)):
    x=smt.AR(df.iloc[:,i]).fit(maxlag=1, ic='aic', trend='nc')
    store.append(x)

我想知道我是否可以使用apply或applymap或lambda函数而不是for loop

我无法测试它,因为我没有这些包,但从中给出的示例判断,您应该能够做到这一点:

def fit_it(vector):
   return smt.AR(vector).fit(maxlag=1, ic='aic', trend='nc').params[0]

results = df.apply(fit_it, axis=0, reduce=True)

好问题!我相信,您并没有真正改变现有数据。smt.AR(…)的输出是什么?一个数字,向量,字符串?具体地说,我在看x.params[0]。由于这是阶数为1的AR模型,因此x.params[0]是单个值。它的系数值基于模型输出。