我正在尝试预测我的序列中下一天的股票价格,但我不知道如何“查询”我的模型。以下是我的Python代码:
# 定义我的时间段d1 = datetime.datetime(2016,1,1)d2 = datetime.datetime(2016,7,1)# 获取数据df = web.DataReader("GOOG", 'yahoo', d1, d2)# 计算一些指标df['20d_ma'] = pandas.rolling_mean(df['Adj Close'], window=20)df['50d_ma'] = pandas.rolling_mean(df['Adj Close'], window=50)# 创建模型from sklearn.linear_model import LinearRegressionfrom sklearn.cross_validation import train_test_splitX = df[list(df.columns)[6:]] # Adj Close和指标...y = df['Adj Close']X_train, X_test, y_train, y_test = train_test_split(X, y)model = LinearRegression()model.fit(X_train,y_train)
好的,我需要的是查询模型(model.predict(..¿?..))来预测“下一”天的股票价格。
我该怎么做呢?
提前感谢!!!
回答:
model.predict(X_test)
这样做就可以了。这直接来自于精彩的文档在提问之前,请先做基本的阅读。
编辑1:针对评论的回应,如果是这样的话,你的特征工程有问题。你不能用一个模型来预测一个值(使用你没有该值的特征)。你需要回去重新思考为什么选择这些特征以及它们如何影响你的结果变量等。
编辑2:也许你需要做的是两个模型,一个是基于20天平均值的时间序列模型来预测明天的20天平均值,然后用它来预测股票价格。个人认为,如果你能做好时间序列模型并获得不错的结果,可能不需要第二个模型。