我有一个家庭作业问题,要编写一个自相关分析程序。经过大量的互联网梳理和努力,我有了一个不错的程序。问题的下一部分是通过分析双变量高斯时间序列来测试程序。我知道这在数学/统计上是什么,但是我不太确定如何在python中生成它。我的程序这样编写,它需要一个.txt文件并从那里进行分析。但是如何在python中生成2变量高斯时间序列呢?我尝试使用以下内容:
import numpy as np
mean = [0, 0]
cov = [[1, 0], [0, 100]]
x, y = np.random.multivariate_normal(mean, cov, 5000) #5000 points
print x,y #just to see if it works
,但返回错误“太多值无法解包”。当我删除到5000时,我得到2个值,如预期的那样。我认为我误解了mulitvariate_normal函数的输入变量,但现在我很困惑。我将如何重写此代码以生成一个时间序列,然后可以对其进行分析?
答案 0 :(得分:0)
所有工作都进行到分配部分。
您正在沿第一个轴将(5000,2)
数组分配给2个值,这是行不通的。
在分配之前尝试转置数组。
x,y = np.random.multivariate_normal(mean, cov, 5000).T