東西做多了思路容易亂,
回顧一下 LSTM的變形? 認識 CNN+LSTM 和 ConvLSTM之間的差異
DAY7 寫這篇的時候,
參考到幾篇其他人的文章,例如這篇【2】
提到ConvLSTM模型有3D的張量,
(具體來說是(timestamps, row, column),也就是每個時間步的資料具有空間結構。)
而實際上在實作的時候是
5D(batchsize, timestamps, channel size, row, column)。
但實際這都是理想中模型需要資料的樣子, 重點是要將資料變成模型適合的形狀。
右腦比較發達的我,還是不太理解要怎麼轉換,
況且平常時空序列都是用來做氣象分析、圖像分析,做股票分析應該是純屬於自己腦洞大開。
問了一下強者朋友,直接上圖理解,突然腦子就通了一下(叮
自己用PPT把圖具象化一點,就很有畫面了(如下圖)
DAY14-含金量滿滿的文章? Step(2/4): 關鍵分點籌碼爬蟲,券商分點地圖視覺化
這天最後用Matplotlib
畫的平面2D網格圖(券商分點分布圖)
沒畫圖的話,就需要一點想像力 (不只一點@@''
假設地理位置資料是網格形式(10x10),
則每個時間步長都有一個 10x10 的地理位置網格和 12 個特徵。
基於convLSTM的模型特性,若是我要將輸入資料重塑為適合模型的維度形狀,
ConvLSTM 模型輸入維度,如:(B, T, H, W, C),依照資料類型填入維度大小,
B: Batch Size
T: Time Series
H, W: 2D data
C: 通道數(channel size)
(Batch Size, Time Series, Height, Width, Channels)
的格式:
而若是我的資料Merged_to_train_ALL.xlsx'
,資料大概長這樣,
日期 券商代碼 買進(張) 賣出(張) 買賣超(張) 橫坐標 縱坐標 開盤價 最高價 最低價 收盤價 成交量
2024/05/13 1020 99 81 18 305924 2770508 104 106 99.9 104.5 15868.696
2024/05/13 1021 14 93 -79 217429 2670350 104 106 99.9 104.5 15868.696
2024/05/13 1022 5 23 -18 168780 2544296 104 106 99.9 104.5 15868.696
... ...
輸入維度為:
(3183(資料筆數),3(資料的日期天數,input),12(特徵欄位數),台灣的地圖範圍緯度(lat),台灣的地圖範圍經度(lng),channel(通道數))
3183
是資料筆數,3
是時間序列長度,12
是特徵欄位數,緯度
範圍 (Height),經度
範圍 (Width),1
是通道數。
那就是 (3183, 3, 12, 緯度範圍, 經度範圍, 1)
。
參考文章&資料來源:
1.Time Series data to fit for ConvLSTM
2.An introduction to ConvLSTM
3.我的強者朋友(沒有Link)
每日記錄:
程式不太強,但PPT做得還不錯的IT人(?
結果會不會有人反而想來學PPT畫圖技術,開班授課(敲鑼敲鑼
自己一開始想像的和實際的不同,需要調整一下。
把bug修一下,維度重新調整,重新建置模型開始訓練!