Python 基于神经网络的样本外预测

Python 基于神经网络的样本外预测,python,tensorflow,neural-network,Python,Tensorflow,Neural Network,我有一个虚拟数据集,包含一家公司3年的费用,分布在不同的费用项目中。对于Heads列,我使用了虚拟变量。在按日期顺序对数据进行分组之后,我删除了年和月列。 下面是一个例子 Head Year Month Expense StockPrice A 2005 1 23 120 A 2006 2 23 121 B 2006 3 1000 130 C 2006 4 1500 135 C

我有一个虚拟数据集,包含一家公司3年的费用,分布在不同的费用项目中。对于Heads列,我使用了虚拟变量。在按日期顺序对数据进行分组之后,我删除了年和月列。 下面是一个例子

Head Year  Month Expense StockPrice
A     2005  1      23      120
A     2006  2      23      121 
B     2006  3      1000    130
C     2006  4      1500    135 
C     2007  1      1400    125 
我已经为回归建立了一个神经网络模型,并将其拟合到我的训练和测试数据中。 我的X数据是形状(4851,6),y数据是形状(4851,1)。我已经能够从模型中得到很好的结果

现在,我想根据模型对未来5个月进行抽样预测,预测未来5个月的费用。我应该如何进行呢

我安装的模型

model = Sequential()
#model.add(Dense(units = 1, input_dim = 5, activation = 'relu')) 

model.add(Dense(256, input_dim = 6,kernel_initializer='normal', activation = 'relu')) 
model.add(Dense(256, input_dim = 6,kernel_initializer='normal', activation = 'relu')) 
model.add(Dense(256, input_dim = 6,kernel_initializer='normal', activation = 'relu')) 
model.add(Dense(1, activation='linear'))
model.compile(loss = 'mean_absolute_error', optimizer = 'adam')
model.summary()

model.fit(x = X_train, y= y_train, epochs = 100, validation_data = (X_test, y_test
                                                                  ), verbose = 1)

您是否尝试创建一个日期移到未来的
X
,并调用
model.predict(X)

  • 如果您想预测未来5个月的
    费用
    ,假设您拥有这5个月的功能(根据您的模型预期,每个样本6个),那么您可以这样做,并且方法是使用模型的
    预测
    方法

  • 如果您在未来5个月的每个样本中没有这6个特征,那么您无法进行“样本外”预测,因为您需要这些特征,您的模型将根据这些特征进行训练,以便模型进行预测


  • 您好,我已经更新了数据描述。对不起,有什么困惑。在按日期顺序对数据进行分组之后,我删除了年和月列。如果我把日期移到未来,我不需要考虑独立变量,比如股票价格和虚拟变量。