【发布时间】:2014-09-27 14:48:40
【问题描述】:
我是 Python 的新手,只是四处涂鸦以了解该语言。基本上,我想产生随机游走并对其进行分析。但是,我无法完成具有不同 ARMA 模型的适合对象列表,适合不同的随机游走实现。
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm
def randwalk(N,sigma):
k=1
R=np.zeros(N)
while(k<N):
R[k]=R[k-1]+np.random.randn(1)*sigma
k+=1
return R
m=3
N=100
R1=np.zeros((N,m))
for k in range(m):
R1[:,k]=randwalk(N,0.1)
plt.plot(range(N),(R1))
plt.show()
ll= [(2,0),(2,0)]
fit=[]
for kk in range(len(ll)):
fit[kk]= [sm.tsa.ARMA(R1[:,ii], order=ll[kk]).fit() for ii in range(m)]
fit[kk] 和 fit[kk][:] 似乎都不起作用。我调查过Creating a list of objects in Python 和Nested lists python
稍后,ll[1] 会有所不同,例如(2,1)。如果您使用kk=0“手动”运行循环体,sm.tsa.ARMA 似乎可以工作。
最后,我想访问fit[:][:].bic 值。
真的很抱歉,我觉得这是一个基本的语法问题......
我在 Windows 7 上使用 Canopy。
编辑:另外,
ll= [(2,0),(2,0)]
fit=[]
for kk in range(len(ll)):
fit.append([sm.tsa.ARMA(R1[:,ii], order=ll[kk]).fit() for ii in range(m)])
没用。
【问题讨论】:
-
你得到什么错误?
-
它只是冻结,直到我重新启动内核
-
啊,我才发现我可以看看细节。 内核(用户 Python 环境)已终止,错误代码为 -805306369。这可能是由于您的代码或内核本身存在错误。 在我尝试使用 .append 时返回
标签: python numpy canopy statsmodels