在模型拟合后,我们想从中抽样出 y。我们循环 100 次并计算每一步的预测值的均值和标准差(标准差越高,预测置信度就越低)。
preds = [] for i in range(100): sampled_reg_model = guide(X_test) pred = sampled_reg_model(X_test).data.numpy().flatten() preds.append(pred)
现在有很多经典的经济预测度量方法,例如 MSE、MAE 或 MAPE,它们都可能会让人困惑——错误率低并不意味着你的模型表现得好,验证它在测试集上的表现也十分重要,而这就是我们做的工作。

使用贝叶斯模型进行为期 30 天的预测
从图中我们可以看到,预测效果并不够好。但是预测图中最后的几个跳变的形状很不错,这给了我们一线希望。继续加油!
在这个非常简单的模型进行实验后,我们想要尝试一些更有趣的神经网络。首先让我们利用 25 个带有线性激活的神经元的单隐层网络训练一个简单 MLP:
![]()
def get_model(input_size): main_input = Input(shape=(input_size, ), name='main_input') x = Dense(25, activation='linear')(main_input) output = Dense(1, activation = "linear", name = "out")(x) final_model = Model(inputs=[main_input], outputs=[output]) final_model.compile(optimizer='adam', loss='mse') return final_model
训练 100 个 epoch:
model = get_model(len(X_train[0])) history = model.fit(X_train, Y_train, epochs = 100, batch_size = 64, verbose=1, validation_data=(X_test, Y_test), callbacks=[reduce_lr, checkpointer], shuffle=True)
其结果如下:

使用 Keras 神经网络进行为期 30 天的预测
我觉得这比简单的贝叶斯回归效果更差,此外这个模型不能得到确定性的估计,更重要的是,这个模型甚至没有正则化。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-70150-4.html
上次来过