Výběr významných prediktorů z velkého množství časových řad
Výpočty podhodnocených a nadhodnocených akcií aktuálně provádíme v rámci proof of concept řešení, které je postaveno na komerčním software s vnitřními omezeními.
Připravujeme proto nový robustní produkční systém, ve kterém dokážeme využít synergií s již existujícími komponentami z dalších oblastí, například pro postprocessing výsledků.
- Jedním z potřebných kroků, kterým jsme se v rámci preprocessingu* dat v posledních týdnech věnovali bylo zabránění přeučení modelu, tedy učili jsme model generalizovat**.
- Model se snadno přeučí, například když má příliš mnoho parametrů, což je náš případ. Původně jsme měli přibližně 1000 časových řad***.
- Doposud se nám v produkčním modelu mohly vyskytovat významné časové řady, nicméně vzájemně velice podobné (korelované).
- Našim cílem je ponechat pro další výpočty jenom proměnné, které jsou od sebe dostatečně odlišné (výsledkem je vyšší rychlost, lepší udržovatelnost systému, viz princip logické úspornosti).
- Odstranili jsme proto vzájemně korelované řady a ponechali pouze ty dostatečně vzájemně odlišné.
Těmito kroky byla úspěšně uzavřená část Feature selection.
* Nejnáročnější výpočetní fází při tvorbě modelu je příprava/preprocessing dat.
**Model mohl mít na trénovacích datech (tedy datech které při procesu učení viděl) skvělé výsledky, ale na testovacích (které při procesu učení neviděl), dosahovat špatných výsledků.
***Pod časovou řadou si lze představit vývoj hodnot ukazatelů v čase, například close cena či (nejenom z ní) odvozené ukazatele jako například Currency Volume. U těchto ukazatelů vždy zjišťujeme jejich významnost vůči cílové proměnné (například normalizovanému dennímu výnosu) za pomoci různých statistických testů (například test T-test). Abychom zabránili přeučení, nevýznamné časové řady z výpočtu odstraňujeme.