我的代码预处理部分有一点问题。 我有一个包含S&P500市场所有收盘价的数据集。我正在尝试通过均值和标准差来标准化火车和设置。但是我想我在犯一些错误。
请你看看!
def split_into_chunks(data, train, predict, step, scale=True):
X, Y = [], []
for i in range(0, len(data), step):
try:
x_i = data[i:i+train]
y_i = data[i+train+predict]
timeseries = np.array(data[i:i+train])
mean = np.mean(timeseries)
std = np.std(timeseries)
if scale:
timeseries = preprocessing.scale(timeseries)
y_i = ((y_i - np.mean(x_i)) / np.std(x_i))
x_i2 = timeseries
y_i = np.array(y_i)
except:
break
X.append(x_i2)
Y.append(y_i)
return X, Y
我尝试打印x_i2
和y_i
的意思,但它们不是0。
我得到的值例如:-8.0657702739e-15 -3.29597460436e-15 -8.16013923099e-16 -4.18554080284e-15 1.52655665886e-14 -1.4313550345e-14 9.6325725174e-15 -2.87436741075e-14 1.25038868148e-15 -9.3008933888e-15 1.1901590824e-14 -1.55653268052e-14 3.73923114694e-14 -4.32986979604e-15 9.79216707719e-15 2.90878432452e-15 -4.56301663121e-15 5.59552404411e-15 2.00062189037e-14 5.58442181386e-15 8.53761505937e-15 -5.95634652711e-15 -7.58282325819e-15 -5.66213742559e-15 -5.10702591328e-16 -1.37667655054e-15
........
这是x_i2的值,而y_i是随机值–
我也打印了x_i2的std,它总是1,所以我认为是正确的。虽然y_i的值完全不同:如果我打印均值,则会得到:-1.45773439337 -0.67365790704 -0.840543321934 -0.561634875724 -0.0619854889473 1.02192562934 -0.335794754645 1.7104392559 1.70865656323 1.37444452634 0.374673787665 -0.749332397315
........
尽管std始终为0。
感谢您的帮助