簡體   English   中英

通過神經網絡進行樣本外預測

[英]Out of sample prediction through 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     2007  1      1400    125 

我已經為回歸設置了一個 neural.network model 並將其擬合到我的訓練和測試數據中。 我的 X 數據的形狀是 (4851,6),Y 數據的形狀是 (4851,1)。 我已經能夠從 model 中得到很好的結果。

現在,我想從 model 中得出未來 5 個月的樣本預測,給出未來 5 個月的費用預測。 我應該如何處理?

我裝的Model

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)

答案取決於你所說的“樣本外”到底是什么意思

  1. 如果你想預測接下來 5 個月的expenses ,因為你有這 5 個月的特征(每個樣本 6 個,正如你的 model 所期望的那樣)那么你可以做,方法是使用 model 的predict方法.

  2. 如果您在接下來的 5 個月的每個樣本中沒有這 6 個特征,那么您就不能進行“樣本外”預測,因為您將需要 model 為 model 訓練的那些特征來進行預測。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM