Python 如何在数据帧中高效地生成AR(1)进程

Python 如何在数据帧中高效地生成AR(1)进程,python,dataframe,optimization,panel,multi-index,Python,Dataframe,Optimization,Panel,Multi Index,我想在多索引数据帧(panel)中生成并创建一列,这样在每个观察I中,变量遵循AR(1)过程,但变量在I之间以有效的方式不相关。到目前为止,我得到的是: from statsmodels.tsa.arima_process import ArmaProcess import pandas as pd import numpy as np arparams = np.array([1, -0.5]) N = 400 dic = {} for i in range(N): dic[i]

我想在多索引数据帧(panel)中生成并创建一列,这样在每个观察I中,变量遵循AR(1)过程,但变量在I之间以有效的方式不相关。到目前为止,我得到的是:

from statsmodels.tsa.arima_process import ArmaProcess
import pandas as pd
import numpy as np

arparams = np.array([1, -0.5])

N = 400
dic = {}
for i in range(N):
    dic[i] = ArmaProcess(ar=arparams).generate_sample(3)

t = pd.DataFrame.from_dict(dic, orient='index')
t = t.stack().to_frame(name='e')
t.index.names = ['id', 'time']
这给了我我想要的,对于小的N,这很好,但我想用更大的N重复多次。有没有办法优化这个,最好避免循环