关于时间序列数据的MLPClassifier

时间:2017-07-04 21:00:56

标签: python numpy scikit-learn neural-network time-series

如何在scikit中使用MLPClassifier - 了解时间序列数据?

我目前的数据名为[]

如何使用培训机制来训练此列表中的数据?该列表列出了几年内某股权的每日收盘价。

感谢您的帮助,我仍然是数据科学编程的新手。

任何人都可以向我解释这个分类器是如何工作的,我是否应该在scikit中使用MLPClassification或MLPRegression来学习预测股权的价格。分类器究竟做了什么以及不同的激活函数代表什么?

我的数据如下:

[25.45,25.68,25.69,26.00,2 25.70,......等]

这些是股票在一段时间内的每日股票价格。我如何使用这些数据来预测股票价格的未来?例如,如果我有17年的过去数据,我怎样才能确定未来6个月?

1 个答案:

答案 0 :(得分:1)

这是一个普遍的问题。 您可以使用许多方法来实现此目标。 一个简单的线性回归可以提供很好的预测(可能需要进行测试)。

您还可以使用的非常好的模型是:随机森林分类器

此处有更多详情link

这里很好的例子link

如果你想特别使用MLPRegressor,这是一个例子:

<强> CODE

from sklearn.neural_network import MLPRegressor
import random
import numpy as np


#create the model.
regressor=MLPRegressor(hidden_layer_sizes=(100, ), activation='relu', solver='adam', alpha=0.0001,random_state=0)

#random data. let's say you have 365 values, one per day for a year
y=random.sample(range(50),365)

#make y a column vector
y=y.reshape(1,365)

#create 365 random years from 1600 to 1965
X=np.arange(1600,1965,1)
X=X.reshape(365,1)

#fit the model
regressor.fit(X,y)

#X_new is the future years. You want to predict the values for these years.
X_new = np.array([[2030,2050,2080]])
X_new=X_new.reshape(3,1)

#predict
pred = regressor.predict(X_new)

#print the predictions for year 2030, 2050, 2080
print(pred)

<强>结果

array([ 265.3367414,  267.9489602,  271.8672884])

第一个值对应2030年等。 对于模型MLPRegressor,在这里link,您可以看到所有可用的参数。 希望这会有所帮助。