[el,th,sv] chore(i18n): sync translations

Sync translations with latest source changes.
Languages: Greek [el], Thai [th], Swedish [sv]
update-translations
localizeflow[bot] 5 days ago
parent 0c1d1aa695
commit 69ac48f5f1

@ -12,8 +12,8 @@
"language_code": "el"
},
"1-Introduction/01-defining-data-science/notebook.ipynb": {
"original_hash": "8f5eb7b3f7cc89e6d98fb32e1de65dec",
"translation_date": "2026-02-27T09:32:05+00:00",
"original_hash": "8eb07e3d899aaba7ea9c9ec9b5aa2850",
"translation_date": "2026-07-17T22:49:05+00:00",
"source_file": "1-Introduction/01-defining-data-science/notebook.ipynb",
"language_code": "el"
},
@ -42,8 +42,8 @@
"language_code": "el"
},
"1-Introduction/03-defining-data/README.md": {
"original_hash": "12339119c0165da569a93ddba05f9339",
"translation_date": "2025-09-05T21:18:42+00:00",
"original_hash": "7217c6f9eb464d4ff4bae6c036ab53cb",
"translation_date": "2026-07-17T22:55:29+00:00",
"source_file": "1-Introduction/03-defining-data/README.md",
"language_code": "el"
},
@ -65,6 +65,12 @@
"source_file": "1-Introduction/04-stats-and-probability/assignment.md",
"language_code": "el"
},
"1-Introduction/04-stats-and-probability/notebook.ipynb": {
"original_hash": "0c77e104b29c723287bf11b773fcc5d5",
"translation_date": "2026-07-17T22:50:15+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "el"
},
"1-Introduction/README.md": {
"original_hash": "696a8474a01054281704cbfb09148949",
"translation_date": "2025-08-26T21:13:37+00:00",
@ -108,8 +114,8 @@
"language_code": "el"
},
"2-Working-With-Data/07-python/notebook-covidspread.ipynb": {
"original_hash": "6335cccba01dc6ad7b15aba7a8c73f38",
"translation_date": "2026-02-27T09:33:47+00:00",
"original_hash": "da97f98781c7cd271063f605fe8d71d0",
"translation_date": "2026-07-17T22:48:26+00:00",
"source_file": "2-Working-With-Data/07-python/notebook-covidspread.ipynb",
"language_code": "el"
},
@ -192,14 +198,14 @@
"language_code": "el"
},
"3-Data-Visualization/13-meaningful-visualizations/solution/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-26T22:46:53+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:55:38+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/solution/README.md",
"language_code": "el"
},
"3-Data-Visualization/13-meaningful-visualizations/starter/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-26T22:46:14+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:55:34+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/starter/README.md",
"language_code": "el"
},

File diff suppressed because one or more lines are too long

@ -1,48 +1,47 @@
# Ορισμός Δεδομένων
|![ Σκίτσο από [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)|
|![ Σχεδιάγραμμα από [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)|
|:---:|
|Ορισμός Δεδομένων - κίτσο από [@nitya](https://twitter.com/nitya)_ |
|Ορισμός Δεδομένων - χεδιάγραμμα από [@nitya](https://twitter.com/nitya)_ |
Τα δεδομένα είναι γεγονότα, πληροφορίες, παρατηρήσεις και μετρήσεις που χρησιμοποιούνται για να γίνουν ανακαλύψεις και να υποστηριχθούν τεκμηριωμένες αποφάσεις. Ένα σημείο δεδομένων είναι μια μονάδα δεδομένων μέσα σε ένα σύνολο δεδομένων, το οποίο είναι μια συλλογή σημείων δεδομένων. Τα σύνολα δεδομένων μπορεί να έχουν διαφορετικές μορφές και δομές και συνήθως βασίζονται στην πηγή τους ή στο πού προέρχονται τα δεδομένα. Για παράδειγμα, τα μηνιαία κέρδη μιας εταιρείας μπορεί να βρίσκονται σε ένα υπολογιστικό φύλλο, ενώ τα δεδομένα καρδιακού ρυθμού ανά ώρα από ένα smartwatch μπορεί να είναι σε μορφή [JSON](https://stackoverflow.com/a/383699). Είναι συνηθισμένο για τους επιστήμονες δεδομένων να εργάζονται με διαφορετικούς τύπους δεδομένων μέσα σε ένα σύνολο δεδομένων.
Δεδομένα είναι γεγονότα, πληροφορίες, παρατηρήσεις και μετρήσεις που χρησιμοποιούνται για την πραγματοποίηση ανακαλύψεων και την υποστήριξη ενημερωμένων αποφάσεων. Ένα σημείο δεδομένων είναι μια μονάδα δεδομένων μέσα σε ένα σύνολο δεδομένων, το οποίο είναι μια συλλογή σημείων δεδομένων. Τα σύνολα δεδομένων μπορεί να έχουν διαφορετικές μορφές και δομές, και συνήθως βασίζονται στην πηγή τους, ή από πού προήλθαν τα δεδομένα. Για παράδειγμα, τα μηνιαία κέρδη μιας εταιρείας μπορεί να είναι σε υπολογιστικό φύλλο αλλά τα δεδομένα καρδιακού ρυθμού ανά ώρα από ένα smartwatch μπορεί να είναι σε μορφή [JSON](https://stackoverflow.com/a/383699). Είναι κοινό οι επιστήμονες δεδομένων να εργάζονται με διαφορετικούς τύπους δεδομένων μέσα σε ένα σύνολο δεδομένων.
Αυτό το μάθημα επικεντρώνεται στον εντοπισμό και την ταξινόμηση των δεδομένων βάσει των χαρακτηριστικών και των πηγών τους.
## [Προ-Διάλεξης Κουίζ](https://ff-quizzes.netlify.app/en/ds/quiz/4)
Αυτό το μάθημα εστιάζει στην αναγνώριση και ταξινόμηση των δεδομένων βάσει των χαρακτηριστικών και των πηγών τους.
## [Προ-διάλεξη Quiz](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## Πώς Περιγράφονται τα Δεδομένα
### Ακατέργαστα Δεδομένα
Τα ακατέργαστα δεδομένα είναι δεδομένα που προέρχονται από την πηγή τους στην αρχική τους κατάσταση και δεν έχουν αναλυθεί ή οργανωθεί. Για να κατανοήσουμε τι συμβαίνει με ένα σύνολο δεδομένων, πρέπει να οργανωθεί σε μια μορφή που να είναι κατανοητή από τους ανθρώπους καθώς και από την τεχνολογία που μπορεί να χρησιμοποιηθεί για περαιτέρω ανάλυση. Η δομή ενός συνόλου δεδομένων περιγράφει πώς είναι οργανωμένο και μπορεί να ταξινομηθεί ως δομημένο, μη δομημένο και ημι-δομημένο. Αυτοί οι τύποι δομής θα διαφέρουν ανάλογα με την πηγή, αλλά τελικά θα ενταχθούν σε αυτές τις τρεις κατηγορίες.
Τα ακατέργαστα δεδομένα είναι δεδομένα που προέρχονται από την πηγή τους στην αρχική τους κατάσταση και δεν έχουν αναλυθεί ή οργανωθεί. Για να κατανοήσουμε τι συμβαίνει με ένα σύνολο δεδομένων, πρέπει να οργανωθεί σε μια μορφή που μπορεί να γίνει κατανοητή τόσο από ανθρώπους όσο και από την τεχνολογία που μπορεί να χρησιμοποιηθεί για περαιτέρω ανάλυση. Η δομή ενός συνόλου δεδομένων περιγράφει πώς είναι οργανωμένο και μπορεί να ταξινομηθεί σε δομημένα, αδόμητα και ημιδομημένα. Αυτοί οι τύποι δομής ποικίλλουν ανάλογα με την πηγή αλλά εντάσσονται σε αυτές τις τρεις κατηγορίες.
### Ποσοτικά Δεδομένα
Τα ποσοτικά δεδομένα είναι αριθμητικές παρατηρήσεις μέσα σε ένα σύνολο δεδομένων και μπορούν συνήθως να αναλυθούν, να μετρηθούν και να χρησιμοποιηθούν μαθηματικά. Μερικά παραδείγματα ποσοτικών δεδομένων είναι: ο πληθυσμός μιας χώρας, το ύψος ενός ατόμου ή τα τριμηνιαία κέρδη μιας εταιρείας. Με κάποια επιπλέον ανάλυση, τα ποσοτικά δεδομένα θα μπορούσαν να χρησιμοποιηθούν για να ανακαλυφθούν εποχιακές τάσεις του Δείκτη Ποιότητας Αέρα (AQI) ή να εκτιμηθεί η πιθανότητα κυκλοφοριακής αιχμής σε μια τυπική εργάσιμη ημέρα.
Τα ποσοτικά δεδομένα είναι αριθμητικές παρατηρήσεις μέσα σε ένα σύνολο δεδομένων και συνήθως μπορούν να αναλυθούν, να μετρηθούν και να χρησιμοποιηθούν μαθηματικά. Μερικά παραδείγματα ποσοτικών δεδομένων είναι: ο πληθυσμός μιας χώρας, το ύψος ενός ατόμου ή τα τριμηνιαία κέρδη μιας εταιρείας. Με περαιτέρω ανάλυση, τα ποσοτικά δεδομένα μπορούν να χρησιμοποιηθούν για την ανακάλυψη εποχιακών τάσεων του Δείκτη Ποιότητας Αέρα (AQI) ή για την εκτίμηση της πιθανότητας κίνησης αιχμής σε μια τυπική εργάσιμη ημέρα.
### Ποιοτικά Δεδομένα
Τα ποιοτικά δεδομένα, γνωστά και ως κατηγοριοποιημένα δεδομένα, είναι δεδομένα που δεν μπορούν να μετρηθούν αντικειμενικά όπως οι παρατηρήσεις ποσοτικών δεδομένων. Γενικά είναι διάφορες μορφές υποκειμενικών δεδομένων που καταγράφουν την ποιότητα κάτι, όπως ενός προϊόντος ή μιας διαδικασίας. Μερικές φορές, τα ποιοτικά δεδομένα είναι αριθμητικά αλλά δεν χρησιμοποιούνται συνήθως μαθηματικά, όπως οι αριθμοί τηλεφώνου ή οι χρονικές σημάνσεις. Μερικά παραδείγματα ποιοτικών δεδομένων είναι: σχόλια βίντεο, η μάρκα και το μοντέλο ενός αυτοκινήτου ή το αγαπημένο χρώμα των πιο κοντινών σας φίλων. Τα ποιοτικά δεδομένα θα μπορούσαν να χρησιμοποιηθούν για να κατανοηθεί ποια προϊόντα προτιμούν περισσότερο οι καταναλωτές ή για την αναγνώριση δημοφιλών λέξεων-κλειδιών σε βιογραφικά αιτήσεων εργασίας.
Τα ποιοτικά δεδομένα, γνωστά και ως κατηγορικά δεδομένα, είναι δεδομένα που δεν μπορούν να μετρηθούν αντικειμενικά όπως οι παρατηρήσεις ποσοτικών δεδομένων. Είναι γενικά διάφορες μορφές υποκειμενικών δεδομένων που αποτυπώνουν την ποιότητα κάτι, όπως ενός προϊόντος ή μιας διαδικασίας. Μερικές φορές, τα ποιοτικά δεδομένα είναι αριθμητικά αλλά συνήθως δεν χρησιμοποιούνται μαθηματικά, όπως αριθμοί τηλεφώνου ή χρονικές σημάνσεις. Παραδείγματα ποιοτικών δεδομένων είναι: σχόλια βίντεο, η μάρκα και το μοντέλο ενός αυτοκινήτου ή το αγαπημένο χρώμα των πιο στενών φίλων σου. Τα ποιοτικά δεδομένα μπορούν να βοηθήσουν στην κατανόηση των προτιμήσεων των καταναλωτών ή στον εντοπισμό δημοφιλών λέξεων-κλειδιών σε βιογραφικά αιτήσεων εργασίας.
### Δομημένα Δεδομένα
Τα δομημένα δεδομένα είναι δεδομένα που είναι οργανωμένα σε σειρές και στήλες, όπου κάθε σειρά θα έχει το ίδιο σύνολο στηλών. Οι στήλες αντιπροσωπεύουν μια τιμή ενός συγκεκριμένου τύπου και θα προσδιορίζονται με ένα όνομα που περιγράφει τι αντιπροσωπεύει η τιμή, ενώ οι σειρές περιέχουν τις πραγματικές τιμές. Οι στήλες συχνά έχουν ένα συγκεκριμένο σύνολο κανόνων ή περιορισμών στις τιμές, για να διασφαλιστεί ότι οι τιμές αντιπροσωπεύουν με ακρίβεια τη στήλη. Για παράδειγμα, φανταστείτε ένα υπολογιστικό φύλλο πελατών όπου κάθε σειρά πρέπει να έχει έναν αριθμό τηλεφώνου και οι αριθμοί τηλεφώνου δεν περιέχουν αλφαβητικούς χαρακτήρες. Μπορεί να υπάρχουν κανόνες που εφαρμόζονται στη στήλη αριθμού τηλεφώνου για να διασφαλιστεί ότι δεν είναι ποτέ κενή και περιέχει μόνο αριθμούς.
Τα δομημένα δεδομένα είναι δεδομένα οργανωμένα σε σειρές και στήλες, όπου κάθε σειρά έχει το ίδιο σύνολο στηλών. Οι στήλες αντιπροσωπεύουν μια τιμή συγκεκριμένου τύπου και ταυτοποιούνται με ένα όνομα που περιγράφει τα δεδομένα, ενώ οι σειρές περιέχουν τις πραγματικές τιμές. Οι στήλες συχνά έχουν συγκεκριμένους κανόνες ή περιορισμούς στις τιμές, για να διασφαλιστεί ότι οι τιμές αντιπροσωπεύουν σωστά τη στήλη. Για παράδειγμα, φαντάσου ένα υπολογιστικό φύλλο πελατών όπου κάθε σειρά πρέπει να έχει έναν αριθμό τηλεφώνου και οι αριθμοί τηλεφώνου δεν περιλαμβάνουν ποτέ αλφαβητικούς χαρακτήρες. Μπορεί να υπάρχουν κανόνες για τη στήλη του τηλεφώνου που να διασφαλίζουν ότι δεν είναι ποτέ κενή και περιέχει μόνο αριθμούς.
Ένα πλεονέκτημα των δομημένων δεδομένων είναι ότι μπορούν να οργανωθούν με τέτοιο τρόπο ώστε να σχετίζονται με άλλα δομημένα δεδομένα. Ωστόσο, επειδή τα δεδομένα έχουν σχεδιαστεί για να είναι οργανωμένα με συγκεκριμένο τρόπο, η αλλαγή της συνολικής δομής τους μπορεί να απαιτήσει μεγάλη προσπάθεια. Για παράδειγμα, η προσθήκη μιας στήλης email στο υπολογιστικό φύλλο πελατών που δεν μπορεί να είναι κενή σημαίνει ότι θα πρέπει να βρείτε πώς θα προσθέσετε αυτές τις τιμές στις υπάρχουσες σειρές πελατών στο σύνολο δεδομένων.
Ένα πλεονέκτημα των δομημένων δεδομένων είναι ότι μπορούν να οργανωθούν με τέτοιο τρόπο ώστε να σχετίζονται με άλλα δομημένα δεδομένα. Ωστόσο, επειδή τα δεδομένα είναι σχεδιασμένα να οργανώνονται με συγκεκριμένο τρόπο, οι αλλαγές στη συνολική τους δομή μπορεί να απαιτούν σημαντική προσπάθεια. Για παράδειγμα, η προσθήκη μίας στήλης email στο υπολογιστικό φύλλο πελατών που δεν μπορεί να είναι κενή σημαίνει ότι πρέπει να βρεις πώς θα προσθέσεις αυτές τις τιμές στις υπάρχουσες σειρές πελατών στο σύνολο δεδομένων.
Παραδείγματα δομημένων δεδομένων: υπολογιστικά φύλλα, σχεσιακές βάσεις δεδομένων, αριθμοί τηλεφώνου, τραπεζικές καταστάσεις
### Μη Δομημένα Δεδομένα
Τα μη δομημένα δεδομένα συνήθως δεν μπορούν να κατηγοριοποιηθούν σε σειρές ή στήλες και δεν περιέχουν μορφή ή σύνολο κανόνων για να ακολουθήσουν. Επειδή τα μη δομημένα δεδομένα έχουν λιγότερους περιορισμούς στη δομή τους, είναι ευκολότερο να προστεθούν νέες πληροφορίες σε σύγκριση με ένα δομημένο σύνολο δεδομένων. Εάν ένας αισθητήρας που καταγράφει δεδομένα για την βαρομετρική πίεση κάθε 2 λεπτά έχει λάβει μια ενημέρωση που του επιτρέπει τώρα να μετρά και να καταγράφει τη θερμοκρασία, δεν απαιτείται τροποποίηση των υπαρχόντων δεδομένων εάν είναι μη δομημένα. Ωστόσο, αυτό μπορεί να κάνει την ανάλυση ή τη διερεύνηση αυτού του τύπου δεδομένων να διαρκεί περισσότερο. Για παράδειγμα, ένας επιστήμονας που θέλει να βρει τη μέση θερμοκρασία του προηγούμενου μήνα από τα δεδομένα του αισθητήρα, αλλά ανακαλύπτει ότι ο αισθητήρας κατέγραψε ένα "e" σε ορισμένα από τα δεδομένα του για να σημειώσει ότι ήταν χαλασμένος αντί για έναν τυπικό αριθμό, πράγμα που σημαίνει ότι τα δεδομένα είναι ελλιπή.
### Αδόμητα Δεδομένα
Τα αδόμητα δεδομένα συνήθως δεν μπορούν να κατηγοριοποιηθούν σε σειρές ή στήλες και δεν έχουν μορφή ή σύνολο κανόνων προς ακολούθηση. Επειδή τα αδόμητα δεδομένα έχουν λιγότερους περιορισμούς στη δομή τους, είναι πιο εύκολο να προστεθούν νέες πληροφορίες σε σύγκριση με ένα δομημένο σύνολο δεδομένων. Αν ένας αισθητήρας που καταγράφει δεδομένα βαρομετρικής πίεσης κάθε 2 λεπτά λάβει μια ενημέρωση που του επιτρέπει να μετρά και να καταγράφει τη θερμοκρασία, δεν απαιτείται αλλαγή στα υπάρχοντα δεδομένα αν είναι αδόμητα. Ωστόσο, αυτό μπορεί να κάνει την ανάλυση ή την έρευνα αυτού του τύπου δεδομένων να διαρκέσει περισσότερο. Για παράδειγμα, ένας επιστήμονας που θέλει να βρει τη μέση θερμοκρασία του προηγούμενου μήνα από τα δεδομένα των αισθητήρων αλλά διαπιστώνει ότι ο αισθητήρας κατέγραψε ένα "e" σε μερικά δεδομένα για να σημειώσει ότι ήταν χαλασμένος αντί για έναν τυπικό αριθμό, που σημαίνει ότι τα δεδομένα είναι ελλιπή.
Παραδείγματα μη δομημένων δεδομένων: αρχεία κειμένου, μηνύματα κειμένου, αρχεία βίντεο
Παραδείγματα αδόμητων δεδομένων: αρχεία κειμένου, μηνύματα κειμένου, αρχεία βίντεο
### Ημιομημένα Δεδομένα
Τα ημι-δομημένα δεδομένα έχουν χαρακτηριστικά που τα καθιστούν συνδυασμό δομημένων και μη δομημένων δεδομένων. Συνήθως δεν συμμορφώνονται με μια μορφή σειρών και στηλών αλλά είναι οργανωμένα με τρόπο που θεωρείται δομημένος και μπορεί να ακολουθεί μια σταθερή μορφή ή ένα σύνολο κανόνων. Η δομή θα διαφέρει μεταξύ των πηγών, όπως μια καλά καθορισμένη ιεραρχία ή κάτι πιο ευέλικτο που επιτρέπει την εύκολη ενσωμάτωση νέων πληροφοριών. Τα μεταδεδομένα είναι δείκτες που βοηθούν να αποφασιστεί πώς οργανώνονται και αποθηκεύονται τα δεδομένα και θα έχουν διάφορα ονόματα, ανάλογα με τον τύπο των δεδομένων. Μερικά κοινά ονόματα για μεταδεδομένα είναι ετικέτες, στοιχεία, οντότητες και χαρακτηριστικά. Για παράδειγμα, ένα τυπικό μήνυμα ηλεκτρονικού ταχυδρομείου θα έχει θέμα, σώμα και ένα σύνολο παραληπτών και μπορεί να οργανωθεί ανάλογα με το ποιος ή πότε στάλθηκε.
### Ημιδομημένα Δεδομένα
Τα ημιδομημένα δεδομένα έχουν χαρακτηριστικά που τα καθιστούν συνδυασμό δομημένων και αδόμητων δεδομένων. Συνήθως δεν ακολουθούν τη μορφή σειρών και στηλών αλλά είναι οργανωμένα με τρόπο που θεωρείται δομημένος και μπορεί να ακολουθούν μια σταθερή μορφή ή σύνολο κανόνων. Η δομή διαφέρει μεταξύ πηγών, από μια καλά ορισμένη ιεραρχία έως κάτι πιο ευέλικτο που επιτρέπει την εύκολη ενσωμάτωση νέων πληροφοριών. Τα μεταδεδομένα είναι δείκτες που βοηθούν στην απόφαση του πώς οργανώνονται και αποθηκεύονται τα δεδομένα και έχουν διάφορα ονόματα, ανάλογα με τον τύπο των δεδομένων. Μερικά κοινά ονόματα των μεταδεδομένων είναι ετικέτες, στοιχεία, οντότητες και χαρακτηριστικά. Για παράδειγμα, ένα τυπικό email έχει θέμα, σώμα και σύνολο παραληπτών και μπορεί να οργανωθεί με βάση τον αποστολέα ή τον χρόνο αποστολής.
Παραδείγματα ημι-δομημένων δεδομένων: HTML, αρχεία CSV, JavaScript Object Notation (JSON)
Παραδείγματα ημιδομημένων δεδομένων: HTML, αρχεία CSV, JavaScript Object Notation (JSON)
## Πηγές Δεδομένων
Μια πηγή δεδομένων είναι η αρχική τοποθεσία από την οποία δημιουργήθηκαν τα δεδομένα ή όπου "ζουν" και θα διαφέρει ανάλογα με το πώς και πότε συλλέχθηκαν. Τα δεδομένα που δημιουργούνται από τους χρήστες τους είναι γνωστά ως πρωτογενή δεδομένα, ενώ τα δευτερογενή δεδομένα προέρχονται από μια πηγή που έχει συλλέξει δεδομένα για γενική χρήση. Για παράδειγμα, μια ομάδα επιστημόνων που συλλέγει παρατηρήσεις σε ένα τροπικό δάσος θα θεωρούνταν πρωτογενής πηγή και αν αποφασίσουν να τα μοιραστούν με άλλους επιστήμονες, θα θεωρούνταν δευτερογενή για αυτούς που τα χρησιμοποιούν.
Μια πηγή δεδομένων είναι η αρχική τοποθεσία όπου δημιουργήθηκαν τα δεδομένα ή όπου "φιλοξενούνται" και διαφέρει ανάλογα με τον τρόπο και τον χρόνο συλλογής τους. Τα δεδομένα που παράγονται από τους χρήστες τους ονομάζονται πρωτογενή δεδομένα ενώ τα δευτερογενή δεδομένα προέρχονται από πηγές που έχουν συλλέξει δεδομένα για γενική χρήση. Για παράδειγμα, μια ομάδα επιστημόνων που συλλέγει παρατηρήσεις σε τροπικό δάσος θεωρείται πρωτογενής και αν αποφασίσουν να το μοιραστούν με άλλους επιστήμονες, γίνεται δευτερογενές για όσους το χρησιμοποιούν.
Οι βάσεις δεδομένων είναι μια κοινή πηγή και βασίζονται σε ένα σύστημα διαχείρισης βάσεων δεδομένων για τη φιλοξενία και τη συντήρηση των δεδομένων, όπου οι χρήστες χρησιμοποιούν εντολές που ονομάζονται ερωτήματα για να εξερευνήσουν τα δεδομένα. Τα αρχεία ως πηγές δεδομένων μπορεί να είναι αρχεία ήχου, εικόνας και βίντεο καθώς και υπολογιστικά φύλλα όπως το Excel. Οι πηγές του διαδικτύου είναι μια κοινή τοποθεσία για τη φιλοξενία δεδομένων, όπου μπορούν να βρεθούν βάσεις δεδομένων καθώς και αρχεία. Οι διεπαφές προγραμματισμού εφαρμογών, γνωστές και ως APIs, επιτρέπουν στους προγραμματιστές να δημιουργούν τρόπους για να μοιράζονται δεδομένα με εξωτερικούς χρήστες μέσω του διαδικτύου, ενώ η διαδικασία εξαγωγής δεδομένων από μια ιστοσελίδα ονομάζεται web scraping. Τα [μαθήματα στην Εργασία με Δεδομένα](../../../../../../../../../2-Working-With-Data) επικεντρώνονται στο πώς να χρησιμοποιείτε διάφορες πηγές δεδομένων.
Οι βάσεις δεδομένων είναι κοινή πηγή και βασίζονται σε συστήματα διαχείρισης βάσεων δεδομένων για τη φιλοξενία και τη συντήρηση των δεδομένων, όπου οι χρήστες χρησιμοποιούν εντολές που ονομάζονται ερωτήματα για να εξερευνήσουν τα δεδομένα. Τα αρχεία ως πηγές δεδομένων μπορεί να είναι αρχεία ήχου, εικόνας, βίντεο καθώς και υπολογιστικά φύλλα όπως το Excel. Το διαδίκτυο είναι μια συνηθισμένη τοποθεσία φιλοξενίας δεδομένων, όπου βρίσκονται τόσο βάσεις δεδομένων όσο και αρχεία. Τα API (Διεπαφές Προγραμματισμού Εφαρμογών) επιτρέπουν στους προγραμματιστές να δημιουργούν τρόπους για την κοινή χρήση δεδομένων με εξωτερικούς χρήστες μέσω του ίντερνετ, ενώ η διαδικασία web scraping εξάγει δεδομένα από μια ιστοσελίδα. Τα [μαθήματα στο Working with Data](../../../../../../../../../2-Working-With-Data) εστιάζουν στο πώς να χρησιμοποιούν διάφορες πηγές δεδομένων.
## Συμπέρασμα
@ -55,22 +54,26 @@
## 🚀 Πρόκληση
Το Kaggle είναι μια εξαιρετική πηγή ανοιχτών συνόλων δεδομένων. Χρησιμοποιήστε το [εργαλείο αναζήτησης συνόλων δεδομένων](https://www.kaggle.com/datasets) για να βρείτε μερικά ενδιαφέροντα σύνολα δεδομένων και να ταξινομήσετε 3-5 σύνολα δεδομένων με αυτά τα κριτήρια:
Το Kaggle είναι μια εξαιρετική πηγή ανοιχτών συνόλων δεδομένων. Χρησιμοποίησε το [εργαλείο αναζήτησης συνόλων δεδομένων](https://www.kaggle.com/datasets) για να βρεις ενδιαφέροντα σύνολα δεδομένων και ταξινόμησε 3-5 σύνολα με αυτά τα κριτήρια:
- Είναι τα δεδομένα ποσοτικά ή ποιοτικά;
- Είναι τα δεδομένα δομημένα, μη δομημένα ή ημι-δομημένα;
- Είναι τα δεδομένα δομημένα, αδόμητα ή ημιδομημένα;
## [Μετά-διάλεξη Quiz](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## [Κουίζ μετά τη διάλεξη](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## Ανασκόπηση & Αυτομελέτη
## Ανασκόπηση & Αυτοεκμάθηση
- Αυτή η ενότητα του Microsoft Learn, με τίτλο [Ταξινόμηση των Δεδομένων σας](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) έχει μια λεπτομερή ανάλυση των δομημένων, ημι-δομημένων και μη δομημένων δεδομένων.
- Αυτή η ενότητα του Microsoft Learn, με τίτλο [Identify data formats](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) έχει λεπτομερή ανάλυση των δομημένων, ημιδομημένων, και αδόμητων δεδομένων.
## Εργασία
## Άσκηση
[Ταξινόμηση Συνόλων Δεδομένων](assignment.md)
---
**Αποποίηση Ευθύνης**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Αποποίηση ευθυνών**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -4,8 +4,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Εισαγωγή στην Πιθανότητα και τη Στατιστική\n",
"Σε αυτό το σημειωματάριο, θα ασχοληθούμε με μερικές από τις έννοιες που έχουμε συζητήσει προηγουμένως. Πολλές έννοιες από την πιθανότητα και τη στατιστική είναι καλά εκπροσωπημένες σε μεγάλες βιβλιοθήκες για επεξεργασία δεδομένων στην Python, όπως οι `numpy` και `pandas`.\n"
"# Εισαγωγή στην Πιθανότητα και τα Στατιστικά\n",
"Σε αυτό το σημειωματάριο, θα πειραματιστούμε με μερικές από τις έννοιες που έχουμε συζητήσει προηγουμένως. Πολλές έννοιες από την πιθανότητα και τα στατιστικά εκπροσωπούνται καλά σε μεγάλες βιβλιοθήκες για την επεξεργασία δεδομένων στην Python, όπως οι `numpy` και `pandas`.\n"
]
},
{
@ -25,7 +25,7 @@
"metadata": {},
"source": [
"## Τυχαίες Μεταβλητές και Κατανομές\n",
"Ας ξεκινήσουμε παίρνοντας ένα δείγμα 30 τιμών από μια ομοιόμορφη κατανομή από 0 έως 9. Θα υπολογίσουμε επίσης μέση τιμή και διακύμανση.\n"
"Ας ξεκινήσουμε παίρνοντας ένα δείγμα 30 τιμών από μια ομοιόμορφη κατανομή από 0 έως 9. Θα υπολογίσουμε επίσης τη μέση τιμή και τη διασπορά.\n"
]
},
{
@ -63,7 +63,7 @@
"source": [
"## Ανάλυση Πραγματικών Δεδομένων\n",
"\n",
"Ο μέσος όρος και η διασπορά είναι πολύ σημαντικά όταν αναλύουμε δεδομένα από τον πραγματικό κόσμο. Ας φορτώσουμε τα δεδομένα σχετικά με παίκτες του μπέιζμπολ από το [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"Ο μέσος όρος και η διακύμανση είναι πολύ σημαντικοί κατά την ανάλυση δεδομένων από τον πραγματικό κόσμο. Ας φορτώσουμε τα δεδομένα σχετικά με τους παίκτες του μπέιζμπολ από το [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
@ -80,7 +80,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Χρησιμοποιούμε ένα πακέτο που ονομάζεται [**Pandas**](https://pandas.pydata.org/) εδώ για ανάλυση δεδομένων. Θα μιλήσουμε περισσότερα για τα Pandas και τη δουλειά με δεδομένα σε Python αργότερα σε αυτό το μάθημα.\n",
"> Χρησιμοποιούμε ένα πακέτο που ονομάζεται [**Pandas**](https://pandas.pydata.org/) εδώ για ανάλυση δεδομένων. Θα μιλήσουμε περισσότερα για το Pandas και τη δουλειά με δεδομένα στην Python αργότερα σε αυτό το μάθημα.\n",
"\n",
"Ας υπολογίσουμε μέσες τιμές για την ηλικία, το ύψος και το βάρος:\n"
]
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Τώρα ας επικεντρωθούμε στο ύψος και να υπολογίσουμε την τυπική απόκλιση και την διασπορά:\n"
"Τώρα ας εστιάσουμε στο ύψος και ας υπολογίσουμε την τυπική απόκλιση και την διακύμανση: \n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Εκτός από τον μέσο όρο, έχει νόημα να δούμε την διάμεσο τιμή και τα τεταρτημόρια. Μπορούν να απεικονιστούν χρησιμοποιώντας ένα **διάγραμμα κουτιού**:\n"
"Εκτός από τον μέσο όρο, έχει νόημα να δούμε την διάμεσο και τα τεταρτημόρια. Αυτά μπορούν να απεικονιστούν χρησιμοποιώντας ένα **διάγραμμα κουτιού**:\n"
]
},
{
@ -136,7 +136,7 @@
"outputs": [],
"source": [
"plt.figure(figsize=(10,2))\n",
"plt.boxplot(df['Height'].ffill(), vert=False, showmeans=True)\n",
"plt.boxplot(df['Height'].ffill(), orientation='horizontal', showmeans=True)\n",
"plt.grid(color='gray', linestyle='dotted')\n",
"plt.tight_layout()\n",
"plt.show()"
@ -146,7 +146,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Μπορούμε επίσης να δημιουργήσουμε διαγράμματα κουτιού για υποσύνολα του συνόλου δεδομένων μας, για παράδειγμα, ομαδοποιημένα κατά ρόλο παίκτη.\n"
"Μπορούμε επίσης να δημιουργήσουμε διαγράμματα κουτιών υποσυνόλων του συνόλου δεδομένων μας, για παράδειγμα, ομαδοποιημένα κατά ρόλο παίκτη.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Σημείωση**: Αυτό το διάγραμμα υποδηλώνει, ότι κατά μέσο όρο, τα ύψη των πρώτων baseman είναι υψηλότερα από τα ύψη των δευτέρων baseman. Αργότερα θα μάθουμε πώς μπορούμε να δοκιμάσουμε αυτή την υπόθεση πιο επίσημα, και πώς να αποδείξουμε ότι τα δεδομένα μας είναι στατιστικά σημαντικά για να το δείξουν. \n",
"> **Σημείωση**: Αυτό το διάγραμμα υποδεικνύει ότι, κατά μέσο όρο, τα ύψη των πρώτων βάσεων είναι μεγαλύτερα από τα ύψη των δεύτερων βάσεων. Αργότερα θα μάθουμε πώς μπορούμε να εξετάσουμε αυτή την υπόθεση πιο επίσημα, και πώς να αποδείξουμε ότι τα δεδομένα μας είναι στατιστικά σημαντικά για να το δείξουν. \n",
"\n",
"Η ηλικία, το ύψος και το βάρος είναι όλες συνεχείς τυχαίες μεταβλητές. Τι πιστεύετε ότι είναι η κατανομή τους; Ένας καλός τρόπος να το ανακαλύψετε είναι να σχεδιάσετε το ιστόγραμμα των τιμών: \n"
"Η ηλικία, το ύψος και το βάρος είναι όλα συνεχείς τυχαίες μεταβλητές. Τι πιστεύετε ότι είναι η κατανομή τους; Ένας καλός τρόπος για να το ανακαλύψετε είναι να σχεδιάσετε το ιστόγραμμα των τιμών: \n"
]
},
{
@ -190,7 +190,7 @@
"source": [
"## Κανονική Κατανομή\n",
"\n",
"Ας δημιουργήσουμε ένα τεχνητό δείγμα βαρών που ακολουθεί μια κανονική κατανομή με τον ίδιο μέσο όρο και διακύμανση με τα πραγματικά μας δεδομένα:\n"
"Ας δημιουργήσουμε ένα τεχνητό δείγμα βαρών που ακολουθεί μια κανονική κατανομή με τον ίδιο μέσο όρο και διακύμανση όπως τα πραγματικά μας δεδομένα:\n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Δεδομένου ότι οι περισσότερες τιμές στην πραγματική ζωή ακολουθούν κανονική κατανομή, δεν θα πρέπει να χρησιμοποιούμε γεννήτρια τυχαίων αριθμών ομοιόμορφης κατανομής για τη δημιουργία δειγματικών δεδομένων. Να τι συμβαίνει αν προσπαθήσουμε να δημιουργήσουμε βάρη με ομοιόμορφη κατανομή (που παράγεται από το `np.random.rand`):\n"
"Δεδομένου ότι οι περισσότερες τιμές στην πραγματική ζωή κατανέμονται κανονικά, δεν θα πρέπει να χρησιμοποιούμε έναν ομοιόμορφο γεννήτρια τυχαίων αριθμών για να δημιουργήσουμε δείγματα δεδομένων. Αυτό συμβαίνει αν προσπαθήσουμε να δημιουργήσουμε βάρη με ομοιόμορφη κατανομή (παράγεται από `np.random.rand`):\n"
]
},
{
@ -253,7 +253,7 @@
"source": [
"## Διαστήματα Εμπιστοσύνης\n",
"\n",
"Ας υπολογίσουμε τώρα διαστήματα εμπιστοσύνης για τα βάρη και τα ύψη των παικτών του μπέιζμπολ. Θα χρησιμοποιήσουμε τον κώδικα [από αυτή τη συζήτηση στο stackoverflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"Ας υπολογίσουμε τώρα τα διαστήματα εμπιστοσύνης για τα βάρη και τα ύψη των παικτών του μπέιζμπολ. Θα χρησιμοποιήσουμε τον κώδικα [από αυτή τη συζήτηση στο stackoverflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
]
},
{
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
]
},
@ -280,7 +280,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Δοκιμή Υπόθεσης\n",
"## Έλεγχος Υποθέσεων\n",
"\n",
"Ας εξερευνήσουμε διαφορετικούς ρόλους στο σύνολο δεδομένων παικτών μπέιζμπολ μας:\n"
]
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ας ελέγξουμε την υπόθεση ότι οι παίκτες πρώτης βάσης είναι ψηλότεροι από τους παίκτες δεύτερης βάσης. Ο απλούστερος τρόπος για να το κάνουμε αυτό είναι να ελέγξουμε τα διαστήματα εμπιστοσύνης:\n"
"Ας δοκιμάσουμε την υπόθεση ότι οι Πρώτοι Βασικοί είναι ψηλότεροι από τους Δεύτερους Βασικούς. Ο απλούστερος τρόπος να το κάνουμε αυτό είναι να ελέγξουμε τα διαστήματα εμπιστοσύνης:\n"
]
},
{
@ -317,9 +317,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Μπορούμε να δούμε ότι τα διαστήματα δεν επικαλύπτονται.\n",
"Μπορούμε να δούμε ότι τα διαστήματα δεν αλληλεπικαλύπτονται.\n",
"\n",
"Ένας στατιστικά πιο σωστός τρόπος να αποδείξουμε την υπόθεση είναι να χρησιμοποιήσουμε ένα **Student t-test**:\n"
"Ένας στατιστικά πιο σωστός τρόπος για να αποδείξουμε την υπόθεση είναι να χρησιμοποιήσουμε ένα **Student t-test**:\n"
]
},
{
@ -338,18 +338,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Οι δύο τιμές που επιστρέφονται από τη συνάρτηση `ttest_ind` είναι: \n",
"* η τιμή p μπορεί να θεωρηθεί ως η πιθανότητα δύο κατανομών να έχουν τον ίδιο μέσο όρο. Στη δική μας περίπτωση, είναι πολύ χαμηλή, που σημαίνει ότι υπάρχουν ισχυρές αποδείξεις που υποστηρίζουν ότι οι πρώτοι δι baseman είναι πιο ψηλοί. \n",
"* η τιμή t είναι η ενδιάμεση τιμή της ομαλοποιημένης διαφοράς μέσων όρων που χρησιμοποιείται στο t-test, και συγκρίνεται με μια τιμή κατωφλίου για μια δεδομένη τιμή εμπιστοσύνης.\n"
"Οι δύο τιμές που επιστρέφει η συνάρτηση `ttest_ind` είναι:\n",
"* η τιμή p μπορεί να θεωρηθεί ως η πιθανότητα δύο κατανομών να έχουν τον ίδιο μέσο όρο. Στη δική μας περίπτωση, είναι πολύ χαμηλή, που σημαίνει ότι υπάρχουν ισχυρές αποδείξεις που υποστηρίζουν ότι οι παίκτες στη θέση του πρώτου βάσης είναι ψηλότεροι.\n",
"* η τιμή t είναι η ενδιάμεση τιμή της κανονικοποιημένης διαφοράς μέσων όρων που χρησιμοποιείται στο t-test, και συγκρίνεται με μια κατώτατη τιμή για μια δεδομένη τιμή εμπιστοσύνης.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Προσομοίωση Κανονικής Κατανομής με το Κεντρικό Οριακό Θεώρημα\n",
"## Προσομοίωση Κανονικής Κατανομής με το Θεώρημα Κεντρικού Ορίου\n",
"\n",
"Ο ψευδοτυχαίος γεννήτορας στην Python έχει σχεδιαστεί για να μας δίνει μια ομοιόμορφη κατανομή. Αν θέλουμε να δημιουργήσουμε έναν γεννήτορα για κανονική κατανομή, μπορούμε να χρησιμοποιήσουμε το κεντρικό οριακό θεώρημα. Για να πάρουμε μια τυπικώς κατανεμημένη τιμή, απλώς θα υπολογίσουμε τον μέσο όρο ενός δείγματος που έχει δημιουργηθεί ομοιόμορφα.\n"
"Ο ψευδοτυχαίος γεννήτορας στην Python έχει σχεδιαστεί για να μας δίνει μια ομοιόμορφη κατανομή. Αν θέλουμε να δημιουργήσουμε έναν γεννήτορα για κανονική κατανομή, μπορούμε να χρησιμοποιήσουμε το θεώρημα κεντρικού ορίου. Για να πάρουμε μια τιμή με κανονική κατανομή, απλά θα υπολογίσουμε το μέσο όρο ενός δείγματος παραγόμενου ομοιόμορφα.\n"
]
},
{
@ -373,9 +373,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Συσχέτιση και η Εταιρεία Κακού Μπέιζμπολ\n",
"## Συσχέτιση και Κακόβουλη Εταιρεία Μπέιζμπολ\n",
"\n",
"Η συσχέτιση μας επιτρέπει να βρίσκουμε σχέσεις μεταξύ ακολουθιών δεδομένων. Στο παράδειγμα παιχνιδιού μας, ας υποθέσουμε ότι υπάρχει μια κακή εταιρεία μπέιζμπολ που πληρώνει τους παίκτες της ανάλογα με το ύψος τους - όσο πιο ψηλός είναι ο παίκτης, τόσα περισσότερα χρήματα παίρνει. Ας υποθέσουμε ότι υπάρχει ένας βασικός μισθός των $1000, και ένα επιπλέον μπόνους από $0 έως $100, ανάλογα με το ύψος. Θα πάρουμε τους πραγματικούς παίκτες από το MLB και θα υπολογίσουμε τους φανταστικούς μισθούς τους:\n"
"Η συσχέτιση μας επιτρέπει να βρούμε σχέσεις ανάμεσα σε ακολουθίες δεδομένων. Στο παράδειγμα παιχνιδιού μας, ας υποθέσουμε ότι υπάρχει μια κακόβουλη εταιρεία μπέιζμπολ που πληρώνει τους παίκτες της ανάλογα με το ύψος τους - όσο πιο ψηλός είναι ο παίκτης, τόσα περισσότερα χρήματα παίρνει. Ας υποθέσουμε ότι υπάρχει ένας βασικός μισθός $1000, και ένα επιπλέον μπόνους από $0 έως $100, ανάλογα με το ύψος. Θα πάρουμε τους πραγματικούς παίκτες από το MLB και θα υπολογίσουμε τα φανταστικά τους μισθούς:\n"
]
},
{
@ -384,7 +384,7 @@
"metadata": {},
"outputs": [],
"source": [
"heights = df['Height'].fillna(method='pad')\n",
"heights = df['Height'].ffill()\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@ -393,7 +393,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ας υπολογίσουμε τώρα τη συνδιακύμανση και τη συσχέτιση αυτών των ακολουθιών. Η `np.cov` θα μας δώσει τον λεγόμενο **πίνακα συνδιακύμανσης**, που είναι μια επέκταση της συνδιακύμανσης σε πολλαπλές μεταβλητές. Το στοιχείο $M_{ij}$ του πίνακα συνδιακύμανσης $M$ είναι η συνδιακύμανση μεταξύ των εισερχόμενων μεταβλητών $X_i$ και $X_j$, και οι διαγώνιες τιμές $M_{ii}$ είναι η διακύμανση του $X_{i}$. Ομοίως, η `np.corrcoef` θα μας δώσει τον **πίνακα συσχέτισης**.\n"
"Ας υπολογίσουμε τώρα τη συνδιακύμανση και τη συσχέτιση αυτών των ακολουθιών. Η `np.cov` θα μας δώσει έναν λεγόμενο **πίνακα συνδιακύμανσης**, που είναι μια επέκταση της συνδιακύμανσης σε πολλαπλές μεταβλητές. Το στοιχείο $M_{ij}$ του πίνακα συνδιακύμανσης $M$ είναι η συσχέτιση μεταξύ των εισαγόμενων μεταβλητών $X_i$ και $X_j$, και οι διαγώνιες τιμές $M_{ii}$ είναι η διασπορά του $X_{i}$. Παρομοίως, η `np.corrcoef` θα μας δώσει τον **πίνακα συσχέτισης**.\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Σε αυτή την περίπτωση, η συσχέτιση είναι λίγο μικρότερη, αλλά εξακολουθεί να είναι αρκετά υψηλή. Τώρα, για να κάνουμε τη σχέση ακόμη λιγότερο προφανή, ίσως θέλουμε να προσθέσουμε λίγη επιπλέον τυχαιότητα προσθέτοντας κάποια τυχαία μεταβλητή στον μισθό. Ας δούμε τι συμβαίνει:\n"
"Σε αυτή την περίπτωση, η συσχέτιση είναι ελαφρώς μικρότερη, αλλά εξακολουθεί να είναι αρκετά υψηλή. Τώρα, για να κάνουμε τη σχέση ακόμα λιγότερο προφανή, ίσως θελήσουμε να προσθέσουμε λίγη επιπλέον τυχαιότητα προσθέτοντας μια τυχαία μεταβλητή στον μισθό. Ας δούμε τι συμβαίνει:\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Μπορείτε να μαντέψετε γιατί οι κουκκίδες ευθυγραμμίζονται σε κατακόρυφες γραμμές σαν αυτές;\n",
"> Μπορείς να μαντέψεις γιατί οι κουκκίδες ευθυγραμμίζονται σε κάθετες γραμμές έτσι;\n",
"\n",
"Έχουμε παρατηρήσει τη συσχέτιση μεταξύ μιας τεχνητά δημιουργημένης έννοιας όπως ο μισθός και της παρατηρούμενης μεταβλητής *ύψος*. Ας δούμε επίσης αν οι δύο παρατηρούμενες μεταβλητές, όπως το ύψος και το βάρος, συσχετίζονται επίσης:\n"
"Έχουμε παρατηρήσει τη συσχέτιση μεταξύ μιας τεχνητά δημιουργημένης έννοιας όπως ο μισθός και της παρατηρούμενης μεταβλητής *ύψος*. Ας δούμε επίσης αν και οι δύο παρατηρούμενες μεταβλητές, όπως το ύψος και το βάρος, συσχετίζονται:\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Δυστυχώς, δεν λάβαμε κανένα αποτέλεσμα - μόνο κάποιες παράξενες τιμές `nan`. Αυτό οφείλεται στο γεγονός ότι μερικές από τις τιμές στη σειρά μας είναι απροσδιόριστες, παρουσιάζονται ως `nan`, γεγονός που προκαλεί το αποτέλεσμα της πράξης να είναι επίσης απροσδιόριστο. Κοιτώντας τον πίνακα μπορούμε να δούμε ότι η στήλη `Weight` είναι το πρόβλημα, επειδή έχει υπολογιστεί η αυτο-συσχέτιση μεταξύ των τιμών του `Height`.\n",
"Δυστυχώς, δεν λάβαμε κανένα αποτέλεσμα - μόνο μερικές παράξενες τιμές `nan`. Αυτό οφείλεται στο γεγονός ότι μερικές από τις τιμές στη σειρά μας είναι απροσδιόριστες, αναπαριστώμενες ως `nan`, γεγονός που προκαλεί το αποτέλεσμα της πράξης να είναι επίσης απροσδιόριστο. Κοιτάζοντας τον πίνακα μπορούμε να δούμε ότι η στήλη `Weight` είναι το πρόβλημα, γιατί έχει υπολογιστεί η αυτοσυσχέτιση μεταξύ των τιμών `Height`.\n",
"\n",
"> Αυτό το παράδειγμα δείχνει τη σημασία της **προετοιμασίας δεδομένων** και του **καθαρισμού**. Χωρίς κατάλληλα δεδομένα δεν μπορούμε να υπολογίσουμε τίποτα.\n",
"> Αυτό το παράδειγμα δείχνει τη σημασία της **προετοιμασίας** και **καθαρισμού** δεδομένων. Χωρίς κατάλληλα δεδομένα δεν μπορούμε να υπολογίσουμε τίποτα.\n",
"\n",
"Ας χρησιμοποιήσουμε τη μέθοδο `fillna` για να συμπληρώσουμε τις ελλείπουσες τιμές και να υπολογίσουμε τη συσχέτιση:\n"
"Ας χρησιμοποιήσουμε τη μέθοδο `fillna` για να συμπληρώσουμε τις χαμένες τιμές και να υπολογίσουμε τη συσχέτιση:\n"
]
},
{
@ -507,14 +507,14 @@
"metadata": {},
"outputs": [],
"source": [
"np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
"np.corrcoef(df['Height'].ffill(), df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Πράγματι υπάρχει συσχέτιση, αλλά όχι τόσο ισχυρή όσο στο τεχνητό μας παράδειγμα. Πράγματι, αν κοιτάξουμε το διάγραμμα διασποράς μιας τιμής σε σχέση με την άλλη, η σχέση θα ήταν πολύ λιγότερο προφανής:\n"
"Υπάρχει όντως μια συσχέτιση, αλλά όχι τόσο ισχυρή όσο στο τεχνητό μας παράδειγμα. Πράγματι, αν κοιτάξουμε το διάγραμμα διασποράς μιας τιμής σε σχέση με την άλλη, η σχέση θα ήταν πολύ λιγότερο προφανής:\n"
]
},
{
@ -537,14 +537,14 @@
"source": [
"## Συμπέρασμα\n",
"\n",
"Σε αυτό το σημειωματάριο μάθαμε πώς να εκτελούμε βασικές λειτουργίες σε δεδομένα για να υπολογίσουμε στατιστικές συναρτήσεις. Τώρα ξέρουμε πώς να χρησιμοποιούμε ένα αξιόπιστο εργαλείο μαθηματικών και στατιστικής προκειμένου να αποδείξουμε ορισμένες υποθέσεις, και πώς να υπολογίζουμε διαστήματα εμπιστοσύνης για αυθαίρετες μεταβλητές δεδομένου ενός δείγματος δεδομένων.\n"
"Σε αυτό το σημειωματάριο μάθαμε πώς να εκτελούμε βασικές λειτουργίες σε δεδομένα για να υπολογίσουμε στατιστικές συναρτήσεις. Τώρα γνωρίζουμε πώς να χρησιμοποιούμε έναν αξιόπιστο μηχανισμό μαθηματικών και στατιστικών προκειμένου να αποδείξουμε κάποιες υποθέσεις, και πώς να υπολογίζουμε διαστήματα εμπιστοσύνης για αυθαίρετες μεταβλητές δεδομένου ενός δείγματος δεδομένων. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Αποποίηση ευθυνών**: \nΑυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε να λάβετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα του θεωρείται η επίσημη πηγή. Για κρίσιμες πληροφορίες, συνιστάται η επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για οποιεσδήποτε παρανοήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Αποποίηση ευθυνών**:\nΑυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -568,12 +568,6 @@
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.6"
},
"coopTranslator": {
"original_hash": "0f899e3c5019f948e7c787b22f3b2304",
"translation_date": "2026-01-16T14:47:31+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "el"
}
},
"nbformat": 4,

@ -8,7 +8,7 @@
"\n",
"## Φόρτωση Δεδομένων\n",
"\n",
"Θα χρησιμοποιήσουμε δεδομένα για τα άτομα μολυσμένα από τον COVID-19, που παρέχονται από το [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) στο [Johns Hopkins University](https://jhu.edu/). Το σύνολο δεδομένων είναι διαθέσιμο σε [αυτό το Αποθετήριο GitHub](https://github.com/CSSEGISandData/COVID-19).\n"
"Θα χρησιμοποιήσουμε δεδομένα για άτομα μολυσμένα με COVID-19, που παρέχονται από το [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) στο [Johns Hopkins University](https://jhu.edu/). Το σύνολο δεδομένων είναι διαθέσιμο στο [this GitHub Repository](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Μπορούμε να φορτώσουμε τα πιο πρόσφατα δεδομένα απευθείας από το GitHub χρησιμοποιώντας `pd.read_csv`. Αν για κάποιο λόγο τα δεδομένα δεν είναι διαθέσιμα, μπορείτε πάντα να χρησιμοποιήσετε το αντίγραφο που είναι διαθέσιμο τοπικά στον φάκελο `data` - απλά αποσχολιάστε τη γραμμή παρακάτω που ορίζει το `base_url`:\n"
"Μπορούμε να φορτώσουμε τα πιο πρόσφατα δεδομένα απευθείας από το GitHub χρησιμοποιώντας το `pd.read_csv`. Αν για οποιονδήποτε λόγο τα δεδομένα δεν είναι διαθέσιμα, μπορείτε πάντα να χρησιμοποιήσετε τοπικά το αντίγραφο που υπάρχει στον φάκελο `data` - απλώς αποσχολιάστε τη γραμμή παρακάτω που ορίζει το `base_url`:\n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ας φορτώσουμε τώρα τα δεδομένα για τα μολυσμένα άτομα και να δούμε πώς φαίνονται τα δεδομένα:\n"
"Ας φορτώσουμε τώρα τα δεδομένα για τα μολυσμένα άτομα και ας δούμε πώς φαίνεται η δεδομένα:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Μπορούμε να δούμε ότι κάθε γραμμή του πίνακα ορίζει τον αριθμό των μολυσμένων ατόμων για κάθε χώρα και/ή επαρχία, και οι στήλες αντιστοιχούν σε ημερομηνίες. Παρόμοιοι πίνακες μπορούν να φορτωθούν για άλλα δεδομένα, όπως ο αριθμός των αναρρωσάντων και ο αριθμός των θανάτων.\n"
"Μπορούμε να δούμε ότι κάθε γραμμή του πίνακα ορίζει τον αριθμό των μολυσμένων ατόμων για κάθε χώρα και/ή επαρχία, και οι στήλες αντιστοιχούν σε ημερομηνίες. Παρόμοιοι πίνακες μπορούν να φορτωθούν για άλλα δεδομένα, όπως ο αριθμός των ανάρρωσαντων και ο αριθμός των θανάτων.\n"
]
},
{
@ -282,9 +282,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Κατανόηση των Δεδομένων\n",
"## Ερμηνεύοντας τα Δεδομένα\n",
"\n",
"Από τον παραπάνω πίνακα ο ρόλος της στήλης επαρχίας δεν είναι σαφής. Ας δούμε τις διαφορετικές τιμές που υπάρχουν στη στήλη `Province/State`:\n"
"Από τον πίνακα παραπάνω, ο ρόλος της στήλης επαρχίας δεν είναι σαφής. Ας δούμε τις διαφορετικές τιμές που υπάρχουν στη στήλη `Province/State`:\n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Από τα ονόματα μπορούμε να συμπεράνουμε ότι χώρες όπως η Αυστραλία και η Κίνα έχουν πιο λεπτομερή ανάλυση ανά επαρχίες. Ας αναζητήσουμε πληροφορίες για την Κίνα για να δούμε το παράδειγμα:\n"
"Από τα ονόματα μπορούμε να συμπεράνουμε ότι χώρες όπως η Αυστραλία και η Κίνα έχουν πιο λεπτομερή ανάλυση κατά επαρχίες. Ας ψάξουμε πληροφορίες για την Κίνα για να δούμε το παράδειγμα:\n"
]
},
{
@ -1323,7 +1323,7 @@
"source": [
"## Προεπεξεργασία των Δεδομένων \n",
"\n",
"Δεν ενδιαφερόμαστε να χωρίσουμε τις χώρες σε περαιτέρω εδάφη, επομένως αρχικά θα απαλλαγούμε από αυτή τη διάσπαση και θα προσθέσουμε τις πληροφορίες για όλα τα εδάφη μαζί, για να πάρουμε πληροφορίες για ολόκληρη τη χώρα. Αυτό μπορεί να γίνει χρησιμοποιώντας το `groupby`:\n"
"Δεν μας ενδιαφέρει να διαχωρίσουμε τις χώρες σε περαιτέρω περιοχές, οπότε πρώτα θα απαλλαγούμε από αυτή τη διαίρεση και θα προσθέσουμε πληροφορίες για όλες τις περιοχές συνολικά, για να πάρουμε πληροφορίες για ολόκληρη τη χώρα. Αυτό μπορεί να γίνει χρησιμοποιώντας το `groupby`:\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Μπορείτε να δείτε ότι λόγω της χρήσης του `groupby` όλα τα DataFrame έχουν τώρα ευρετήριο κατά Χώρα/Περιοχή. Έτσι μπορούμε να έχουμε πρόσβαση στα δεδομένα για μια συγκεκριμένη χώρα χρησιμοποιώντας το `.loc`:|\n"
"Μπορείτε να δείτε ότι λόγω της χρήσης του `groupby`, όλα τα DataFrames τώρα ευρετηριάζονται κατά Χώρα/Περιοχή. Έτσι μπορούμε να προσπελάσουμε τα δεδομένα για μια συγκεκριμένη χώρα χρησιμοποιώντας το `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Σημείωση** πώς χρησιμοποιούμε το `[3:]` για να αφαιρέσουμε τα πρώτα τρία στοιχεία μιας ακολουθίας που περιέχουν μη-ημερομηνιακά μεταδεδομένα (τις στήλες Επαρχίας/Πολιτείας και γεωγραφικής θέσης). Μπορούμε επίσης να απορρίψουμε εντελώς αυτές τις τρεις στήλες:\n"
"> **Σημείωση** πώς χρησιμοποιούμε το `[3:]` για να αφαιρέσουμε τα πρώτα τρία στοιχεία μιας ακολουθίας που περιέχουν μεταδεδομένα μη ημερομηνία (τις στήλες Επαρχία/Πολιτεία και γεωτοποθεσία). Μπορούμε επίσης να απορρίψουμε αυτές τις τρεις στήλες συνολικά:\n"
]
},
{
@ -1625,9 +1625,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Διερεύνηση των Δεδομένων\n",
"## Εξέταση των Δεδομένων\n",
"\n",
"Ας περάσουμε τώρα στη διερεύνηση μιας συγκεκριμένης χώρας. Ας δημιουργήσουμε ένα πλαίσιο που περιέχει τα δεδομένα για τις λοιμώξεις με δείκτη την ημερομηνία:\n"
"Ας περάσουμε τώρα στην εξέταση μιας συγκεκριμένης χώρας. Ας δημιουργήσουμε ένα πλαίσιο που περιέχει τα δεδομένα για τις μολύνσεις ταξινομημένα κατά ημερομηνία:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Τώρα ας υπολογίσουμε τον αριθμό των νέων μολυσμένων ατόμων κάθε μέρα. Αυτό θα μας επιτρέψει να δούμε την ταχύτητα με την οποία εξελίσσεται η πανδημία. Η πιο εύκολη μέρα για να το κάνουμε είναι να χρησιμοποιήσουμε το `diff`:\n"
"Τώρα ας υπολογίσουμε τον αριθμό των νέων μολυσμένων ανθρώπων κάθε μέρα. Αυτό θα μας επιτρέψει να δούμε την ταχύτητα με την οποία εξελίσσεται η πανδημία. Ο πιο εύκολος τρόπος να το κάνουμε είναι να χρησιμοποιήσουμε το `diff`:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Μπορούμε να δούμε μεγάλες διακυμάνσεις στα δεδομένα. Ας κοιτάξουμε πιο προσεκτικά έναν από τους μήνες:\n"
"Μπορούμε να δούμε μεγάλες διακυμάνσεις στα δεδομένα. Ας ρίξουμε μια πιο προσεκτική ματιά σε έναν από τους μήνες:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Φαίνεται καθαρά ότι υπάρχουν εβδομαδιαίες διακυμάνσεις στα δεδομένα. Επειδή θέλουμε να μπορούμε να δούμε τις τάσεις, είναι λογικό να εξομαλύνουμε την καμπύλη υπολογίζοντας τον κινητό μέσο όρο (δηλαδή για κάθε ημέρα θα υπολογίσουμε τη μέση τιμή των προηγούμενων αρκετών ημερών):\n"
"Φαίνεται ξεκάθαρα ότι υπάρχουν εβδομαδιαίες διακυμάνσεις στα δεδομένα. Επειδή θέλουμε να μπορούμε να δούμε τις τάσεις, έχει νόημα να εξομαλύνουμε την καμπύλη υπολογίζοντας τον κινητό μέσο όρο (δηλαδή για κάθε μέρα θα υπολογίσουμε τη μέση τιμή των προηγούμενων αρκετών ημερών):\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Για να μπορέσουμε να συγκρίνουμε αρκετές χώρες, ίσως θέλουμε να λάβουμε υπόψη τον πληθυσμό της χώρας και να συγκρίνουμε το ποσοστό των μολυσμένων ατόμων σε σχέση με τον πληθυσμό της χώρας. Για να λάβουμε τον πληθυσμό της χώρας, ας φορτώσουμε το σύνολο δεδομένων με τις χώρες:\n"
"Για να μπορέσουμε να συγκρίνουμε αρκετές χώρες, ίσως θέλουμε να λάβουμε υπόψη τον πληθυσμό της χώρας και να συγκρίνουμε το ποσοστό των μολυσμένων ατόμων σε σχέση με τον πληθυσμό της χώρας. Για να πάρουμε τον πληθυσμό της χώρας, ας φορτώσουμε το σύνολο δεδομένων των χωρών:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Επειδή αυτό το σύνολο δεδομένων περιέχει πληροφορίες τόσο για χώρες όσο και για επαρχίες, για να πάρουμε τον πληθυσμό ολόκληρης της χώρας πρέπει να είμαστε λίγο πιο έξυπνοι:\n"
"Επειδή αυτό το σύνολο δεδομένων περιέχει πληροφορίες τόσο για χώρες όσο και για επαρχίες, για να πάρουμε τον πληθυσμό ολόκληρης της χώρας πρέπει να είμαστε λίγο πιο έξυπνοι: \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Υπολογισμός του $R_t$\n",
"\n",
"Για να δούμε πόσο μεταδοτική είναι η ασθένεια, κοιτάμε τον **βασικό αριθμό αναπαραγωγής** $R_0$, που υποδεικνύει τον αριθμό των ατόμων που θα μολύνει περαιτέρω ένα μολυσμένο άτομο. Όταν το $R_0$ είναι μεγαλύτερο από 1, η επιδημία είναι πιθανό να εξαπλωθεί.\n",
"Για να δούμε πόσο μολυσματική είναι η ασθένεια, κοιτάμε τον **βασικό αριθμό αναπαραγωγής** $R_0$, ο οποίος δείχνει τον αριθμό των ανθρώπων που θα μολύνει περαιτέρω ένα μολυσμένο άτομο. Όταν το $R_0$ είναι μεγαλύτερο από 1, η επιδημία είναι πιθανό να εξαπλωθεί.\n",
"\n",
"Το $R_0$ είναι ιδιότητα της ίδιας της ασθένειας και δεν λαμβάνει υπόψη ορισμένα προστατευτικά μέτρα που μπορεί να λάβουν οι άνθρωποι για να επιβραδύνουν την πανδημία. Κατά τη διάρκεια της εξέλιξης της πανδημίας, μπορούμε να εκτιμήσουμε τον αριθμό αναπαραγωγής $R_t$ σε οποιαδήποτε χρονική στιγμή $t$. Έχει αποδειχθεί ότι αυτός ο αριθμός μπορεί να εκτιμηθεί κατά προσέγγιση λαμβάνοντας ένα παράθυρο 8 ημερών και υπολογίζοντας $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"όπου $I_t$ είναι ο αριθμός των νέων μολυσμένων ατόμων την ημέρα $t$.\n",
"Το $R_0$ είναι ιδιότητα της ίδιας της ασθένειας και δεν λαμβάνει υπόψη ορισμένα προστατευτικά μέτρα που μπορεί να λάβουν οι άνθρωποι για να επιβραδύνουν την πανδημία. Κατά την πορεία της πανδημίας, μπορούμε να εκτιμήσουμε τον αριθμό αναπαραγωγής $R_t$ σε οποιαδήποτε χρονική στιγμή $t$. Έχει αποδειχθεί ότι αυτός ο αριθμός μπορεί να εκτιμηθεί κατά προσέγγιση παίρνοντας ένα παράθυρο 8 ημερών και υπολογίζοντας $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"όπου $I_t$ είναι ο αριθμός των καινούργια μολυσμένων ατόμων στη μέρα $t$.\n",
"\n",
"Ας υπολογίσουμε το $R_t$ για τα δεδομένα της πανδημίας μας. Για να το κάνουμε αυτό, θα πάρουμε ένα κυλιόμενο παράθυρο 8 τιμών `ninfected` και θα εφαρμόσουμε τη συνάρτηση για να υπολογίσουμε το παραπάνω ποσοστό:\n"
"Ας υπολογίσουμε το $R_t$ για τα δεδομένα πανδημίας μας. Για να το κάνουμε αυτό, θα πάρουμε ένα κυλιόμενο παράθυρο 8 τιμών `ninfected` και θα εφαρμόσουμε τη συνάρτηση για να υπολογίσουμε το λόγο που αναφέρεται παραπάνω:\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Μπορείτε να δείτε ότι υπάρχουν κάποια κενά στο γράφημα. Αυτά μπορεί να προκληθούν είτε από `NaN`, είτε από την παρουσία `inf` τιμών στο σύνολο δεδομένων. Το `inf` μπορεί να προκληθεί από διαίρεση με το μηδέν, και το `NaN` μπορεί να υποδηλώνει ελλιπή δεδομένα ή έλλειψη δεδομένων για τον υπολογισμό του αποτελέσματος (όπως στην αρχή του frame μας, όπου το κυλιόμενο παράθυρο πλάτους 8 δεν είναι ακόμα διαθέσιμο). Για να κάνουμε το γράφημα πιο όμορφο, χρειάζεται να γεμίσουμε αυτές τις τιμές χρησιμοποιώντας τις συναρτήσεις `replace` και `fillna`.\n",
"Μπορείτε να δείτε ότι υπάρχουν κάποια κενά στο γράφημα. Αυτά μπορούν να προκληθούν είτε από `NaN`, είτε αν υπάρχουν τιμές `inf` στο σύνολο δεδομένων. Το `inf` μπορεί να προκληθεί από διαίρεση με το 0, και το `NaN` μπορεί να υποδηλώνει ελλιπή δεδομένα ή απουσία δεδομένων για τον υπολογισμό του αποτελέσματος (όπως στην αρχή του πλαισίου μας, όπου το κυλιόμενο παράθυρο πλάτους 8 δεν είναι ακόμα διαθέσιμο). Για να κάνουμε το γράφημα πιο όμορφο, χρειάζεται να συμπληρώσουμε αυτές τις τιμές χρησιμοποιώντας τις συναρτήσεις `replace` και `fillna`.\n",
"\n",
"Ας εξετάσουμε περαιτέρω την αρχή της πανδημίας. Θα περιορίσουμε επίσης τις τιμές του άξονα y ώστε να εμφανίζονται μόνο τιμές κάτω από 6, για να δούμε καλύτερα, και θα σχεδιάσουμε μια οριζόντια γραμμή στο 1.\n"
"Ας εξετάσουμε πιο προσεκτικά την αρχή της πανδημίας. Θα περιορίσουμε επίσης τις τιμές του άξονα y ώστε να εμφανίζονται μόνο τιμές κάτω από 6, για να δούμε καλύτερα, και θα σχεδιάσουμε οριζόντια γραμμή στο 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ένας ακόμα ενδιαφέρων δείκτης της πανδημίας είναι η **παράγωγος**, ή η **ημερήσια διαφορά** στα νέα κρούσματα. Μας επιτρέπει να βλέπουμε καθαρά πότε η πανδημία αυξάνεται ή μειώνεται.\n"
"Ένας άλλος ενδιαφέρων δείκτης της πανδημίας είναι η **παράγωγος**, ή **ημερήσια διαφορά** στα νέα κρούσματα. Μας επιτρέπει να βλέπουμε καθαρά πότε η πανδημία αυξάνεται ή μειώνεται. \n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Δεδομένου ότι υπάρχουν πολλές διακυμάνσεις στα δεδομένα που προκαλούνται από την αναφορά, έχει νόημα να εξομαλύνουμε την καμπύλη εφαρμόζοντας κυλιόμενο μέσο όρο για να πάρουμε τη γενική εικόνα. Ας εστιάσουμε ξανά στους πρώτους μήνες της πανδημίας:\n"
"Δεδομένου ότι υπάρχουν πολλές διακυμάνσεις στα δεδομένα λόγω της αναφοράς, έχει νόημα να λειαίνουμε την καμπύλη τρέχοντας κινούμενο μέσο όρο για να πάρουμε τη συνολική εικόνα. Ας εστιάσουμε ξανά στους πρώτους μήνες της πανδημίας:\n"
]
},
{
@ -2390,14 +2391,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Πρόκληση\n",
"\n",
"Ήρθε η ώρα να πειράξετε περισσότερο τον κώδικα και τα δεδομένα! Εδώ είναι μερικές προτάσεις για να πειραματιστείτε:\n",
"* Δείτε τη διάδοση της πανδημίας σε διάφορες χώρες.\n",
"* Απεικονίστε γραφήματα $R_t$ για πολλές χώρες σε ένα γράφημα για σύγκριση, ή δημιουργήστε πολλά διαγράμματα τοποθετημένα δίπλα-δίπλα.\n",
"* Δείτε πώς ο αριθμός των θανάτων και των αναρρώσεων συσχετίζεται με τον αριθμό των μολυσμένων περιπτώσεων.\n",
"* Προσπαθήστε να βρείτε πόσο διαρκεί τυπικά μια ασθένεια οπτικά συσχετίζοντας το ποσοστό μόλυνσης και το ποσοστό θανάτων και αναζητώντας κάποιες ανωμαλίες. Μπορεί να χρειαστεί να κοιτάξετε σε διαφορετικές χώρες για να το ανακαλύψετε.\n",
"* Υπολογίστε το ποσοστό θνησιμότητας και πώς αυτό αλλάζει με την πάροδο του χρόνου. Μπορεί να θέλετε να λάβετε υπόψη τη διάρκεια της ασθένειας σε ημέρες για να μετατοπίσετε μια χρονοσειρά πριν κάνετε τους υπολογισμούς.\n"
"Τώρα είναι η ώρα να πειραματιστείτε περισσότερο με τον κώδικα και τα δεδομένα! Εδώ είναι μερικές προτάσεις που μπορείτε να δοκιμάσετε:\n",
"* Δείτε την εξάπλωση της πανδημίας σε διάφορες χώρες.\n",
"* Σχεδιάστε γραφήματα $R_t$ για αρκετές χώρες σε ένα γράφημα για σύγκριση, ή κάντε πολλά γραφήματα δίπλα-δίπλα\n",
"* Δείτε πώς ο αριθμός των θανάτων και των αναρρώσεων σχετίζεται με τον αριθμό των κρουσμάτων.\n",
"* Προσπαθήστε να βρείτε πόσο διαρκεί συνήθως μια ασθένεια συγκρίνοντας την οπτικά με το ρυθμό μόλυνσης και το ρυθμό θανάτων και αναζητώντας κάποιες ανωμαλίες. Μπορεί να χρειαστεί να κοιτάξετε σε διαφορετικές χώρες για να το μάθετε.\n",
"* Υπολογίστε το ποσοστό θνησιμότητας και πώς αλλάζει με το χρόνο. Μπορεί να θέλετε να λάβετε υπόψη τη διάρκεια της ασθένειας σε ημέρες για να μετατοπίσετε μια χρονική σειρά πριν κάνετε τους υπολογισμούς\n"
]
},
{
@ -2406,10 +2408,10 @@
"source": [
"## Αναφορές\n",
"\n",
"Μπορείτε να δείτε περαιτέρω μελέτες για την εξάπλωση της επιδημίας COVID στις ακόλουθες δημοσιεύσεις: \n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), ανάρτηση στο blog από τον [Dmitry Soshnikov](http://soshnikov.com) \n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Εκτίμηση του Χρονικά Εξαρτώμενου Αριθμού Αναπαραγωγής για την Παγκόσμια Εκδήλωση COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1) \n",
"* [Κώδικας για την παραπάνω εργασία στο GitHub](https://github.com/shwars/SlidingSIR)\n"
"Μπορείτε να δείτε περαιτέρω μελέτες για την εξάπλωση της επιδημίας COVID στις ακόλουθες δημοσιεύσεις:\n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), άρθρο ιστολογίου από τον [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimation of Time-Dependent Reproduction Number for Global COVID-19 Outbreak](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Κώδικας για το παραπάνω έγγραφο στο GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Αποποίηση ευθυνών**: \nΤο παρόν έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλουμε προσπάθεια για ακρίβεια, παρακαλούμε να λάβετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται ως η επίσημη πηγή. Για κρίσιμες πληροφορίες συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε καμία ευθύνη για παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Αποποίηση ευθυνών**:\nΑυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],

@ -1,31 +1,33 @@
# Έργο οπτικοποίησης δεδομένων Dangerous Liaisons
Για να ξεκινήσετε, πρέπει να βεβαιωθείτε ότι έχετε εγκατεστημένα το NPM και το Node στον υπολογιστή σας. Εγκαταστήστε τις εξαρτήσεις (npm install) και στη συνέχεια εκτελέστε το έργο τοπικά (npm run serve):
Για να ξεκινήσετε, πρέπει να βεβαιωθείτε ότι έχετε εκτελέσει το NPM και το Node **>=20.0.0** στον υπολογιστή σας. Εγκαταστήστε τις εξαρτήσεις (npm install) και στη συνέχεια εκτελέστε το έργο τοπικά (npm run serve):
## Ρύθμιση έργου
## Εγκατάσταση έργου
```
npm install
```
### Μεταγλώττιση και άμεση ανανέωση για ανάπτυξη
### Μεταγλωττίζει και φορτώνει ξανά ζεστά για ανάπτυξη
```
npm run serve
```
### Μεταγλώττιση και ελαχιστοποίηση για παραγωγή
### Μεταγλωττίζει και συμπιέζει για παραγωγή
```
npm run build
```
### Έλεγχος και διόρθωση αρχείων
### Ελέγχει και διορθώνει αρχεία
```
npm run lint
```
### Προσαρμογή ρυθμίσεων
Δείτε [Αναφορά Ρυθμίσεων](https://cli.vuejs.org/config/).
### Προσαρμογή διαμόρφωσης
Δείτε το [Configuration Reference](https://cli.vuejs.org/config/).
---
**Αποποίηση ευθύνης**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Αποποίηση ευθυνών**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,31 +1,33 @@
# Έργο οπτικοποίησης δεδομένων Dangerous Liaisons
Για να ξεκινήσετε, πρέπει να βεβαιωθείτε ότι έχετε εγκατεστημένα το NPM και το Node στον υπολογιστή σας. Εγκαταστήστε τις εξαρτήσεις (npm install) και στη συνέχεια εκτελέστε το έργο τοπικά (npm run serve):
Για να ξεκινήσετε, πρέπει να βεβαιωθείτε ότι έχετε το NPM και το Node **>=20.0.0** να τρέχουν στον υπολογιστή σας. Εγκαταστήστε τις εξαρτήσεις (npm install) και μετά τρέξτε το έργο τοπικά (npm run serve):
## Ρύθμιση έργου
```
npm install
```
### Μεταγλώττιση και άμεση ανανέωση για ανάπτυξη
### Συγγράφει και πραγματοποιεί hot-reload για ανάπτυξη
```
npm run serve
```
### Μεταγλώττιση και ελαχιστοποίηση για παραγωγή
### Συγγράφει και συμπιέζει για παραγωγή
```
npm run build
```
### Έλεγχος και διόρθωση αρχείων
### Ελέγχει στυλ κώδικα και διορθώνει αρχεία
```
npm run lint
```
### Προσαρμογή ρυθμίσεων
Δείτε [Αναφορά Ρυθμίσεων](https://cli.vuejs.org/config/).
Δείτε [Configuration Reference](https://cli.vuejs.org/config/).
---
**Αποποίηση ευθύνης**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Αποποίηση ευθυνών**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -12,8 +12,8 @@
"language_code": "sv"
},
"1-Introduction/01-defining-data-science/notebook.ipynb": {
"original_hash": "8f5eb7b3f7cc89e6d98fb32e1de65dec",
"translation_date": "2026-02-27T09:36:35+00:00",
"original_hash": "8eb07e3d899aaba7ea9c9ec9b5aa2850",
"translation_date": "2026-07-17T22:53:56+00:00",
"source_file": "1-Introduction/01-defining-data-science/notebook.ipynb",
"language_code": "sv"
},
@ -42,8 +42,8 @@
"language_code": "sv"
},
"1-Introduction/03-defining-data/README.md": {
"original_hash": "12339119c0165da569a93ddba05f9339",
"translation_date": "2025-09-05T21:53:17+00:00",
"original_hash": "7217c6f9eb464d4ff4bae6c036ab53cb",
"translation_date": "2026-07-17T22:56:22+00:00",
"source_file": "1-Introduction/03-defining-data/README.md",
"language_code": "sv"
},
@ -65,6 +65,12 @@
"source_file": "1-Introduction/04-stats-and-probability/assignment.md",
"language_code": "sv"
},
"1-Introduction/04-stats-and-probability/notebook.ipynb": {
"original_hash": "0c77e104b29c723287bf11b773fcc5d5",
"translation_date": "2026-07-17T22:54:56+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "sv"
},
"1-Introduction/README.md": {
"original_hash": "696a8474a01054281704cbfb09148949",
"translation_date": "2025-08-26T21:13:53+00:00",
@ -108,8 +114,8 @@
"language_code": "sv"
},
"2-Working-With-Data/07-python/notebook-covidspread.ipynb": {
"original_hash": "6335cccba01dc6ad7b15aba7a8c73f38",
"translation_date": "2026-02-27T09:38:09+00:00",
"original_hash": "da97f98781c7cd271063f605fe8d71d0",
"translation_date": "2026-07-17T22:53:28+00:00",
"source_file": "2-Working-With-Data/07-python/notebook-covidspread.ipynb",
"language_code": "sv"
},
@ -192,14 +198,14 @@
"language_code": "sv"
},
"3-Data-Visualization/13-meaningful-visualizations/solution/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-26T22:47:05+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:56:29+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/solution/README.md",
"language_code": "sv"
},
"3-Data-Visualization/13-meaningful-visualizations/starter/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-26T22:46:28+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:56:25+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/starter/README.md",
"language_code": "sv"
},

File diff suppressed because one or more lines are too long

@ -4,48 +4,48 @@
|:---:|
|Definiera Data - _Sketchnote av [@nitya](https://twitter.com/nitya)_ |
Data är fakta, information, observationer och mätningar som används för att göra upptäckter och stödja välgrundade beslut. En datapunkt är en enskild enhet av data inom en dataset, som är en samling av datapunkter. Dataset kan ha olika format och strukturer och baseras ofta på dess källa, eller var datan kommer ifrån. Till exempel kan ett företags månatliga intäkter finnas i ett kalkylblad, medan timdata om hjärtfrekvens från en smartklocka kan vara i [JSON](https://stackoverflow.com/a/383699)-format. Det är vanligt att dataanalytiker arbetar med olika typer av data inom en dataset.
Data är fakta, information, observationer och mätningar som används för att göra upptäckter och stödja informerade beslut. En datapunkt är en enskild datadel inom en dataset, vilket är en samling datapunkter. Dataset kan komma i olika format och strukturer, och baseras vanligtvis på dess källa, eller varifrån datan kom. Till exempel kan ett företags månatliga intäkter finnas i ett kalkylblad medan timvisa data om hjärtfrekvens från en smartklocka kan vara i [JSON](https://stackoverflow.com/a/383699)-format. Det är vanligt att datavetare arbetar med olika typer av data inom en dataset.
Den här lektionen fokuserar på att identifiera och klassificera data utifrån dess egenskaper och källor.
Denna lektion fokuserar på att identifiera och klassificera data efter dess egenskaper och dess källor.
## [Förföreläsningsquiz](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## Hur Data Beskrivs
## Hur data beskrivs
### Rådata
Rådata är data som kommer från sin källa i sitt ursprungliga tillstånd och som inte har analyserats eller organiserats. För att förstå vad som händer med en dataset måste den organiseras i ett format som kan förstås av människor såväl som av den teknik de kan använda för att analysera den vidare. Strukturen av en dataset beskriver hur den är organiserad och kan klassificeras som strukturerad, ostrukturerad och semistrukturerad. Dessa typer av strukturer varierar beroende på källan men passar i slutändan in i dessa tre kategorier.
### Rå Data
data är data som kommer från sin källa i sitt ursprungliga tillstånd och som inte har analyserats eller organiserats. För att förstå vad som händer med en dataset måste den organiseras i ett format som kan förstås av människor samt den teknik de kan använda för vidare analys. Strukturen i en dataset beskriver hur den är organiserad och kan klassificeras som strukturerad, ostrukturerad och semi-strukturerad. Dessa typer av struktur varierar beroende på källan men passar slutligen in i dessa tre kategorier.
### Kvantitativ Data
Kvantitativ data är numeriska observationer inom en dataset och kan vanligtvis analyseras, mätas och användas matematiskt. Några exempel på kvantitativ data är: ett lands befolkning, en persons längd eller ett företags kvartalsintäkter. Med ytterligare analys kan kvantitativ data användas för att upptäcka säsongstrender i luftkvalitetsindex (AQI) eller uppskatta sannolikheten för rusningstrafik under en typisk arbetsdag.
Kvantitativ data är numeriska observationer inom en dataset och kan vanligen analyseras, mätas och användas matematiskt. Några exempel på kvantitativ data är: ett lands befolkning, en persons längd eller ett företags kvartalsintäkter. Med ytterligare analys kan kvantitativ data användas för att upptäcka säsongstrender av Air Quality Index (AQI) eller uppskatta sannolikheten för rusningstrafik en typisk arbetsdag.
### Kvalitativ Data
Kvalitativ data, även kallad kategorisk data, är data som inte kan mätas objektivt som kvantitativa observationer. Det är generellt olika format av subjektiv data som fångar kvaliteten på något, såsom en produkt eller process. Ibland är kvalitativ data numerisk men används inte typiskt matematiskt, som telefonnummer eller tidsstämplar. Några exempel på kvalitativ data är: videokommentarer, bilmärke och modell eller din närmaste väns favoritfärg. Kvalitativ data kan användas för att förstå vilka produkter konsumenter gillar bäst eller identifiera populära nyckelord i jobbansökningar.
Kvalitativ data, även känd som kategorisk data, är data som inte kan mätas objektivt som observationer av kvantitativ data. Det är vanligtvis olika former av subjektiv data som fångar kvaliteten på något, såsom en produkt eller process. Ibland är kvalitativ data numerisk och används normalt inte matematiskt, som telefonnummer eller tidsstämplar. Några exempel på kvalitativ data är: videokommentarer, bilmärke och modell eller närmsta vänners favoritfärg. Kvalitativ data kan användas för att förstå vilka produkter konsumenter gillar bäst eller identifiera populära nyckelord i jobbansöknings-CV:n.
### Strukturerad Data
Strukturerad data är data som är organiserad i rader och kolumner, där varje rad har samma uppsättning kolumner. Kolumner representerar ett värde av en viss typ och identifieras med ett namn som beskriver vad värdet representerar, medan rader innehåller de faktiska värdena. Kolumner har ofta en specifik uppsättning regler eller begränsningar för värdena för att säkerställa att värdena korrekt representerar kolumnen. Till exempel, föreställ dig ett kalkylblad med kunder där varje rad måste ha ett telefonnummer och telefonnumren aldrig innehåller alfabetiska tecken. Det kan finnas regler för telefonnummerkolumnen för att säkerställa att den aldrig är tom och endast innehåller siffror.
Strukturerad data är data som är organiserad i rader och kolumner, där varje rad har samma uppsättning av kolumner. Kolumner representerar ett värde av en viss typ och identifieras med ett namn som beskriver vad värdet representerar, medan rader innehåller de faktiska värdena. Kolumner har ofta en specifik uppsättning regler eller begränsningar för värdena, för att säkerställa att värdena korrekt representerar kolumnen. Till exempel, föreställ dig ett kalkylblad med kunder där varje rad måste ha ett telefonnummer och telefonnumren aldrig innehåller bokstäver. Det kan finnas regler för telefonnummerkolumnen för att säkerställa att den aldrig är tom och bara innehåller siffror.
En fördel med strukturerad data är att den kan organiseras på ett sätt som gör att den kan relateras till annan strukturerad data. Men eftersom datan är designad för att vara organiserad på ett specifikt sätt kan det krävas mycket arbete att ändra dess övergripande struktur. Till exempel, att lägga till en e-postkolumn i kundkalkylbladet som inte får vara tom innebär att du måste lista ut hur du ska lägga till dessa värden i de befintliga raderna av kunder i datasetet.
En fördel med strukturerad data är att den kan organiseras så att den kan relateras till annan strukturerad data. Men eftersom datan är utformad för att organiseras på ett specifikt sätt kan det ta mycket ansträngning att ändra dess övergripande struktur. Till exempel, att lägga till en e-postkolumn till kundkalkylbladet som inte får vara tom betyder att du måste komma på hur du lägger till dessa värden till de befintliga kundraderna i datasetet.
Exempel på strukturerad data: kalkylblad, relationsdatabaser, telefonnummer, kontoutdrag
Exempel på strukturerad data: kalkylblad, relationsdatabaser, telefonnummer, bankutdrag
### Ostrukturerad Data
Ostrukturerad data kan vanligtvis inte kategoriseras i rader eller kolumner och innehåller inte ett format eller en uppsättning regler att följa. Eftersom ostrukturerad data har färre begränsningar på sin struktur är det lättare att lägga till ny information jämfört med en strukturerad dataset. Om en sensor som registrerar data om barometertryck varannan minut har fått en uppdatering som nu gör det möjligt att mäta och registrera temperatur, kräver det inte att den befintliga datan ändras om den är ostrukturerad. Dock kan detta göra analys eller undersökning av denna typ av data mer tidskrävande. Till exempel, en forskare som vill hitta genomsnittstemperaturen för föregående månad från sensorns data, men upptäcker att sensorn registrerade ett "e" i vissa av sina data för att indikera att den var trasig istället för ett typiskt nummer, vilket innebär att datan är ofullständig.
Ostrukturerad data kan vanligtvis inte kategoriseras i rader eller kolumner och innehåller inte ett format eller en uppsättning regler att följa. Eftersom ostrukturerad data har färre begränsningar på sin struktur är det enklare att lägga till ny information jämfört med en strukturerad dataset. Om en sensor som mäter barometertryck varannan minut får en uppdatering som gör att den numera kan mäta och registrera temperatur krävs det ingen ändring av befintlig data om den är ostrukturerad. Detta kan dock göra analys eller undersökning av denna typ av data längre. Till exempel, en forskare som vill hitta genomsnittstemperaturen för föregående månad från sensorens data, upptäcker att sensorn registrerat ett "e" i vissa av sina registrerade data för att notera att den var trasig istället för ett vanligt nummer, vilket gör datan ofullständig.
Exempel på ostrukturerad data: textfiler, textmeddelanden, videofiler
### Semistrukturerad Data
Semistrukturerad data har egenskaper som gör den till en kombination av strukturerad och ostrukturerad data. Den följer vanligtvis inte ett format av rader och kolumner men är organiserad på ett sätt som anses strukturerat och kan följa ett fast format eller en uppsättning regler. Strukturen varierar mellan källor, från en väl definierad hierarki till något mer flexibelt som möjliggör enkel integration av ny information. Metadata är indikatorer som hjälper till att avgöra hur datan är organiserad och lagrad och har olika namn beroende på typen av data. Några vanliga namn för metadata är taggar, element, entiteter och attribut. Till exempel, ett typiskt e-postmeddelande har ett ämne, en kropp och en uppsättning mottagare och kan organiseras efter vem eller när det skickades.
### Semi-strukturerad
Semi-strukturerad data har egenskaper som gör den till en kombination av strukturerad och ostrukturerad data. Den följer vanligtvis inte ett format med rader och kolumner men är organiserad på ett sätt som anses strukturerat och kan följa ett fast format eller en uppsättning regler. Strukturen varierar mellan källor, från en väl definierad hierarki till något mer flexibelt som tillåter enkel integration av ny information. Metadata är indikatorer som hjälper till att avgöra hur data är organiserad och lagrad och har olika namn beroende på typen av data. Några vanliga namn för metadata är taggar, element, enheter och attribut. Till exempel, ett typiskt e-postmeddelande har en ämnesrad, innehåll och en uppsättning mottagare och kan organiseras efter vem eller när det skickades.
Exempel på semistrukturerad data: HTML, CSV-filer, JavaScript Object Notation (JSON)
Exempel på semi-strukturerad data: HTML, CSV-filer, JavaScript Object Notation (JSON)
## Datakällor
## Datakällor
En datakälla är den ursprungliga platsen där datan genererades, eller var den "lever" och varierar beroende på hur och när den samlades in. Data som genereras av dess användare kallas primärdata medan sekundärdata kommer från en källa som har samlat in data för allmänt bruk. Till exempel, en grupp forskare som samlar observationer i en regnskog skulle betraktas som primärdata, och om de bestämmer sig för att dela den med andra forskare skulle det betraktas som sekundärdata för dem som använder den.
En datakälla är den ursprungliga platsen där datan skapades eller där den "bor" och varierar beroende på hur och när den samlades in. Data som genereras av dess användare kallas primärdata medan sekundärdata kommer från en källa som samlat in data för allmänt bruk. Till exempel skulle en grupp forskare som samlar observationer i en regnskog betraktas som primär och om de bestämmer sig för att dela det med andra forskare skulle det betraktas som sekundär för dem som använder det.
Databaser är en vanlig källa och förlitar sig på ett databashanteringssystem för att vara värd för och underhålla datan där användare använder kommandon som kallas frågor för att utforska datan. Filer som datakällor kan vara ljud-, bild- och videofiler samt kalkylblad som Excel. Internetsidor är en vanlig plats för att vara värd för data, där både databaser och filer kan hittas. Applikationsprogrammeringsgränssnitt, även kända som API:er, gör det möjligt för programmerare att skapa sätt att dela data med externa användare via internet, medan processen för webbscraping extraherar data från en webbsida. [Lektionen i Att Arbeta med Data](../../../../../../../../../2-Working-With-Data) fokuserar på hur man använder olika datakällor.
Databaser är en vanlig källa och förlitar sig på ett databashanteringssystem för att vara värd för och underhålla datan där användare använder kommandon kallade frågor för att utforska datan. Filer som datakällor kan vara ljud-, bild- och videofiler samt kalkylblad som Excel. Internetsidor är en vanlig plats för värd för data, där databaser såväl som filer kan hittas. Programmeringsgränssnitt, även kallade API:er, tillåter programmerare att skapa sätt att dela data med externa användare via internet, medan processen webbskrapning extraherar data från en webbsida. [Lektionerna i Arbete med Data](../../../../../../../../../2-Working-With-Data) fokuserar på hur man använder olika datakällor.
## Slutsats
## Sammanfattning
I den här lektionen har vi lärt oss:
I denna lektion har vi lärt oss:
- Vad data är
- Hur data beskrivs
@ -54,22 +54,26 @@ I den här lektionen har vi lärt oss:
## 🚀 Utmaning
Kaggle är en utmärkt källa för öppna dataset. Använd [verktyget för dataset-sökning](https://www.kaggle.com/datasets) för att hitta några intressanta dataset och klassificera 3-5 dataset enligt följande kriterier:
Kaggle är en utmärkt källa för öppna dataset. Använd [datasetsökverktyget](https://www.kaggle.com/datasets) för att hitta några intressanta dataset och klassificera 3-5 dataset enligt dessa kriterier:
- Är datan kvantitativ eller kvalitativ?
- Är datan strukturerad, ostrukturerad eller semistrukturerad?
- Är datan strukturerad, ostrukturerad eller semi-strukturerad?
## [Efterföreläsningsquiz](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## Granskning & Självstudier
- Denna Microsoft Learn-enhet, med titeln [Klassificera din Data](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), har en detaljerad genomgång av strukturerad, semistrukturerad och ostrukturerad data.
- Denna Microsoft Learn-enhet, med titeln [Identify data formats](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) har en detaljerad översikt av strukturerad, semi-strukturerad och ostrukturerad data.
## Uppgift
[Klassificera Dataset](assignment.md)
[Klassificering av Dataset](assignment.md)
---
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, bör det noteras att automatiserade översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som kan uppstå vid användning av denna översättning.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -5,7 +5,7 @@
"metadata": {},
"source": [
"# Introduktion till sannolikhet och statistik\n",
"I denna anteckningsbok kommer vi att leka med några av de koncept som vi tidigare har diskuterat. Många koncept från sannolikhet och statistik är väl representerade i stora bibliotek för databehandling i Python, såsom `numpy` och `pandas`.\n"
"I denna anteckningsbok kommer vi att leka med några av de koncept vi tidigare har diskuterat. Många begrepp från sannolikhet och statistik är väl representerade i stora bibliotek för databehandling i Python, såsom `numpy` och `pandas`.\n"
]
},
{
@ -24,8 +24,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Slumpmässiga variabler och fördelningar\n",
"Låt oss börja med att dra ett stickprov på 30 värden från en uniform fördelning från 0 till 9. Vi kommer också att beräkna medelvärde och varians.\n"
"## Slumpvariabler och fördelningar\n",
"Låt oss börja med att dra ett stickprov på 30 värden från en likformig fördelning från 0 till 9. Vi kommer också att beräkna medelvärde och varians.\n"
]
},
{
@ -80,9 +80,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Vi använder ett paket som heter [**Pandas**](https://pandas.pydata.org/) här för dataanalys. Vi kommer att prata mer om Pandas och att arbeta med data i Python senare i den här kursen.\n",
"> Vi använder ett paket som heter [**Pandas**](https://pandas.pydata.org/) här för dataanalys. Vi kommer att prata mer om Pandas och att arbeta med data i Python senare i denna kurs.\n",
"\n",
"Låt oss beräkna genomsnittsvärden för ålder, längd och vikt:\n"
"Låt oss beräkna medelvärden för ålder, längd och vikt:\n"
]
},
{
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Låt oss nu fokusera på höjd och beräkna standardavvikelse och varians:\n"
"Nu fokuserar vi på längd och beräknar standardavvikelse och varians: \n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Förutom medelvärdet är det meningsfullt att titta på medianvärdet och kvartilerna. De kan visualiseras med ett **låddiagram**:\n"
"Förutom medelvärdet är det vettigt att titta på medianvärdet och kvartilerna. De kan visualiseras med hjälp av ett **boxplot**:\n"
]
},
{
@ -136,7 +136,7 @@
"outputs": [],
"source": [
"plt.figure(figsize=(10,2))\n",
"plt.boxplot(df['Height'].ffill(), vert=False, showmeans=True)\n",
"plt.boxplot(df['Height'].ffill(), orientation='horizontal', showmeans=True)\n",
"plt.grid(color='gray', linestyle='dotted')\n",
"plt.tight_layout()\n",
"plt.show()"
@ -146,7 +146,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vi kan också göra låddiagram av delmängder av vår dataset, till exempel grupperade efter spelarroll.\n"
"Vi kan också göra låddiagram av delmängder av vår datamängd, till exempel grupperade efter spelarens roll.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Notera**: Detta diagram antyder att första basmän generellt är längre än andra basmän. Senare kommer vi att lära oss hur vi kan testa denna hypotes mer formellt, och hur vi kan visa att våra data är statistiskt signifikanta för att påvisa detta. \n",
"> **Notera**: Detta diagram antyder att längderna för förstabasmän i genomsnitt är längre än längderna för andrabasmän. Senare kommer vi att lära oss hur vi kan testa denna hypotes mer formellt, och hur vi kan visa att våra data är statistiskt signifikanta för att bekräfta detta. \n",
"\n",
"Ålder, längd och vikt är alla kontinuerliga stokastiska variabler. Vad tror du att deras fördelning är? Ett bra sätt att ta reda på det är att plotta histogrammet av värdena: \n"
"Ålder, längd och vikt är alla kontinuerliga stokastiska variabler. Vad tror du att deras fördelning är? Ett bra sätt att ta reda på det är att rita histogram för värdena: \n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Eftersom de flesta värden i verkliga livet är normalt fördelade, bör vi inte använda en uniform slumptalsgenerator för att generera provdata. Här är vad som händer om vi försöker generera vikter med en uniform fördelning (genererad av `np.random.rand`):\n"
"Eftersom de flesta värden i verkliga livet är normalt fördelade bör vi inte använda en uniform slumpgenerator för att generera provdata. Så här ser det ut om vi försöker generera vikter med en uniform fördelning (genererad av `np.random.rand`):\n"
]
},
{
@ -253,7 +253,7 @@
"source": [
"## Konfidensintervall\n",
"\n",
"Låt oss nu beräkna konfidensintervall för vikterna och längderna hos basebollspelare. Vi kommer att använda koden [från denna stackoverflow-diskussion](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"Låt oss nu beräkna konfidensintervall för vikterna och längderna basebollspelare. Vi kommer att använda koden [från denna stackoverflow-diskussion](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
]
},
{
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
]
},
@ -282,7 +282,7 @@
"source": [
"## Hypotesprövning\n",
"\n",
"Låt oss utforska olika roller i vår basebollspelar-dataset:\n"
"Låt oss utforska olika roller i vår dataset med basebollspelare:\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Låt oss testa hypotesen att försteklassmän är längre än andraklassmän. Det enklaste sättet att göra detta är att testa konfidensintervallen:\n"
"Låt oss testa hypotesen att Förstabasmän är längre än Andrabasmän. Det enklaste sättet att göra detta är att testa konfidensintervallen:\n"
]
},
{
@ -338,8 +338,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"De två värdena som returneras av funktionen `ttest_ind` är:\n",
"* p-värdet kan betraktas som sannolikheten för att två fördelningar har samma medelvärde. I vårt fall är det mycket lågt, vilket betyder att det finns starka bevis som stöder att förstebasmän är längre.\n",
"De två värden som returneras av funktionen `ttest_ind` är:\n",
"* p-värdet kan betraktas som sannolikheten för att två fördelningar har samma medelvärde. I vårt fall är det mycket lågt, vilket betyder att det finns starka bevis för att försteklassare är längre.\n",
"* t-värdet är det mellanliggande värdet av normaliserad medelskillnad som används i t-testet, och det jämförs med ett tröskelvärde för ett givet konfidensvärde.\n"
]
},
@ -349,7 +349,7 @@
"source": [
"## Simulera en normalfördelning med centrala gränsvärdessatsen\n",
"\n",
"Den pseudotillfälliga generatorn i Python är utformad för att ge oss en jämn fördelning. Om vi vill skapa en generator för normalfördelning kan vi använda centrala gränsvärdessatsen. För att få ett normalt fördelat värde beräknar vi helt enkelt medelvärdet av ett uniformt genererat urval.\n"
"Pseudo-slumpgeneratorn i Python är utformad för att ge oss en jämn fördelning. Om vi vill skapa en generator för normalfördelning kan vi använda den centrala gränsvärdessatsen. För att få ett värde som är normalfördelat räknar vi helt enkelt ut medelvärdet av ett uniformt genererat urval.\n"
]
},
{
@ -373,9 +373,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Korrelations- och Evil Baseball Corp\n",
"## Korrelation och Evil Baseball Corp\n",
"\n",
"Korrelations möjliggör för oss att hitta relationer mellan datasekvenser. I vårt leksaksexempel, låtsas att det finns ett ondskefullt basebollföretag som betalar sina spelare utifrån deras längd - ju längre spelaren är, desto mer pengar får han/hon. Antag att det finns en grundlön på 1000 dollar, och en extra bonus från 0 till 100 dollar, beroende på längd. Vi tar riktiga spelare från MLB och beräknar deras imaginära löner:\n"
"Korrelation gör det möjligt för oss att hitta relationer mellan dataserier. I vårt leksaksexempel, låtsas att det finns en ond basebollföretag som betalar sina spelare efter deras längd ju längre spelaren är, desto mer pengar får han/hon. Anta att det finns en grundlön på 1000 dollar, och en ytterligare bonus från 0 till 100 dollar, beroende på längd. Vi kommer att ta de verkliga spelarna från MLB och beräkna deras imaginära löner:\n"
]
},
{
@ -384,7 +384,7 @@
"metadata": {},
"outputs": [],
"source": [
"heights = df['Height'].fillna(method='pad')\n",
"heights = df['Height'].ffill()\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@ -393,7 +393,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Låt oss nu beräkna kovarians och korrelation för dessa sekvenser. `np.cov` ger oss en så kallad **kovariansmatris**, som är en utvidgning av kovarians till flera variabler. Elementet $M_{ij}$ i kovariansmatrisen $M$ är en korrelation mellan indata variablerna $X_i$ och $X_j$, och diagonala värden $M_{ii}$ är variansen för $X_{i}$. På samma sätt ger `np.corrcoef` oss **korrelationsmatrisen**.\n"
"Låt oss nu beräkna kovarians och korrelation för dessa sekvenser. `np.cov` ger oss en så kallad **kovariansmatris**, vilket är en utvidgning av kovarians till flera variabler. Elementet $M_{ij}$ i kovariansmatrisen $M$ är en korrelation mellan indata variablerna $X_i$ och $X_j$, och diagonala värden $M_{ii}$ är variansen för $X_{i}$. På samma sätt ger `np.corrcoef` oss **korrelationsmatrisen**.\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"En korrelation som är lika med 1 betyder att det finns en stark **linjär relation** mellan två variabler. Vi kan visuellt se den linjära relationen genom att plotta ett värde mot det andra:\n"
"En korrelation lika med 1 betyder att det finns ett starkt **linjärt samband** mellan två variabler. Vi kan visuellt se det linjära sambandet genom att plotta ett värde mot det andra:\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Låt oss se vad som händer om relationen inte är linjär. Anta att vårt företag beslutade att dölja det uppenbara linjära sambandet mellan längder och löner, och införde någon icke-linjär funktion i formeln, som till exempel `sin`:\n"
"Låt oss se vad som händer om relationen inte är linjär. Anta att vårt företag bestämde sig för att dölja det uppenbara linjära sambandet mellan längder och löner, och införde någon icke-linjär funktion i formeln, såsom `sin`:\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"I det här fallet är korrelationen något mindre, men den är fortfarande ganska hög. Nu, för att göra sambandet ännu mindre uppenbart, kanske vi vill lägga till lite extra slumpmässighet genom att lägga till en slumpvariabel till lönen. Låt oss se vad som händer:\n"
"I det här fallet är korrelationen något mindre, men den är fortfarande ganska hög. Nu, för att göra sambandet ännu mindre uppenbart, kanske vi vill lägga till lite extra slumpmässighet genom att lägga till någon slumpmässig variabel till lönen. Låt oss se vad som händer:\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Kan du gissa varför prickarna bildar vertikala linjer på detta sätt?\n",
"> Kan du gissa varför prickarna radas upp i vertikala linjer som detta?\n",
"\n",
"Vi har observerat sambandet mellan ett konstgjort framtaget koncept som lön och den observerade variabeln *längd*. Låt oss även se om de två observerade variablerna, såsom längd och vikt, korrelerar också:\n"
"Vi har observerat korrelationen mellan ett konstgjort konstruerat begrepp som lön och den observerade variabeln *längd*. Låt oss också se om de två observerade variablerna, såsom längd och vikt, också korrelerar:\n"
]
},
{
@ -494,9 +494,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Tyvärr fick vi inga resultat endast några märkliga `nan`-värden. Detta beror på att några av värdena i vår serie är odefinierade, representerade som `nan`, vilket gör att resultatet av operationen också blir odefinierat. Genom att titta på matrisen kan vi se att `Weight` är den problematiska kolumnen, eftersom självkorrelationen mellan `Height`-värden har beräknats.\n",
"Tyvärr fick vi inga resultat - bara några konstiga `nan`-värden. Detta beror på att några av värdena i vår serie är odefinierade, representerade som `nan`, vilket gör att resultatet av operationen också blir odefinierat. Genom att titta på matrisen kan vi se att `Weight` är den problematiska kolumnen, eftersom självkorrelation mellan `Height`-värden har beräknats.\n",
"\n",
"> Detta exempel visar vikten av **datapreparering** och **rengöring**. Utan korrekt data kan vi inte beräkna något.\n",
"> Detta exempel visar vikten av **datapreparation** och **rensning**. Utan korrekt data kan vi inte beräkna något.\n",
"\n",
"Låt oss använda metoden `fillna` för att fylla i de saknade värdena och beräkna korrelationen:\n"
]
@ -507,14 +507,14 @@
"metadata": {},
"outputs": [],
"source": [
"np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
"np.corrcoef(df['Height'].ffill(), df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Det finns faktiskt en korrelation, men inte en så stark som i vårt artificiella exempel. Om vi tittar på spridningsdiagrammet för ett värde mot det andra, skulle relationen vara mycket mindre uppenbar:\n"
"Det finns verkligen ett samband, men inte ett lika starkt som i vårt artificiella exempel. Om vi tittar på spridningsdiagrammet för ett värde mot det andra, skulle relationen vara mycket mindre uppenbar:\n"
]
},
{
@ -537,14 +537,14 @@
"source": [
"## Slutsats\n",
"\n",
"I denna anteckningsbok har vi lärt oss hur man utför grundläggande operationer på data för att beräkna statistiska funktioner. Vi vet nu hur man använder ett gediget verktyg av matematik och statistik för att bevisa några hypoteser, och hur man beräknar konfidensintervall för godtyckliga variabler baserat på ett dataurval.\n"
"I denna anteckningsbok har vi lärt oss hur man utför grundläggande operationer på data för att beräkna statistiska funktioner. Vi vet nu hur man använder ett gediget verktyg av matematik och statistik för att bevisa vissa hypoteser, och hur man beräknar konfidensintervall för godtyckliga variabler givet ett dataprovtagningsurval. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, bör du vara medveten om att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess ursprungliga språk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår vid användning av denna översättning.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -568,12 +568,6 @@
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.6"
},
"coopTranslator": {
"original_hash": "0f899e3c5019f948e7c787b22f3b2304",
"translation_date": "2026-01-16T14:49:49+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "sv"
}
},
"nbformat": 4,

@ -6,9 +6,9 @@
"source": [
"# Uppskattning av COVID-19-pandemin\n",
"\n",
"## Laddar data\n",
"## Ladda data\n",
"\n",
"Vi kommer att använda data om COVID-19-smittade individer, tillhandahållen av [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) vid [Johns Hopkins University](https://jhu.edu/). Dataset är tillgängligt i [detta GitHub-repositorium](https://github.com/CSSEGISandData/COVID-19).\n"
"Vi kommer att använda data om COVID-19 smittade individer, tillhandahållna av [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) vid [Johns Hopkins University](https://jhu.edu/). Dataset är tillgängligt i [denna GitHub Repository](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vi kan ladda den senaste datan direkt från GitHub med `pd.read_csv`. Om datan av någon anledning inte är tillgänglig kan du alltid använda kopian som finns lokalt i mappen `data` - bara avkommentera raden nedan som definierar `base_url`:\n"
"Vi kan ladda den senaste datan direkt från GitHub med `pd.read_csv`. Om datan av någon anledning inte är tillgänglig kan du alltid använda kopian som finns lokalt i `data`-mappen - bara avkommentera raden nedan som definierar `base_url`:\n"
]
},
{
@ -282,9 +282,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Att Förstå Data\n",
"## Att göra data begriplig\n",
"\n",
"Från tabellen ovan är rollen för kolumnen province inte tydlig. Låt oss titta på de olika värden som finns i kolumnen `Province/State`:\n"
"Från tabellen ovan är rollen för kolumnen provins inte tydlig. Låt oss titta på de olika värden som finns i kolumnen `Province/State`:\n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Från namnen kan vi dra slutsatsen att länder som Australien och Kina har mer detaljerad indelning efter provinser. Låt oss leta efter information om Kina för att se exemplet:\n"
"Från namnen kan vi dra slutsatsen att länder som Australien och Kina har mer detaljerad uppdelning efter provinser. Låt oss leta efter information om Kina för att se exemplet:\n"
]
},
{
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Förbehandling av data\n",
"## Förbehandling av data \n",
"\n",
"Vi är inte intresserade av att bryta ner länder till ytterligare territorier, så vi skulle först ta bort denna uppdelning och lägga till information om alla territorier tillsammans för att få information för hela landet. Detta kan göras med hjälp av `groupby`:\n"
"Vi är inte intresserade av att dela upp länder i ytterligare territorier, därför tar vi först bort denna uppdelning och lägger till information för alla territorier tillsammans, för att få information för hela landet. Detta kan göras med `groupby`:\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Observera** hur vi använder `[3:]` för att ta bort de första tre elementen i en sekvens som innehåller metadata som inte är datum (Provinsen/Stat och geografiska kolumner). Vi kan också ta bort dessa tre kolumner helt och hållet:\n"
"> **Observera** hur vi använder `[3:]` för att ta bort de första tre elementen i en sekvens som innehåller icke-datummetadata (Provins/Stat och geolokaliseringskolumnerna). Vi kan också ta bort dessa tre kolumner helt:\n"
]
},
{
@ -1625,9 +1625,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Undersöka datan\n",
"## Undersöka data\n",
"\n",
"Låt oss nu byta till att undersöka ett specifikt land. Låt oss skapa en frame som innehåller data om infektioner indexerade efter datum:\n"
"Låt oss nu gå över till att undersöka ett specifikt land. Låt oss skapa en ram som innehåller data om infektioner indexerade efter datum:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Nu låt oss beräkna antalet nya smittade personer varje dag. Detta gör att vi kan se hur snabbt pandemin utvecklas. Det enklaste sättet att göra detta är att använda `diff`:\n"
"Nu låt oss beräkna antalet nya smittade varje dag. Detta kommer att göra det möjligt för oss att se hur snabbt pandemin utvecklas. Det enklaste sättet att göra detta är att använda `diff`:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vi kan se stora fluktuationer i data. Låt oss titta närmare på en av månaderna:\n"
"Vi kan se stora variationer i data. Låt oss titta närmare på en av månaderna:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Det ser tydligt ut som att det finns veckovisa variationer i data. Eftersom vi vill kunna se trenderna är det logiskt att jämna ut kurvan genom att beräkna ett rullande medelvärde (dvs. för varje dag kommer vi att beräkna medelvärdet av de föregående flera dagarna):\n"
"Det ser tydligt ut som att det finns veckovisa fluktuationer i data. Eftersom vi vill kunna se trenderna är det vettigt att jämna ut kurvan genom att beräkna ett rörligt medelvärde (dvs. för varje dag beräknar vi medelvärdet av de föregående dagarna):\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"För att kunna jämföra flera länder kan vi vilja ta hänsyn till landets befolkning och jämföra procentandelen smittade individer i förhållande till landets befolkning. För att få landets befolkning, låt oss ladda datasetet med länder:\n"
"För att kunna jämföra flera länder kan vi vilja ta hänsyn till landets befolkning och jämföra andelen infekterade individer i förhållande till landets befolkning. För att få landets befolkning, låt oss ladda datasetet för länder:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Eftersom denna datamängd innehåller information om både länder och provinser, för att få befolkningen för hela landet behöver vi vara lite kluriga:\n"
"Eftersom denna datamängd innehåller information om både länder och provinser, behöver vi vara lite kluriga för att få fram hela landets befolkning: \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Beräkning av $R_t$\n",
"\n",
"För att se hur smittsam sjukdomen är, tittar vi på **det grundläggande reproduktionstalet** $R_0$, som anger antalet personer som en smittad person skulle smitta vidare. När $R_0$ är större än 1, är det sannolikt att epidemin sprider sig.\n",
"För att se hur smittsam sjukdomen är tittar vi på **det grundläggande reproduktionstalet** $R_0$, som anger antalet personer som en smittad person vidare smittar. När $R_0$ är större än 1 är det sannolikt att epidemin sprids.\n",
"\n",
"$R_0$ är en egenskap hos själva sjukdomen och tar inte hänsyn till vissa skyddsåtgärder som människor kan vidta för att bromsa pandemin. Under pandemins förlopp kan vi uppskatta reproduktionstalet $R_t$ vid en given tidpunkt $t$. Det har visats att detta tal ungefär kan uppskattas genom att ta ett fönster på 8 dagar och beräkna $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"där $I_t$ är antalet nyinfekterade individer på dag $t$.\n",
"\n",
"Låt oss beräkna $R_t$ för våra pandemidata. För att göra detta tar vi ett rullande fönster på 8 `ninfected`-värden och tillämpar funktionen för att beräkna kvoten ovan:\n"
"Låt oss beräkna $R_t$ för våra pandemidata. För att göra detta tar vi ett glidande fönster av 8 `ninfected`-värden och applicerar funktionen för att beräkna kvoten ovan:\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Du kan se att det finns några luckor i grafen. Dessa kan orsakas antingen av `NaN`, eller om `inf` värden finns i datasetet. `inf` kan orsakas av division med 0, och `NaN` kan indikera saknade data, eller inga data tillgängliga för att beräkna resultatet (som i början av vår ram, där ett rullande fönster med bredd 8 ännu inte är tillgängligt). För att göra grafen snyggare behöver vi fylla dessa värden med hjälp av funktionerna `replace` och `fillna`.\n",
"Du kan se att det finns några luckor i grafen. Dessa kan orsakas av antingen `NaN` eller om `inf`-värden finns i datasetet. `inf` kan bero på division med 0, och `NaN` kan indikera saknade data, eller att det inte finns någon data tillgänglig för att beräkna resultatet (som i början av vår ram, där det rullande fönstret med bredd 8 ännu inte är tillgängligt). För att göra grafen snyggare behöver vi fylla dessa värden med hjälp av `replace` och `fillna`-funktionen.\n",
"\n",
"Låt oss titta närmare på början av pandemin. Vi kommer också att begränsa y-axelns värden för att visa endast värden under 6, för att kunna se bättre, och rita en horisontell linje vid 1.\n"
"Låt oss titta närmare på början av pandemin. Vi kommer också att begränsa y-axelns värden för att endast visa värden under 6, för att se bättre, och rita en horisontell linje vid 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"En annan intressant indikator på pandemin är **derivatan**, eller **daglig skillnad** i nya fall. Den gör att vi tydligt kan se när pandemin ökar eller avtar.\n"
"En annan intressant indikator på pandemin är **derivatan**, eller **dagliga skillnaden** i nya fall. Den gör att vi tydligt kan se när pandemin ökar eller minskar. \n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Med tanke på att det finns många variationer i data orsakade av rapportering, är det vettigt att jämna ut kurvan genom att använda rullande medelvärde för att få en övergripande bild. Låt oss återigen fokusera på de första månaderna av pandemin:\n"
"Med tanke på att det finns många variationer i data orsakade av rapportering, är det vettigt att jämna ut kurvan genom att köra glidande medelvärde för att få en övergripande bild. Låt oss återigen fokusera på de första månaderna av pandemin:\n"
]
},
{
@ -2390,14 +2391,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Utmaning\n",
"\n",
"Nu är det dags för dig att leka mer med koden och datan! Här är några förslag du kan experimentera med:\n",
"* Se spridningen av pandemin i olika länder.\n",
"* Plotta $R_t$-grafer för flera länder på en och samma graf för jämförelse, eller gör flera grafer sida vid sida.\n",
"* Se hur antalet dödsfall och återhämtningar korrelerar med antalet smittade.\n",
"* Försök ta reda på hur länge en typisk sjukdom varar genom att visuellt korrelera infektionshastighet och dödshastighet och leta efter vissa avvikelser. Du kan behöva titta på olika länder för att ta reda på det.\n",
"* Beräkna dödlighetsgraden och hur den förändras över tid. Du kanske vill ta hänsyn till sjukdomens längd i dagar för att förskjuta en tidsserie innan du gör beräkningar.\n"
"* Rita $R_t$-grafer för flera länder i en och samma graf för jämförelse, eller gör flera grafer sida vid sida\n",
"* Se hur antalet dödsfall och återhämtningar korrelerar med antalet infekterade.\n",
"* Försök ta reda på hur lång tid en typisk sjukdom varar genom att visuellt korrelera infektionshastighet och dödshastighet och leta efter några avvikelser. Du kan behöva titta på olika länder för att hitta det.\n",
"* Beräkna dödlighetsgraden och hur den ändras över tid. Du kan vilja ta hänsyn till sjukdomens längd i dagar för att förskjuta en tidsserie innan du gör beräkningar\n"
]
},
{
@ -2406,10 +2408,10 @@
"source": [
"## Referenser\n",
"\n",
"Du kan titta på ytterligare studier om spridningen av COVID-epidemin i följande publikationer:\n",
"Du kan titta på ytterligare studier av COVID-epidemins spridning i följande publikationer:\n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), blogginlägg av [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimation of Time-Dependent Reproduction Number for Global COVID-19 Outbreak](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Kod för ovanstående artikel på GitHub](https://github.com/shwars/SlidingSIR)\n"
"* [Code for the above paper on GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Trots att vi strävar efter noggrannhet, vänligen var medveten om att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess originals språk ska betraktas som den auktoritativa källan. För viktig information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],

@ -1,13 +1,13 @@
# Projekt för datavisualisering av Dangerous Liaisons
# Dangerous Liaisons datavisualiseringsprojekt
För att komma igång behöver du säkerställa att du har NPM och Node installerade på din dator. Installera beroenden (npm install) och kör sedan projektet lokalt (npm run serve):
För att komma igång måste du säkerställa att du har NPM och Node **>=20.0.0** installerat på din dator. Installera beroenden (npm install) och kör sedan projektet lokalt (npm run serve):
## Projektinställning
## Projektuppsättning
```
npm install
```
### Kompilerar och laddar om för utveckling
### Kompilerar och laddar om snabbt för utveckling
```
npm run serve
```
@ -17,15 +17,17 @@ npm run serve
npm run build
```
### Lintar och åtgärdar filer
### Linter och fixar filer
```
npm run lint
```
### Anpassa konfiguration
### Anpassa konfigurationen
Se [Configuration Reference](https://cli.vuejs.org/config/).
---
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen notera att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,31 +1,33 @@
# Dangerous Liaisons datavisualiseringsprojekt
# Dangerous Liaisons data visualiseringsprojekt
För att komma igång behöver du se till att du har NPM och Node installerade på din dator. Installera beroenden (npm install) och kör sedan projektet lokalt (npm run serve):
För att komma igång måste du säkerställa att du har NPM och Node **>=20.0.0** installerade på din dator. Installera beroenden (npm install) och kör sedan projektet lokalt (npm run serve):
## Projektinställning
```
npm install
```
### Kompilerar och uppdaterar automatiskt för utveckling
### Kompilerar och laddar om automatiskt för utveckling
```
npm run serve
```
### Kompilerar och minimerar för produktion
### Kompilerar och minifierar för produktion
```
npm run build
```
### Lintar och åtgärdar filer
### Lintar och fixar filer
```
npm run lint
```
### Anpassa konfiguration
Se [Konfigurationsreferens](https://cli.vuejs.org/config/).
### Anpassa konfigurationen
Se [Configuration Reference](https://cli.vuejs.org/config/).
---
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen notera att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -12,8 +12,8 @@
"language_code": "th"
},
"1-Introduction/01-defining-data-science/notebook.ipynb": {
"original_hash": "8f5eb7b3f7cc89e6d98fb32e1de65dec",
"translation_date": "2026-02-27T09:34:20+00:00",
"original_hash": "8eb07e3d899aaba7ea9c9ec9b5aa2850",
"translation_date": "2026-07-17T22:51:34+00:00",
"source_file": "1-Introduction/01-defining-data-science/notebook.ipynb",
"language_code": "th"
},
@ -42,8 +42,8 @@
"language_code": "th"
},
"1-Introduction/03-defining-data/README.md": {
"original_hash": "12339119c0165da569a93ddba05f9339",
"translation_date": "2025-09-05T21:37:04+00:00",
"original_hash": "7217c6f9eb464d4ff4bae6c036ab53cb",
"translation_date": "2026-07-17T22:55:56+00:00",
"source_file": "1-Introduction/03-defining-data/README.md",
"language_code": "th"
},
@ -65,6 +65,12 @@
"source_file": "1-Introduction/04-stats-and-probability/assignment.md",
"language_code": "th"
},
"1-Introduction/04-stats-and-probability/notebook.ipynb": {
"original_hash": "0c77e104b29c723287bf11b773fcc5d5",
"translation_date": "2026-07-17T22:52:35+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "th"
},
"1-Introduction/README.md": {
"original_hash": "696a8474a01054281704cbfb09148949",
"translation_date": "2025-08-26T21:13:45+00:00",
@ -108,8 +114,8 @@
"language_code": "th"
},
"2-Working-With-Data/07-python/notebook-covidspread.ipynb": {
"original_hash": "6335cccba01dc6ad7b15aba7a8c73f38",
"translation_date": "2026-02-27T09:36:01+00:00",
"original_hash": "da97f98781c7cd271063f605fe8d71d0",
"translation_date": "2026-07-17T22:51:06+00:00",
"source_file": "2-Working-With-Data/07-python/notebook-covidspread.ipynb",
"language_code": "th"
},
@ -192,14 +198,14 @@
"language_code": "th"
},
"3-Data-Visualization/13-meaningful-visualizations/solution/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-26T22:46:59+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:56:02+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/solution/README.md",
"language_code": "th"
},
"3-Data-Visualization/13-meaningful-visualizations/starter/README.md": {
"original_hash": "5c51a54dd89075a7a362890117b7ed9e",
"translation_date": "2025-08-26T22:46:21+00:00",
"original_hash": "2b3b2632bb02af608ca60be828e8097d",
"translation_date": "2026-07-17T22:55:59+00:00",
"source_file": "3-Data-Visualization/13-meaningful-visualizations/starter/README.md",
"language_code": "th"
},

File diff suppressed because one or more lines are too long

@ -1,47 +1,47 @@
# การกำหนดข้อมูล
|![ Sketchnote โดย [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)|
|![ สเก็ตช์โน้ตโดย [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)|
|:---:|
|การกำหนดข้อมูล - _Sketchnote โดย [@nitya](https://twitter.com/nitya)_ |
|การกำหนดข้อมูล - _สเก็ตช์โน้ตโดย [@nitya](https://twitter.com/nitya)_ |
ข้อมูลคือข้อเท็จจริง, ข้อมูล, การสังเกต และการวัดผลที่ถูกใช้เพื่อค้นพบสิ่งใหม่ ๆ และสนับสนุนการตัดสินใจที่มีข้อมูลประกอบ จุดข้อมูลคือหน่วยเดียวของข้อมูลในชุดข้อมูล ซึ่งเป็นการรวบรวมจุดข้อมูล ชุดข้อมูลอาจมรูปแบบและโครงสร้างที่แตกต่างกัน และมักจะขึ้นอยู่กับแหล่งที่มา หรือที่มาของข้อมูล ตัวอย่างเช่น รายได้รายเดือนของบริษัทอาจอยู่ในรูปแบบสเปรดชีต แต่ข้อมูลอัตราการเต้นของหัวใจรายชั่วโมงจากสมาร์วอทช์อาจอยู่ในรูปแบบ [JSON](https://stackoverflow.com/a/383699) เป็นเรื่องปกติที่นักวิทยาศาสตร์ข้อมูลจะทำงานกับข้อมูลประเภทต่าง ๆ ภายในชุดข้อมูลเดียวกัน
ข้อมูลคือข้อเท็จจริง ข้อมูลสังเกตการณ์และการวัดที่ใช้ในการค้นพบและสนับสนุนการตัดสินใจอย่างมีข้อมูล จุดข้อมูลคือหน่วยข้อมูลเดียวภายในชุดข้อมูล ซึ่งเป็นการรวบรวมของจุดข้อมูล ชุดข้อมูลอาจมาในรูปแบบและโครงสร้างที่แตกต่างกัน และมักจะขึ้นอยู่กับแหล่งที่มา หรือต้นทาของข้อมูล เช่น รายได้รายเดือนของบริษัทอาจอยู่ในสเปรดชีต แต่ข้อมูลอัตราการเต้นของหัวใจรายชั่วโมงจากสมาร์วอทช์อาจอยู่ในรูปแบบ [JSON](https://stackoverflow.com/a/383699) นักวิทยาศาสตร์ข้อมูลมักทำงานกับข้อมูลประเภทต่าง ๆ ภายในชุดข้อมูล
บทเรียนนี้มุ่งเน้นไปที่การระบุและจัดประเภทข้อมูลตามลักษณะและแหล่งที่มาของข้อมูล
บทเรียนนี้มุ่งเน้นไปที่การระบุและจัดประเภทข้อมูลตามลักษณะและแหล่งที่มา
## [แบบทดสอบก่อนเรียน](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## [แบบทดสอบก่อนบรรยาย](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## วิธีการอธิบายข้อมูล
### ข้อมูลดิบ
ข้อมูลดิบคือข้อมูลที่มาจากแหล่งที่มาในสภาพเริ่มต้นและยังไม่ได้รับการวิเคราะห์หรือจัดระเบียบ เพื่อให้เข้าใจสิ่งที่เกิดขึ้นในชุดข้อมูล จำเป็นต้องจัดระเบียบข้อมูลให้อยู่ในรูปแบบที่มนุษย์และเทคโนโลยีที่ใช้วิเคราะห์สามารถเข้าใจได้ โครงสร้างของชุดข้อมูลอธิบายถึงวิธีการจัดระเบียบและสามารถจัดประเภทเป็นข้อมูลที่มีโครงสร้าง, ไม่มีโครงสร้าง และกึ่งโครงสร้าง ประเภทของโครงสร้างเหล่านี้จะแตกต่างกันไปตามแหล่งที่มา แต่สุดท้ายจะอยู่ในสามประเภทนี้
ข้อมูลดิบคือข้อมูลที่มาจากแหล่งที่มาในสถานะเริ่มต้นและยังไม่ได้รับการวิเคราะห์หรือจัดระเบียบ เพื่อทำความเข้าใจสิ่งที่เกิดขึ้นกับชุดข้อมูล จำเป็นต้องจัดระเบียบให้อยู่ในรูปแบบที่มนุษย์และเทคโนโลยีที่ใช้วิเคราะห์สามารถเข้าใจได้ โครงสร้างของชุดข้อมูลบอกว่าข้อมูลถูกจัดระเบียบอย่างไร และสามารถจัดประเภทเป็น โครงสร้าง, ไม่มีโครงสร้าง และกึ่งโครงสร้าง โครงสร้างเหล่านี้จะแตกต่างกันไปตามแหล่งที่มา แต่จะอยู่ในสามหมวดหมู่นี้
### ข้อมูลเชิงปริมาณ
ข้อมูลเชิงปริมาณคือการสังเกตเชิงตัวเลขภายในชุดข้อมูล และมักจะสามารถวิเคราะห์, วัดผล และใช้ในทางคณิตศาสตร์ ตัวอย่างของข้อมูลเชิงปริมาณ ได้แก่ ประชากรของประเทศ, ความสูงของบุคคล หรือรายได้รายไตรมาสของบริษัท ด้วยการวิเคราะห์เพิ่มเติม ข้อมูลเชิงปริมาณสามารถใช้ค้นหาแนวโน้มตามฤดูกาลของดัชนีคุณภาพอากาศ (AQI) หรือประมาณความน่าจะเป็นของการจราจรในชั่วโมงเร่งด่วนในวันทำงานทั่วไป
ข้อมูลเชิงปริมาณคือการสังเกตเชิงตัวเลขภายในชุดข้อมูลและโดยทั่วไปสามารถวิเคราะห์ วัด และใช้ในทางคณิตศาสตร์ ตัวอย่างข้อมูลเชิงปริมาณ เช่น จำนวนประชากรของประเทศ ความสูงของบุคคล หรือรายได้รายไตรมาสของบริษัท ด้วยการวิเคราะห์เพิ่มเติม ข้อมูลเชิงปริมาณสามารถใช้ค้นหาแนวโน้มตามฤดูกาลของดัชนีคุณภาพอากาศ (AQI) หรือประมาณความเป็นไปได้ของการจราจรในชั่วโมงเร่งด่วนในวันที่ทำงานทั่วไป
### ข้อมูลเชิงคุณภาพ
ข้อมูลเชิงคุณภาพ หรือที่รู้จักกันในชื่อข้อมูลเชิงหมวดหมู่ คือข้อมูลที่ไม่สามารถวัดผลได้อย่างเป็นวัตถุวิสัยเหมือนการสังเกตข้อมูลเชิงปริมาณ โดยทั่วไปแล้วจะเป็นข้อมูลเชิงอัตวิสัยในรูปแบบต่าง ๆ ที่จับคุณภาพของบางสิ่ง เช่น ผลิตภัณฑ์หรือกระบวนการ บางครั้งข้อมูลเชิงคุณภาพเป็นตัวเลข แต่ไม่ได้ถูกใช้ในทางคณิตศาสตร์ เช่น หมายเลขโทรศัพท์หรือเวลาประทับ ตัวอย่างของข้อมูลเชิงคุณภาพ ได้แก่ ความคิดเห็นในวิดีโอ, ยี่ห้อและรุ่นของรถ หรือสีโปรดของเพื่อนสนิท ข้อมูลเชิงคุณภาพสามารถใช้เพื่อทำความเข้าใจว่าผลิตภัณฑ์ใดที่ผู้บริโภคชื่นชอบมากที่สุด หรือระบุคำสำคัญยอดนิยมในประวัติการสมัครงาน
ข้อมูลเชิงคุณภาพหรือที่เรียกว่าข้อมูลเชิงหมวดหมู่ คือข้อมูลที่ไม่สามารถวัดได้แบบวัตถุประสงค์เหมือนการสังเกตของข้อมูลเชิงปริมาณ โดยทั่วไปเป็นรูปแบบต่าง ๆ ของข้อมูลเชิงอัตนัยที่จับคุณภาพของสิ่งใดสิ่งหนึ่ง เช่น ผลิตภัณฑ์หรือกระบวนการ บางครั้งข้อมูลเชิงคุณภาพเป็นตัวเลขและโดยทั่วไปจะไม่ได้ใช้ในทางคณิตศาสตร์ เช่น หมายเลขโทรศัพท์หรือเวลาบันทึก ตัวอย่างข้อมูลเชิงคุณภาพ เช่น ความคิดเห็นในวิดีโอ ยี่ห้อและรุ่นของรถ หรือสีโปรดของเพื่อนสนิท ข้อมูลเชิงคุณภาพสามารถใช้ทำความเข้าใจว่าสินค้าใดที่ผู้บริโภครักมากที่สุด หรือระบุคำสำคัญยอดนิยมในประวัติย่อสมัครงาน
### ข้อมูลที่มีโครงสร้าง
ข้อมูลที่มีโครงสร้างคือข้อมูลที่ถูกจัดระเบียบในรูปแบบแถวและคอลัมน์ โดยที่แต่ละแถวจะมีชุดคอลัมน์เดียวกัน คอลัมน์แสดงค่าของประเภทเฉพาะและจะถูกระบุด้วยชื่อที่อธิบายว่าค่าแสดงถึงอะไร ในขณะที่แถวมีค่าจริง คอลัมน์มักจะมีชุดกฎหรือข้อจำกัดเฉพาะเกี่ยวกับค่า เพื่อให้แน่ใจว่าค่าแสดงถึงคอลัมน์อย่างถูกต้อง ตัวอย่างเช่น ลองนึกภาพสเปรดชีตของลูกค้า โดยที่แต่ละแถวต้องมีหมายเลขโทรศัพท์ และหมายเลขโทรศัพท์จะไม่มีตัวอักษร อาจมีกฎที่ใช้กับคอลัมน์หมายเลขโทรศัพท์เพื่อให้แน่ใจว่าไม่มีช่องว่างและมีเพียงตัวเลขเท่านั้น
### ข้อมูลโครงสร้าง
ข้อมูลโครงสร้างคือข้อมูลที่จัดระเบียบเป็นแถวและคอลัมน์ ซึ่งแต่ละแถวจะมีชุดคอลัมน์เดียวกัน คอลัมน์แทนค่าของประเภทข้อมูลเฉพาะและจะมีชื่ออธิบายค่าที่แทน ในขณะที่แถวจะมีค่าจริง คอลัมน์มักมีชุดกฎหรือข้อจำกัดเฉพาะบค่าที่อยู่ เพื่อให้แน่ใจว่าค่าแสดงถึงคอลัมน์ได้อย่างถูกต้อง เช่น สมมุติว่ามีสเปรดชีตของลูกค้าที่แต่ละแถวต้องมีหมายเลขโทรศัพท์และหมายเลขโทรศัพท์นั้นต้องไม่มีตัวอักษรภาษาอังกฤษ อาจมีกฎที่ใช้บนคอลัมน์หมายเลขโทรศัพท์เพื่อให้แน่ใจว่าไม่ว่างและมีแต่ตัวเลขเท่านั้น
ข้อดีของข้อมูลที่มีโครงสร้างคือสามารถจัดระเบียบในลักษณะที่สามารถเชื่อมโยงกับข้อมูลที่มีโครงสร้างอื่น ๆ ได้ อย่างไรก็ตาม เนื่องจากข้อมูลถูกออกแบบมาให้จัดระเบียบในรูปแบบเฉพาะ การเปลี่ยนแปลงโครงสร้างโดยรวมอาจใช้ความพยายามมาก ตัวอย่างเช่น การเพิ่มคอลัมน์อีเมลในสเปรดชีตลูกค้าที่ไม่สามารถว่างเปล่าได้ หมายความว่าคุณต้องหาวิธีเพิ่มค่าลงในแถวที่มีอยู่ของลูกค้าในชุดข้อมูล
ข้อดีของข้อมูลโครงสร้างคือสามารถจัดระเบียบในลักษณะที่สัมพันธ์กับข้อมูลโครงสร้างอื่น ๆ ได้ อย่างไรก็ตาม เนื่องจากข้อมูลถูกออกแบบให้อยู่ในรูปแบบที่เฉพาะเจาะจง การเปลี่ยนแปลงโครงสร้างโดยรวมอาจต้องใช้ความพยายามมาก เช่น การเพิ่มคอลัมน์อีเมลในสเปรดชีตลูกค้าที่ไม่สามารถเว้นว่างได้ คุณจะต้องหาวิธีเพิ่มค่าเหล่านี้ในแถวลูกค้าที่มีอยู่ในชุดข้อมูล
ตัวอย่างของข้อมูลที่มีโครงสร้าง: สเปรดชีต, ฐานข้อมูลเชิงสัมพันธ์, หมายเลขโทรศัพท์, รายการเดินบัญชีธนาคาร
ตัวอย่างของข้อมูลโครงสร้าง: สเปรดชีต ฐานข้อมูลความสัมพันธ์ หมายเลขโทรศัพท์ รายงานบัญชีธนาคาร
### ข้อมูลที่ไม่มีโครงสร้าง
ข้อมูลที่ไม่มีโครงสร้างมักไม่สามารถจัดหมวดหมู่เป็นแถวหรือคอลัมน์ และไม่มีรูปแบบหรือชุดกฎที่ต้องปฏิบัติตาม เนื่องจากข้อมูลที่ไม่มีโครงสร้างมีข้อจำกัดน้อยกว่าในโครงสร้าง จึงง่ายต่อการเพิ่มข้อมูลใหม่เมื่อเปรียบเทียบกับชุดข้อมูลที่มีโครงสร้าง หากเซ็นเซอร์ที่จับข้อมูลความดันบรรยากาศทุก ๆ 2 นาทีได้รับการอัปเดตที่อนุญาตให้วัดและบันทึกอุณหภูมิ ก็ไม่จำเป็นต้องเปลี่ยนแปลงข้อมูลที่มีอยู่หากเป็นข้อมูลที่ไม่มีโครงสร้าง อย่างไรก็ตาม อาจทำให้การวิเคราะห์หรือการตรวจสอบข้อมูลประเภทนี้ใช้เวลานานขึ้น ตัวอย่างเช่น นักวิทยาศาสตร์ที่ต้องการหาค่าเฉลี่ยอุณหภูมิของเดือนก่อนจากข้อมูลเซ็นเซอร์ แต่พบว่าเซ็นเซอร์บันทึก "e" ในข้อมูลบางส่วนเพื่อระบุว่าเซ็นเซอร์เสียแทนที่จะเป็นตัวเลขทั่วไป ซึ่งหมายความว่าข้อมูลไม่สมบูรณ์
### ข้อมูลไม่มีโครงสร้าง
ข้อมูลไม่มีโครงสร้างมักไม่สามารถจัดประเภทในแถวหรือคอลัมน์และไม่มีรูปแบบหรือชุดกฎให้ปฏิบัติตาม เนื่องจากข้อมูลไม่มีโครงสร้างมีข้อจำกัดน้อยกว่าในโครงสร้าง จึงง่ายต่อการเพิ่มข้อมูลใหม่ เมื่อเทียบกับชุดข้อมูลโครงสร้าง เช่น หากเซ็นเซอร์ที่จับข้อมูลความกดอากาศบารอมิเตอร์ทุก 2 นาทีได้รับการอัปเดตให้วัดและบันทึกอุณหภูมิได้โดยไม่ต้องแก้ไขข้อมูลเดิมหากเป็นข้อมูลไม่มีโครงสร้าง แต่สิ่งนี้อาจทำให้การวิเคราะห์หรือการตรวจสอบข้อมูลประเภทนี้ใช้เวลามากขึ้น เช่น นักวิทยาศาสตร์ที่ต้องการหาค่าเฉลี่ยอุณหภูมิของเดือนก่อนหน้าจากข้อมูลเซ็นเซอร์ แต่ค้นพบว่าเซ็นเซอร์บันทึกตัวอักษร "e" ในข้อมูลบางส่วนเพื่อบอกว่าเซ็นเซอร์เสีย แทนที่จะเป็นตัวเลข ซึ่งแปลว่าข้อมูลไม่สมบูรณ์
ตัวอย่างของข้อมูลที่ไม่มีโครงสร้าง: ไฟล์ข้อความ, ข้อความ, ไฟล์วิดีโอ
ตัวอย่างข้อมูลไม่มีโครงสร้าง: ไฟล์ข้อความ ข้อความตัวอักษร ไฟล์วิดีโอ
### ข้อมูลกึ่งโครงสร้าง
ข้อมูลกึ่งโครงสร้างมีลักษณะที่ทำให้เป็นการผสมผสานระหว่างข้อมูลที่มีโครงสร้างและไม่มีโครงสร้าง โดยทั่วไปจะไม่เป็นไปตามรูปแบบของแถวและคอลัมน์ แต่ถูกจัดระเบียบในลักษณะที่ถือว่าเป็นข้อมูลที่มีโครงสร้าง และอาจปฏิบัติตามรูปแบบหรือชุดกฎที่กำหนด โครงสร้างจะแตกต่างกันไปตามแหล่งที่มา เช่น ลำดับชั้นที่กำหนดไว้อย่างดี ไปจนถึงสิ่งที่ยืดหยุ่นมากขึ้นที่อนุญาตให้เพิ่มข้อมูลใหม่ได้ง่าย เมตาดาต้าคือตัวบ่งชี้ที่ช่วยตัดสินใจว่าข้อมูลถูกจัดระเบียบและจัดเก็บอย่างไร และจะมีชื่อเรียกต่าง ๆ ตามประเภทของข้อมูล ชื่อทั่วไปสำหรับเมตาดาต้า ได้แก่ แท็ก, องค์ประกอบ, เอนทิตี และแอตทริบิวต์ ตัวอย่างเช่น ข้อความอีเมลทั่วไปจะมีหัวเรื่อง, เนื้อหา และชุดผู้รับ และสามารถจัดระเบียบตามผู้ส่งหรือเวลาที่ส่ง
### กึ่งโครงสร้าง
ข้อมูลกึ่งโครงสร้างมีลักษณะที่เป็นการผสมผสานระหว่างข้อมูลโครงสร้างและไม่มีโครงสร้าง โดยทั่วไปไม่เป็นไปตามรูปแบบของแถวและคอลัมน์ แต่จัดระเบียบในลักษณะที่ถือว่าเป็นโครงสร้างและอาจเป็นไปตามรูปแบบคงที่หรือชุดกฎ โครงสร้างจะแตกต่างกันไปตามแหล่งที่มา เช่น มีลำดับชั้นที่กำหนดไว้อย่างชัดเจนหรือมีความยืดหยุ่นที่ช่วยให้สามารถรวมข้อมูลใหม่ได้ง่าย Metadata คือดัชนีที่ช่วยตัดสินใจว่าข้อมูลถูกจัดระเบียบและจัดเก็บอย่างไรและจะมีชื่อเรียกต่าง ๆ ตามประเภทข้อมูล บางชื่อที่พบบ่อยสำหรับ metadata คือ แท็ก, อีเลเมนต์, เอนทิตี และแอททริบิวต์ เช่น อีเมลทั่วไปจะมีหัวเรื่อง เนื้อหา และชุดผู้รับ และสามารถจัดระเบียบตามผู้ส่งหรือเวลาส่ง
ตัวอย่างของข้อมูลกึ่งโครงสร้าง: HTML, ไฟล์ CSV, JavaScript Object Notation (JSON)
ตัวอย่างข้อมูลกึ่งโครงสร้าง: HTML, ไฟล์ CSV, JavaScript Object Notation (JSON)
## แหล่งข้อมูล
## แหล่งข้อมูล
แหล่งข้อมูลคือสถานที่เริ่มต้นที่ข้อมูลถูกสร้างขึ้น หรือที่ที่ข้อมูล "อยู่" และจะแตกต่างกันไปตามวิธีการและเวลาที่ข้อมูลถูกเก็บรวบรวม ข้อมูลที่ถูกสร้างขึ้นโดยผู้ใช้เรียกว่าข้อมูลปฐมภูมิ ในขณะที่ข้อมูลทุติยภูมิมาจากแหล่งที่รวบรวมข้อมูลเพื่อการใช้งานทั่วไป ตัวอย่างเช่น กลุ่มนักวิทยาศาสตร์ที่รวบรวมการสังเกตในป่าฝนจะถือว่าเป็นข้อมูลปฐมภูมิ และหากพวกเขาตัดสินใจแบ่งปันข้อมูลกับนักวิทยาศาสตร์คนอื่น ๆ ข้อมูลนั้นจะถือว่าเป็นข้อมูลทุติยภูมิสำหรับผู้ที่ใช้มั
แหล่งข้อมูลคือสถานที่เริ่มต้นที่ข้อมูลถูกสร้างขึ้น หรือที่ที่ข้อมูล "อาศัยอยู่" และจะแตกต่างกันตามวิธีและเวลาที่เก็บรวบรวม ข้อมูลที่สร้างโดยผู้ใช้เป็นที่รู้จักในชื่อข้อมูลหลัก ขณะที่ข้อมูลรองมาจากแหล่งที่เก็บข้อมูลเพื่อใช้ทั่วไป เช่น กลุ่มนักวิทยาศาสตร์ที่เก็บรวบรวมข้อมูลสังเกตการณ์ในป่าฝนจะถูกพิจารณาว่าเป็นข้อมูลหลัก และถ้าพวกเขาตัดสินใจแบ่งปันกับนักวิทยาศาสตร์คนอื่น ๆ ข้อมูลนี้จะถือเป็นข้อมูลรองสำหรับผู้ใช้คนนั้
ฐานข้อมูลเป็นแหล่งข้อมูลทั่วไปและอาศัยระบบจัดการฐานข้อมูลเพื่อโฮสต์และดูแลข้อมูล โดยที่ผู้ใช้ใช้คำสั่งที่เรียกว่าคำสั่งค้นหาเพื่อสำรวจข้อมูล ไฟล์ในฐานะแหล่งข้อมูลสามารถเป็นไฟล์เสียง, รูปภาพ และวิดีโอ รวมถึงสเปรดชีต เช่น Excel แหล่งข้อมูลทางอินเทอร์เน็ตเป็นสถานที่ทั่วไปสำหรับการโฮสต์ข้อมูล โดยที่ฐานข้อมูลและไฟล์สามารถพบได้ อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน หรือที่รู้จักกันในชื่อ API อนุญาตให้นักพัฒนาโปรแกรมสร้างวิธีการแบ่งปันข้อมูลกับผู้ใช้ภายนอกผ่านอินเทอร์เน็ต ในขณะที่กระบวนการดึงข้อมูลจากเว็บเพจเรียกว่าการดึงข้อมูลจากเว็บ [บทเรียนในหัวข้อการทำงานกับข้อมูล](../../../../../../../../../2-Working-With-Data) มุ่งเน้นไปที่วิธีการใช้แหล่งข้อมูลต่าง ๆ
ฐานข้อมูลเป็นแหล่งข้อมูลทั่วไปที่พึ่งพาระบบการจัดการฐานข้อมูลเพื่อโฮสต์และบำรุงรักษาข้อมูล โดยผู้ใช้ใช้คำสั่งที่เรียกว่าคิวรีเพื่อสำรวจข้อมูล ไฟล์เป็นแหล่งข้อมูลที่อาจเป็นไฟล์เสียง ภาพ และวิดีโอ รวมทั้งสเปรดชีตอย่าง Excel แหล่งข้อมูลอินเทอร์เน็ตเป็นสถานที่ทั่วไปสำหรับโฮสต์ข้อมูล ซึ่งพบได้ทั้งฐานข้อมูลและไฟล์ API หรือที่รู้จักกันในชื่อ <i>application programming interfaces</i> ช่วยให้โปรแกรมเมอร์สร้างวิธีการแบ่งปันข้อมูลกับผู้ใช้งานภายนอกผ่านอินเทอร์เน็ต ในขณะที่กระบวนการเว็บสแครบปิ้งดึงข้อมูลจากหน้าเว็บ บทเรียนใน [Working with Data](../../../../../../../../../2-Working-With-Data) มุ่งเน้นไปที่วิธีใช้งานแหล่งข้อมูลต่าง ๆ
## สรุป
@ -49,27 +49,31 @@
- ข้อมูลคืออะไร
- วิธีการอธิบายข้อมูล
- วิธีการจัดประเภทและจัดหมวดหมู่ข้อมูล
- สถานที่ที่สามารถพบข้อมูลได้
- วิธีการจัดประเภทและจำแนกข้อมูล
- ที่มาของข้อมูล
## 🚀 ความท้าทาย
Kaggle เป็นแหล่งข้อมูลเปิดที่ยอดเยี่ยม ใช้ [เครื่องมือค้นหาชุดข้อมูล](https://www.kaggle.com/datasets) เพื่อค้นหาชุดข้อมูลที่น่าสนใจ และจัดประเภทชุดข้อมูล 3-5 ชุดด้วยเกณฑ์นี้:
Kaggle เป็นแหล่งข้อมูลชุดเปิดที่ยอดเยี่ยม ใช้ [เครื่องมือค้นหาชุดข้อมูล](https://www.kaggle.com/datasets) เพื่อค้นหาชุดข้อมูลที่น่าสนใจและจัดประเภทชุดข้อมูล 3-5 ชุดตามเกณฑ์นี้:
- ข้อมูลเป็นเชิงปริมาณหรือเชิงคุณภาพ?
- ข้อมูลเป็นแบบมีโครงสร้าง, ไม่มีโครงสร้าง หรือกึ่งโครงสร้าง?
- ข้อมูลเป็นโครงสร้าง ไม่มีโครงสร้าง หรือกึ่งโครงสร้าง?
## [แบบทดสอบหลังเรียน](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## [แบบทดสอบหลังบรรยาย](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## ทบทวนและศึกษาด้วยตนเอง
- หน่วย Microsoft Learn ที่ชื่อว่า [Classify your Data](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) มีการอธิบายรายละเอียดเกี่ยวกับข้อมูลที่มีโครงสร้าง, กึ่งโครงสร้าง และไม่มีโครงสร้าง
## งานที่ได้รับมอบหมาย
## ทบทวน & ศึกษาด้วยตัวเอง
- หน่วยเรียนของ Microsoft Learn ชื่อ [Identify data formats](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) มีการแบ่งแยกข้อมูลโครงสร้าง กึ่งโครงสร้าง และไม่มีโครงสร้างอย่างละเอียด
## งานมอบหมาย
[การจัดประเภทชุดข้อมูล](assignment.md)
---
**ข้อจำกัดความรับผิดชอบ**:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ปฏิเสธความรับผิดชอบ**:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -5,7 +5,7 @@
"metadata": {},
"source": [
"# บทนำสู่ความน่าจะเป็นและสถิติ\n",
"ในสมุดบันทึกนี้ เราจะทดลองเล่นกับแนวคิดบางส่วนที่เราได้พูดถึงก่อนหน้านี้ แนวคิดหลายอย่างจากความน่าจะเป็นและสถิติได้รับการนำเสนออย่างดีในไลบรารีหลักสำหรับการประมวลผลข้อมูลใน Python เช่น `numpy` และ `pandas`\n"
"ในสมุดบันทึกนี้ เราจะทดลองเล่นกับแนวคิดบางอย่างที่เราได้อภิปรายไว้ก่อนหน้านี้ แนวคิดมากมายจากความน่าจะเป็นและสถิติถูกนำเสนออย่างดีในไลบรารีหลักสำหรับการประมวลผลข้อมูลใน Python เช่น `numpy` และ `pandas`\n"
]
},
{
@ -25,7 +25,7 @@
"metadata": {},
"source": [
"## ตัวแปรสุ่มและการแจกแจง\n",
"เรามาเริ่มต้นด้วยการสุ่มตัวอย่าง 30 ค่าจากการแจกแจงแบบสม่ำเสมอระหว่าง 0 ถึง 9 กัน เราจะคำนวณค่าเฉลี่ยและความแปรปรวนด้วย\n"
"เรามาเริ่มกันด้วยการสุ่มตัวอย่าง 30 ค่า จากการแจกแจงแบบสม่ำเสมอระหว่าง 0 ถึง 9 เราจะคำนวณค่าเฉลี่ยและความแปรปรวนด้วย\n"
]
},
{
@ -44,7 +44,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เพื่อประมาณค่าด้วยสายตาว่ามีค่าที่แตกต่างกันกี่ค่าในตัวอย่าง เราสามารถวาด **ฮิสโตแกรม** ได้:\n"
"เพื่อประเมินเชิงภาพว่ามีค่าที่แตกต่างกันกี่ค่าในตัวอย่าง เราสามารถวาด **ฮิสโตแกรม** ได้ดังนี้:\n"
]
},
{
@ -63,7 +63,7 @@
"source": [
"## การวิเคราะห์ข้อมูลจริง\n",
"\n",
"ค่าเฉลี่ยและความแปรปรวนมีความสำคัญมากเมื่อวิเคราะห์ข้อมูลในโลกจริง มาโหลดข้อมูลเกี่ยวกับนักเบสบอลจาก [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"ค่าเฉลี่ยและความแปรปรวนมีความสำคัญมากเมื่อวิเคราะห์ข้อมูลในโลกจริง มาดึงข้อมูลเกี่ยวกับผู้เล่นเบสบอลจาก [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
@ -80,9 +80,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> เรากำลังใช้แพ็กเกจที่ชื่อว่า [**Pandas**](https://pandas.pydata.org/) สำหรับการวิเคราะห์ข้อมูล เราจะพูดถึง Pandas และการทำงานกับข้อมูลในภาษา Python มากขึ้นในบทเรียนนี้ในภายหลัง\n",
"> เรากำลังใช้แพ็กเกจที่เรียกว่า [**Pandas**](https://pandas.pydata.org/) สำหรับการวิเคราะห์ข้อมูลในที่นี้ เราจะพูดถึง Pandas และการทำงานกับข้อมูลใน Python เพิ่มเติมในบทเรียนนี้\n",
"\n",
"มาคำนวณค่าเฉลี่ยของอายุ ส่วนสูง และน้ำหนักกัน:\n"
"มาคำนวณค่าเฉลี่ยของอายุ ส่วนสูง และน้ำหนักกัน:\n"
]
},
{
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ตอนนี้เรามาโฟกัสที่ความสูง และคำนวณส่วนเบี่ยงเบนมาตรฐานและความแปรปรวน:\n"
"ตอนนี้เรามาโฟกัสที่ความสูง และคำนวณค่าเบี่ยงเบนมาตรฐานและความแปรปรวน: \n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"นอกจากค่าเฉลี่ยแล้ว ยังสมเหตุสมผลที่จะดูค่ามัธยฐานและควอร์ไทล์ ซึ่งสามารถแสดงภาพได้โดยใช้ **แผนภาพกล่อง**:\n"
"นอกจากค่าเฉลี่ยแล้ว ยังควรพิจารณาค่ามัธยฐานและควอไทล์ ซึ่งสามารถแสดงผลได้ด้วย **กราฟกล่อง**:\n"
]
},
{
@ -136,7 +136,7 @@
"outputs": [],
"source": [
"plt.figure(figsize=(10,2))\n",
"plt.boxplot(df['Height'].ffill(), vert=False, showmeans=True)\n",
"plt.boxplot(df['Height'].ffill(), orientation='horizontal', showmeans=True)\n",
"plt.grid(color='gray', linestyle='dotted')\n",
"plt.tight_layout()\n",
"plt.show()"
@ -146,7 +146,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เรายังสามารถสร้างแผนภาพกล่องของชุดข้อมูลย่อยของเราได้ เช่น การจัดกลุ่มตามบทบาทของผู้เล่น\n"
"เราสามารถสร้างกล่องแสดงข้อมูลสำหรับส่วนย่อยของชุดข้อมูลของเราได้ เช่น แบ่งกลุ่มตามบทบาทของผู้เล่น\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **หมายเหตุ**: แผนภาพนี้แสดงให้เห็นว่า โดยเฉลี่ยแล้ว ความสูงของผู้เล่นตำแหน่งฐานที่หนึ่งจะสูงกว่าความสูงของผู้เล่นตำแหน่งฐานที่สอง หลังจากนี้เราจะเรียนรู้วิธีทดสอบสมมติฐานนี้อย่างเป็นทางการ และวิธีแสดงให้เห็นว่าข้อมูลของเรามีความสำคัญทางสถิติเพื่อพิสูจน์เรื่องนี้ \n",
"> **หมายเหตุ**: แผนภาพนี้บ่งชี้ว่า โดยเฉลี่ยแล้ว ความสูงของผู้เล่นฐานแรกสูงกว่าความสูงของผู้เล่นฐานที่สอง ในภายหลังเราจะได้เรียนรู้ว่าทำอย่างไรถึงจะทดสอบสมมติฐานนี้อย่างเป็นทางการมากขึ้น และจะแสดงให้เห็นว่าข้อมูลของเรามีความสำคัญทางสถิติเพียงพอที่จะพิสูจน์เรื่องนี้ได้อย่างไร \n",
"\n",
"อายุ ความสูง และน้ำหนัก เป็นตัวแปรสุ่มต่อเนื่องทั้งหมด คุณคิดว่าการแจกแจงของพวกมันเป็นอย่างไร? วิธีที่ดีในการค้นหาคือการวาดฮิสโตแกรมของค่าเหล่านั้น:\n"
"อายุ ความสูง และน้ำหนักล้วนเป็นตัวแปรสุ่มต่อเนื่อง คุณคิดว่าการแจกแจงของพวกมันเป็นแบบไหน? วิธีที่ดีในการค้นหาคือการพล็อตฮิสโตแกรมของค่าที่ได้: \n"
]
},
{
@ -190,7 +190,7 @@
"source": [
"## การแจกแจงแบบปกติ\n",
"\n",
"มาสร้างตัวอย่างน้ำหนักแบบเทียมที่เป็นไปตามการแจกแจงแบบปกติมีค่าเฉลี่ยและความแปรปรวนเดียวกับข้อมูลจริงของเรากัน:\n"
"มาสร้างตัวอย่างน้ำหนักเทียมที่เป็นไปตามการแจกแจงแบบปกติโดยมีค่าเฉลี่ยและความแปรปรวนเดียวกับข้อมูลจริงของเรากัน: \n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เนื่องจากค่าส่วนใหญ่ในชีวิตจริงมีการกระจายแบบปกติ เราไม่ควรใช้ตัวสร้างตัวเลขสุ่มแบบสม่ำเสมอเพื่อสร้างข้อมูลตัวอย่าง นี่คือสิ่งที่จะเกิดขึ้นหากเราพยายามสร้างน้ำหนักด้วยการกระจายแบบสม่ำเสมอ (ที่สร้างโดย `np.random.rand`):\n"
"เนื่องจากค่าส่วนใหญ่มักจะกระจายตามปกติในชีวิตจริง เราจึงไม่ควรใช้ตัวสร้างเลขสุ่มแบบสม่ำเสมอเพื่อสร้างข้อมูลตัวอย่าง นี่คือสิ่งที่จะเกิดขึ้นถ้าเราลองสร้างน้ำหนักด้วยการแจกแจงแบบสม่ำเสมอ (สร้างโดย `np.random.rand`):\n"
]
},
{
@ -251,9 +251,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Confidence Intervals\n",
"## ช่วงความเชื่อมั่น\n",
"\n",
"ตอนนี้เรามาคำนวณช่วงความเชื่อมั่นสำหรับน้ำหนักและส่วนสูงของนักเบสบอลกัน เราจะใช้โค้ด [จากการสนทนา stackoverflow นี้](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"ตอนนี้เราจะคำนวณช่วงความเชื่อมั่นสำหรับน้ำหนักและส่วนสูงของผู้เล่นเบสบอล เราจะใช้โค้ด [จากการอภิปรายใน stackoverflow นี้](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
]
},
{
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
]
},
@ -282,7 +282,7 @@
"source": [
"## การทดสอบสมมติฐาน\n",
"\n",
"ลองสำรวจบทบาทที่แตกต่างกันในชุดข้อมูลผู้เล่นเบสบอลของเรากัน:\n"
"มาสำรวจบทบาทที่แตกต่างกันในชุดข้อมูลผู้เล่นเบสบอลของเรากันเถอะ:\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เรามาทดสอบสมมติฐานที่ว่าผู้เล่นตำแหน่ง First Basemen สูงกว่าผู้เล่นตำแหน่ง Second Basemen วิธีที่ง่ายที่สุดในการทดสอบนี้คือการทดสอบช่วงความเชื่อมั่น:\n"
"มาลองทดสอบสมมติฐานที่ว่าผู้เล่นตำแหน่ง First Basemen สูงกว่าผู้เล่นตำแหน่ง Second Basemen วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการทดสอบช่วงความเชื่อมั่น:\n"
]
},
{
@ -317,9 +317,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เราสามารถเห็นได้ว่าช่วงเวลานั้นไม่ได้ทับซ้อนกัน\n",
"เราสามารถเห็นได้ว่าช่วงเวลาเหล่านี้ไม่ทับซ้อนกัน\n",
"\n",
"วิธีที่ถูกต้องทางสถิติมากขึ้นในการพิสูจน์สมมติฐานคือการใช้ **การทดสอบ t ของนักศึกษา (Student t-test)**:\n"
"วิธีที่ถูกต้องทางสถิติมากขึ้นในการพิสูจน์สมมติฐานคือการใช้ **แบบทดสอบ t ของสจ๊วต**:\n"
]
},
{
@ -338,18 +338,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ค่าทั้งสองที่ถูกส่งกลับโดยฟังก์ชัน `ttest_ind` คือ:\n",
"* p-value สามารถพิจารณาได้ว่าเป็นความน่าจะเป็นที่การแจกแจงทั้งสองมีค่าเฉลี่ยเท่ากัน ในกรณีของเรา ค่านี้ต่ำมาก ซึ่งหมายความว่ามีหลักฐานที่แข็งแกร่งสนับสนุนว่าผู้เล่นตำแหน่งฐานหนึ่งสูงกว่า\n",
"* t-value คือค่ากลางของความแตกต่างของค่าเฉลี่ยที่ถูกทำให้เป็นมาตรฐานซึ่งใช้ใน t-test และจะถูกนำไปเปรียบเทียบกับค่าขีดจำกัดสำหรับค่าความเชื่อมั่นที่กำหนดไว้\n"
"ค่าที่ส่งกลับมาสองค่าโดยฟังก์ชัน `ttest_ind` คือ:\n",
"* ค่า p-value สามารถพิจารณาเป็นความน่าจะเป็นที่การแจกแจงสองชุดจะมีค่าเฉลี่ยเหมือนกัน ในกรณีของเรา ค่านี้ต่ำมาก ซึ่งหมายความว่ามีหลักฐานที่แข็งแกร่งสนับสนุนว่าผู้เล่นตำแหน่งแรกมีความสูงมากกว่า\n",
"* ค่า t-value คือค่ากลางของความแตกต่างเฉลี่ยที่ถูกทำเป็นมาตรฐานซึ่งใช้ในการทดสอบ t-test และจะเปรียบเทียบกับค่าขีดจำกัดสำหรับค่าความเชื่อมั่นที่กำหนด\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## การจำลองการแจกแจงแบบปกติด้วยทฤษฎีขีดจำกัดศูนย์กลาง\n",
"## การจำลองการแจกแจงแบบปกติดยใช้ทฤษฎีขีดจำกัดกลาง\n",
"\n",
"เครื่องกำเนิดจำนวนสุ่มเทียมใน Python ถูกออกแบบมาเพื่อให้เราได้การแจกแจงแบบสม่ำเสมอ หากเราต้องการสร้างเครื่องกำเนิดสำหรับการแจกแจงแบบปกติ เราสามารถใช้ทฤษฎีขีดจำกัดศูนย์กลาง เพื่อให้ได้ค่าที่แจกแจงแบบปกติ เราจะคำนวณค่าเฉลี่ยของตัวอย่างที่สร้างโดยการแจกแจงแบบสม่ำเสมอเท่านั้น\n"
"ตัวสร้างเลขสุ่มเทียมใน Python ถูกออกแบบมาให้แจกแจงแบบสม่ำเสมอ หากเราต้องการสร้างตัวสร้างสำหรับการแจกแจงแบบปกติ เราสามารถใช้ทฤษฎีขีดจำกัดกลางได้ เพื่อให้ได้ค่าที่แจกแจงแบบปกติ เราจะคำนวณค่าเฉลี่ยของตัวอย่างที่สร้างโดยการแจกแจงแบบสม่ำเสมอเพียงอย่างเดียว\n"
]
},
{
@ -373,9 +373,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ค่าสหสัมพันธ์และบริษัทเบสบอลชั่วร้าย\n",
"## ความสัมพันธ์และ Evil Baseball Corp\n",
"\n",
"ค่าสหสัมพันธ์ช่วยให้เราค้นหาความสัมพันธ์ระหว่างข้อมูลลำดับ ในตัวอย่างจำลองของเรา ให้สมมติว่ามีบริษัทเบสบอลชั่วร้ายที่จ่ายเงินให้ผู้เล่นตามส่วนสูง - ผู้เล่นที่สูงกว่าจะได้รับเงินมากกว่า สมมติว่ามีเงินเดือนฐาน $1000 และโบนัสเพิ่มเติมจาก $0 ถึง $100 ขึ้นอยู่กับส่วนสูง เราจะใช้ผู้เล่นจริงจาก MLB และคำนวณเงินเดือนสมมติของพวกเขา:\n"
"ความสัมพันธ์ช่วยให้เราค้นหาความสัมพันธ์ระหว่างชุดข้อมูล ในตัวอย่างง่ายๆ ของเรา ให้สมมติว่ามีบริษัทเบสบอลชั่วร้ายที่จ่ายเงินให้ผู้เล่นตามความสูงของพวกเขา — ผู้เล่นคนไหนสูงยิ่งได้รับเงินมากขึ้น สมมุติว่ามีเงินเดือนฐาน $1000 และโบนัสเพิ่มเติมตั้งแต่ $0 ถึง $100 ขึ้นอยู่กับความสูง เราจะใช้ผู้เล่นจริงจาก MLB และคำนวณเงินเดือนจินตนาการของพวกเขา:\n"
]
},
{
@ -384,7 +384,7 @@
"metadata": {},
"outputs": [],
"source": [
"heights = df['Height'].fillna(method='pad')\n",
"heights = df['Height'].ffill()\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@ -393,7 +393,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ตอนนี้เรามาคำนวณความแปรปรวนร่วมและความสัมพันธ์ของลำดับเหล่านั้นกัน `np.cov` จะให้เราได้ที่เรียกว่า **เมทริกซ์ความแปรปรวนร่วม** ซึ่งเป็นการขยายความแปรปรวนร่วมสำหรับตัวแปรหลายตัว องค์ประกอบ $M_{ij}$ ของเมทริกซ์ความแปรปรวนร่วม $M$ คือความสัมพันธ์ระหว่างตัวแปรนำเข้า $X_i$ และ $X_j$ และค่าบนเส้นทแยงมุม $M_{ii}$ คือความแปรปรวนของ $X_{i}$ เช่นเดียวกั `np.corrcoef` จะให้เราได้ **เมทริกซ์ความสัมพันธ์**\n"
"ตอนนี้เรามาคำนวณ covariance และ correlation ของลำดับเหล่านั้นกัน `np.cov` จะให้เราได้ที่เรียกว่า **เมทริกซ์ covariance** ซึ่งเป็นการขยายของ covariance ไปยังหลายตัวแปร อิลิเมนต์ $M_{ij}$ ของเมทริกซ์ covariance $M$ คือความสัมพันธ์เชิงเส้นระหว่างตัวแปรนำเข้า $X_i$ และ $X_j$ และค่าบนเส้นทแยงมุม $M_{ii}$ คือความแปรปรวนของ $X_{i}$ เช่นเดียวกั `np.corrcoef` จะให้เราได้ **เมทริกซ์ความสัมพันธ์** \n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ความสัมพันธ์ที่มีค่าเท่ากับ 1 หมายความว่ามี **ความสัมพันธ์เชิงเส้น** ที่แข็งแกร่งระหว่างตัวแปรสองตัว เราสามารถมองเห็นความสัมพันธ์เชิงเส้นได้โดยการพล็อตค่าหนึ่งเทียบกับอีกค่าหนึ่ง:\n"
"ความสัมพันธ์ที่เท่ากับ 1 หมายความว่ามี **ความสัมพันธ์เชิงเส้น** ที่แข็งแกร่งระหว่างตัวแปรสองตัว เราสามารถมองเห็นความสัมพันธ์เชิงเส้นได้โดยการวาดค่าหนึ่งเทียบกับค่าอีกค่าหนึ่ง:\n"
]
},
{
@ -430,7 +430,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ลองดูว่าจะเกิดอะไรขึ้นถ้าความสัมพันธ์ไม่เป็นเชิงเส้น สมมุติบริษัทของเราตัดสินใจซ่อนการพึ่งพาเชิงเส้นที่ชัดเจนระหว่างความสูงและเงินเดือน และใส่องค์ประกอบไม่เชิงเส้นเข้าไปในสูตร เช่น `sin`:\n"
"มาดูกันว่ามีอะไรเกิดขึ้นถ้าความสัมพันธ์ไม่เป็นเชิงเส้น สมมติว่าองค์กรของเราตัดสินใจที่จะซ่อนความสัมพันธ์เชิงเส้นที่ชัดเจนระหว่างส่วนสูงและเงินเดือน และแทรกความไม่เชิงเส้นบางอย่างเข้าไปในสูตร เช่น `sin`:\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ในกรณีนี้ ความสัมพันธ์จะเล็กลงเล็กน้อย แต่ยังค่อนข้างสูงอยู่ดี ตอนนี้ เพื่อทำให้ความสัมพันธ์ดูไม่ชัดเจนมากขึ้น เราอาจต้องการเพิ่มความสุ่มเพิ่มเติมโดยการเพิ่มตัวแปรสุ่มเข้าไปในเงินเดือน มาดูสิ่งที่จะเกิดขึ้นกัน:\n"
"ในกรณีนี้ ความสัมพันธ์จะเล็กลงเล็กน้อย แต่ก็ยังค่อนข้างสูงอยู่ดี ตอนนี้ เพื่อทำให้ความสัมพันธ์ดูไม่ชัดเจนมากขึ้น เราอาจต้องการเพิ่มความสุ่มเพิ่มเติมโดยการเพิ่มตัวแปรสุ่มบางอย่างเข้าไปในเงินเดือน ลองดูว่าเกิดอะไรขึ้น:\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> คุณพอจะเดาได้ไหมว่าทำไมจุดเหล่านี้ถึงเรียงตัวเป็นเส้นตรงแนวตั้งแบบนี้?\n",
"> คุณสามารถเดาได้ไหมว่าทำไมน้ำหนักจุดถึงจัดเรียงเป็นเส้นตั้งฉากแบบนี้?\n",
"\n",
"เราได้สังเกตความสัมพันธ์ระหว่างแนวคิดที่ถูกสร้างขึ้นอย่างประดิษฐ์ เช่น เงินเดือน กับตัวแปรที่สังเกตได้ *ความสูง* แล้ว ลองดูว่าตัวแปรที่สังเกตได้สองตัว เช่น ความสูงและน้ำหนัก มีความสัมพันธ์กันด้วยหรือไม่:\n"
"เราได้สังเกตความสัมพันธ์ระหว่างแนวคิดที่ถูกสร้างขึ้นทางเทียมอย่างเงินเดือนกับตัวแปรที่สังเกตเห็น *ส่วนสูง* แล้ว มาดูกันว่าตัวแปรที่สังเกตสองตัว เช่น ส่วนสูงและน้ำหนัก มีความสัมพันธ์กันหรือไม่:\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"น่าเสียดายที่เราไม่ได้ผลลัพธ์ใด ๆ — มีแค่ค่า `nan` ที่แปลกประหลาดบางค่าเท่านั้น เนื่องจากค่าบางค่าในซีรีส์ของเราไม่ได้กำหนด แสดงด้วย `nan` ซึ่งทำให้ผลลัพธ์ของการดำเนินการนั้นไม่ได้กำหนดเช่นกัน โดยการดูที่เมทริกซ์ เราจะเห็นว่า `Weight` คือคอลัมน์ที่มีปัญหา เนื่องจากมีการคำนวณการแพร่ตัวเอง (self-correlation) ระหว่างค่าของ `Height`\n",
"น่าเสียดายที่เราไม่ได้ผลลัพธ์ใด ๆ - มีเพียงค่าที่แปลก ๆ อย่าง `nan` เท่านั้น สิ่งนี้เกิดขึ้นเนื่องจากค่าบางส่วนในซีรีส์ของเราไม่ได้กำหนดค่า แสดงเป็น `nan` ซึ่งทำให้ผลลัพธ์ของการดำเนินการนั้นไม่มีการกำหนดค่าเช่นกัน ด้วยการดูที่เมทริกซ์ เราจะเห็นว่า `Weight` เป็นคอลัมน์ที่เป็นปัญหา เนื่องจากมีการคำนวณการเชื่อมโยงภายในเองระหว่างค่าของ `Height`\n",
"\n",
"> ตัวอย่างนี้แสดงให้เห็นความสำคัญของการ **เตรียมข้อมูล** และ **ทำความสะอาด** โดยไม่มีข้อมูลที่เหมาะสม เราไม่สามารถคำนวณอะไรได้เลย\n",
"> ตัวอย่างนี้แสดงให้เห็นถึงความสำคัญของ **การเตรียมข้อมูล** และ **การทำความสะอาดข้อมูล** หากไม่มีข้อมูลที่เหมาะสม เราจะไม่สามารถคำนวณอะไรได้\n",
"\n",
"เรามาใช้เมธอด `fillna` เพื่อเติมค่าที่ขาดหายไป และคำนวณการแจกแจงร่วมกันกัน:\n"
"มาลองใช้วิธี `fillna` เพื่อเติมค่าที่ขาดหายไป และคำนวณการเชื่อมโยงกัน: \n"
]
},
{
@ -507,14 +507,14 @@
"metadata": {},
"outputs": [],
"source": [
"np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
"np.corrcoef(df['Height'].ffill(), df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"มีความสัมพันธ์กันจริง ๆ แต่ไม่แข็งแกร่งขนาดในตัวอย่างเทียมของเรา แท้จริงแล้ว ถ้าเราดูที่แผนภาพกระจายของค่าหนึ่งเทียบกับค่าอีกค่าหนึ่ง ความสัมพันธ์จะชัดเจนน้อยกว่ามาก:\n"
"มีความสัมพันธ์กันจริง แต่ไม่แข็งแกร่งเท่าในตัวอย่างที่สร้างขึ้นของเรา หากเราดูที่กราฟกระจายของค่าหนึ่งเทียบกับอีกค่าหนึ่ง ความสัมพันธ์จะไม่ชัดเจนเท่า: \n"
]
},
{
@ -535,16 +535,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Conclusion\n",
"## สรุป\n",
"\n",
"ในโน้ตบุ๊กนี้เราได้เรียนรู้วิธีการดำเนินการพื้นฐานกับข้อมูลเพื่อคำนวณฟังก์ชันทางสถิติ เรารู้แล้วว่าจะใช้ชุดเครื่องมือทางคณิตศาสตร์และสถิติอย่างไรเพื่อพิสูจน์สมมติฐานบางประการ และวิธีคำนวณช่วงความเชื่อมั่นสำหรับตัวแปรใด ๆ โดยใช้ตัวอย่างข้อมูล\n"
"ในสมุดบันทึกนี้ เราได้เรียนรู้วิธีการดำเนินการพื้นฐานบข้อมูลเพื่อคำนวณฟังก์ชันทางสถิติ เราตอนนี้รู้วิธีใช้ชุดเครื่องมือทางคณิตศาสตร์และสถิติที่มั่นคงเพื่อพิสูจน์สมมติฐานบางอย่าง และวิธีคำนวณช่วงความเชื่อมั่นสำหรับตัวแปรใดๆ โดยใช้ตัวอย่างข้อมูล\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ข้อจำกัดความรับผิดชอบ**:\nเอกสารฉบับนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้ความถูกต้องสูงสุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความคลาดเคลื่อนได้ เอกสารต้นฉบับในภาษาดั้งเดิมควรถูกพิจารณาเป็นแหล่งข้อมูลที่ถูกต้อง สำหรับข้อมูลสำคัญ ขอแนะนำให้ใช้การแปลโดยนักแปลมืออาชีพที่เป็นมนุษย์ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดใด ๆ ที่เกิดขึ้นจากการใช้การแปลนี้\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ปฏิเสธความรับผิดชอบ**:\nเอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],
@ -568,12 +568,6 @@
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.6"
},
"coopTranslator": {
"original_hash": "0f899e3c5019f948e7c787b22f3b2304",
"translation_date": "2026-01-16T14:48:45+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "th"
}
},
"nbformat": 4,

@ -4,11 +4,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# การประมาณการการระบาดของ COVID-19\n",
"# การประมาณการของการระบาดของ COVID-19\n",
"\n",
"## การโหลดข้อมูล\n",
"\n",
"เราจะใช้ข้อมูลเกี่ยวกับบุคคลที่ติดเชื้อ COVID-19 ซึ่งจัดทำโดย [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) ที่ [มหาวิทยาลัยจอห์น ฮอปกินส์](https://jhu.edu/) ชุดข้อมูลนี้มีให้ใน [ที่เก็บ GitHub นี้](https://github.com/CSSEGISandData/COVID-19)\n"
"เราจะใช้ข้อมูลเกี่ยวกับผู้ติดเชื้อ COVID-19 ซึ่งจัดทำโดย [ศูนย์วิทยาศาสตร์และวิศวกรรมระบบ](https://systems.jhu.edu/) (CSSE) ที่ [มหาวิทยาลัยจอห์นฮอปกินส์](https://jhu.edu/) ชุดข้อมูลมีให้ใน [ที่เก็บ GitHub นี้](https://github.com/CSSEGISandData/COVID-19)\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เราสามารถโหลดข้อมูลล่าสุดโดยตรงจาก GitHub โดยใช้ `pd.read_csv` หากด้วยเหตุผลบางประการที่ไม่สามารถเข้าถึงข้อมูลได้ คุณสามารถใช้สำเนาที่มีอยู่ในเครื่องในโฟลเดอร์ `data` ได้เสมอ - เพียงแค่ยกเลิกการคอมเมนต์บรรทัดด้านล่างที่กำหนด `base_url`:\n"
"เราสามารถโหลดข้อมูลล่าสุดโดยตรงจาก GitHub โดยใช้ `pd.read_csv` ได้ หากด้วยเหตุผลบางอย่างข้อมูลไม่พร้อมใช้งาน คุณสามารถใช้สำเนาที่มีอยู่ในเครื่องในโฟลเดอร์ `data` ได้เสมอ เพียงแค่ยกเลิกการคอมเมนต์บรรทัดด้านล่างที่กำหนด `base_url`:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เราสามารถเห็นได้ว่าแต่ละแถวของตารางกำหนดจำนวนผู้ติดเชื้อสำหรับแต่ละประเทศและ/หรือจังหวัด และคอลัมน์จะสอดคล้องกับวันที่ ตารางที่คล้ายกันสามารถโหลดสำหรับข้อมูลอื่น ๆ เช่น จำนวนผู้ที่หายดีและจำนวนผู้เสียชีวิตได้ด้วย\n"
"เราสามารถเห็นได้ว่าแต่ละแถวของตารางกำหนดจำนวนผู้ติดเชื้อสำหรับแต่ละประเทศและ/หรือจังหวัด และแต่ละคอลัมน์สอดคล้องกับวันที่ ตารางที่คล้ายกันสามารถโหลดได้สำหรับข้อมูลอื่น ๆ เช่น จำนวนผู้ที่หายแล้วและจำนวนผู้เสียชีวิต\n"
]
},
{
@ -284,7 +284,7 @@
"source": [
"## ทำความเข้าใจกับข้อมูล\n",
"\n",
"จากตารางข้างต้นบทบาทของคอลัมน์จังหวัดยังไม่ชัดเจน มาดูค่าต่างๆ ที่มีอยู่ในคอลัมน์ `Province/State` กัน:\n"
"จากตารางด้านบน บทบาทของคอลัมน์จังหวัดยังไม่ชัดเจน ลองดูค่าต่างๆ ที่มีอยู่ในคอลัมน์ `Province/State` กัน:\n"
]
},
{
@ -322,7 +322,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"จากชื่อที่เราสามารถสรุปได้ว่าประเทศอย่างออสเตรเลียและจีนมีการแยกรายละเอียดตามจังหวัดมากขึ้น มาดูข้อมูลของประเทศจีนเพื่อดูตัวอย่างกัน:\n"
"จากชื่อเราสามารถสรุปได้ว่าประเทศอย่างออสเตรเลียและจีนมีการแยกย่อยโดยจังหวัดอย่างละเอียดมากขึ้น ลองมาหาข้อมูลเกี่ยวกับจีนเพื่อดูตัวอย่างกัน:\n"
]
},
{
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## การประมวลผลข้อมูลเบื้องต้น\n",
"## การเตรียมข้อมูลเบื้องต้น \n",
"\n",
"เราไม่สนใจที่จะแยกประเทศออกเป็นดินแดนย่อยเพิ่มเติม ดังนั้นเราจะกำจัดการแยกนี้ก่อน แล้วเพิ่มข้อมูลของดินแดนทั้งหมดรวมกันเพื่อให้ได้ข้อมูลสำหรับทั้งประเทศ ซึ่งสามารถทำได้โดยใช้ `groupby`:\n"
"เราไม่สนใจที่จะแบ่งประเทศออกเป็นดินแดนย่อยเพิ่มเติม ดังนั้นเราจะกำจัดการแบ่งนี้ก่อนและรวบรวมข้อมูลของดินแดนทั้งหมดเข้าด้วยกัน เพื่อให้ได้ข้อมูลของประเทศทั้งหมด ซึ่งสามารถทำได้โดยใช้ `groupby`:\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"คุณจะเห็นได้ว่าเนื่องจากการใช้ `groupby` ทำให้ DataFrame ทั้งหมดถูกจัดทำดัชนีตามประเทศ/ภูมิภาค ดังนั้นเราจึงสามารถเข้าถึงข้อมูลสำหรับประเทศเฉพาะได้โดยใช้ `.loc`:|\n"
"คุณจะเห็นว่าเนื่องจากการใช้ `groupby` DataFrame ทั้งหมดจึงถูกจัดทำดัชนีโดย Country/Region เราจึงสามารถเข้าถึงข้อมูลสำหรับประเทศเฉพาะเจาะจงโดยใช้ `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **หมายเหตุ** ให้สังเกตว่เราใช้ `[3:]` เพื่อเอาสามองค์ประกอบแรกของลำดับที่มีเมตาดาต้าไม่ใช่วันที่ออก (คอลัมน์จังหวัด/รัฐและละติจูดลองจิจูด) เราก็สามารถลบสามคอลัมน์นั้นทั้งหมดได้เช่นกัน:\n"
"> **หมายเหตุ** วิธีที่เราใช้ `[3:]` เพื่อเอาองค์ประกอบสามตัวแรกของลำดับที่มีข้อมูลเมตาที่ไม่ใช่วันที่ (คอลัมน์จังหวัด/รัฐและภูมิศาสตร์) ออก เราสามารถตัดคอลัมน์ทั้งสามนี้ออกทั้งหมดได้ด้วย: \n"
]
},
{
@ -1627,7 +1627,7 @@
"source": [
"## การตรวจสอบข้อมูล\n",
"\n",
"มาสลับไปตรวจสอบประเทศเฉพาะเจาะจงกัน ตอนนี้มาสร้างเฟรมที่มีข้อมูลการติดเชื้อ โดยจัดเรียงตามวันที่:\n"
"ตอนนี้เรามาหันไปตรวจสอบประเทศเฉพาะกันเถอะ มาสร้างเฟรมที่มีข้อมูลการติดเชื้อที่จัดทำดัชนีตามวันที่:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ตอนนี้เรามาคำนวณจำนวนผู้ติดเชื้อรายใหม่ในแต่ละวันกัน การทำเช่นนี้จะทำให้เราเห็นความเร็วที่การระบาดดำเนินไป วันที่ง่ายที่สุดในการคำนวณคือการใช้ `diff`:\n"
"ตอนนี้มาคำนวณจำนวนผู้ติดเชื้อรายใหม่ในแต่ละวันกัน ซึ่งจะช่วยให้เราเห็นความเร็วที่โรคระบาดดำเนินไป วิธีที่ง่ายที่สุดคือใช้ `diff`:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เราสามารถเห็นความผันผวนสูงในข้อมูล มาเจาะลึกดูเดือนหนึ่งกัน:\n"
"เราจะเห็นความผันผวนสูงในข้อมูล มาดูอย่างละเอียดในหนึ่งในเดือนต่างๆ กัน: \n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"มันชัดเจนว่ามีความผันผวนรายสัปดาห์ในข้อมูล เนื่องจากเราต้องการเห็นแนวโน้ม จึงสมเหตุสมผลที่จะทำให้เส้นโค้งเรียบขึ้นโดยการคำนวณค่าเฉลี่ยเคลื่อนที่ (เช่น สำหรับแต่ละวัน เราจะคำนวณค่ารเฉลี่ยของวันที่ผ่านมาไม่กี่วัน):\n"
"ดูได้ชัดเจนว่ามีการเปลี่ยนแปลงแบบสัปดาห์ในข้อมูล เนื่องจากเราต้องการดูแนวโน้ม จึงสมเหตุสมผลที่จะปรับความโค้งให้เรียบขึ้นโดยการคำนวณค่าเฉลี่ยเคลื่อนที่ (คือ สำหรับแต่ละวันเราจะคำนวณค่ามัธยฐานของวันก่อนหน้าหลายวัน):\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เพื่อที่จะสามารถเปรียบเทียบหลายประเทศได้ เราอาจต้องการพิจารณาประชากรของประเทศนั้น และเปรียบเทียบเปอร์เซ็นต์ของบุคคลที่ติดเชื้อต่อประชากรของประเทศนั้น ในการที่จะได้ประชากรของประเทศ ให้เราโหลดชุดข้อมูลของประเทศ:\n"
"เพื่อที่จะสามารถเปรียบเทียบหลายประเทศได้ เราอาจต้องการพิจารณาประชากรของประเทศนั้น ๆ ด้วย และเปรียบเทียบเปอร์เซ็นต์ของผู้ติดเชื้อเมื่อเทียบกับประชากรของประเทศ เพื่อที่จะได้รับข้อมูลประชากรของประเทศ มาโหลดชุดข้อมูลของประเทศกันเถอะ:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เนื่องจากชุดข้อมูลนี้ประกอบด้วยข้อมูลทั้งประเทศและจังหวัด เพื่อให้ได้จำนวนประชากรของประเทศทั้งหมด เราจึงต้องใช้วิธีที่ชาญฉลาดเล็กน้อย:\n"
"เนื่องจากชุดข้อมูลนี้มีข้อมูลเกี่ยวกับทั้งประเทศและจังหวัด เพื่อที่จะได้จำนวนประชากรของทั้งประเทศ เราจึงจำเป็นต้องคิดให้ชาญฉลาดหน่อย: \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## การคำนวณ $R_t$\n",
"\n",
"เพื่อดูว่าโรคติดต่อได้มากน้อยเพียงใด เราจะดูที่ **ตัวเลขการแพร่ระบาดพื้นฐาน** $R_0$ ซึ่งแสดงถึงจำนวนคนที่ผู้ติดเชื้อหนึ่งคนจะทำให้ติดเชื้อเพิ่มเติมได้ เมื่อ $R_0$ มากกว่า 1 โรคระบาดมีแนวโน้มที่จะแพร่กระจาย\n",
"เพื่อดูว่าโรคติดต่อได้ง่ายแค่ไหน เราจะดูที่ **จำนวนการขยายพันธุ์พื้นฐาน** $R_0$ ซึ่งบ่งชี้จำนวนคนที่ผู้ติดเชื้อจะติดเชื้อเพิ่มเติม เมื่อ $R_0$ มีค่ามากกว่า 1 โรคระบาดมีแนวโน้มที่จะแพร่กระจาย\n",
"\n",
"$R_0$ เป็นคุณสมบัติของโรคโดยตรง และไม่ได้นำมาตรการป้องกันที่ผู้คนอาจใช้เพื่อชะลอการระบาดเข้ามาพิจารณา ในระหว่างการระบาด เราสามารถประมาณค่าการแพร่เชื้อ $R_t$ ได้ในช่วงเวลาใดเวลาหนึ่ง $t$ ได้แสดงให้เห็นว่าค่าสมมุตินี้สามารถประมาณได้คร่าวๆ โดยการใช้หน้าต่างเวลา 8 วัน และคำนวณ $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"$R_0$ เป็นสมบัติของโรคเอง และไม่คำนึงถึงมาตรการป้องกันบางอย่างที่ผู้คนอาจใช้เพื่อชะลอการระบาด ในระหว่างการระบาด เราสามารถประมาณจำนวนการขยายพันธุ์ $R_t$ ในเวลาที่กำหนด $t$ ได้ มีการแสดงว่าค่านี้สามารถประมาณแบบคร่าวๆ โดยการใช้หน้าต่างเวลา 8 วัน และคำนวณ $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"โดยที่ $I_t$ คือจำนวนผู้ติดเชื้อรายใหม่ในวัน $t$\n",
"\n",
"เรามาคำนวณ $R_t$ สำหรับข้อมูลโรคระบาดของเรากัน เพื่อทำเช่นนี้ เราจะใช้หน้าต่างเลื่อนของค่า `ninfected` จำนวน 8 ค่า และใช้ฟังก์ชันเพื่อคำนวณอัตราส่วนด้านบน:\n"
"ให้เราคำนวณ $R_t$ สำหรับข้อมูลการระบาดของเรา สำหรับการนี้ เราจะใช้หน้าต่างเลื่อนที่มีค่า `ninfected` 8 ค่า และใช้ฟังก์ชันในการคำนวณอัตราส่วนข้างต้น:\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"คุณจะเห็นว่ามีช่องว่างบางส่วนในกราฟ ช่องว่างเหล่านั้นอาจเกิดจาก `NaN` หรือถ้ามีค่าของ `inf` อยู่ในชุดข้อมูล ค่า `inf` อาจเกิดจากการหารด้วยศูนย์ และ `NaN` สามารถบ่งชี้ถึงข้อมูลที่ขาดหายไป หรือไม่มีข้อมูลที่ใช้ในการคำนวณผลลัพธ์ (เช่น ในช่วงเริ่มต้นของเฟรมของเรา ที่หน้าต่างเลื่อนความกว้าง 8 ยังไม่พร้อมใช้งาน) เพื่อทำให้กราฟดูดีขึ้น เราจำเป็นต้องเติมค่าดังกล่าวโดยใช้ฟังก์ชัน `replace` และ `fillna`\n",
"คุณจะเห็นว่ามีช่องว่างบางส่วนในกราฟ เหล่านั้นอาจเกิดจาก `NaN` หรือถ้ามีค่าของ `inf` ปรากฏในชุดข้อมูล ค่า `inf` อาจเกิดจากการหารด้วย 0 และ `NaN` อาจบ่งชี้ถึงข้อมูลที่ขาดหายไป หรือไม่มีข้อมูลเพียงพอที่จะคำนวณผลลัพธ์ (เช่นในช่วงเริ่มต้นของกรอบข้อมูลของเรา ที่หน้าต่างเลื่อนกว้าง 8 ยังไม่พร้อมใช้งาน) เพื่อให้กราฟดูดีขึ้น เราต้องเติมค่าดังกล่าวโดยใช้ฟังก์ชัน `replace` และ `fillna`\n",
"\n",
"เรามาดูเพิ่มเติมที่ช่วงเริ่มต้นของการระบาด เราจะจำกัดค่าแกน y ให้แสดงเฉพาะค่าน้อยกว่า 6 เพื่อให้เห็นได้ชัดเจนขึ้น และวาดเส้นแนวนอนที่ค่า 1\n"
"ลองมาดูช่วงเริ่มต้นของการระบาดกันเพิ่มเติม เราจะจำกัดค่าแกน y ให้แสดงเฉพาะค่าต่ำกว่า 6 เพื่อให้เห็นได้ชัดขึ้น และวาดเส้นแนวนอนที่ค่า 1\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ตัวชี้วัดที่น่าสนใจอีกอย่างหนึ่งของการระบาดคือ **อัตราการเปลี่ยนแปลง** หรือ **ความแตกต่างรายวัน** ของจำนวนผู้ติดเชื้อใหม่ ซึ่งช่วยให้เราเห็นได้ชัดเจนว่าเมื่อใดการระบาดกำลังเพิ่มขึ้นหรือลดลง\n"
"ตัวชี้วัดที่น่าสนใจอีกอย่างของการระบาดคือ **อนุพันธ์** หรือ **ความแตกต่างรายวัน** ในจำนวนผู้ป่วยรายใหม่ มันช่วยให้เราเห็นได้อย่างชัดเจนว่าเมื่อใดที่การระบาดกำลังเพิ่มขึ้นหรือลดลง \n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"เนื่องจากมีความผันผวนของข้อมูลอย่างมากจากการรายงาน จึงสมเหตุสมผลที่จะทำให้เส้นโค้งราบเรียบขึ้นดยการใช้ค่าเฉลี่ยเคลื่อนที่เพื่อให้ได้ภาพรวมโดยรวม มาลองโฟกัสที่เดือนแรก ๆ ของการระบาดอีกครั้ง:\n"
"ด้วยข้อเท็จจริงที่ว่ามีความผันผวนมากมายในข้อมูลที่เกิดจากการรายงาน จึงมีเหตุผลที่จะทำให้เส้นโค้งเรียบขึ้นด้วยการใช้ค่าเฉลี่ยเคลื่อนที่เพื่อให้เห็นภาพรวม มาสนใจที่เดือนแรกๆ ของการระบาดอีกครั้งกันเถอะ:\n"
]
},
{
@ -2390,26 +2391,27 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Challenge\n",
"\n",
"ถึงเวลาที่คุณจะได้เล่นกับโค้ดและข้อมูลมากขึ้นแล้ว! นี่คือข้อเสนอแนะบางประการที่คุณสามารถทดลองได้:\n",
"* ดูการแพร่ระบาดของโรคในประเทศต่าง ๆ\n",
"* วาดกราฟ $R_t$ สำหรับหลายประเทศในกราฟเดียวเพื่อเปรียบเทียบ หรือทำกราฟหลายกราฟวางเคียงกัน\n",
"* ดูว่าจำนวนผู้เสียชีวิตและผู้ที่ฟื้นตัวมีความสัมพันธ์กับจำนวนผู้ติดเชื้ออย่างไร\n",
"* พยายามค้นหาว่าโรคทั่วไปใช้เวลานานแค่ไหนโดยการเปรียบเทียบอัตราการติดเชื้อและอัตราการเสียชีวิตด้วยการสังเกตดูและหาความผิดปกติ อาจต้องดูข้อมูลจากหลายประเทศเพื่อค้นหาคำตอบนี้\n",
"* คำนวณอัตราการเสียชีวิตและดูว่ามันเปลี่ยนแปลงอย่างไรเมื่อเวลาผ่านไป คุณอาจต้องคำนึงถึงระยะเวลาของโรคเป็นจำนวนวันเพื่อนำไปเลื่อนชุดข้อมูลเวลาอย่างหนึ่งก่อนการคำนวณ\n"
"## ความท้าทาย\n",
"\n",
"ถึงเวลาที่คุณจะได้เล่นกับโค้ดและข้อมูลมากขึ้นแล้ว! นี่คือคำแนะนำบางอย่างที่คุณสามารถทดลองได้:\n",
"* ดูการแพร่กระจายของโรคระบาดในประเทศต่างๆ\n",
"* วาดกราฟ $R_t$ สำหรับหลายประเทศในกราฟเดียวกันเพื่อนำมาเปรียบเทียบ หรือสร้างกราฟหลายกราฟวางข้างกัน\n",
"* ดูว่าจำนวนผู้เสียชีวิตและผู้ที่ฟื้นฟูมีความสัมพันธ์กับจำนวนผู้ติดเชื้ออย่างไร\n",
"* ลองค้นหาว่าโรคโดยทั่วไปใช้เวลานานแค่ไหนโดยการดูความสัมพันธ์ระหว่างอัตราการติดเชื้อและอัตราการเสียชีวิตอย่างชัดเจน และมองหาความผิดปกติบางอย่าง คุณอาจต้องดูหลายประเทศเพื่อค้นหาข้อมูลนี้\n",
"* คำนวณอัตราการเสียชีวิตและว่าสัดส่วนนี้เปลี่ยนแปลงอย่างไรตามเวลา คุณอาจต้องพิจารณาระยะเวลาของโรคในหน่วยวันเพื่อเลื่อนชุดข้อมูลเวลาหนึ่งก่อนทำการคำนวณ\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## References\n",
"## เอกสารอ้างอิง\n",
"\n",
"คุณสามารถศึกษาการแพร่ระบาดของ COVID เพิ่มเติมได้ในสิ่งพิมพ์ต่อไปนี้:\n",
"* [Sliding SIR Model for Rt Estimation during COVID Pandemic](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), บล็อกโพสต์โดย [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimation of Time-Dependent Reproduction Number for Global COVID-19 Outbreak](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Code for the above paper on GitHub](https://github.com/shwars/SlidingSIR)\n"
"คุณสามารถดูงานวิจัยเพิ่มเติมเกี่ยวกับการแพร่ระบาดของ COVID ในเอกสารดังต่อไปนี้:\n",
"* [โมเดล SIR เลื่อนสำหรับการประเมิน Rt ระหว่างการระบาดของ COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), บทความบล็อกโดย [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [การประเมินจำนวนการสืบพันธุ์ที่เปลี่ยนแปลงตามเวลาในการระบาดของ COVID-19 ทั่วโลก](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [โค้ดสำหรับงานวิจัยข้างต้นบน GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
{
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ข้อจำกัดความรับผิดชอบ**:\nเอกสารฉบับนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้เราจะพยายามให้ความถูกต้องสูงสุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความคลาดเคลื่อน เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลหลัก สำหรับข้อมูลสำคัญ ขอแนะนำให้ใช้บริการแปลโดยมนุษย์ผู้เชี่ยวชาญ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดใด ๆ ที่เกิดจากการใช้การแปลนี้\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ปฏิเสธความรับผิดชอบ**:\nเอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],

@ -1,8 +1,8 @@
# โครงการการแสดงข้อมูล Dangerous Liaisons
# โครงการ visualization ข้อมูล Dangerous Liaisons
เพื่อเริ่มต้น คุณต้องตรวจสอบให้แน่ใจว่าคุณมี NPM และ Node ติดตั้งและทำงานบนเครื่องของคุณ ติดตั้ง dependencies (npm install) และจากนั้นรันโปรเจกต์ในเครื่องของคุณ (npm run serve):
ในการเริ่มต้น คุณต้องแน่ใจว่าคุณมี NPM และ Node **>=20.0.0** ทำงานบนเครื่องของคุณ ติดตั้ง dependencies (npm install) แล้วรันโปรเจกต์ในเครื่อง (npm run serve):
## การตั้งค่าโปรเจกต์
## การตั้งค่าโครงการ
```
npm install
```
@ -12,7 +12,7 @@ npm install
npm run serve
```
### คอมไพล์และย่อขนาดสำหรับการใช้งานจริง
### คอมไพล์และบีบอัดสำหรับการผลิต
```
npm run build
```
@ -23,9 +23,11 @@ npm run lint
```
### ปรับแต่งการตั้งค่า
ดู [Configuration Reference](https://cli.vuejs.org/config/).
ดูที่ [Configuration Reference](https://cli.vuejs.org/config/).
---
**ข้อจำกัดความรับผิดชอบ**:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษาจากผู้เชี่ยวชาญ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ปฏิเสธความรับผิดชอบ**:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,31 +1,33 @@
# โครงการการแสดงข้อมูล Dangerous Liaisons
# โครงการการแสดงผลข้อมูล Dangerous Liaisons
เพื่อเริ่มต้น คุณต้องตรวจสอบให้แน่ใจว่าคุณมี NPM และ Node ทำงานอยู่ในเครื่องของคุณ ติดตั้ง dependencies (npm install) และจากนั้นรันโปรเจกต์ในเครื่องของคุณ (npm run serve):
ในการเริ่มต้น คุณต้องแน่ใจว่าคุณมี NPM และ Node **>=20.0.0** ที่รันบนเครื่องของคุณ ติดตั้ง dependencies (npm install) แล้วจึงรันโครงการในเครื่อง (npm run serve):
## การตั้งค่าโปรเจกต์
## การตั้งค่าโครงการ
```
npm install
```
### คอมไพล์และรีโหลดอัตโมัติสำหรับการพัฒนา
### คอมไพล์และโหลดซ้ำแบบร้อนสำหรับการพัฒนา
```
npm run serve
```
### คอมไพล์และย่อขนาดสำหรับการใช้งานจริง
### คอมไพล์และบีบอัดสำหรับการผลิต
```
npm run build
```
### ตรวจสอบและแก้ไขไฟล์
### ตรวจและแก้ไขไฟล์
```
npm run lint
```
### ปรับแต่งการตั้งค่า
ดู [Configuration Reference](https://cli.vuejs.org/config/).
### ปรับแต่งการตั้งค่า
ดูที่ [Configuration Reference](https://cli.vuejs.org/config/)
---
**ข้อจำกัดความรับผิดชอบ**:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์ที่เป็นมืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ปฏิเสธความรับผิดชอบ**:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save