Φτιάξε το δικό σου μοντέλο πρόβλεψης ποδοσφαίρου
Τα δεδομένα που χρειάζεσαι, ένα μοντέλο Poisson χτισμένο βήμα-βήμα σε έναν πλήρη πίνακα σκορ, οι διορθώσεις που αξίζει να προσθέσεις, το walk-forward backtesting που κρατά το μέλλον έξω, και η αριθμητική που σου λέει πότε ένα μοντέλο δεν αξίζει τις ώρες σου.
Ένα μοντέλο πρόβλεψης ποδοσφαίρου είναι μια διαδικασία που μετατρέπει την ιστορία των αγώνων σε πιθανότητες για κάθε σκορ και, από εκεί, σε τιμή για κάθε αγορά του δελτίου. Ο πυρήνας του είναι μία κατανομή και δύο αριθμοί ανά αγώνα — πόσα γκολ αναμένεται να σημειώσει κάθε πλευρά. Όλα τα υπόλοιπα είναι υγιεινή δεδομένων, διορθώσεις και δοκιμές, όπου τα περισσότερα σπιτικά μοντέλα αποτυγχάνουν σιωπηλά.
Με λίγα λόγια.
- Χρειάζεσαι αποτελέσματα αγώνων με ημερομηνίες και έδρες, όχι μέσους όρους σεζόν. Δώδεκα εντός και δώδεκα εκτός αγώνες ανά ομάδα είναι το ελάχιστο λειτουργικό.
- Το βασικό μοντέλο είναι Poisson: δύο αναμενόμενα γκολ παράγουν έναν πίνακα σκορ, και τα 1X2, τα total και το γκολ/νο γκολ είναι αθροίσματα κελιών αυτού του πίνακα.
- Στον επεξεργασμένο αγώνα, ο πίνακας δίνει 51,4% εντός, 24,5% ισοπαλία, 24,1% εκτός — δίκαιες αποδόσεις 1,95, 4,08 και 4,14.
- Κάνε backtest walk-forward ή καθόλου: κάθε στατιστικό που υπολογίζεται από ολόκληρη τη σεζόν περιέχει το αποτέλεσμα του αγώνα που τιμολογείς.
- Το σημείο αναφοράς δεν είναι το κέρδος αλλά η αγορά: αν οι πιθανότητές σου δεν είναι καλύτερες από αυτές του δελτίου, κανένα σύστημα στοιχηματισμού δεν τις σώζει.
Τι πρέπει να ξεπεράσει το μοντέλο
Η σύγκριση δεν είναι το μοντέλο σου με την πραγματικότητα, αλλά με την τιμή. Ένα τριπλό δελτίο συνήθως αθροίζει περίπου 105%, οπότε η προσαύξηση είναι περίπου πέντε μονάδες κατανεμημένες στα αποτελέσματα — ο υπολογισμός αναλύεται στον οδηγό για το περιθώριο του bookmaker.
Αυτό θέτει τον πήχη. Για να αξίζει να ποντάρεις, η πιθανότητά σου πρέπει να ξεπερνά αυτήν της αγοράς κατά περισσότερο από το περιθώριο στην πλευρά που στηρίζεις. Το να είσαι περίπου εξίσου καλός με το δελτίο είναι πραγματικό επίτευγμα και παρόλα αυτά χάνεις χρήματα με σταθερό ρυθμό.
Τα δεδομένα που πραγματικά χρειάζεσαι
Ξεκίνα με τον μικρότερο πίνακα που υποστηρίζει το μοντέλο: κάθε επιπλέον στήλη είναι κάτι ακόμα που πρέπει να διατηρείς καθαρό.
| Πεδίο | Γιατί χρειάζεται | Συνηθισμένη παγίδα |
|---|---|---|
| Ημερομηνία και ώρα έναρξης | Ταξινομεί τα δεδομένα για δοκιμές και στάθμιση πρόσφατων αγώνων | Ταξινόμηση κατά γύρο αντί για ημερομηνία μετά από αναβολές |
| Γηπεδούχος και φιλοξενούμενη ομάδα | Διαχωρίζει κάθε στατιστικό ανά έδρα | Αλλαγές ονομάτων και διπλότυπες γραφές που δημιουργούν δύο ομάδες |
| Γκολ για κάθε πλευρά | Η μόνη υποχρεωτική μεταβλητή εξόδου του μοντέλου | Καταγραφή γκολ από παράταση ή πέναλτι σε αγώνες κυπέλλου |
| Διοργάνωση | Οι αγώνες πρωταθλήματος και κυπέλλου συμπεριφέρονται διαφορετικά | Ανάμειξη εγχώριου πρωταθλήματος με ευρωπαϊκούς αγώνες |
| Σουτ και αναμενόμενα γκολ, αν είναι διαθέσιμα | Λιγότερο θορυβώδης είσοδος από τα ίδια τα γκολ | Ανάμειξη στοιχείων από δύο παρόχους με διαφορετικούς ορισμούς |
| Η απόδοση που μπορούσες να πάρεις | Μετατρέπει μια πρόβλεψη σε δοκιμάσιμο στοίχημα | Αποθήκευση της σημερινής απόδοσης και προσποίηση ότι ήταν διαθέσιμη τότε |
Δύο σεζόν μιας κατηγορίας είναι αρκετές για να χτίσεις πάνω τους και μία ακόμα για να δοκιμάσεις. Τα γκολ είναι θορυβώδη — μια ομάδα μπορεί να παίξει καλά και να χάσει 0-1 — γι' αυτό τα στοιχεία που βασίζονται σε πιθανότητες βοηθούν μόλις λειτουργήσει η βασική έκδοση: δες τα αναμενόμενα γκολ και την ευρύτερη λίστα με στατιστικά που προβλέπουν αποτελέσματα.
Το βασικό μοντέλο σε τρία βήματα
Βήμα πρώτο — το επίπεδο της ίδιας της κατηγορίας. Ας υποθέσουμε ότι η κατηγορία έχει 240 αγώνες με 612 γκολ: 2,55 ανά αγώνα. Οι γηπεδούχοι σημείωσαν 336 από αυτά και οι φιλοξενούμενοι 276, οπότε η βασική γραμμή εντός είναι 336 ÷ 240 = 1,40 και η βασική γραμμή εκτός 276 ÷ 240 = 1,15. Αυτοί οι δύο αριθμοί περιέχουν ήδη την έδρα, μετρημένη και όχι υποθετική.
Βήμα δεύτερο — τέσσερις δείκτες. Για τη γηπεδούχο ομάδα, διαίρεσε τα γκολ που σημείωσε εντός έδρας ανά αγώνα με το 1,40 και τα γκολ που δέχθηκε εντός έδρας ανά αγώνα με το 1,15. Για τους φιλοξενούμενους, διαίρεσε τα γκολ που σημείωσαν εκτός με το 1,15 και τα γκολ που δέχθηκαν εκτός με το 1,40. Μια βαθμολογία 1,00 σημαίνει ακριβώς μέσος όρος σε αυτό το κομμάτι.
Βήμα τρίτο — δύο τιμές αναμενόμενων γκολ. Πολλαπλασίασε, ποτέ μην προσθέτεις. Ας πούμε ότι η γηπεδούχος ομάδα (π.χ. Ολυμπιακός) έχει βαθμολογία επίθεσης 1,30 εντός και η φιλοξενούμενη (π.χ. ΠΑΟΚ) 0,91 στην άμυνα εκτός· η τιμή εντός είναι 1,40 × 1,30 × 0,91 = 1,65. Αν η φιλοξενούμενη έχει βαθμολογία επίθεσης 1,05 εκτός και η γηπεδούχος 0,87 στην άμυνα εντός, η τιμή εκτός είναι 1,15 × 1,05 × 0,87 = 1,05.
Ο πίνακας σκορ και τι προκύπτει
Ο αριθμός γκολ ακολουθεί την κατανομή Poisson αρκετά πιστά ώστε να τιμολογείς: η πιθανότητα για ακριβώς k γκολ όταν αναμένονται μ είναι e−μ × μk ÷ k παραγοντικό, ο τύπος που αναλύεται στον οδηγό για τις γραμμές under/over. Για μ = 1,65 οι πιθανότητες της γηπεδούχου για 0, 1, 2, 3 και 4 γκολ είναι 19,2%, 31,7%, 26,1%, 14,4% και 5,9%. Για μ = 1,05 οι πιθανότητες των φιλοξενούμενων είναι 35,0%, 36,7%, 19,3%, 6,8% και 1,8%.
Πολλαπλασίασε κάθε τιμή εντός με κάθε τιμή εκτός και έχεις τον πίνακα. Οι τιμές είναι ποσοστά· οι γραμμές είναι γκολ γηπεδούχου, οι στήλες γκολ φιλοξενούμενου.
| Εντός / Εκτός | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| 0 | 6,72 | 7,06 | 3,70 | 1,30 | 0,34 |
| 1 | 11,09 | 11,64 | 6,11 | 2,14 | 0,56 |
| 2 | 9,15 | 9,61 | 5,04 | 1,77 | 0,46 |
| 3 | 5,03 | 5,28 | 2,77 | 0,97 | 0,25 |
| 4 | 2,08 | 2,18 | 1,14 | 0,40 | 0,11 |
Αυτά τα είκοσι πέντε κελιά καλύπτουν το 96,9% των αποτελεσμάτων, οπότε υπολόγισε έως οκτώ ή δέκα γκολ πριν αθροίσεις. Κάθε αγορά είναι τότε ένα άθροισμα κελιών: κάτω από τη διαγώνιο είναι νίκη γηπεδούχου, στη διαγώνιο ισοπαλία, πάνω από τη διαγώνιο νίκη φιλοξενούμενου.
Αθροίζοντας ολόκληρο τον πίνακα έχουμε 51,4% εντός, 24,5% ισοπαλία και 24,1% εκτός. Οι δίκαιες αποδόσεις είναι οι αντίστροφοι: 1 ÷ 0,514 = 1,95, 1 ÷ 0,245 = 4,08, 1 ÷ 0,241 = 4,14. Ο ίδιος πίνακας δείχνει ότι και οι δύο ομάδες σκοράρουν 52,5% των φορών (δίκαιη απόδοση 1,90) και τρία ή περισσότερα γκολ έρχονται 50,6% των φορών (δίκαιη απόδοση 1,97), οπότε ένας υπολογισμός τιμολογεί ολόκληρο τον αγώνα.
Παράδειγμα. Το δελτίο δείχνει 1,85 / 3,60 / 4,40. Μετατρέποντας αυτά σε ποσοστά έχουμε 54,1% + 27,8% + 22,7% = 104,6%, άρα ο bookmaker έχει περιθώριο 4,6% — η μέθοδος είναι στο άθροισμα πιθανοτήτων. Συγκρίνοντας με τον πίνακά σου, η τιμή εντός είναι ακριβή: 0,514 × 1,85 − 1 = −4,9%, προσπέρασμα. Η τιμή εκτός δεν είναι: 0,241 × 4,40 − 1 = +6,0%, που σε ένα στοίχημα 5 € σημαίνει αναμενόμενη αξία 0,30 €. Σε σαράντα τέτοια στοιχήματα των 5 € — σύνολο 200 € — αυτό είναι περίπου 12 €, που έρχονται σε μια πολύ ανώμαλη ακολουθία.
Διορθώσεις που αξίζει να προστεθούν, με σειρά
- Στάθμιση πρόσφατων αγώνων. Ένας αγώνας από τον περασμένο Οκτώβριο δεν πρέπει να μετράει όσο ένας από τον Μάρτιο. Βάλε βάρος σε κάθε αγώνα με έναν παράγοντα φθοράς — το να μειώνεται στο μισό περίπου κάθε τριάντα αγώνες είναι μια λογική αρχή — αντί για ένα σκληρό όριο δέκα αγώνων.
- Συρρίκνωση για μικρά δείγματα. Μια ομάδα που ανέβηκε κατηγορία με έξι αγώνες δεν πρέπει να έχει βαθμολογία επίθεσης 1,60. Με k αγώνες και σταθερά 10, πάρε k ÷ (k + 10) της αρχικής βαθμολογίας και το υπόλοιπο από τον μέσο όρο της κατηγορίας.
- Διόρθωση για χαμηλά σκορ. Η ανεξάρτητη Poisson υπολογίζει ελαφρώς λιγότερο τα 0-0 και 1-1 και περισσότερο τα 1-0 και 0-1, επειδή σε έναν πραγματικό αγώνα τα δύο σκορ δεν είναι ανεξάρτητα. Η προσαρμογή αυτών των τεσσάρων κελιών είναι η τυπική πρώτη βελτίωση.
- Διαχωρισμός διοργανώσεων. Οι αγώνες κυπέλλου, τα αδιάφορα παιχνίδια και οι ευρωπαϊκές αναμετρήσεις συμπεριφέρονται διαφορετικά: μοντελοποίησέ τους ξεχωριστά ή απέκλεισέ τους.
- Χειροκίνητες παρεμβάσεις, με φειδώ. Μια επιβεβαιωμένη απουσία βασικού επιθετικού ή τερματοφύλακα αξίζει μια προσαρμογή. Δύο παρεμβάσεις ανά αγώνα είναι μοντέλο με βοηθό· δέκα είναι ένα άτομο που μαντεύει με περισσότερα βήματα.
Backtesting χωρίς μεροληψία μελλοντικής γνώσης
Η μεροληψία μελλοντικής γνώσης είναι οποιαδήποτε πληροφορία στο τεστ σου που δεν θα είχες τη στιγμή του στοιχήματος. Είναι σιωπηλή, πάντα κολακεύει, και είναι ο λόγος που τα περισσότερα σπιτικά μοντέλα δείχνουν εξαιρετικά στην ιστορία και χάνουν χρήματα σε ζωντανό χρόνο.
| Συντόμευση | Τι διαρρέει | Επίδραση στο αποτέλεσμα |
|---|---|---|
| Βαθμολογίες από ολόκληρη τη σεζόν | Το αποτέλεσμα του αγώνα που τιμολογείς | Κολακεύει έντονα· το μοντέλο γνωρίζει μισή την απάντηση |
| Δοκιμή στα ίδια δεδομένα που χρησιμοποιήθηκαν για την επιλογή ορίων | Η δική σου εκ των υστέρων γνώση για το ποιοι κανόνες δούλεψαν | Κάθε όριο φαίνεται βέλτιστο |
| Χρήση της τιμής κλεισίματος ως τιμή που λήφθηκε | Πληροφορία που έφτασε μετά το στοίχημά σου | Υπερβάλλει το πλεονέκτημα, καθώς οι τιμές κλεισίματος είναι πιο ακριβείς |
| Αφαίρεση αγώνων με ελλιπή δεδομένα | Συνήθως οι εγκαταλελειμμένοι και περίεργοι αγώνες | Αφαιρεί ακριβώς τα αποτελέσματα που πονάνε |
| Ταξινόμηση κατά γύρο αντί για ώρα έναρξης | Αναβληθέντες αγώνες που παίχτηκαν αργότερα | Μικρή αλλά συστηματική, και πάντα υπέρ σου |
Η θεραπεία είναι το walk-forward testing. Ταξινόμησε κάθε αγώνα ανά ώρα έναρξης· για κάθε αγώνα, ξαναχτίσε τις βαθμολογίες από αγώνες που τελείωσαν πριν από αυτόν, τιμολόγησέ τον, κατέγραψε το στοίχημα που θα είχε βάλει ο κανόνας και την απόδοση που ήταν διαθέσιμη τότε, και προχώρα. Κράτησε μία σεζόν ανέγγιχτη μέχρι να οριστικοποιηθεί το μοντέλο, και θεώρησε το πρώτο αποτέλεσμα από αυτήν ως το πραγματικό.
Σημαντικό. Μέτρα κάθε στοίχημα που παράγει ο κανόνας, συμπεριλαμβανομένων αυτών που θα είχες απορρίψει. Ένα backtest που σιωπηλά αφαιρεί αγώνες δεν είναι δοκιμή του μοντέλου αλλά της μνήμης σου, και η ίδια πειθαρχία ισχύει και για το ημερολόγιο των πραγματικών σου στοιχημάτων — δες παρακολούθηση στοιχημάτων.
Βαθμονόμηση: είναι ειλικρινή τα ποσοστά;
Το κέρδος είναι ένα αργό και θορυβώδες μέτρο ενός μοντέλου. Η ακρίβεια είναι πιο γρήγορη: πάρε την πιθανότητα που έδωσες, αφαίρεσε 1 αν το γεγονός συνέβη και 0 αν δεν συνέβη, και ύψωσε στο τετράγωνο τη διαφορά. Όσο μικρότερη, τόσο καλύτερα, και ο μέσος όρος σου μπορεί να συγκριθεί άμεσα με αυτόν της αγοράς.
| Αγώνας | Μοντέλο | Αγορά | Αποτέλεσμα | Σφάλμα² μοντέλου | Σφάλμα² αγοράς |
|---|---|---|---|---|---|
| 1 | 55% | 50% | Νίκη | 0,2025 | 0,2500 |
| 2 | 40% | 45% | Ήττα | 0,1600 | 0,2025 |
| 3 | 62% | 58% | Νίκη | 0,1444 | 0,1764 |
| 4 | 30% | 35% | Ήττα | 0,0900 | 0,1225 |
| 5 | 48% | 52% | Νίκη | 0,2704 | 0,2304 |
| 6 | 25% | 22% | Ήττα | 0,0625 | 0,0484 |
Το σύνολο του μοντέλου είναι 0,9298 σε έξι αγώνες, μέσος όρος 0,155· της αγοράς 1,0302, μέσος όρος 0,172. Σε αυτό το μικρό δείγμα το μοντέλο είναι πιο ακριβές — και έξι αγώνες δεν λένε τίποτα, αυτή είναι η ουσία. Πόσο καιρό χρειάζεται πραγματικά μια απόφαση εξηγείται στο μέγεθος δείγματος και διακύμανση.
Εφάρμοσε το ίδιο μέτρο ανά ζώνη. Αν ό,τι βαθμολογείς με 60% κερδίζει περίπου το 60% των φορών, το μοντέλο είναι βαθμονομημένο· αν η ζώνη εμπιστοσύνης αποδίδει σταθερά λιγότερο, οι βαθμολογίες είναι τραβηγμένες.
Πότε δεν αξίζει να φτιάξεις μοντέλο
Μέτρησε τις ώρες ειλικρινά: σαράντα για να χτίσεις μια πρώτη έκδοση, μετά δύο ή τρεις την εβδομάδα για να διατηρείς τα δεδομένα ενημερωμένα. Ας υποθέσουμε ότι παράγει είκοσι επιλέξιμα στοιχήματα την εβδομάδα των 5 € με πραγματικό πλεονέκτημα 3%. Αυτό είναι 20 × 5 € = 100 € τζίρο και 3 € αναμενόμενη αξία την εβδομάδα — περίπου 1 € την ώρα συντήρησης, πριν από έναν μήνα με ζημίες.
Τρία πράγματα το κάνουν χειρότερο: αγορές που δεν μπορείς να μοντελοποιήσεις, όπου τα δεδομένα σου είναι πιο αδύναμα από του operator· πρωταθλήματα υπό έντονη επαγγελματική προσοχή, όπου η τιμή περιέχει ήδη ό,τι ξέρει ο πίνακάς σου· και η ίδια η επιτυχία, αφού ένας λογαριασμός που συνεχίζει να κερδίζει την απόδοση βλέπει τα όριά του να μειώνονται — δες λογαριασμοί με όρια.
Ένα μοντέλο αξίζει να χτιστεί αν θέλεις έναν αριθμό για να διαφωνείς αντί για ένα συναίσθημα, και αν μπορείς να αποδεχτείς ότι το κύριο προϊόν του είναι οι απορρίψεις. Για την έξοδο χωρίς τη συντήρηση, η δομημένη ανάλυση ενός αγώνα σε πάει το μεγαλύτερο μέρος της διαδρομής — δες πώς να αναλύσεις έναν αγώνα και τις κατηγορίες στη σελίδα διοργανώσεων.
Συχνές Ερωτήσεις
Χρειάζομαι προγραμματιστικές δεξιότητες για να το φτιάξω;
Όχι για την παραπάνω έκδοση. Ένα υπολογιστικό φύλλο με μία γραμμή ανά αγώνα, τέσσερις βαθμολογίες ανά ομάδα και έναν πίνακα είκοσι πέντε κελιών κάνει ό,τι περιγράφεται εδώ. Ο κώδικας γίνεται απαραίτητος για walk-forward testing σε πολλές σεζόν, επειδή το να ξαναχτίζεις βαθμολογίες με το χέρι πριν από κάθε αγώνα είναι μη πρακτικό.
Γιατί το μοντέλο διαφωνεί τόσο συχνά με την αγορά;
Συνήθως επειδή του λείπουν πληροφορίες, όχι επειδή βρίσκει αξία. Απουσίες, αλλαγή προπονητή, ουδέτερη έδρα και rotation πριν από έναν αγώνα κυπέλλου είναι όλα στην τιμή και κανένα στον πίνακα. Αντιμετώπισε ένα μεγάλο χάσμα ως προτροπή να ελέγξεις τις εισόδους, και προσπέρασε όταν δεν μπορείς να εξηγήσεις από πού προέρχεται.
Να χρησιμοποιήσω αναμενόμενα γκολ αντί για πραγματικά γκολ ως είσοδο;
Μόλις λειτουργήσει η βασική έκδοση, ναι. Τα γκολ είναι ένα μικρό δείγμα μιας θορυβώδους διαδικασίας και η ποιότητα των ευκαιριών σταθεροποιείται ταχύτερα, οπότε οι βαθμολογίες που βασίζονται σε αναμενόμενα γκολ μετακινούνται λιγότερο από ένα freak σκορ. Δοκίμασε και τις δύο για μία σεζόν και σύγκρινε τα τετραγωνικά σφάλματα πριν αλλάξεις.
Πόση ιστορία πρέπει να χρησιμοποιούν οι βαθμολογίες;
Περίπου μιάμιση σεζόν με φθορά, αντί για σταθερό παράθυρο. Πολύ λίγη και ένα 4-0 ξαναγράφει μια βαθμολογία· πολύ μεγάλη και περιγράφεις ένα ρόστερ που δεν υπάρχει πια. Συρρίκνωσε προς τον μέσο όρο της κατηγορίας όποτε λιγότεροι από οκτώ αγώνες στη σχετική έδρα υποστηρίζουν μια τιμή.
Το άρθρο αυτό είναι μόνο για ενημερωτικούς σκοπούς και δεν αποτελεί προτροπή για τζόγο. Ο στοιχηματισμός ενέχει τον κίνδυνο απώλειας χρημάτων — μην ποντάρετε περισσότερα από όσα μπορείτε να αντέξετε οικονομικά. 18+. Αν ο τζόγος πάψει να είναι ψυχαγωγία, διαβάστε τον οδηγό υπεύθυνου παιχνιδιού και ζητήστε βοήθεια.