2017-06-21 49 views
0

我有一個數據集,其中包含多個我想用於Keras LSTM的輸入和輸出。我正試圖弄清楚數據如何被重新塑造。用於多變量數據的LSTM輸入重塑

的原始數據如下:

Time, Temp(X1), Pressure(X2), Stress(Y1), Life(Y2)   
1, T1, P1, S1, L1 
2, T2, P2, S2, L2 
3, T3, P3, S3, L3 
4, T4, P4, S4, L4 
5, T5, P5, S5, L5 
6, T6, P6, S6, L6 

我們可以使用2個先前的溫度,壓力,壓力和生命的價值來估算應力和壽命的當前值。因此,使用爲2的回溯/時間步長,我們可以使用我可以將數據重新排列爲以下: X列車矩陣變成形狀的(4,10):

T1, P1, T2, P2, T3, P3, S1, L1, S2, L2 
T2, P2, T3, P3, T4, P4, S2, L2, S3, L3 
T3, P3, T4, P4, T5, P5, S3, L3, S4, L4 
T4, P4, T5, P5, T6, P6, S4, L4, S5, L5 

ý列車矩陣變成形狀的( 4,2):

S3, L3 
S4, L4 
S5, L5 
S6, L6 

Keras要求輸入要被再成形爲[樣品,時間步驟,特徵]

samples=4 
timesteps/lookback=2 
Original data X features=2 

但它不可能重塑X列車矩陣(4,10) (4,2,2)。那麼,該抓住哪裏?

此外,Y列車矩陣應該形成什麼?

+0

必須通過5更換時間指數6,7和6 – user6903745

回答

0

您想要預測n-1和n-2中的第n個值。因此,您可以在數據上創建一個「滑動窗口」來創建樣本。

數據@ T1和T2來預測T3

數據@ T2和T3來預測T4

,以此類推,直到

數據@ T4和T5預測T6

所以你最後會有4個樣本,由前面2個時間步驟中的X1,X2,Y1和Y2定義。

您的輸入數據將是

X = [[[T1, P1, S1, L1] 
     [T2, P2, S2, L2]], 
    [[T2, P2, S2, L2], 
     T3, P3, S3, L3]], 
    [[T3, P3, S3, L3] 
     T4, P4, S4, L4]], 
    [[T4, P4, S4, L4], 
     T5, P5, S5, L5]]] 

,並要預測

y = [[S3, L3], 
    [S4, L4], 
    [S5, L5], 
    [S6, L6]] 
+0

我試圖預測Y1和Y2的電流值,使用X1的當前值的值和X2和之前的值X1,X2,Y1,Y2。 – trumee

+0

@trumee我會編輯我的答案,以預測目前的Y1,Y2僅來自過去的X1和X2 – user6903745

+0

我已經更新了上面的X矩陣。在你的第一個樣本中,爲什麼你忽略了當前值T3和P3。他們也應該用來估計S3,L3。 – trumee