簡體   English   中英

TF 2.0 LSTM:如何用於支出預測?

[英]TF 2.0 LSTM: How to use for a Spending prediction?

我想使用 TensorFlow 2.0 中的 LSTM 來預測下個月所有客戶的支出(這可能不是一個常見的 LSTM 用例)。 我的數據有 10k 客戶的每月支出數據。

格式:

Customer ID,  time(yyyymm), target(spending), age, gender,  all other features.....
customer 1,   201912,       100
customer 1,   201911,       200
...
customer 1,   201402,       300
customer 1,   201401,       100
customer 2,   201912,        0
....
customer 2,   201401,       50
customer 3,   201912,       100
....
customer 10k, 201401

它有 4 個維度用於 LSTM 的輸入: (10k customers * 60 months samples * 3 timesteps (quarterly) * 100 features) 通常 LSTM 有 3 個維度: (nb_samples, timesteps, features)

我的問題:

我想我仍然不確定我的數據的正確方法是什么。我把我的起始代碼放在下面,但我認為我的一些輕描淡寫是不正確的:

lstm_input = tf.keras.layers.Input(shape=(60,3,100), name='lstm_input') 
x = tf.keras.layers.LSTM(64, name='lstm_0',return_sequences=True)(lstm_input)
x = tf.keras.layers.GlobalMaxPooling1D()(x)
....

我應該改變什么才能使我的數據適合 LSTM 或 RNN 模型?

更新

我想可能是我需要像下面這樣輸入? 或者我什至應該使用 RNN/LSTM 對其進行建模?

  [         Month1                    Month2                  ...  Month60
customer 1: [[fe1(1,1)...fe100(1,1)], [fe1(1,2)...fe100(1,2)],... ,[fe1(1,60)...fe100(1,60)]]
customer 2: [[fe1(2,1)...fe100(2,1)], [fe1(2,2)...fe100(2,2)],... ,[fe1(2,60)...fe100(2,60)]]
  ....
customer N: [[fe1(n,1)...fe100(n,1)], [fe1(n,2)...fe100(n,2)],... ,[fe1(n,60)...fe100(n,60)]]
  ]

也許這個觀察有幫助。 對於每個客戶,獲得每個月的總支出。 這樣你就有了恆定數量的時間步長(60 個月)和 10k 個樣本。 我假設您知道這里解釋的所有術語。

我也不明白*3(季度)部分,數據是在三個月內采樣的嗎?

暫無
暫無

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

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