Shan Ali, Letian Zhao, David Cruz

Σύνδεσμος GitHub: https://github.com/ericericzhao945/APM-Final-Project

Περίληψη

Σύμφωνα με τον ιστότοπο World Horse Racing, το HKJC είναι ένας από τους μεγαλύτερους εργοδότες στο Χονγκ Κονγκ, με ετήσια φορολογική συνεισφορά άνω των 20 δισεκατομμυρίων δολαρίων HK και παρείχε 4,5 δισεκατομμύρια δολάρια Χονγκ Κονγκ για φιλανθρωπικές οργανώσεις και κοινοτικά έργα το 2019–20. Σχεδόν το 74 τοις εκατό των εσόδων από στοιχήματα του Club επιστρέφεται στο Χονγκ Κονγκ.

Σε αυτό το άρθρο, θα δείξουμε την προσέγγισή μας για να προβλέψουμε το αποτέλεσμα του στοιχήματος σε ιπποδρομίες στο Χονγκ Κονγκ. Με τη συγχώνευση δεδομένων από τη βάση δεδομένων της κυβέρνησης Kaggle και του Χονγκ Κονγκ, είμαστε σε θέση να εφαρμόσουμε μεθόδους μηχανικής εκμάθησης για να αξιολογήσουμε το κέρδος που προκύπτει για στοιχήματα σε ιπποδρομίες. Θέλουμε να δούμε αν ένας κανονικός άνθρωπος μπορεί πραγματικά να κερδίσει χρήματα ανταποκρινόμενος αυτήν την πρόκληση.

Εισαγωγή και φόντο

Η έμπνευση για το έργο προήλθε από τον William Benter και την εργασία του: Computer-Based Horse Race Handicapping and Wagering Systems: A Report. Το άρθρο του δείχνει αναποτελεσματικότητα στο στοιχηματισμό της πίστας.

Ως αναλογία, εξετάστε την προσπάθειά μας ως επενδυτικές εταιρείες που προσπαθούν να προβλέψουν την απόδοση της μετοχής και το άλφα της μέσω αντικειμενικής και μαθηματικά ορθής συλλογιστικής. Αντί να χρησιμοποιούμε δοκιμές F και t-stats στο backtesting για να προσδιορίσουμε σχετικούς παράγοντες και στρατηγικές συναλλαγών, θα χρησιμοποιήσουμε πολλαπλές μεθόδους επιλογής χαρακτηριστικών και θα εφαρμόσουμε αυτές τις δυνατότητες σε διαφορετικά μοντέλα για να καθορίσουμε τα αποτελέσματα τοποθέτησης τους.

Μία από τις προκλήσεις που σχετίζονται με το έργο είναι το παρασκήνιο των ιπποδρομιών. Επειδή τα μέλη της ομάδας μας δεν είναι εξοικειωμένα με τον τζόγο, έπρεπε να ψάξουμε στα χαρακτηριστικά και να καταλάβουμε τι ήταν σημαντικό για την κατασκευή του μοντέλου. Εκτός από αυτό, ανιχνεύσαμε ορισμένα δεδομένα ιστορικού καιρού από τη βάση δεδομένων της κυβέρνησης του Χονγκ Κονγκ και συγχωνεύσαμε τα δεδομένα με τα δεδομένα από το Kaggle.

Ο απώτερος στόχος αυτού του έργου ήταν να δώσει στους ανθρώπους μια κατανόηση του πόσο δύσκολο είναι να γίνει κανείς επιτυχημένος στον τζόγο.

Συλλογή/Περιγραφή δεδομένων

Η κύρια πηγή δεδομένων μας ήταν από το Kaggle και χρησιμοποιήσαμε επίσης ορισμένα δημόσια δεδομένα από τη βάση δεδομένων της κυβέρνησης του Χονγκ Κονγκ. Τα δεδομένα Kaggle περιέχουν δύο αρχεία csv που είναι τα runs.csv και races.csv. Στο races.csv, κάθε γραμμή περιγράφει την κατάσταση μιας μεμονωμένης κούρσας και κάθε γραμμή περιγράφει τα χαρακτηριστικά μιας διαδρομής αλόγων, σε μία από τις κούρσες που δίνονται στο races.csv. Εξάγαμε 6348 συμμετοχές και 37 χαρακτηριστικά από το race.csv. Από το runs.csv εξαγάγαμε 79447 καταχωρήσεις και 37 χαρακτηριστικά επίσης. Στη συνέχεια, συγχωνεύσαμε αυτά τα δύο σύνολα δεδομένων στο race_id. Τα δεδομένα καιρού περιέχουν τη μέση θερμοκρασία για κάθε ημέρα. Έχει 6348 καταχωρήσεις και συγχωνεύσαμε αυτό το σύνολο δεδομένων με τα δύο προηγούμενα την ημερομηνία.

Προεπεξεργασία και εξερεύνηση δεδομένων

Έχουμε κάνει μερικά βήματα για να καθαρίσουμε το σύνολο δεδομένων που περιλαμβάνει:

  1. Ημερομηνίες έως Ημερομηνία Ώρα
  2. One-hot κωδικοποίηση
  3. Έλεγχοι υγιεινής και συνέπειας
  4. Καταλογισμός -› μείωσε τις μηδενικές/κενές τιμές, αφαιρέθηκε ο θόρυβος και οι ακραίες τιμές
  5. Καθαρισμένο σύνολο δεδομένων -› 75710 καταχωρήσεις, 74 χαρακτηριστικά
  6. Μέσος όρος # Ιπποδρομίες/Άλογο -› 17.689

Υπάρχουν λίγα ενδιαφέροντα ευρήματα που εξετάζουν ολόκληρο το σύνολο δεδομένων:

Τα περισσότερα άλογα είναι σε ηλικία 3 ετών, αλλά τα άλογα που είναι 10 ετών έχουν στην πραγματικότητα μεγαλύτερη πιθανότητα να κερδίσουν.

Η γραφική παράσταση του πραγματικού βάρους δείχνει ότι τα βάρη είναι λοξά προς τα δεξιά, αλλά δεν υπάρχει σημαντική σχέση με την πιθανότητα νίκης στον αγώνα.

Ο πιο κοινός τύπος αλόγου είναι το Gelding, ο αριθμός είναι σημαντικά υψηλότερος από άλλους τύπους αλόγων. Κάθε τύπος αλόγου έχει μια αρκετά ομοιόμορφη πιθανότητα να κερδίσει.

Εξετάζοντας το χαρακτηριστικό της χώρας, διαπιστώσαμε ότι τα περισσότερα άλογα είναι από την Αυστραλία, τη Νέα Ζηλανδία και την Ιρλανδία.

Η θερμοκρασία εμφανίζεται σε βαθμούς Κελσίου και η θερμοκρασία είναι πολύ παρόμοια με εδώ στο Τέξας.

Επιλογή/Εξαγωγή λειτουργιών

Ο στόχος της επιλογής χαρακτηριστικών είναι να διευκολύνουμε την ερμηνεία του μοντέλου μας, αφαιρώντας άχρηστες πληροφορίες, να μειώσουμε το μέγεθος του προβλήματος για να ελαχιστοποιήσουμε τον υπολογιστικό φόρτο και να μειώσουμε την υπερπροσαρμογή καθώς και τις αρνητικές επιπτώσεις του. Επιλέξαμε τρεις διαφορετικούς τύπους μεθόδων επιλογής χαρακτηριστικών, συμπεριλαμβανομένων των PCA, Embedding και Wrapper.

PCA

Ο λόγος για να χρησιμοποιηθεί το PCA ως μέθοδος επιλογής χαρακτηριστικών είναι επειδή δεν λαμβάνει υπόψη την πιθανή πολυμεταβλητή φύση της δομής δεδομένων. Όταν το PCA μειώνει τη διάσταση, μειώνει την ερμηνευσιμότητα ταυτόχρονα, αλλά η ερμηνευτικότητα δεν είναι τόσο σημαντική, καθώς προσπαθούμε να έχουμε πιθανότητες και να έχουμε θετικά μερίσματα.

Το μοντέλο μας έτρεξε το PCA κοιτάζοντας 10, 20, 50 και 70 εξαρτήματα:

  • Η εκατοστιαία διακύμανση εξηγείται
  • 10 εξαρτήματα = 68,01
  • 16 εξαρτήματα = 80,99
  • 20 εξαρτήματα = 87,31
  • 50 εξαρτήματα = 99,38
  • 70 εξαρτήματα = 100
  • Ελάχιστος υπολογιστής για εξήγηση 80% Διακύμανση: 16 % Επεξήγηση: 80,08

Προώθηση σταδιακής επιλογής

Σε αυτήν την περίπτωση, χρησιμοποιήσαμε τη γραμμική παλινδρόμηση και την λογιστική παλινδρόμηση ως αλγόριθμο για τη σταδιακή επιλογή προς τα εμπρός. Βασικά προσθέτει ένα χαρακτηριστικό κάθε φορά και θα σταματήσει να προσθέτει εάν το μοντέλο δεν βελτιώνεται πλέον.

Αναδρομική εξάλειψη χαρακτηριστικών (RFE)

Η διασταυρούμενη επικύρωση RFE ξεκινά με όλες τις δυνατότητες του συνόλου δεδομένων και συνεχίζει να καταργεί λειτουργίες για να αναζητήσει τον αριθμό των χαρακτηριστικών που έχουν την υψηλότερη απόδοση. Σε αυτήν την περίπτωση, επιλέξαμε 19 διαφορετικές λειτουργίες χρησιμοποιώντας το RFE και πήραμε βαθμολογία R2 στο MLP: 0,27673.

LASSO

Το Lasso θα συρρικνωθεί και θα αφαιρέσει τους συντελεστές που θα μειώσουν τη διακύμανση χωρίς να επηρεάσουν τόσο πολύ την προκατάληψη. Επιλέξαμε το Alpha -› 0,005 χρησιμοποιώντας διασταυρούμενη επικύρωση και λάβαμε R2 -› 0,268.

  • Επιλεγμένα χαρακτηριστικά:
  • Πραγματικό_βάρος
  • Σχεδιάζω
  • Win_odds
  • Place_odds
  • Επιφάνεια
  • Απόσταση
  • Race_count
  • Πρόσφατο αποτέλεσμα
  • Distance_pref
  • Επιφάνεια_προφ
  • Average_jockey_prof
  • Recent_trainer_perf
  • Horse_country_AUS
  • Τόπος_ΣΤ

Εφαρμογή και επιλογή μοντέλου

Λαμβάνοντας υπόψη τη φύση πολλών κατηγοριών και υψηλής διακύμανσης του προβλήματός μας, αναζητούμε ένα ισχυρό αλλά ακριβές μοντέλο ταξινόμησης που μπορεί να προβλέψει τις σχετικές πιθανότητες ενός αλόγου να τοποθετηθεί πρώτος σε κάθε δεδομένη κούρσα. Για να γίνει αυτό, επιλέξαμε τέσσερα μοντέλα για αξιολόγηση: kNN, λογιστική παλινδρόμηση, ταξινόμηση δέντρου αποφάσεων και XGBoost. Βελτιστοποιήσαμε τις παραμέτρους για κάθε μοντέλο σχετικά με τη βαθμολογία R2 και το σφάλμα δοκιμής/εκπαίδευσης. Στη συνέχεια, εξερευνήσαμε μεθόδους συνόλου για να βελτιώσουμε περαιτέρω την απόδοσή μας. Εφαρμόσαμε επίσης ένα βασικό μοντέλο για σύγκριση.

Βασική γραμμή

Πριν εφαρμόσουμε οποιοδήποτε μοντέλο, δημιουργήσαμε ένα απλό βασικό μοντέλο λογιστικής παλινδρόμησης για σύγκριση. Το μοντέλο δεν βελτιστοποιήθηκε και χρησιμοποιούσε μόνο win_odds ως ανεξάρτητη μεταβλητή.

KNN

Το πρώτο μοντέλο που εφαρμόσαμε ήταν ένα μοντέλο ταξινόμησης k-Nearest Neighbor. Χρησιμοποιώντας τη μέθοδο KNeighborsClassifier από το sklearn, βελτιστοποιήσαμε για k γείτονες για το σφάλμα δοκιμής του σε ολόκληρο το σύνολο χαρακτηριστικών. Κάνοντας αυτό, θυσιάσαμε τη βελτιστοποίηση του k για κάθε υποσύνολο χαρακτηριστικών λόγω υπολογισμών και απαιτήσεων χρόνου. Το σφάλμα πάνω από το k εμφανίζεται παρακάτω.

Από το γράφημα, επιλέξαμε k=4 ως σημείο του αγκώνα. Αυτή η επιλογή εξισορρόπησε το σφάλμα δοκιμής και αμαξοστοιχίας σε μια προσπάθεια να διατηρηθεί η στιβαρότητα και να αποφευχθεί η υπερβολική τοποθέτηση στο μοντέλο.

Λογιστική παλινδρόμηση

Στη συνέχεια εφαρμόσαμε ένα μοντέλο λογιστικής παλινδρόμησης πολλαπλών κλάσεων. Χρησιμοποιώντας τις μεθόδους LogisticRegression και GridSearchCV από το sklearn, βελτιστοποιήσαμε το μοντέλο για τον τύπο τακτοποίησης και το ρυθμό εκμάθησης, τον λύτη και τα βάρη κλάσεων στο πλήρες υποσύνολο χαρακτηριστικών. Πρώτον, ανακαλύψαμε ότι η χρήση μιας λευκής στάθμισης κλάσης βελτίωσε τη συνολική ακρίβεια του μοντέλου διασφαλίζοντας ομοιόμορφη κατανομή των προβλέψεων. Υποθέτουμε ότι αυτό οφείλεται στον αποκλειστικό χαρακτήρα τερματισμού των αγώνων (χωρίς ισοπαλίες), επομένως το μοντέλο δίνει προτεραιότητα στην πρόβλεψη όλων των θέσεων τερματισμού έναντι των προβλέψεων μεσαίου τερματισμού που ευνοούνταν προηγουμένως. Στη συνέχεια βρήκαμε ότι ο λύτης Saga με τακτοποίηση L2 στο C=10 ήταν ο καλύτερος συνδυασμός λύτη + κανονικοποίησης. Υποθέτουμε ότι αυτό οφείλεται στην ανώτερη απόδοση του saga για σύνολα δεδομένων με πολλά χαρακτηριστικά. Εφαρμόσαμε αυτές τις παραμέτρους σε όλα τα μοντέλα λογιστικής παλινδρόμησης.

Για να βελτιώσουμε περαιτέρω το μοντέλο, εφαρμόσαμε το bagging για να εξισορροπήσουμε τη διακύμανση του μοντέλου και να βελτιώσουμε τη στιβαρότητα και την ακρίβειά του. Χρησιμοποιώντας τη μέθοδο BaggingClassifier από το sklearn, εφαρμόσαμε τον αλγόριθμο bagging σε 10 εκτιμητές. Επιλέξαμε 10 εκτιμητές για την υπολογιστική του απόδοση.

Ταξινόμηση δέντρου αποφάσεων

Το επόμενο μοντέλο που εφαρμόσαμε ήταν ένας απλός ταξινομητής δέντρου αποφάσεων. Επιλέξαμε αυτό το μοντέλο για τη στιβαρότητα, την απλότητα, την ερμηνευτικότητα και την ταχύτητά του. Χρησιμοποιώντας τη μέθοδο DecisionTreeClassifier από το sklearn, βελτιστοποιήσαμε το μοντέλο για το βάρος κατηγορίας, το κριτήριο αξιολόγησης, τα ελάχιστα φύλλα δειγμάτων και το μέγιστο βάθος. Δεδομένου ότι ένα ισορροπημένο βάρος κατηγορίας παρήγαγε τα ανώτερα λογιστικά μοντέλα, το διερευνήσαμε στα μοντέλα δέντρων αποφάσεων. Ωστόσο, διαπιστώσαμε ότι τα μη καθορισμένα βάρη κλάσεων είχαν καλύτερα σφάλματα δοκιμών, επομένως χρησιμοποιήσαμε τις προεπιλεγμένες παραμέτρους (Καμία). Στη συνέχεια, εξετάσαμε την αξιολόγηση της ποιότητας του κόμβου και βρήκαμε ότι η εντροπία παρήγαγε ανώτερα αποτελέσματα. Τέλος, εξετάσαμε τις παραμέτρους ελάχιστου φύλλου δείγματος και μέγιστου βάθους και ανακαλύψαμε max-depth = 5 και min δείγμα φύλλου = 2, παρήγαγε ανώτερη ακρίβεια δοκιμής αλλά οδήγησε σε υπερπροσαρμογή και χειρότερη απόδοση σε μεταγενέστερη αξιολόγηση, επομένως επιλέξαμε να απλοποιήσουμε το μοντέλο και δεν προσδιορίζετε αυτές τις παραμέτρους.

Για να βελτιώσουμε περαιτέρω το μοντέλο, εφαρμόσαμε το bagging για να εξισορροπήσουμε τη διακύμανση του μοντέλου και να βελτιώσουμε τη στιβαρότητα και την ακρίβειά του. Παρόμοια με την αποθήκευση της λογιστικής παλινδρόμησης, χρησιμοποιήσαμε τη μέθοδο BaggingClassifier από το sklearn και εφαρμόσαμε τον αλγόριθμο bagging σε 50 εκτιμητές. Μπορέσαμε να επιλέξουμε 50 εκτιμητές λόγω της υπολογιστικής αποτελεσματικότητας των δέντρων αποφάσεων.

XGBoost

Ο τελευταίος ανεξάρτητος αλγόριθμος που εφαρμόσαμε ήταν ένας ταξινομητής XGBoost. Χρησιμοποιώντας τη μέθοδο XGBClassifier από τη βιβλιοθήκη xgboost και τη μέθοδο GridSearchCV από το sklearn, ρυθμίσαμε τις υπερπαραμέτρους του μοντέλου καθώς το xgboost βασίζεται στη λεπτομέρεια για να παράγει την καλύτερη απόδοση. Βελτιστοποιήσαμε τη συνάρτηση gamma, min_child_weight, learning_rate, n_estimators, max_depth και στόχο. Πρώτον, επειδή πρόκειται για πρόβλημα πολλαπλών κλάσεων, ορίσαμε τη συνάρτηση αντικειμενικού σε multi: softmax. Αυτό επιτρέπει στον αλγόριθμο να χειρίζεται προβλήματα πολλαπλών κλάσεων και εξάγει τις πιθανότητες πρόβλεψης σε σχέση με όλες τις κλάσεις. Στη συνέχεια εξερευνήσαμε τις παραμέτρους του ρυθμού μάθησης και του μέγιστου βάθους και βρήκαμε ότι ο ρυθμός μάθησης = 0,1 και το μέγιστο βάθος = 5 παρήγαγαν το καλύτερο μοντέλο. Υποθέτουμε ότι αυτές οι παράμετροι διατηρούν την απλότητα περιορίζοντας το βάθος και την υπερπροσαρμογή. Στη συνέχεια, εξετάσαμε το γάμμα και το ελάχιστο βάρος παιδιού. Αυτές οι παράμετροι βελτιστοποιήθηκαν στο 11 και στο 5 αντίστοιχα, αλλά παρατηρήσαμε υπερβολική προσαρμογή, επομένως εξαλείψαμε αυτές τις παραμέτρους και χρησιμοποιήσαμε τις προεπιλεγμένες τιμές τους. Τέλος, διερευνήσαμε τον ν αριθμό των εκτιμητών που θα χρησιμοποιήσουμε, δοκιμάζοντας από 10 έως 1000 εκτιμητές. Με αργή λεπτομέρεια, ανακαλύψαμε ότι το πιο στιβαρό και ισορροπημένο μοντέλο είχε 100 εκτιμητές.

Σύνολα

Κατά την αξιολόγηση, παρατηρήσαμε ότι ορισμένα μοντέλα και υποσύνολα είχαν σταθερά καλύτερη απόδοση από άλλα. Εξερευνήσαμε περαιτέρω αυτά τα μοντέλα και διαπιστώσαμε ότι ήταν επίσης ακριβή σε διαφορετικούς τομείς. Ως εκ τούτου, προσπαθήσαμε να βελτιώσουμε τα μοντέλα μας συνδυάζοντάς τα σε σύνολα. Κατά την αξιολόγηση, η επιλογή LASSO και η μπροστινή επιλογή με γραμμικό εκτιμητή απέδωσαν καλύτερα σε όλα τα μοντέλα. Η συσσωρευμένη λογιστική παλινδρόμηση, το δέντρο μεμονωμένων αποφάσεων και το μοντέλο XGBoost παρήγαγαν επίσης αξιόπιστα και πολλά υποσχόμενα αποτελέσματα. Για απλότητα, επιλέξαμε να χρησιμοποιήσουμε τον μέσο όρο πιθανότητας ως μέθοδο συγκέντρωσης. Στη συνέχεια επιλέξαμε αυτόν τον πιθανό συνδυασμό έξι μοντέλων + υποσυνόλου χαρακτηριστικών για την παραγωγή τριών συνόλων. Δημιουργούμε ένα μοντέλο με όλους τους συνδυασμούς και ένα για κάθε υποσύνολο χαρακτηριστικών.

Αποτελέσματα αξιολόγησης

Αλγόριθμος αξιολόγησης

Για να αξιολογήσουμε τα μοντέλα μας, έπρεπε να δημιουργήσουμε μια προσομοίωση στοιχήματος για να δοκιμάσουμε την απόδοση από το δείγμα και να αξιολογήσουμε τις πραγματικές του αποφάσεις στοιχηματισμού. Για να γίνει αυτό, δημιουργήσαμε έναν απλό αλγόριθμο που χρησιμοποιεί την προβλεπόμενη πιθανότητα 1ης θέσης για να εκτιμήσει την αναμενόμενη απόδοση στα στοιχήματα, στη συνέχεια αξιολογεί τον αριθμό των στοιχημάτων που πραγματοποιήθηκαν, τα # στοιχημάτων που κερδήθηκαν, τα κέρδη, το κέρδος, το κέρδος ανά στοίχημα και τη συνολική απόδοση στοιχήματα. Ένα ενδιαφέρον χαρακτηριστικό αυτού του αλγορίθμου είναι ότι συνδυάζουμε την προβλεπόμενη πιθανότητα με τη δημόσια σιωπηρή πιθανότητα χρησιμοποιώντας μια λογιστική παλινδρόμηση. Αυτός ο συνδυασμός ουσιαστικά αυξάνει την ιδιωτική μας πρόβλεψη με τη σοφία του πλήθους για να συλλάβει οποιαδήποτε πιθανή απόκλιση που χάνεται από το μοντέλο μας. Η αναμενόμενη απόδοση είναι η συνδυασμένη πιθανότητα * αναμενόμενο μέρισμα (πληρωμή). Χρησιμοποιούμε ένα συντηρητικό όριο στοιχηματισμού αναμενόμενης απόδοσης = 2 για να αξιολογήσουμε την απόδοση. Με αυτόν τον τρόπο στοιχηματίζουμε μόνο σε προβλέψεις για τις οποίες είμαστε πολύ σίγουροι και ελαχιστοποιούμε τις απώλειες. Όλα τα στοιχήματα είναι 1$.

Ο παραπάνω πίνακας εμφανίζει το αποτέλεσμα αξιολόγησης για τα μοντέλα βασικής γραμμής και kNN που εφαρμόζονται στα τελικά υποσύνολα χαρακτηριστικών. Όπως φαίνεται, το βασικό μοντέλο, το οποίο προβλέπει μόνο με βάση τις πιθανότητες δημόσιας νίκης, έκανε 19 στοιχήματα χωρίς καμία νίκη για απόδοση -100% στα στοιχήματα. Συγκρίνετε αυτό με τα μοντέλα kNN και δείτε άμεση βελτίωση. Ενώ όλα τα μοντέλα καταλήγουν σε απώλειες, προβλέπουν με ακρίβεια ορισμένες φυλές σωστά, γεγονός που δείχνει ότι υπάρχει προγνωστική ισχύς σε αυτά τα σύνολα δεδομένων. Για περαιτέρω βελτίωση των μοντέλων kNN, θα μπορούσε να χρησιμοποιηθεί k βελτιστοποίηση σε όλα τα υποσύνολα.

Η επόμενη αξιολόγηση του μοντέλου που διερευνήσαμε ήταν τα μοντέλα λογιστικής παλινδρόμησης non-bagged και bagged. Εδώ μπορούμε να δούμε μια θετική απόδοση σε όλους τους τομείς και βελτιωμένα αποτελέσματα από το bagging. Συγκρίνοντας ισοδύναμα μοντέλα με σακούλες και μη, μπορείτε να δείτε ότι προέβλεψαν τους ίδιους νικηφόρους αγώνες, αλλά τα μοντέλα με τσάντα πρόβλεψαν λιγότερες εσφαλμένα. Αυτό δείχνει το όφελος του bagging και πώς μπορεί να βελτιώσει την απόδοση στοιχήματος των μοντέλων. Μια άλλη σημαντική σημείωση είναι η σύγκριση μεταξύ μοντέλων που έχουν εκπαιδευτεί στο πλήρες και υποσύνολο χαρακτηριστικών LASSO. Όπως φαίνεται, προβλέπουν πολλές παρόμοιες φυλές, αλλά το υποσύνολο LASSO προβλέπει λιγότερες εσφαλμένες προβλέψεις. Αυτό δείχνει αναποτελεσματικότητα σε ολόκληρο το σύνολο χαρακτηριστικών και υποστηρίζει περαιτέρω εξερεύνηση χαρακτηριστικών, καθώς το υποσύνολο LASSO εμφανίζει καλύτερη απόδοση στοιχήματος. Για περαιτέρω βελτίωση των μοντέλων εφοδιαστικής, θα μπορούσε να διερευνηθεί η καλύτερη επιλογή χαρακτηριστικών. Για το ενσωματωμένο μοντέλο, η προσθήκη περισσότερων εκτιμητών θα μπορούσε να βελτιώσει περαιτέρω την απόδοση και την αποδοτικότητα.

Στη συνέχεια αξιολογήσαμε τους ταξινομητές δέντρων αποφάσεων. Αυτά τα μοντέλα ήταν ενδιαφέροντα για τέσσερις λόγους. Πρώτον, υπήρχε μεγαλύτερος διαχωρισμός στις προβλέψεις μεταξύ του πλήρους και του υποσυνόλου LASSO, υποδεικνύοντας ότι η επιλογή χαρακτηριστικών παίζει μεγαλύτερη σημασία σε αυτά τα μοντέλα. Δεύτερον, το δέντρο αποφάσεως στο πακέτο δεν ήταν σε θέση να προβλέψει πολλά στοιχήματα πάνω από το όριο μας. Αυτό σημαίνει ότι οι προβλέψεις του ήταν αβέβαιες και δυνητικά σηματοδοτούσε υπερβολική προσαρμογή των δεδομένων προπόνησης. Τρίτον, αυτά τα αποτελέσματα ενισχύουν το μοτίβο ότι ενώ τόσο το υποσύνολο LASSO όσο και το μελλοντικό υποσύνολο παράγουν θετικά αποτελέσματα, το υποσύνολο LASSO είναι σταθερά πιο κερδοφόρο. Τέλος, τα μοντέλα με ένα δέντρο προέβλεψαν πιο σωστές κούρσες από τα άλλα μοντέλα, καθιστώντας το λιγότερο αποτελεσματικό αλλά και με μεγαλύτερα κέρδη. Για περαιτέρω βελτίωση αυτών των μοντέλων, θα πρέπει να διερευνηθούν πρόσθετες παράμετροι, όπως λιγότεροι εκτιμητές, για το μοντέλο αποσκευών. Η ανάλυση κόμβων θα μπορούσε επίσης να χρησιμοποιηθεί για να υπολογίσει ποιες περιοχές ταξινομούνται εσφαλμένα σε σχέση με άλλες. Αυτό θα μπορούσε να βοηθήσει στην ελαχιστοποίηση των ψευδών θετικών στοιχείων και στη δημιουργία συνόλου.

Το τελευταίο ανεξάρτητο μοντέλο που αξιολογήσαμε ήταν το XGBoost. Αυτός ο αλγόριθμος, ενώ είχε καλύτερη ακρίβεια και βαθμολογία R2 από τα logistic μοντέλα, απέδωσε θετικά αλλά χειρότερα. Είναι ενδιαφέρον ότι τα μοντέλα προέβλεψαν σωστά διαφορετικούς αγώνες, επομένως αυτό δείχνει τη δυνατότητα για την κατασκευή συνόλου. Για περαιτέρω βελτίωση αυτού του μοντέλου, θα μπορούσε να διερευνηθεί πρόσθετος και λεπτότερος συντονισμός παραμέτρων.

Μετά την εξερεύνηση των αποτελεσμάτων, τα μοτίβα που συζητήθηκαν στην ενότητα υλοποίησης του μοντέλου γίνονται εμφανή. Χρησιμοποιώντας την υπεροχή και τις διαφορές που προκύπτουν από τα υποσύνολα LASSO και μπροστινά και μεταξύ μοντέλων. Υποθέτουμε ότι θα μπορούσε να δημιουργηθεί πρόσθετη απόδοση με το συνδυασμό των μοντέλων σε ένα σύνολο. Αξιολογώντας τα τρία μοντέλα, βλέπουμε ότι όλα είχαν θετικές αποδόσεις αλλά με κάποιες αξιοσημείωτες διαφορές. Όπως σημειώθηκε νωρίτερα, τα μοντέλα φαινόταν να προβλέπουν σωστά διαφορετικούς αγώνες με διαφορετική απόδοση. Αυτό το φαινόμενο αποτυπώνεται στο συνδυασμένο σύνολο καθώς κάνει περισσότερα στοιχήματα από το λογιστικό μοντέλο, αλλά λιγότερα από το δέντρο αποφάσεων, βελτιώνοντας την αποτελεσματικότητα και τον αριθμό των νικών. Το συνδυασμένο σύνολο αποδείχθηκε επίσης πιο συντηρητικό από τα σύνολα ενός υποσυνόλου, με μεγαλύτερη αποτελεσματικότητα αλλά μικρότερο κέρδος. Αυτά τα σύνολα παρουσιάζουν θετικά και ενθαρρυντικά αποτελέσματα καθώς καταδεικνύουν τη δυνατότητα κατασκευής συνδυασμένων μοντέλων που ξεπερνούν τις ανεπάρκειες των σύνθετων κομματιών του. Για περαιτέρω βελτίωση του μοντέλου, θα μπορούσαν να διερευνηθούν πρόσθετοι συνδυασμοί και περαιτέρω συνδυασμοί βασικών μοντέλων. Αυτό εξαρτάται από την απόδοση του μεμονωμένου μοντέλου, καθώς, καθώς τα μεμονωμένα μοντέλα βελτιώνονται αλλά παραμένουν διακριτά, είναι πιθανό να βελτιωθεί και το σύνολο. Επιπλέον, θα μπορούσαν να χρησιμοποιηθούν διαφορετικές μέθοδοι συνάθροισης για την καταλληλότερη στάθμιση των μοντέλων, δεδομένου ότι επί του παρόντος όλα ζυγίζονται εξίσου.

Συμπέρασμα

Συνοψίζοντας, η ομάδα μας διερεύνησε τοHorse Racing στο σύνολο δεδομένων HK Kaggle για να προσπαθήσει να δημιουργήσει ένα αποτελεσματικό και αποτελεσματικό σύστημα χάντικαπ και στοιχηματισμού. Για να γίνει αυτό, επεξεργαστήκαμε, κλιμακώσαμε και συγχωνεύσαμε τα δεδομένα. Προσθέσαμε επίσης 50 εξαγόμενες λειτουργίες για να βελτιώσουμε την επεξηγηματική ισχύ και να χειριστούμε τη διαρροή δεδομένων. Στη συνέχεια, επιλέξαμε υποσύνολα των συνολικών χαρακτηριστικών για να βελτιστοποιήσουμε την αποδοτικότητα των χαρακτηριστικών και να μειώσουμε τις προσπάθειες υπολογισμού και τη συγγραμμικότητα. Με αυτά τα υποσύνολα, στη συνέχεια εφαρμόσαμε πολλά μοντέλα για να αξιολογήσουμε αυτά τα υποσύνολα και να χρησιμεύσουμε ως δομικά στοιχεία για ένα μοντέλο συνόλου. Τέλος, αξιολογήσαμε τα καλύτερα μοντέλα σε μια προσομοίωση στοιχήματος και συγκρίναμε τα αποτελέσματα. Συγκεκριμένα, μπορέσαμε να δημιουργήσουμε μοντέλα που παρήγαγαν θετικές αποδόσεις και έδειχναν ευκαιρίες για περαιτέρω βελτίωση.

Σε κάθε βήμα, η ομάδα μας έμαθε πώς να διαχειρίζεται τις προσπάθειές μας πιο αποτελεσματικά. Μια σημαντική εφαρμογή αυτού είναι η ενσυνείδητη αξιολόγηση του μοντέλου. Χρησιμοποιώντας αυτό, μπορέσαμε να μειώσουμε τους χρόνους υπολογισμού μας και να επικεντρωθούμε περισσότερο στην ανάπτυξη και την υλοποίηση. Επιπλέον, μάθαμε με περισσότερες λεπτομέρειες για όλα τα μοντέλα που χρησιμοποιήθηκαν αλλά κυρίως για τις μεθόδους συνόλου.

Τέλος, για περαιτέρω βελτίωση του μοντέλου, συνιστούμε περαιτέρω εξερεύνηση σε κάθε πτυχή του έργου, αλλά με εστίαση στους τομείς επιτυχίας μας: εξαγωγή και επιλογή χαρακτηριστικών, βελτιστοποίηση και επιλογή μοντέλου και δημιουργία συνόλου. Για την εξαγωγή χαρακτηριστικών, υποθέτουμε ότι υπάρχουν πρόσθετα χαρακτηριστικά που θα μπορούσαν να εξαχθούν ή να προστεθούν που θα παρείχαν σημαντική εξήγηση διακύμανσης, όπως πληροφορίες προπόνησης και παράγοντες τύχης. Για την επιλογή χαρακτηριστικών, πρόσθετη αξιολόγηση της σχετικής σημασίας των χαρακτηριστικών με τη βάση των υποσυνόλων LASSO και μπροστινών μας θα μπορούσε να δημιουργήσει πρόσθετα και πιο αποτελεσματικά υποσύνολα χαρακτηριστικών. Για τη βελτιστοποίηση του μοντέλου, η περαιτέρω λεπτομέρεια των υπερ/παραμέτρων για κάθε μοντέλο θα μπορούσε να βελτιώσει περαιτέρω την ακρίβεια. Τέλος, η εξερεύνηση της πηγής του σφάλματος μοντέλου θα μπορούσε επίσης να δείξει γιατί και πού το μοντέλο πάει στραβά. Αυτές οι πληροφορίες μπορούν να χρησιμοποιηθούν για τη δημιουργία πιο αποτελεσματικών συνόλων που είναι σε θέση να ξεπεράσουν τις συγκεκριμένες ελλείψεις οποιουδήποτε μοντέλου συνδυάζοντάς το με συμπληρωματικά μοντέλα.

Συμπερασματικά, η ομάδα μας κατάφερε να δημιουργήσει ένα σύστημα που χρησιμοποιούσε ποσοτικά δεδομένα για να κερδίσει την αγορά αγώνων. Μέσα από τη διαδικασία, εξερευνήσαμε και μάθαμε πολλά πρακτικά μαθήματα από κάθε βήμα. Αξιοσημείωτος τρόπος αξιολόγησης μοντέλων και υπολογιστικής διαχείρισης. Τέλος, το μοντέλο μας αφήνει περιθώρια βελτίωσης και αυτό το έργο θα χρησιμεύσει ως ένα καλό σημείο εκκίνησης για κάποιον που εξερευνά τον ίδιο τομέα.

Αναφορές

DATA.GOV.HK. (ν.δ.). Ανακτήθηκε στις 11 Δεκεμβρίου 2020, από https://data.gov.hk/en-datasets/category/climate-and-weather

Παγκόσμια Ιπποδρομίες. (ν.δ.). Ανακτήθηκε στις 11 Δεκεμβρίου 2020, από το https://www.worldhorseracing.com/

Daley, Grahan. "Ιπποδρομίες στο Χονγκ Κονγκ." Kaggle, 2016, www.kaggle.com/gdaley/hkracing.

William Benter, 2008. «Computer Based Horse Race Handicapping and Wagering Systems: A Report», World Scientific Book Chapters, στο: Donald B Hausch & Victor SY Lo & William T Ziemba (ed.), Efficiency Of Racetrack Betting Markets, κεφάλαιο 19 , σελίδες 183–198, World Scientific Publishing Co. Pte. Ε.Π.Ε.