Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中预处理用于预测的时间序列数据_Python - Fatal编程技术网

如何在Python中预处理用于预测的时间序列数据

如何在Python中预处理用于预测的时间序列数据,python,Python,我正在准备一些用于Python预测的时间序列数据外汇。该计划是将时间序列转换为二维Numpy阵列,通过PypeR将其作为R矩阵传递给R,以训练ANFIS自适应神经模糊推理系统进行预测。我之所以要经历如此复杂的过程,纯粹是出于学术原因。这要求前n列为最后n个数据点,第n+1列为当前/预测值 考虑以下数据点: Date AUD-USD 9/1/1999 0.6452 9/2/1999 0.6466 9/3/1999 0.6466 9/4/1999 0.6466 9/5/

我正在准备一些用于Python预测的时间序列数据外汇。该计划是将时间序列转换为二维Numpy阵列,通过PypeR将其作为R矩阵传递给R,以训练ANFIS自适应神经模糊推理系统进行预测。我之所以要经历如此复杂的过程,纯粹是出于学术原因。这要求前n列为最后n个数据点,第n+1列为当前/预测值

考虑以下数据点:

Date    AUD-USD
9/1/1999    0.6452
9/2/1999    0.6466
9/3/1999    0.6466
9/4/1999    0.6466
9/5/1999    0.6459
9/6/1999    0.6494
9/7/1999    0.6479
9/8/1999    0.653
9/9/1999    0.6512
为了简单起见,假设前面的五个点将用作预测下一个数据点的输入。因此,该数组的外观应类似于:

            t - 5   t - 4   t - 3   t - 2   t - 1   t
9/6/1999    0.6452  0.6466  0.6466  0.6466  0.6459  0.6494
9/7/1999    0.6466  0.6466  0.6466  0.6459  0.6494  0.6479
9/8/1999    0.6466  0.6466  0.6459  0.6494  0.6479  0.653
9/9/1999    0.6466  0.6459  0.6494  0.6479  0.653   0.6512
为了清楚起见,减去刚才的日期


问题是:是否有一个现有的Python函数或库可以实现预期的结果?或者这最好是通过一系列循环手动完成的?另外,这个过程叫什么?我似乎无法用谷歌搜索解决方案,所以可能我不知道该用什么词来称呼它。

您可以很容易地在一行中构造移位数组。在这里,我使用整数的范围来帮助您了解发生了什么-只需用数据替换A

import numpy as np

A = np.arange(10)
cut = 6
B = np.array([A[k-cut:k] for k in xrange(cut,A.size)])
print B
给予:

[[0 1 2 3 4 5]
 [1 2 3 4 5 6]
 [2 3 4 5 6 7]
 [3 4 5 6 7 8]]

对于解析日期,请尝试查找pandas,它是一个非常好的数据处理库,尤其是当涉及日期时

太棒了!所以,在我看来,这是一个列表。它是?作为Python的新手,我还没有考虑过这样使用它。这就是它的全部,再加上一点切片和对numpy数组的转换。