https://hackmd.io/8t1GItEjS8yBuFNVrI9l8w # YBIGTA 20๊ธฐ ํ”Œ์  1์กฐ๐Ÿค” ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์ •ํ•ด์ฃผ์„ธ์š”! ## 2/12(ํ† ) ### ์ฃผ์ œ - Ubiquant Market Prediction: Make predictions against future market data - https://www.kaggle.com/c/ubiquant-market-prediction ### ์—ญํ•  ๊ตฌ๋ถ„ - DE: ํ™˜๊ฒฝ, AWS, ์ฝ”๋žฉ pro - ํ•œํŒ€: ํ”ผ์ฒ˜๊ฐ€ ์ˆซ์ž๋ฉ์–ด๋ฆฌ๋ผ์„œ api, ๋ชจ๋ธ๋ง์— ์‹œ๊ฐ„ ๋งŽ์ด ์จ์•ผํ•  ๊ฒƒ ๊ฐ™์œผ๋‹ˆ ์ด ๋ถ€๋ถ„์„ ๋‹ค๋ค„์•ผ ํ•จ - ์œ„ ์บ๊ธ€์—์„œ ๋‹ค๋ฅธ์‚ฌ๋žŒ ์ฝ”๋“œ ์ฐธ๊ณ ํ•˜๋ฉด ๋„์›€์ด ๋  ๊ฒƒ! ### ๊ณต๋ชจ์ „ ์ค€๋น„ ์ˆœ์„œ ![](https://i.imgur.com/1YBmZoj.png) - ML ์„ธ์…˜์—์„œ ๋ฐฐ์šด ์ˆœ์„œ๋Œ€๋กœ : EDA, FE, ๋ชจ๋ธ ํ•™์Šต ... ### ๋ฐ์ดํ„ฐ ํŠน์ง• - Q. ๋ฐ์ดํ„ฐ์— ๋ ˆ์ด๋ธ”์ด ์—†๋‚˜์š”!? -> ๊ทธ๋Ÿฐ ๊ฒƒ ๊ฐ™์•„์š”. - ํƒ€๊ฒŸ์ด ํˆฌ์ž ์ˆ˜์ต๋ฅ  (Ubiquant ํŽ€๋“œํšŒ์‚ฌ) - f0 f1 ๋ฐ์ดํ„ฐ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์•Œ์ˆ˜์—†์Œ! ๊ธˆ์œต๋ฐ์ดํ„ฐ๋Š” ์›๋ž˜ ์ข€ ๊ทธ๋ ‡๋‹ค. - ์ „์ฒ˜๋ฆฌ ํ• ๊ฒŒ ์—†์Œ! ๊ฒฐ์ธก์น˜๋งŒ ํ™•์ธํ•˜๋Š” ์ •๋„. - ์ˆซ์ž... ์ •๊ทœ์„ฑ ํ™•์ธ ๋‹ค์ค‘๊ณต์‚ฐ์„ฑ! ์„œ๋กœ ํ”ผ์ฒ˜๋“ค๋ผ๋ฆฌ ๋…๋ฆฝ์ธ์ง€ ํ™•์ธ <- ๊ฐ„๋‹จํžˆ ํ™•์ธํ•œ๋‹ค. - ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ชจ๋ธ๋ง์ผ๋“ฏ! - outlier ์ฒ˜๋ฆฌ ๊ณ ๋ ค - ํŠน์„ฑ์ด 300๊ฐ€์ง€๋‚˜ ๋ฉ๋‹ˆ๋‹ค!(csvํŒŒ์ผ ์ฝ๋Š”๊ฑฐ๋กœ ํ•œ 2๋ถ„ ๊ฑธ๋ ค์š”!) ### ์—ญํ•  ๋ถ„๋‹ด - CNN ์˜์ƒ ๋ถ„์„ ํ•˜์…จ์„ ๋•Œ: ๊ฐ์ž ์ „์ฒ˜๋ฆฌ, ๊ฐ์ž ๋ชจ๋ธ ๋Œ๋ ค์„œ ๊ฐ€์žฅ ๊ดœ์ฐฎ์€ ๋ชจ๋ธ์„ ํŠœ๋‹ํ–ˆ์Œ - ์—ญํ• ์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ๋ณด๋‹ค ๋ชจ๋ธ์„ ์ƒ๊ฐํ•ด์„œ ๊ฐ์ž ์งœ๋ณด๋Š” ๊ฒƒ์ด ์–ด๋–จ๊นŒ์š”? ๋Œ๋ ค์„œ ๋ชจ์—ฌ์„œ ์–˜๊ธฐํ•ด๋ณด๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”.ํšŒ์‚ฌ์—์„œ ๋ญ‰ํ……์ด๋กœ ๋ฐ์ดํ„ฐ์ฃผ๊ณ  ์˜ˆ์ธกํ•˜๋ผ๋Š” ๊ฒƒ์ด๋ผ์„œ ๊ฐ์ž ๋ฐ์ดํ„ฐ ๋ณด๊ณ  ๋ชจ๋ธ ์งœ๋ณด๋Š”๊ฒŒ ์ข‹์ง€ ์•Š์„๊นŒ์š”! - ๋ชจ๋ธ ๊ตฌ์ƒ์„ ํ•˜๊ณ  ๋ชจ์ผ๊นŒ์š”!? -> ๋„ค! - 2-3์ผ๊ฐ„ ๋ฐ์ดํ„ฐ์…‹ ์ดํ•ด, ๊ฐ€๋‹ฅ์žก๊ธฐ! - ์ง€๊ธˆ ๋‹น์žฅ์€ ์—ญํ• ์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ๋ณด๋‹ค ๋ชจ๋ธ์„ ํ•œ๋ฒˆ ์ฐพ์•„๋ณด๊ณ  ์–˜๊ธฐํ•ด๋ณด๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค! ๋ฐฐ์šด๊ฑฐ ๊ธฐ๋ฐ˜์œผ๋กœ ์จ์„œ ์„ฑ๋Šฅ ๋ณด๊ณ  ํŒ€์„ ๋‚˜๋ˆ„๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”! ### ์ค‘๊ฐ„ ๋ฐœํ‘œ ์ค€๋น„ - ์„ธ์…˜ ๋•Œ๋งˆ๋‹ค ๋งŒ๋‚˜๋ฉด.. - ํ™”: ๋ชจ๋ธ ํ•ด๋ณด๊ธฐ - ๋ชฉ: ๋ฐœ์ „ - ์ค‘๊ฐ„๋ฐœํ‘œ: ๋ชจ๋ธ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๊ฐ€์žฅ ์ข‹์€ ๊ฒƒ์œผ๋กœ ์†Œ๊ฐœํ•˜๊ธฐ. - 2์ฃผ์ฐจ: ํ•˜๋‚˜๋กœ ๋ชจ์•„์„œ ํŠœ๋‹ํ•˜๊ธฐ! - ์ตœ์ข…๋ฐœํ‘œ: ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ### discussion - ๋ฐฐ์šด ๊ฒƒ ์ค‘์— ์–ด๋–ค ๋ชจ๋ธ์„ ์จ๋ณด๋ฉด ์ข‹์„๊นŒ์š” - label 0 1์„ ๋‚˜๋ˆ„๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์ˆ˜์น˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด๋‹ˆ๊นŒ ํšŒ๊ท€๋ฅผ ์‚ฌ์šฉ - ์„ฑ๋Šฅ ๋ถ„์„์€ ์ƒ๊ด€๊ณ„์ˆ˜๋กœ ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. - ์„ฑ๋Šฅ ์ธก์ •์€ ์ƒ๊ด€๊ณ„์ˆ˜์˜ ํ‰๊ท ์œผ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. - ํšŒ๊ท€ ๋ถ„์„์ด ๋” ํŽธํ•˜์‹ ๋ถ„ - ML vs ํšŒ๊ท€๋ถ„์„ ๋” ํŽธํ•˜์‹ ๋ถ„ - ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ํ–ˆ๋˜ ๊ฒƒ: MLP, LGBM - ์ตœ์ข…์ ์œผ๋กœ ์ œ์ถœํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ .. ์–ด๋–ค ๊ฐ’. ํ…Œ์ŠคํŠธ๋กœ ๊ฐ’ ๋งŒ๋“ค์–ด์„œ ๋‚ด๋Š” ๋ฐฉ์‹. - ์ธ๊ณต์‹ ๊ฒฝ๋ง์œผ๋กœ ๊ฐ’์„ ๋‚ผ ์ˆ˜ ์žˆ๋‚˜์š”? ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. DNN์œผ๋กœ ํšŒ๊ท€๋ถ„์„ - ์ €ํฌ๊ฐ€ ์•„๋Š” ํšŒ๊ท€ ๋ถ„์„์œผ๋กœ... -> ์„ฑ๋Šฅ ๋ฌธ์ œ. GBM์œผ๋กœ - ๋”ฅ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ: 1GB์— 4์‹œ๊ฐ„ ๊ฑธ๋ ธ์Œ... ๋ชจ๋ธ ํ•˜๋‚˜์”ฉ ์ •ํ•ด์„œ ๊ฐ์ž ๋Œ๋ ค๋ดค์Œ ์—ฌ๋Ÿฌ ๋ชจ๋ธ์„! ๋ฐ์ดํ„ฐ ๋„ˆ๋ฌด๋งŽ์•„์„œ ๋‹ค ๋ชป๋Œ๋ฆด๋“ฏ - ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘์•„์„œ 1GB ์ •๋„๋งŒ ๋Œ๋ ค๋ณด๋Š”๊ฒƒ ### model research - ๋ชจ๋ธ ๋ญ์“ธ๊ฑด์ง€ ์•Œ์•„๋ด…์‹œ๋‹ค. - ๋ชจ๋ธ ๋ฆฌ์„œ์น˜, ๋ฐ์ดํ„ฐ ๋ณด๊ณ , ๋‚˜๋ˆ ์„œ ๋Œ๋ ค๋ณด๊ณ , ๋ชจ์—ฌ์„œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ์–˜๊ธฐํ•˜๊ณ  ์ค‘๊ฐ„ ๋ฐœํ‘œํ•˜๊ธฐ. ### ํ™”์š”์ผ๊นŒ์ง€ ํ•  ๊ฒƒ 1. ๋ชจ๋ธ ๋ฆฌ์„œ์น˜: ๋น„์Šทํ•œ ์‚ฌ๋ก€ ๋ณด๊ณ  ๊ณ ๋ฏผํ•˜๊ธฐ(ํŠน์„ฑ์ด ๋งŽ์„ ๋•Œ ํšŒ๊ท€๋ฅผ ์ž˜ ํ•ด์ฃผ๋Š” ๋ชจ๋ธ, ์ •๊ทœํ™”๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฑฐ์น˜๋Š”์ง€ 2. ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ, ๋ฐ์ดํ„ฐ ์ชผ๊ฐœ๋Š” ๋ฐฉ๋ฒ• ๊ณ ๋ฏผํ•˜๊ธฐ (๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰ํ•˜๋Š”์ง€) - ๋”ฅ๋Ÿฌ๋‹ ์‚ฌ์šฉ์— ๊ด€๋ จํ•ด์„œ๋Š” ์–ด๋ ต์ง€๋งŒ ์ฐพ์•„๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™์•„์š”! - ์‚ฌ์ดํ‚ท์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ชจ๋ธ๋“ค์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์•ˆ์ „ํ•  ์ˆ˜ ์žˆ๋‹ค - Gradient ๋ถ€์ŠคํŠธ ๋ชจ๋ธ<- ๋ณด๊ธฐ! - ๋ชฉ์š”์ผ๊นŒ์ง€ ๋Œ๋ ค๋ณด๊ณ  - ๊ธˆ์š”์ผ์— ๋ฐœํ‘œ์ค€๋น„ํ•˜๊ณ  - ํ† ์š”์ผ์— ๋ฐœํ‘œ - ์ œ์ผ ์ค‘์š”ํ•œ ๊ฑด ์—„์ฒญ ํฐ ๋ฐ์ดํ„ฐ์…‹์„ ์–ด๋–ป๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ• ์ˆ˜ ์žˆ์„๊นŒ ์ธ๊ฒƒ ๊ฐ™์•„์š”! - ๋ฐ์ดํ„ฐ ์—„์ฒญ ๋งŽ์œผ๋ฉด ์ฐจ์› ์ถ•์†Œ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๊ฒƒ๋„ ๊ณ ๋ฏผํ•ด๋ณด๊ธฐ ### ๋ฐ์ดํ„ฐ ์ชผ๊ฐœ๊ธฐ - ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งค์šฐ ๋งŽ์Œ - row๋กœ ๋‚˜๋ˆ ์„œ... csv row๋กœ ์ชผ๊ฐœ๊ธฐ. ๋งŒ๊ฐœ์ •๋„ - ๊ณง ์ง€์›๊ธˆ ๋‚˜์˜ค๋‹ˆ ์ „์ฒด๋Š” ์ฝ”๋žฉ์ด๋‚˜ aws์—์„œ ๋งˆ์šดํŠธํ•ด์„œ ๋Œ๋ ค๋ณด๊ธฐ - local์—์„œ ํ•ด๋ณด๊ณ  ๋Œ๋ฆฌ๋Š” ๊ฒƒ์ด ์ข‹์„ ๋“ฏ - ์ฝ”๋žฉ pro๋‚˜ aws๋กœ ๋Œ๋ฆฌ๊ณ  ์ €ํฌ๋Š” ๋ชจ๋ธ ํŠœ๋‹ํ•˜๋ฉด ๋ ๊ฒƒ๊ฐ™์Šต๋‹ˆ๋‹ค. - ์ฝ”๋žฉ์€ ๋Œ€์šฉ๋Ÿ‰์ด ์•„๋‹ˆ๋ผ๋„ pro ์•„๋‹ˆ๋ฉด ์„ฑ๋Šฅ์ด ์•ˆ์ข‹๊ณ  ๋งค์šฐ ๋А๋ฆฌ๋‹ค. - row ๋งŒ๊ฐœ์ •๋„ ํ•˜๋ฉด ๊ฝค ๋น ๋ฅด๊ฒŒ๋ ๋“ฏ. ์†Œ์š”์‹œ๊ฐ„์€ DL(2-3h), ML์€ ๊ธˆ๋ฐฉ ๋‚˜์˜ฌ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ### ๋‹ค์Œ ์ผ์ •: ์›”์š”์ผ ์˜คํ›„ 3์‹œ ์‹ ์ดŒ ์•ˆ๋‹ค๋ฅด - 3์‹œ ์‹ ์ดŒ ์•ˆ๋‹ค๋ฅด - ํ†ก๋ฐฉ์— ๊พธ์ค€ํžˆ ์˜๊ฒฌ ์—…๋กœ๋“œ ํ•ด์ฃผ์„ธ์š”! ### ์ฐธ๊ณ ์ž๋ฃŒ - DNN ์ž…๋ฌธ ์ˆ˜์ค€์œผ๋กœ ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋œ ์ž๋ฃŒ https://www.kaggle.com/morenovanton/starter-dnn-ubiquant-market-prediction ## 2/14(์›”) ### ๊ณ ๋ฏผํ•œ ๋‚ด์šฉ ๋ฐœํ‘œ #### ์ข…๊ทผ๋‹˜ - LSTM, RNN์œผ๋กœ ๊ธˆ์œต ๋ฐ์ดํ„ฐ์— ๋„ฃ์–ด๋ณธ ์ž๋ฃŒ - ์ „์ฒ˜๋ฆฌ, ๋ชจ๋ธ ์„ฑ๋Šฅ ํ–ฅ์ƒ ์‚ฌ์ดํด์ด ์žˆ์Œ. - ๋‹จ์ˆœ ํšŒ๊ท€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ? -> ๋ฐ์ดํ„ฐ์— ์ ํ•ฉํ•˜์ง€ ์•Š์Œ. ํ”ผ์ฒ˜ 300๊ฐœ - ํšŒ๊ท€๋ฅผ ๋Œ๋ ค์„œ ํ•  ์ˆ˜๋Š” ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•˜์…จ์Œ - ์–ด๋–ค ํ”ผ์ฒ˜๊ฐ€ ํƒ€๊ฒŸ์— ์–ผ๋งˆ๋‚˜ ์˜ํ–ฅ์„ ๋ฏธ์น ์ง€ ๊ณ„์‚ฐํ•˜๊ธฐ - ์ „์ฒด์ ์œผ๋กœ ๋‹ค ๋Œ๋ฆฌ์ง€ ๋ง๊ณ  COLUMN ๋ณ„๋กœ ๋Š์–ด์„œ ๋Œ๋ฆฌ๋ฉด.. 1~50, 1~100 ๋“ฑ์œผ๋กœ ๋‚˜๋ˆ ์„œ ๊ฐ€์ค‘์น˜๋ฅผ ๋” ์ค˜์„œ ๋ชจ๋ธ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์–ด๋–จ๊นŒ - ML... Decision Tree๋‚˜ SVM์€ ์“ฐ๊ธฐ ์–ด๋ ค์šธ ๊ฒƒ. ์„ ํ˜• ํšŒ๊ท€๊ฐ€ ๋ ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. - RNN์ด ๊ดœ์ฐฎ์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ํ•˜์‹ฌ! - ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆŒ๊นŒ? #### ์ •ํ›ˆ๋‹˜! - ์ธ๊ณต์‹ ๊ฒฝ๋ง.. layer์„ค์ •์€ relu๊ฐ€ ์ข‹๋‹ค. - stacking -> ๋ชจ๋ธ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ํ† ๋Œ€๋กœ ๊ฒฐ๊ณผ๋ฅผ ์ทจํ•ฉํ•˜๋Š” ๊ฒƒ์„ ํ›ˆ๋ จ. ์ •ํ™•๋„๊ฐ€ ๋†’์•„์ง. - ํ”ผ์ฒ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์„œ ๋ชจ๋ธ ํ•™์Šต์ด ํž˜๋“ค ๊ฒƒ ๊ฐ™์€๋ฐ PCA๋ผ๊ณ  ๋ณ€์ˆ˜๋ผ๋ฆฌ ๋ฌถ์–ด์„œ ํ•˜๋ฉด ๊ฐ„๋‹จํ•ด์งˆ๊นŒ? - ์ง์ ‘ ํ•ด๋ณด์…จ๋Š”๋ฐ ์ค„์—ฌ์ง€์‹ฌ! - Py.. .? ? - ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ์œผ๋‹ˆ๊นŒ fragmentation -> poolingํ•ด์„œ ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ชผ๊ฐœ์„œ ํ•  ์ˆ˜ ์žˆ๋‹ค. - ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ๋‹ค์ค‘๊ณต์‚ฐ์„ฑ ํ™•์ธํ•ด์„œ ํ•„์š”์—†๋Š” ํ”ผ์ฒ˜ ๋ฒ„๋ฆฌ๊ณ , PCA ์‚ฌ์šฉํ•ด์„œ ํฌ๊ธฐ ์ค„์ด๊ณ , stakingํ•ด์„œ ๊ฒฐ๊ณผ ๋‚ด๊ธฐ #### ์ข…์—ฐ๋‹˜! - pandas๋กœ ๋ฐ›์•„์ง€์ง€๊ฐ€ ์•Š์•„์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• Parquet๋กœ ๋ฐ›๊ธฐ. ๋ฐ์ดํ„ฐ ํ˜•์‹์ด ์ตœ์ ํ™”๊ฐ€ ์•ˆ๋˜์–ด์žˆ์Œ ๊ทธ๊ฒƒ์„ ์ „์ฒ˜๋ฆฌํ•˜๋ฉด 4GB๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Œ. ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ๋„ ๋Œ์•„๊ฐ! - ์–ด๋А์ •๋„๊นŒ์ง€ ์š•์‹ฌ์„ ๋ถ€๋ฆฌ๋ƒ์— ๋”ฐ๋ผ์„œ ํ• ์ˆ˜์žˆ๋Š”๊ฒŒ ๋‹ฌ๋ผ์งˆ ๊ฒƒ! - ์—๋„ˆ์ง€๋ฅผ EDA์— ์Ÿ์•„๋ณด๋ฉด ์ข‹๊ฒ ๋‹ค. - ์ด์ƒ์น˜, ํƒ€๊ฒŸ ๊ฐ’์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ, ์ •๊ทœ๋ถ„ํฌ๋ฅผ ๋„๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ - ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ ์„œ ๊ฐ€๋ณ๊ฒŒ ํ•ด์„œ ๋Œ๋ฆฌ์ž๊ณ  ์–˜๊ธฐํ–ˆ์—ˆ๋Š”๋ฐ investment_id, time_id๋ฅผ ๊ณ ๋ คํ•ด์„œ ๊ฒฐ๊ตญ ๋‚˜๋ˆ ์•ผ ํ•˜๋Š”๋ฐ ๊ฒฐ๊ตญ์€ ์šฐ๋ฆฌ๊ฐ€ ๋กœ์ปฌ์— ๋Œ๋ ค์•ผ ํ•˜๋Š”๋ฐ ์ด๊ฒƒ๋ณด๋‹ค๋Š” Parquet ํ•ด์„œ ๋Œ๋ฆฌ๋Š”๊ฒŒ ๋‚˜์„๋“ฏ - ๋Œ๋ ค๋ณด์…จ๋Š”๋ฐ 15์ดˆ๋งŒ์— ๋‚˜์˜ด ํšŒ๊ท€ ๋Œ๋ฆฌ๋Š”๋ฐ 1๋ถ„๋ฐ–์— ์•ˆ๋‚˜์˜ด - RMSE๊ฐ€ 0.9๋ผ์„œ ์ข‹์ง€์•Š์Œ. - ๋จธ์‹ ๋Ÿฌ๋‹ ๋งŽ์ด ์”€ LGBM - 12๋ถ„๋งŒ์— ๋‚˜์˜ด - EDA๋ง๊ณ  ํ• ๊ฒŒ์—†๋Š”๊ฒŒ ์•„๋‹Œ๊ฐ€! stacking ์—ฌ๋Ÿฌ ๋ชจ๋ธ ํŒŒ์ดํ”„๋ผ์ธ์„ ๋งŒ๋“ค์–ด์„œ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค ๊ณ ๋ คํ•ด์„œ ์ตœ์ ์˜ ๋ชจ๋ธ์„ ์ฐพ๊ธฐ - stacking ๋ชจ๋ธ๋ง์„ ํ•ด์„œ ์„ธ๋ถ€์ ์ธ ๋ชจ๋ธ ์ •ํ•ด๋ณด๊ธฐ. - ๋‹ค๋ฅธ ์กฐ์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ํ”„๋กœ์ ํŠธ์˜ volume์„ ๋งž์ถฐ์•ผ ํ•˜์ง€ ์•Š์„๊นŒ - ์‹œ๊ฐ„ ๋‚จ์œผ๋ฉด DNN์„ ํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. #### ์†Œ์ •๋‹˜! - ์บ๊ธ€์— ์˜ฌ๋ผ์˜จ ์ฝ”๋“œ๋ž‘ ๋ชจ๋ธ ๊ฐ™์€๊ฑฐ ๋ถ€๋™์‚ฐ ์‹œ์„ธ ์˜ˆ์ธก ๋…ผ๋ฌธ๊ฐ™์€๊ฑฐ์— ๋ญ๊ฐ€ ์“ฐ์˜€๋Š”์ง€ ์ฐพ์•„๋ณด์‹ฌ. - LSTM์ด ๊ฐ€์žฅ ๋†’๊ฒŒ ๋‚˜์˜ด. ๋”ฅ๋Ÿฌ๋‹ ์ค‘์—์„œ๋Š” LSTM์ด ์ œ์ผ ์ข‹์„ ๊ฒƒ! - ์บ๊ธ€์— ์˜ฌ๋ผ์˜จ ์ฝ”๋“œ ์ค‘์— ์ ์ˆ˜๋ฅผ 2๋ฒˆ์งธ๋กœ ๋†’๊ฒŒ ๋ฐ›์€๊ฒŒ LGBM์ด๋ž‘ MLP๋ฅผ ์ด์šฉํ•ด์„œ ์•™์ƒ๋ธ” ๊ต์ฐจ๊ฒ€์ฆํ•˜์‹ฌ. ์ˆ˜์ •ํ•˜๋ฉด ์ ์ˆ˜ ๋” ์˜ฌ๋ผ๊ฐ€์…จ๋‹ค๊ณ . - ight GBM์ด ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์„œ ๊ณผ์ ํ•ฉ๋˜์ง€๋„ ์•Š์•„์„œ XGBoost๋ณด๋‹ค LGBM๋ณด๋‹ค ๋‚˜์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์…จ์Œ - ๋ณ€์ˆ˜ ํŠœ๋‹์ด ๋ณต์žกํ•ด์„œ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ํ•˜์…จ์Œ - ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ๊ณผ stackingํ•˜๋ฉด ์ข‹์„ ๊ฒƒ - LGBM์ด ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŒ๊ฐœ ๋„˜์œผ๋ฉด ์ข‹๋‹ค๊ณ  ํ•ด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ์šฐ๋ฆฌ ๊ฒƒ๊ณผ ํšจ๊ณผ๊ฐ€ ์ข‹์„ ๊ฒƒ - ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ ์„œ ๋Œ๋ ธ์„ ๋•Œ... 10%, 20%, ์ „์ฒด ์šฐ๋ฆฌ๋„ ๋ฉ”๋ชจ๋ฆฌ์— ๋‹ค ์˜ฌ๋ฆฌ์ž. - EDA ๋ดค๋Š”๋ฐ ์ด์ƒ์น˜๋ฅผ ํ‘œ์ค€ํŽธ์ฐจ์˜ 70๋ฐฐ ํ•ด์„œ ๋‹ค ์ œ๊ฑฐํ•˜๊ณ , ๋ฉ€๋ฆฌ์žˆ๋Š” ์ด์ƒ์น˜ ์ œ๊ฑฐ. ์ด์ƒ์น˜ ์ œ๊ฑฐํ•ด์„œ ์ •๊ทœํ™”ํ•˜๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹ฌ. #### ํ˜„๊ฒฝ๋‹˜! - https://hackmd.io/Wrnl7R1fQRe_H0kgtyz2Og #### ์š”์•ฝ - Stacking, PCA - Parquet, ์–ด๋””๊นŒ์ง€?, EDA - Stacking, LGBM, LSTM, EDA ์ „์ฒ˜๋ฆฌ - EDA๋ฅผ ๋นก์„ธ๊ฒŒ. - stacking์œผ๋กœ ์•™์ƒ๋ธ”๋กœ ์ •ํ™•๋„ ๋†’์ด์ž, PCA - EDA ์ „์ฒด์ ์ธ ๋ฐ์ดํ„ฐ ํ™•์ธ vs time_id ํ™•์ธ ### Discussion #### EDA - EDA์˜ ๊ทผ๊ฑฐ ์ฐพ์•„๋ณด๊ธฐ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”, ์ „์ฒ˜๋ฆฌ ๊ทผ๊ฑฐ ์ •๊ทœํ™”, ์ด์ƒ์น˜์ œ๊ฑฐ๋Š” ๋ฌด์กฐ๊ฑด ํ•œ๋‹ค. ๋ฐฉ๋ฒ•์ด๋‚˜ ๊ทผ๊ฑฐ.. ๋กœ๊ทธํ•จ์ˆ˜.. ๊ฐ ์ปฌ๋Ÿผ๋ณ„๋กœ ๊ทธ๋ž˜ํ”„, ํ‘œ์ค€ํŽธ์ฐจ ๋‚˜ํƒ€๋‚ด์„œ ๊ทผ๊ฑฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ• ์ง€ ์•Œ์•„๋ณด๊ธฐ. ์ด์ƒ์น˜์ œ๊ฑฐ ํ‘œ์ค€ํŽธ์ฐจ ๊ณ ๋ คํ•ด์„œ... ์ด์ƒ์น˜ ์ œ๊ฑฐ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋„ ์‹œ๊ฐํ™”. time series๊ฐ€ ๋˜๋ฉด ์ •๊ทœํ™”์˜ ๊ทผ๊ฑฐ๊ฐ€ ์žˆ์Œ. investment_id๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๋Š”์ง€๋Š” ๋ง‰์—ฐํ•˜๊ฒŒ ๋‚˜ํƒ€๋ƒ„. Data๋ฅผ ์ฆํญํ•˜๋Š” ๋ฐฉ๋ฒ• ?? investment_id ์ˆซ์ž๊ฐ€ ์ž‘์„์ˆ˜๋ก ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์–ด์„œ......... ์ฆํญ์„ ํ•ด์„œ ๋ชจ๋ธ๋งํ•ด๋ณด์ž. ๋‹ค๋ฅธ EDA ๋ฐฉ๋ฒ•์€ ํ• ๋งŒํ•œ๊ฒŒ ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค. ๋ฐ์ดํ„ฐ ์ฆํญ -> investment id๊ฐ€ 30์ธ๊ฑด ๋ฐ์ดํ„ฐ๊ฐ€ 1000๊ฐœ๊ณ  1์ธ๊ฑด ๋ฐ์ดํ„ฐ 2๊ฐœ์ž„. ๋ถ€์ •ํ™•ํ•œ ๋ชจ๋ธ์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Œ(๊ทผ๊ฑฐ ์ฐพ์•„๋ด์•ผ...) ํƒ€์ž„ series๋กœ ๋ณด๋Š”์ˆœ๊ฐ„ ์ฆํญ์ด... ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋กœ ๋ด๋„ ๋ ๊นŒ์š”? ์ถ”์„ธ๊ฐ€ ์—†๋Š”๋ฐ.... ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋กœ ๋ณด๋ฉด ์žฅ์  -> ์‹œ๊ฐ„์˜ ๊ฐ„๊ฒฉ์ด ์ผ์ •ํ•˜์ง€ ์•Š์•„๋„ LSTM ์•Œ์•„์„œ ์จ๋„ ๋จ(์„ฑ๋Šฅ ์•ˆ์ข‹์Œ!) ์‹œ๊ณ„์—ด๋กœ ๋ดค์„ ๋•Œ ์ผ๋ณ„์ธ๋ฐ validation The time IDs are in order, but the real time between the time IDs is not constant and will likely be shorter for the final private test set than in the training set. ![](https://i.imgur.com/896fsM8.png) - ์†Œ์ •๋‹˜์ด ์ž‘์„ฑํ•˜์‹  ์ž๋ฃŒ https://hackmd.io/_UzPexY-RoKHPVKDPWJTvQ - ์ •๊ทœํ™” ์ •๊ทœํ™”๋ฅผ ํ•˜๋Š” ๊ทผ๊ฑฐ ํŒŒ์•…์ด ํ•„์š”ํ•จ (๊ฐ column ๋ณ„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž) ์ •๊ทœํ™”๋ฅผ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€? ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ์ด๋ฉด ์ •๊ทœํ™”์˜ ๊ทผ๊ฑฐ๊ฐ€ ๋” ๋ช…ํ™•ํ•ด์ง https://www.kaggle.com/lucamassaron/eda-target-analysis https://www.kaggle.com/gunesevitan/ubiquant-market-prediction-eda - ์ด์ƒ์น˜์ œ๊ฑฐ ์ž๋ฃŒ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์‹œ๊ฐํ™” ํ›„์— ํ•ด๋‹น ๋งํฌ ๋‚ด์šฉ๋Œ€๋กœ ์ ์šฉ 70๊ณผ 35, 6์˜ ๊ทผ๊ฑฐ ์•Œ์•„๋ณด๊ธฐ https://www.kaggle.com/junjitakeshima/ubiquant-simple-lgbm-removing-outliers-en-jp - investment_id ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ๊ท ํ˜•ํ•œ๋ฐ, ์ฆํญํ•  ์ˆ˜ ์žˆ๋Š” ๊ทผ๊ฑฐ๊ฐ€ ์žˆ๋‚˜!!? -> - k-means ๊ฐ€ ์œ ์šฉํ•จ(๋ณด๋ฅ˜) https://www.kaggle.com/tmrtj9999/regime-classification-by-k-means #### time_id time_id๋ฅผ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€ 2๊ฐ€์ง€ ๊ด€์  ์‹œ๊ณ„์—ด vs dummy data ํ•œ investment id์—์„œ time id๋ฅผ x์ถ•์œผ๋กœ ํ•œ target ๊ฒฐ๊ณผ ํŠน์ • ์‹œ๊ฐ„์— ์–ด๋–ค weight๋ฅผ ๊ณฑํ•ด์„œ ํ•ด์ง€ํŽ€๋“œ... ?? ๋ณ€๋™์„ฑ ํฐ ๋ฐ์ดํ„ฐ ์ด์‚ฌ๋žŒ๋“ค์ด ํ•˜๊ณ ์‹ถ์–ดํ•˜๋Š”๊ฑด time_id๋ฅผ ์‹œ๊ณ„์—ด๋กœ ๋ณด๋Š” ๊ฒƒ์ด ๋ ์ง€์•ˆ๋ ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์Œ LSTM, LGBM ์ „์ฒด investment_id์— ๋Œ€ํ•ด time_id์— ๋Œ€ํ•ด LSTM์—๋‹ค๊ฐ€ ๋„ฃ๊ณ  ๋ชจ๋ธ์˜ ๋ถ„๋ฅ˜ ํšŒ๊ท€ ๋ฐฉ๋ฒ•. ํŠน์ • Feature์˜ weight๋ฅผ ๋ฝ‘์•„๋‚ด์ž. ์ „์ฒด id์— ๋Œ€ํ•œ ์‹œ๊ณ„์—ด๋ฐ์ดํ„ฐ. feature๋ณ„๋กœ weight๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š”..?? id๋งŒํผ ์žˆ๋Š” ..? ์„ ํ˜• ํšŒ๊ท€ ๋ชจ๋ธ์— ๋„ฃ๊ธฐ.... ํ•œ investment id์— ๋Œ€ํ•œ 300๊ฐœ feaeture์— ๋Œ€ํ•œ weight๋ฅผ ์„ ํ˜•ํšŒ๊ท€..?? Time_Id๋ฅผ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์œผ๋ฉด ๊ทธ๋ƒฅ ์•™์ƒ๋ธ”๋กœ ๋„ฃ๊ธฐใ…ฃ ์ „์ฒด time series์— ๋Œ€ํ•œ 300๊ฐœ feature์˜ weight๊ฐ€ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์••์ถ•ํ•ด์„œ ํ•˜๋‚˜์˜ ์›จ์ดํŠธ๋กœ ์žก์•„๋„ฃ์€... weight์™€ target์˜ ์—ฐ๊ด€๊ด€๊ณ„(?) ์ด๋Ÿฐ ๋ชจ๋ธ์ด ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๊ณ  ์š”์ฆ˜ ๋‚˜์˜จ ๋”ฅ๋Ÿฌ๋‹ ๋…ผ๋ฌธ์€ ํ”ผ์ฒ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋„˜๊ธฐ๊ณ (?) ....... ์ •๋ฆฌ: time series๋กœ ๋ณด๋Š” ๋ฐฉ๋ฒ• - ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ์••์ถ•ํ•ด์›จ์ดํŠธ๋ฝ‘์•„๋‚ด๊ณ ๋‹ค์‹œ ์„ ํ˜•ํšŒ๊ท€ ์‹œํ‚จ๋‹ค. ์–ด๋–ค ๋ชจ๋ธ์ด๋“ ... ๊ทธ ์›จ์ดํŠธ๋ฅผ ๊ตฌํ•œ๋‹ค. (ํ”ผ์ฒ˜์˜ ํƒ€๊ฒŸ๊ณผ์˜ ์—ฐ๊ด€์„ฑ) ๋ณด์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ• - ์ „์ฒด ๋ชจ๋ธ ๋Œ๋ ค์„œ ์•™์ƒ๋ธ”ํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด์ž ์••์ถ•ํ•ด์„œ ํƒ€์ž„์‹œ๋ฆฌ์ฆˆํ•˜๋Š”๊ฑด ์ •๋ง ์ข‹์€ ๊ฒƒ ๊ฐ™์•„์š”. LSTM์œผ๋กœ ๊ฐ–๋‹ค์“ฐ๋ฉด ๋ ๊ฒƒ๊ฐ™์•„์š”. ๊ฐ ์ปฌ๋Ÿผ๋ณ„๋กœ ์›จ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”๊ฐ€? ์„ ํ˜•์„ฑ์ด ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•œ๊ฒŒ ๋”ฅ๋Ÿฌ๋‹์ธ๋ฐ investment id๋ณ„๋กœ LSTM์„ ํ†ตํ•ด ๊ฐ€์ค‘์น˜๋ฅผ ํ•™์Šตํ•˜๊ณ  3700๊ฐœ์˜ ์•„์ด๋”” ํ”ผ์ฒ˜ ๋ณ„ ๊ฐ€์ค‘์น˜ ๊ตฌํ•˜๋ฉด ๊ทธ 3700๊ฐœ๋ฅผ ๊ทธ๋Œ€๋กœ ๋‘๋˜์ง€ ํ•˜๋‚˜๋กœ ์ค„์—ฌ์„œ ํ• ์ง€ ๊ณ ๋ฏผํ•˜๊ธฐ. investment id๋ณ„๋กœ ๊ฐ€์ค‘์น˜ vs ์ „์ฒด ์ข…ํ•ฉ ๋ชจ๋ธ fitting์„ investment id๋ณ„๋กœ ํ•œ๋‹ค. PCA๋กœ ํ”ผ์ฒ˜ ์ˆ˜๋ฅผ ์ค„์—ฌ์„œ... ๊ฒฐ๊ณผ๊ฐ€ ์ž˜ ๋‚˜์˜ฌ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ํ†ต์œผ๋กœ ๋ณด๋Š”๊ฑธ๋กœ ๊ฒฐ์ • ### ๋‹ค์Œ ์ผ์ • ์ค‘๊ฐ„ ๋ฐœํ‘œ ์ „๊นŒ์ง€ EDA ๋๋‚˜๊ณ  ๋ชจ๋ธ ํ•˜๋‚˜ ๋Œ๋ ค๋ณด๊ธฐ. ์ „์ฒ˜๋ฆฌ, ์‹œ๊ฐํ™”, ์ •๊ทœํ™”, ์ด์ƒ์น˜์ œ๊ฑฐ ์–ด๋–ป๊ฒŒ ๋ณผ์ง€ ๊ทผ๊ฑฐ ์ˆ˜์š”์ผ๊นŒ์ง€ ๊ทผ๊ฑฐ ์ฐพ๊ธฐ + ์ฝ”๋“œ ์ž‘์„ฑ ํŒ€ ๋‚˜๋ˆ„๊ธฐ - ์ด์ƒ์น˜ ์ œ๊ฑฐ: ์ข…๊ทผ๋‹˜, ์†Œ์ •๋‹˜, ํ˜„๊ฒฝ๋‹˜ https://www.kaggle.com/junjitakeshima/ubiquant-simple-lgbm-removing-outliers-en-jp - ์ •๊ทœํ™”: ์ข…์—ฐ๋‹˜, ์ •ํ›ˆ๋‹˜ ๋ชฉ~๊ธˆ: ์‹œ๊ฐํ™”, ๋…ผ์˜ํ•˜๊ณ  ๋งŒ๋“ค๊ธฐ. ์ด๋ฒˆ์ฃผ: ์ „์ฒ˜๋ฆฌํ•œ ๋ฐ์ดํ„ฐ ์–˜๊ธฐ ์ตœ์ข…๋ชฉํ‘œ: ๋ชจ๋ธ ์—ฌ๋Ÿฌ๊ฐœ๋„ฃ๊ณ  ์•™์ƒ๋ธ” ์‹œํ‚จ๋‹ค ### ๋‹ค์Œ ๋ชจ์ž„ #### ๊ณ ๋ฏผํ•  ๊ฒƒ - ์ƒ๊ด€๊ด€๊ณ„, ๋‹ค์ค‘๊ณต์‚ฐ์„ฑ ์•Œ์•„๋ณด๊ธฐ: ์จ์•ผํ• ๊นŒ? - investment id ๊ณ ๋ฏผํ•ด๋ณด๊ธฐ: id๊ฐ€ ๋ถ€์กฑํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•ˆ์ข‹์€ ์˜ํ–ฅ์„ ๋ผ์น˜๋Š”์ง€? ์ฆํญํ•ด์•ผํ• ๊นŒ? #### ์‹ ์ดŒ ์•ˆ๋‹ค๋ฅด - ์˜ค์ „ 10์‹œ 30๋ถ„