Σύνταξη:
Μπορούμε να υπολογίσουμε τον κινητό μέσο όρο με διάφορους τρόπους που είναι οι εξής:
Μέθοδος 1:
NumPy. cumsum ( )Επιστρέφει το άθροισμα των στοιχείων στον δεδομένο πίνακα. Μπορούμε να υπολογίσουμε τον κινητό μέσο όρο διαιρώντας την έξοδο της cumsum() με το μέγεθος του πίνακα.
Μέθοδος 2:
NumPy. και . μέση τιμή ( )Έχει τις παρακάτω παραμέτρους.
α: δεδομένα σε μορφή πίνακα που πρόκειται να υπολογιστούν κατά μέσο όρο.
άξονας: ο τύπος δεδομένων του είναι int και είναι προαιρετική παράμετρος.
βάρος: είναι επίσης πίνακας και προαιρετική παράμετρος. Μπορεί να έχει το ίδιο σχήμα με ένα σχήμα 1-D. Στην περίπτωση μονοδιάστατου, πρέπει να έχει μήκος ίσο με αυτό του πίνακα 'a'.
Σημειώστε ότι δεν φαίνεται να υπάρχει τυπική συνάρτηση στο NumPy για τον υπολογισμό του κινητού μέσου όρου, ώστε να μπορεί να γίνει με κάποιες άλλες μεθόδους.
Μέθοδος 3:
Μια άλλη μέθοδος που μπορεί να χρησιμοποιηθεί για τον υπολογισμό του κινητού μέσου όρου είναι:
π.χ. συνέκλινε ( ένα , σε , τρόπος = 'γεμάτος' )Σε αυτή τη σύνταξη, το a είναι η πρώτη διάσταση εισόδου και το v είναι η δεύτερη τιμή διαστάσεων εισόδου. Η λειτουργία είναι η προαιρετική τιμή, μπορεί να είναι πλήρης, ίδια και έγκυρη.
Παράδειγμα #01:
Τώρα, για να εξηγήσουμε περισσότερα σχετικά με τον κινητό μέσο όρο στο Numpy, ας δώσουμε ένα παράδειγμα. Σε αυτό το παράδειγμα, θα αφαιρέσουμε τον κινητό μέσο όρο ενός πίνακα με τη συνάρτηση συνέλιξης του NumPy. Έτσι, θα πάρουμε έναν πίνακα 'a' με στοιχεία 1,2,3,4,5. Τώρα, θα καλέσουμε τη συνάρτηση np.convolve και θα αποθηκεύσουμε την έξοδο της στη μεταβλητή «b». Μετά από αυτό, θα εκτυπώσουμε την τιμή της μεταβλητής μας 'b'. Αυτή η συνάρτηση θα υπολογίσει το κινούμενο άθροισμα του πίνακα εισόδου μας. Θα εκτυπώσουμε την έξοδο για να δούμε αν η έξοδος μας είναι σωστή ή όχι.
Μετά από αυτό, θα μετατρέψουμε την έξοδο μας στον κινητό μέσο όρο χρησιμοποιώντας την ίδια μέθοδο συνέλιξης. Για να υπολογίσουμε τον κινητό μέσο όρο, θα πρέπει απλώς να διαιρέσουμε το κινητό άθροισμα με τον αριθμό των δειγμάτων. Αλλά το κύριο πρόβλημα εδώ είναι ότι καθώς αυτός είναι ένας κινητός μέσος όρος, ο αριθμός των δειγμάτων συνεχίζει να αλλάζει ανάλογα με την τοποθεσία στην οποία βρισκόμαστε. Έτσι, για να επιλύσουμε αυτό το ζήτημα, θα δημιουργήσουμε απλώς μια λίστα με τους παρονομαστές και πρέπει να τη μετατρέψουμε σε μέσο όρο.
Για το σκοπό αυτό, έχουμε αρχικοποιήσει μια άλλη μεταβλητή 'denom' για τον παρονομαστή. Είναι απλό για την κατανόηση λίστας χρησιμοποιώντας το τέχνασμα εύρους. Ο πίνακας μας έχει πέντε διαφορετικά στοιχεία, επομένως ο αριθμός των δειγμάτων σε κάθε μέρος θα πάει από ένα σε πέντε και στη συνέχεια θα μειωθεί από πέντε σε ένα. Έτσι, απλώς θα προσθέσουμε δύο λίστες μαζί και θα τις αποθηκεύσουμε στην παράμετρό μας 'denom'. Τώρα, θα εκτυπώσουμε αυτήν τη μεταβλητή για να ελέγξουμε αν το σύστημα μας έχει δώσει τους πραγματικούς παρονομαστές ή όχι. Μετά από αυτό, θα διαιρέσουμε το κινούμενο άθροισμά μας με τους παρονομαστές και θα το εκτυπώσουμε αποθηκεύοντας την έξοδο στη μεταβλητή «c». Ας εκτελέσουμε τον κώδικα μας για να ελέγξουμε τα αποτελέσματα.
εισαγωγή μουδιασμένος όπως και π.χ.ένα = [ 1 , δύο , 3 , 4 , 5 ]
σι = π.χ. συνέκλινε ( ένα , π.χ. ones_like ( ένα ) )
Τυπώνω ( 'Κινούμενο άθροισμα' , σι )
όνομα = λίστα ( εύρος ( 1 , 5 ) ) + λίστα ( εύρος ( 5 , 0 , - 1 ) )
Τυπώνω ( 'Παρονομαστές' , όνομα )
ντο = π.χ. συνέκλινε ( ένα , π.χ. ones_like ( ένα ) ) / όνομα
Τυπώνω ( 'Κινούμενος μέσος όρος' , ντο )
Μετά την επιτυχή εκτέλεση του κώδικά μας, θα έχουμε την παρακάτω έξοδο. Στην πρώτη γραμμή, έχουμε εκτυπώσει το «Κινούμενο Άθροισμα». Μπορούμε να δούμε ότι έχουμε '1' στην αρχή και '5' στο τέλος του πίνακα, όπως ακριβώς είχαμε στον αρχικό μας πίνακα. Οι υπόλοιποι αριθμοί είναι τα αθροίσματα διαφορετικών στοιχείων του πίνακα μας.
Για παράδειγμα, έξι στον τρίτο δείκτη του πίνακα προέρχονται από την προσθήκη 1,2 και 3 από τον πίνακα εισόδου μας. Το δέκα στον τέταρτο δείκτη προέρχεται από το 1,2,3 και το 4. Το δεκαπέντε προέρχεται από τη άθροιση όλων των αριθμών μαζί και ούτω καθεξής. Τώρα, στη δεύτερη γραμμή της εξόδου μας, έχουμε εκτυπώσει τους παρονομαστές του πίνακα μας.
Από την έξοδο μας, μπορούμε να δούμε ότι όλοι οι παρονομαστές είναι ακριβείς, πράγμα που σημαίνει ότι μπορούμε να τους διαιρέσουμε με τον πίνακα κινούμενου αθροίσματος. Τώρα, μεταβείτε στην τελευταία γραμμή της εξόδου. Στην τελευταία γραμμή, μπορούμε να δούμε ότι το πρώτο στοιχείο του πίνακα κινούμενου μέσου όρου μας είναι 1. Ο μέσος όρος του 1 είναι 1, επομένως το πρώτο μας στοιχείο είναι σωστό. Ο μέσος όρος 1+2/2 θα είναι 1,5. Μπορούμε να δούμε ότι το δεύτερο στοιχείο του πίνακα εξόδου μας είναι 1,5, επομένως ο δεύτερος μέσος όρος είναι επίσης σωστός. Ο μέσος όρος 1,2,3 θα είναι 6/3=2. Καθιστά επίσης σωστή την έξοδο μας. Έτσι, από την έξοδο, μπορούμε να πούμε ότι έχουμε υπολογίσει με επιτυχία τον κινητό μέσο όρο ενός πίνακα.
συμπέρασμα
Σε αυτόν τον οδηγό, μάθαμε για τους κινητούς μέσους όρους: τι είναι ο κινητός μέσος όρος, ποιες είναι οι χρήσεις του και πώς να υπολογίσουμε τον κινητό μέσο όρο. Το μελετήσαμε διεξοδικά τόσο από μαθηματική όσο και από προγραμματιστική άποψη. Στο NumPy, δεν υπάρχει συγκεκριμένη συνάρτηση ή διαδικασία για τον υπολογισμό του κινητού μέσου όρου. Υπάρχουν όμως διάφορες άλλες συναρτήσεις με τη βοήθεια των οποίων μπορούμε να υπολογίσουμε τον κινητό μέσο όρο. Κάναμε ένα παράδειγμα για να υπολογίσουμε τον κινητό μέσο όρο και περιγράψαμε κάθε βήμα του παραδείγματός μας. Οι κινητοί μέσοι όροι είναι μια χρήσιμη προσέγγιση για την πρόβλεψη μελλοντικών αποτελεσμάτων με τη βοήθεια των υπαρχόντων δεδομένων.