ΓαλακτοκομικάΕισαγωγές και εξαγωγέςΠροβλέψεις

Βούτυρο: πρόβλεψη του παγκόσμιου εμπορίου με μηχανική μάθηση

Αλλάξτε ριζικά την πρόβλεψη του παγκόσμιου εμπορίου με τις αναλύσεις της Vesper για την αγορά βουτύρου. Μείνετε μπροστά σε ένα ασταθές τοπίο εμπορευμάτων.

Vesper Team
Vesper TeamΟμάδα έρευνας
Δημοσιεύτηκε 4 Σεπτεμβρίου 2023 · Ενημερώθηκε 12 Νοεμβρίου 20249 λεπτά ανάγνωσης

Τα γαλακτοκομικά συναντούν τη μηχανική μάθηση: μια απλή επισκόπηση της πρόβλεψης εμπορικών όγκων με νευρωνικά δίκτυα γράφων και transformers

Γεύση με καθυστέρηση

Κάθε λεπτό παράγονται παγκοσμίως περίπου 22 μετρικοί τόνοι βουτύρου. Αυτό δημιουργεί ένα σύνθετο εμπορικό τοπίο, με πάνω από 2.300 καταγεγραμμένες συναλλαγές τον μήνα. Δεδομένων των πολλαπλών χρήσεων του βουτύρου και των πολυάριθμων παράγωγων προϊόντων του, είναι απαραίτητο για αγοραστές, πωλητές και traders να παρακολουθούν το εμπόριο, ώστε να είναι ενημερωμένοι όταν παίρνουν επιχειρηματικές αποφάσεις.

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

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

Η επίλυση προβλημάτων σαν αυτό βρίσκεται στον πυρήνα της Vesper. Προσπαθούμε να χτίσουμε την πληρέστερη πλατφόρμα commodity intelligence, και συνδυάζουμε ποιοτικά δεδομένα και επαγγελματική τεχνογνωσία με Data Science για να φτιάξουμε μοναδικά εργαλεία για τους χρήστες μας.

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

Το βούτυρο απλώνεται σε όλον τον κόσμο

Το βούτυρο είναι ένα από τα πιο ενεργά διαπραγματεύσιμα εμπορεύματα στον κλάδο των γαλακτοκομικών. Κάθε μήνα δεκάδες χιλιάδες μετρικοί τόνοι βουτύρου περνούν διεθνή σύνορα. Μόνο η ΕΕ, η Νέα Ζηλανδία και οι Ηνωμένες Πολιτείες απέστειλαν κατά μέσο όρο περίπου 46.000 mt τον μήνα το 2022. Αυτές οι εισαγωγές και εξαγωγές μπορεί να κυμαίνονται από ελάχιστα κλάσματα έως δεκάδες χιλιάδες μετρικούς τόνους.

Η διεθνής αγορά βουτύρου λειτουργεί σε μεγάλο βαθμό ως ολιγοπώλιο. Οι τρεις κυρίαρχοι πλεονασματικοί παραγωγοί είναι οι ΗΠΑ, η Νέα Ζηλανδία και οι χώρες της ΕΕ, και οι τρεις τους ανταγωνίζονται για τη ζήτηση των υπόλοιπων χωρών. Το 2022 η Ευρωπαϊκή Ένωση, η Νέα Ζηλανδία και οι Ηνωμένες Πολιτείες εξήγαγαν μαζί περίπου 555.000 μετρικούς τόνους βουτύρου. Αν και άλλες χώρες παράγουν βούτυρο εγχωρίως, συχνά στρέφονται σε έναν από τους τρεις μεγάλους παίκτες για συμπληρωματική προσφορά.

Με τα χρόνια, πολλές χώρες έχουν δημιουργήσει ισχυρές εμπορικές διαδρομές με αυτούς τους μεγάλους παραγωγούς, χάρη σε εμπορικές συμφωνίες και ευνοϊκές γεωπολιτικές συνθήκες. Κατά συνέπεια, οι εμπορικές συναλλαγές με αυτούς τους μεγάλους παίκτες είναι γενικά σταθερές σε όγκο και σε χρονισμό. Αυτό ισχύει σε σύγκριση με τις συναλλαγές βουτύρου ανάμεσα σε άλλα ζεύγη χωρών: αυτές οι συναλλαγές τείνουν να είναι πιο σποραδικές. Οι συναλλαγές αυτές επηρεάζονται συχνά από βραχυπρόθεσμα γεγονότα, και έτσι η φύση τους είναι σαφώς πιο «τυχαία» και άρα δυσκολότερα προβλέψιμη.

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

Αναπαράσταση του προβλήματος: ένα τεράστιο κοινωνικό δίκτυο.

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

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

Αντίστοιχα, στο δικό μας σενάριο χρησιμοποιούμε κόμβους για να συμβολίσουμε μεμονωμένες χώρες και ακμές για να δηλώσουμε εμπορικά γεγονότα ανάμεσά τους. Κάθε χώρα διαθέτει ένα σύνολο ξεχωριστών ιδιοτήτων, τα λεγόμενα χαρακτηριστικά ανά χώρα (αποθηκευμένα στους κόμβους), όπως η εγχώρια παραγωγή βουτύρου ή το ΑΕΠ. Υπάρχουν επίσης χαρακτηριστικά αποκλειστικά του ζεύγους χωρών, οι λεγόμενες ιδιότητες ανά ζεύγος (αποθηκευμένες στις ακμές), όπως ο εμπορικός όγκος ή η τρέχουσα ισοτιμία ανάμεσα στα αντίστοιχα νομίσματα.

Για να δημιουργήσουμε τον γράφο, χρησιμοποιούμε όλα τα διαθέσιμα δεδομένα εισαγωγών-εξαγωγών από τον Ιανουάριο του 2015 και μετά. Πρώτα εισάγουμε τους 242 διαθέσιμους κόμβους, έναν για κάθε «χώρα». Στη συνέχεια επιλέγουμε όλες τις καταγεγραμμένες συναλλαγές μέσα σε αυτό το χρονικό παράθυρο. Το αποτέλεσμα είναι εντυπωσιακό: 267.376 ακμές.

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

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

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

Πρόβλεψη εμπορικών όγκων με μηχανική μάθηση

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

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

Τώρα που ξέρουμε τη συνολική προσέγγιση, ας αναλύσουμε το μοντέλο στα μέρη του. Στη συνέχεια θα συζητήσουμε τα αποτελέσματα. Τα βασικά μέρη του μοντέλου μας είναι:

  • Κωδικοποιητής γράφων: συμπυκνώνει τον μεμονωμένο γράφο σε μια μηχανικά αναγνώσιμη μορφή που ονομάζεται embeddings.
  • Χρονικός κωδικοποιητής: εξάγει τις χρονικές σχέσεις από τα embeddings προηγούμενων μηνών.
  • Αποκωδικοποιητής ακμών: μεταφράζει τα embeddings σε προβλέψεις εμπορικών όγκων.

Κωδικοποιητής γράφων: πίσω στα κοινωνικά δίκτυα.

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

Αξιοποιούμε ένα νευρωνικό δίκτυο γράφων (GNN). Τα GNN μπορούν να συνδυάζουν πληροφορία από τον μεμονωμένο κόμβο, τη γειτονιά του και τις ιδιότητες των ακμών. Αυτό μοιάζει με το ρητό που λέει ότι έναν άνθρωπο τον περιγράφουν καλύτερα οι στενότεροι φίλοι του. Η έξοδος του GNN ονομάζεται embeddings κόμβων.

Και όπως ακριβώς στα κοινωνικά μας δίκτυα, όπου κάποιοι φίλοι μάς επηρεάζουν περισσότερο από άλλους, το ίδιο ισχύει και για τους κόμβους ενός γράφου. Στην ορολογία των GNN αυτό ονομάζεται attention, και το χρησιμοποιούμε στο μοντέλο μας για να κατατάσσουμε ποιες εμπορικές διαδρομές είναι πιο κατατοπιστικές για την πρόβλεψη άλλων εμπορικών διαδρομών.

Χρονικός κωδικοποιητής: εμπνευσμένος από το ChatGPT

Αυτή η μονάδα μαθαίνει πώς ένας συγκεκριμένος μήνας σχετίζεται με τους προηγούμενούς του. Η ιδέα είναι ότι οι συνθήκες της αγοράς έναν μήνα επηρεάζονται από την κατάσταση της αγοράς τους προηγούμενους μήνες. Αξιοποιούμε τον Transformer, μια αρχιτεκτονική αιχμής που βρίσκεται στη βάση γλωσσικών μοντέλων όπως το ChatGPT, χάρη στην ικανότητά της να κάνει προβλέψεις «ακολουθίας σε ακολουθία».

Φανταστείτε ένα σενάριο πρόβλεψης πληκτρολόγησης. Δεδομένης μιας πρότασης (μιας ακολουθίας λέξεων), ο Transformer κατανοεί τη σειρά των λέξεων και τη σημασία τους στη μετάδοση του μηνύματος, πάντα σε σχέση με το γενικό συμφραζόμενο της φράσης. Έπειτα δίνει στην έξοδο τη λέξη με τη μεγαλύτερη πιθανότητα να είναι η επόμενη στην ακολουθία.

Εφαρμόζουμε έξυπνα αυτή τη δομή στο πρόβλημά μας: κάθε μηνιαίο στιγμιότυπο αντιμετωπίζεται ως λέξη και ο Transformer δίνει στην έξοδο τα πιο πιθανά embeddings κόμβων για τον επόμενο μήνα της ακολουθίας.

Αποκωδικοποιητής ακμών: δίνοντας νόημα στα embeddings κόμβων.

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

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

Τα αποτελέσματα

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

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

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

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