原文链接:http://tecdat.cn/?p=26562
该我的项目包含:
- 自 2000 年 1 月以来的股票价格数据。咱们应用的是 Microsoft 股票。
- 将工夫序列数据转换为分类问题。
- 应用 TensorFlow 的 LSTM 模型
- 由 MSE 掂量的预测准确性
GPU 设置(如果可用)
gpus = tf.config.experimental.li
读取数据集
有几种办法能够获取股市数据。以下数据集是应用 R BatchGetSymbols 生成的。
#加载数据集# ref.date是数组的第一列 datang = read_csv('stopriceo.csv', header=0)
pd.pivot_table(datong)
咱们的股票工夫序列
咱们为这个项目选择了微软(股票代码 MSFT)。
plt.rrms\['fgre.dpi'\] = 300plt.plot(dfte\['MSFT'\])
工夫序列显然不是安稳的,这是大多数预测模型所假如的属性。咱们能够对工夫序列利用变换,直到它达到安稳状态。Dickey-Fuller 测验使咱们可能确定咱们的工夫序列是否具备季节性。
在这里,咱们将利用对数转换来解决股票市场的指数行为。
其余有助于预测模型的转换:
- 挪动平均线
- 差分化
df1 = datt\['MSFT'\]# 咱们对数据集进行了对数转换df1 = np.log(df1)
# 代替计划:咱们能够对工夫序列进行差分,从而去除季节性和平均值的变动。# 创立一个差分序列#dfdiff = diffe(df1,1)
预处理
在这里,咱们对工夫序列数据利用规范预处理。
在工夫序列中,咱们没有标签,但咱们有工夫序列的将来值,因而输入能够是 x(t),给定 x(t-1) 作为输出。这是将数据集构建为监督问题的一种实用(且直观)的办法。
scaer = ixSer(fatue_ange = (0,1))scer.i_rrm(np.array(df1).rehape(-1,1))
LSTM 模型
咱们在这里实现了一个重叠的 LSTM 模型。
LSTM 网络是一种递归神经网络,可能学习序列预测问题中的序列依赖性。LSTM 模型次要用于语音辨认、自然语言解决的上下文中。最近,它们也被利用于工夫序列数据的剖析。
from tensorflow.keras.models import Sequential model.add(LSTM(50, retsueces = True#stacked LSTMmodel.add(Dropout(0.1))
history
plt.plot(history.history
体现
import math from sklearn.metrics import mean\_squared\_error
plt.rcParams\['figure.dpi'\] = 300plt.rcParams\['savefig.dpi'\] = 300#移位预测lokback = ie_steptrinPrectPot = numpy.empty_like(df1)traireditPlot\[:,:\] = np.nanin_y = scaler.nesetsfrm(df1)plt.plot
plt.plot(iv_y)
将来 30 天的预测
咱们当初能够递归地利用该模型,通过预计第二天的 (t+1) 价格,而后再次将其作为输出来推断 t+2 天的价格,依此类推。这个预测当然会有更大的误差,因为每个预测的日子都会带来很大的不确定性。然而,这个预测的确会通知咱们模型是否从过来的数据中学到了任何货色。
# 预测将来30天的状况 len(tesdata) # 1211# 我认为在test_data中,最初一天是5月22日,例如# 对于5月23日,我须要100个前一天的数据 x\_input = test\_data\[(len
while(i<ftue_teps): if(len(tep\_put)>ie\_sep): x_input = np.array(tepinut\[1:\]) x\_input = x\_input.reshap
plt.plot(dy\_ew, scaler.inverse\_transf
plt.plot(df3\[1000:\])
最受欢迎的见解
1.用于NLP的Python:应用Keras的多标签文本LSTM神经网络分类
2.Python中利用长短期记忆模型LSTM进行工夫序列预测剖析 – 预测电力耗费数据
3.python在Keras中应用LSTM解决序列问题
4.Python中用PyTorch机器学习分类预测银行客户散失模型
5.R语言多元Copula GARCH 模型工夫序列预测
6.在r语言中应用GAM(狭义相加模型)进行电力负荷工夫序列剖析
7.R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测工夫序列数
8.R语言预计时变VAR模型工夫序列的实证钻研剖析案例
9.用狭义加性模型GAM进行工夫序列剖析