Πρώτο άρθρο!

Το πρώτο μου άρθρο στη προσωπική μου σελίδα χρησιμοποιώντας το Quarto.
Γενικα
Συντάκτης

stesiam

Δημοσιεύτηκε στις

27 Ιουλίου 2022

Γεια σας!

Επιτέλους, έφτιαξα την ιστοσελίδα μου χρησιμοποιώντας το Quarto. Αυτή τη στιγμή η σελίδα φιλοξενείται μέσω του GitHub Pages.

Πώς ξεκίνησαν όλα

Η συνάντησή μου με τη Στατιστική ήταν μάλλον τυχαία. Την πρώτη φορά που έδωσα Πανελλήνιες πέρασα στο τμήμα Οικονομικής Επιστήμης του Πανεπιστημίου Πελοποννήσου. Αν και μου άρεσε η ιδέα να ασχοληθώ με την Οικονομική Επιστήμη, η προοπτική να μετακομίσω σε άλλη πόλη (Τρίπολη) αποτελούσε ένα τεράστιο οικονομικό βάρος που συνοδευόταν από μεγάλη αβεβαιότητα, κάτι που για εμένα ήταν δυσβάσταχτο. Έτσι, επέλεξα να ξαναδώσω Πανελλήνιες εξετάσεις την αμέσως επόμενη χρονιά. Από όσο θυμάμαι είχα δηλώσει πρώτα Οικονομικές σχολές και σχολές Πληροφορικής, ακολουθούμενες από σχολές Στατιστικής, κατά προτεραιότητα στην Αττική και μετά στην υπόλοιπη Ελλάδα. Τελικά, όταν ανακοινώθηκαν οι βάσεις, έμαθα ότι πέρασα στο τμήμα Στατιστικής και Ασφαλιστικής Επιστήμης του Πανεπιστημίου Πειραιά. Όντας, λοιπόν, ένας φοιτητής ενός τμήματος Στατιστικής, ξεκίνησα να αποκτώ τα πρώτα μου σχετικά ερεθίσματα μέσω της σχολής. Κατά τα πρώτα χρόνια των σπουδών μου ασχολήθηκα με θεωρία όσον αφορά τα πεδία της Στατιστικής, των Πιθανοτήτων, των Ασφαλίσεων και του Αναλογισμού. Έτσι, απέκτησα τις πρώτες σημαντικές θεωρητικές βάσεις. Ωστόσο, μου έλειπε το πιο σημαντικό χαρακτηριστικό για έναν Στατιστικό, να μπορώ να δώσω υπόσταση στις γνώσεις μου και να εφαρμόζω στην πράξη τις αντίστοιχες στατιστικές τεχνικές. Η σχολή έδινε πολύ μικρή σημασία σε αυτό το κομμάτι. Χαρακτηριστικά, στο πρόγραμμα σπουδών του έτους μου υπήρχαν μόνο δύο σχετικά μαθήματα εφαρμοσμένης στατιστικής με χρήση αντίστοιχου στατιστικού λογισμικού. Το Excel και το SPSS. Το μάθημα του SPSS ήταν ικανοποιητικό, αλλά δεν ήταν σε καμία περίπτωση αντίστοιχο των γνώσεων που απέκτησα, ούτε ανταποκρινόταν στις σύγχρονες ανάγκες της αγοράς εργασίας. Εκτός από αυτό, το SPSS ως λογισμικό έχει σημαντικά μειονεκτήματα που το καθιστούν κακή επιλογή, μεταξύ των οποίων συγκαταλέγεται η αδυναμία προσαρμογής του μοντέλου σου, η έλλειψη διαφάνειας στο πώς προκύπτουν τα αποτελέσματα και βεβαίως το κόστος του. Την περίοδο 2018-2019, ξεκίνησα να ψάχνω για εναλλακτικές, καθώς απεχθανόμουν τελείως το συγκεκριμένο πρόγραμμα ή βασικά το ότι θα έπρεπε να πληρώσω. Μεταξύ άλλων βρήκα ίδιας λογικής λογισμικά με το SPSS αλλά δωρεάν, όπως το PSPP, το JASP και το jamovi. Προσωπικά τα δύο τελευταία τα θεωρώ αξιοπρεπέστατα για απλές αναλύσεις. Μάλιστα το JASP και το jamovi θα τα συνιστούσα σε κάποιον ως μία αξιόλογη εναλλακτική αν δεν είχε γνώσεις προγραμματισμού και δεν είχε πρόσβαση στο SPSS. Κάπου εκεί ανακάλυψα ότι υπάρχει μία γλώσσα προγραμματισμού που είναι επικεντρωμένη στην ανάλυση δεδομένων, η R (γνωστή και με το hashtag #rstats).

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

Από το SPSS στην R

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

Η μετάβαση από κάποια σουίτα Στατιστικής σε μία γλώσσα προγραμματισμού ενδεχομένως και να αποτελεί τραυματική εμπειρία, ειδικά αν είναι η πρώτη σου γλώσσα προγραμματισμού. Το SPSS και οι δωρεάν εναλλακτικές του με συνόδευσαν για ένα σεβαστό διάστημα, ωστόσο το πλέον χαρακτηριστικό δυνατό σημείο των εφαρμογών αυτών άρχισε να μετατρέπεται σε αδυναμία. Τα προγράμματα αυτά έχουν σχεδιαστεί, ώστε άτομα με βασικές γνώσεις και κατανόηση Στατιστικής να κάνουν τις δικές τους αναλύσεις. Καθώς σπούδαζα μάθαινα όλο και περισσότερες μεθοδολογίες και τεχνικές, ώσπου σε δεδομένη στιγμή θεώρησα ότι τα «έτοιμα» λογισμικά αυτά μπορούν να με εξελίξουν μέχρι ένα σημείο. Είναι αναμφίβολα χρήσιμα, αλλά θέτουν ένα όριο στο πόσο βαθιά χρειάζεται ή επιτρέπεται να προβληματιστεί ο χρήστης. Για οτιδήποτε ξεπερνά αυτό το όριο, είτε δεν ασχολούνται καθόλου επειδή θεωρείται υπερβολικά περίπλοκο για την πλειοψηφία, είτε υιοθετούν εύλογες υποθέσεις βάσει των δεδομένων, ώστε ο μέσος χρήστης να μην χρειαστεί να έρθει σε επαφή με θεωρία ή ελέγχους υποθέσεων. Το σημείο αυτό διαφέρει από εφαρμογή σε εφαρμογή, άλλες επιλέγουν να είναι υπερβολικά απλές και να κάνουν λίγα πράγματα καλά για τον καθημερινό χρήστη (π.χ. Excel), ενώ άλλα λογισμικά προσφέρουν περισσότερες επιλογές με μεγαλύτερη πολυπλοκότητα (π.χ. SPSS, JASP, Weka). Όλες, όμως, έχουν τον δικό τους περιορισμό. Όσο λοιπόν ασχολιόμουν με τέτοια λογισμικά αναρωτιόμουν τι θα μπορούσα να κάνω αν ήθελα να θέσω άλλες παραμέτρους ή να χρησιμοποιήσω κάποια παραλλαγή ενός ελέγχου που διάβασα σε ένα πρόσφατα δημοσιευμένο άρθρο. Τότε κατάλαβα ότι, συνεχίζοντας έτσι, θα υπηρετούσα τα προγράμματα αυτά και όχι τον σκοπό μου. Στόχος μου ήταν ξεκάθαρα να γίνω γνώστης της Επιστήμης μου και όχι ενός προγράμματος ή μίας σουίτας στατιστικού λογισμικού. Έτσι, αποφάσισα για τη μεγάλη αλλαγή.

Πρώτα βήματα

Η σχέση μου με την R ξεκινάει το 2018, με αρκετά σκαμπανεβάσματα. Μπορώ να πω ότι στην αρχή μου φάνηκε ιδιόμορφη και ως επί το πλείστον τη χρησιμοποιούσα σχεδόν διαδικαστικά. Με λίγα λόγια αντέγραφα κώδικα και απλώς προσπαθούσα να καταλάβω τι κάνω. Δηλαδή, για να εκθέσω τον εαυτό μου ακόμα περισσότερο, αν ήθελα να ελέγξω κατά πόσο οι διαφορές είναι στατιστικά σημαντικές το έψαχνα στο Google. Λόγω της ιδιαιτερότητάς της ως γλώσσα τη χρησιμοποιούσα πιο πολύ σαν εργαλείο ανάλυσης παρά ως γλώσσα προγραμματισμού. Οι πρώτες χρήσεις που είχα κάνει στην R ήταν κάποιοι απλοί στατιστικοί έλεγχοι και εντυπωσιάστηκα ότι μπορούσα πλέον να χρησιμοποιήσω ένα εργαλείο με θεωρητικά απεριόριστες δυνατότητες σε σχέση με τα «έτοιμα» προγράμματα. Η όλη διαδρομή, βέβαια, ήταν ιδιαίτερα ενδιαφέρουσα και περιλάμβανε πολλά ξενύχτια. Παρ’ όλα αυτά, μετά από άπειρα μηνύματα σφάλματος, άρχισα να παρατηρώ τη σταδιακή μου βελτίωση. Και ακόμα δεν είχα αντιληφθεί το πόσο σωστή επιλογή είχα κάνει, καθώς αγνοούσα το εύρος των δυνατοτήτων της. Με το καιρό ανακάλυπτα ότι μπορείς να φτιάξεις δικά σου γραφήματα με το πακέτο {ggplot2} και ενθουσιάστηκα (ομολογώ λίγο παραπάνω από το κανονικό) όταν έμαθα ότι το BBC και οι Financial Times χρησιμοποιούν το {ggplot2} για να φτιάξουν τα εντυπωσιακά γραφήματά τους. Στη συνέχεια έμαθα και για άλλες δυνατότητες, με χαρακτηριστικότερη αυτή της δημιουργίας ηλεκτρονικών εφαρμογών (web-apps / dashboards) με το πακέτο {Shiny}, όπου το εύρος των δυνατοτήτων δεν περιοριζόταν μόνο σε Στατιστική. Παράλληλα ανακάλυψα το Kaggle, μια ιστοσελίδα αφιερωμένη στην επιστήμη δεδομένων. Μου φάνηκε ιδιαίτερα χρήσιμη πλατφόρμα και εκεί άρχισα να δημοσιεύω άρθρα-notebook, γραφήματα και γενικά να πειραματίζομαι με τη R. Κοιτώντας τα σήμερα, μετά από αρκετά χρόνια, τα γραφήματά μου ήταν οικτρά, τότε όμως τα έβλεπα και χαιρόμουν. Τουλάχιστον, με τον καιρό βελτιώθηκα και πλέον έχω το γνώθι σαυτόν ότι όντως τα έκανα χάλια 😀. Αν με παρακαλέσετε, βέβαια, μπορεί και να ανεβάσω ένα-δύο, για να δείτε πόσο αχάμπαρος ήμουν τότε και να έχουμε κάτι να γελάμε. Το Kaggle ήταν εξαιρετικά χρήσιμο, έμαθα πάρα πολλά πράγματα και υπήρχαν άνθρωποι που δούλευαν σε κολοσσούς και δημοσίευαν λύσεις για πραγματικά προβλήματα. Μέχρι και σήμερα αναρτώνται διαγωνισμοί, και πολλοί δημοσιεύουν τις λύσεις τους. Το μοναδικό πρόβλημα είναι ότι με τον καιρό επικράτησε η Python, με αποτέλεσμα το μεγαλύτερο μέρος του υλικού να αφορά μόνο Python. Αυτό είχε ως συνέπεια η κοινότητα των χρηστών της R να συρρικνωθεί και πλέον όλο και λιγότερα άρθρα για τη R να δημοσιεύονται ή να αντικαθίστανται από αντίστοιχα στην Python. Για αυτό έλαβα μία ενδιαφέρουσα απόφαση…

Λογότυπο γλώσσας προγραμματισμού R Η R είναι μία γλώσσα προγραμματισμού που εξειδικεύεται στην ανάλυση δεδομένων και στη στατιστική. Δημιουργήθηκε το 1993 από τους Ross Ihaka και Robert Gentleman.

Εκτός πλατφόρμας

Πριν από μερικά χρόνια αποφάσισα να φτιάξω τη δική μου ιστοσελίδα, ώστε να φιλοξενώ μόνος μου τα άρθρα. Αρχικά, έπρεπε να αποφασίσω με ποιον τρόπο θα τη δημιουργήσω. Οι επιλογές ήταν πολλές και πειραματίστηκα με διάφορους τρόπους και εργαλεία. Μία λύση θα ήταν συμβατική ιστοσελίδα με το Wordpress, κάτι που όμως θα ήταν κοστοβόρο μιας και θα έπρεπε να τη φιλοξενήσω σε server και να καλύψω τα ανάλογα έξοδα (περίπου 10$/μήνα) για ένα αξιοπρεπές και ασφαλές πλάνο VPS. Κάτι τέτοιο δεν άξιζε και σαν σωστός μπατίρης που είμαι έψαξα για έναν πιο φθηνό τρόπο και από ό,τι φαίνεται υπάρχει. Εκείνη την περίοδο ανακάλυψα τις στατικές ιστοσελίδες και τη μη ανάγκη ενός blog να έχει server. Τέτοια παραδείγματα είναι το Hugo με τη βοήθεια του πακέτου {blogdown} και το {distill}, τα οποία ήταν αξιόλογες λύσεις, αλλά υπήρχαν σημαντικά προβλήματα. Από τη μία, το Hugo βασίζεται σε γλώσσα προγραμματισμού που δεν γνωρίζω (Golang), άρα αν ήθελα να κάνω κάποια αλλαγή ή να προσθέσω μία λειτουργία θα μου ήταν αδύνατο. Επιπλέον, η προηγούμενη σελίδα μου, που ήταν φτιαγμένη με το Distill, δεν ήταν φιλική στις μικρές οθόνες (non-responsive), αφού έκρυβε το κουμπί του μενού. Το Quarto έλυσε πολλά προβλήματα που είχαν αυτοί οι δύο τρόποι και πλέον πάρα πολλοί το χρησιμοποιούν για τις ιστοσελίδες τους. Ναι, το Quarto έχει ορισμένες ελλείψεις ακόμα αν το συγκρίνουμε με άλλα καθιερωμένα υποδείγματα κατασκευής ιστοσελίδας (π.χ. Astro), αλλά αυτή τη στιγμή αποτελεί ό,τι καλύτερο για όποιον δουλεύει σε γλώσσες ανάλυσης (R, Python, Julia) και θέλει να αναρτήσει άρθρα με βάση αυτά. Το κύριο πλεονέκτημα κατά τη γνώμη μου είναι η εκτέλεση του αρχείου ανάλυσης και εξαγωγή του ως άρθρου. Αν χρησιμοποιούσα ένα άλλο static site builder όπως το Astro θα έπρεπε κάθε φορά να τρέχω ξεχωριστά τον κώδικα και να αναρτώ τα αποτελέσματα ή τα γραφήματά μου σε αυτό και να το ξανατρέξω, κάτι που θα καθιστούσε όλη τη διαδικασία μη παραγωγική.

Σχήμα 1: Πακέτα της R για να φτιάξεις ιστοσελίδα (πριν το Quarto)

Στόχοι ιστοσελίδας

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

  • γράφω άρθρα ή να κάνω αναλύσεις μηχανικής μάθησης (χρησιμοποιώντας R και Python)
  • αναρτώ επεξηγηματικά άρθρα (π.χ., «Πώς να φτιάξετε τη δική σας ιστοσελίδα με το Quarto» κα.)
  • παρουσιάζω τις δραστηριότητές / project μου (κυρίως τις εφαρμογές μου με το {shiny}, κα.)
  • αναρτώ υλικό και άρθρα στα ελληνικά, μιας και δεν υπάρχει μεγάλο κοινό στην Ελλάδα και θέλω αυτό να αλλάξει
  • λύνω θέματα εξετάσεων ή έστω αντίστοιχες ασκήσεις με την R
  • και πολλά άλλα …

Σημειώσεις

Εικόνα άρθρου: R. E. Beck from Pixabay

Παραπομπή άρθρου

Allaire, J. J., Teague, C., Scheidegger, C., Xie, Y., & Dervieux, C. (2022). Quarto. https://doi.org/10.5281/zenodo.5960048
Dervieux, C., Allaire, J., Iannone, R., Presmanes Hill, A., & Xie, Y. (2022). distill: ’R Markdown’ Format for Scientific and Technical Writing. Ανακτήθηκε από https://CRAN.R-project.org/package=distill
Xie, Y., Dervieux, C., & Hill, A. P. (2022). blogdown: Create Blogs and Websites with R Markdown. Ανακτήθηκε από https://github.com/rstudio/blogdown