Πρώτο άρθρο!

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

stesiam

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

27 Ιουλίου 2022

Γεια σας!

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

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

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

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

Από το SPSS στην R

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

Λογότυπο γλώσσας προγραμματισμού R Η γλώσσα R είναι μία γλώσσα προγραμματισμού

Πρώτα βήματα

Η σχέση μου με την R ξεκινάει το 2019, με αρκετά σκαμπανεβάσματα. Μπορώ να πω ότι στην αρχή μου φάνηκε αρκετά περίεργη και ως επί το πλείστον τη χρησιμοποιούσα αρκετά διαδικαστικά. Με λίγα λόγια αντέγραφα κώδικα και απλώς προσπαθούσα να καταλάβω τι κάνω. Δηλαδή, για να εκθέσω τον εαυτό μου ακόμα περισσότερο, αν ήθελα να κάνω μία σύγκριση αν οι διαφορές είναι στατιστικά σημαντικές το έψαχνα στο Google. Λόγω της ιδιαιτερότητάς της ως γλώσσα τη χρησιμοποιούσα πιο πολύ σαν εργαλείο ανάλυσης παρά ως γλώσσα προγραμματισμού. Οι πρώτες χρήσεις που είχα κάνει στην R ήταν κάποιοι απλοί στατιστικοί έλεγχοι και ενθουσιάστηκα ότι μπορούσα πλέον να χρησιμοποιήσω ένα εργαλείο με θεωρητικά απεριόριστες δυνατότητες σε σχέση με τα “έτοιμα” προγράμματα. Βέβαια, η όλη διαδρομή ήταν αρκετά ενδιαφέρουσα με αρκετά ξενύχτια, αλλά μετά από άπειρα μηνύματα σφάλματος, άρχιζα να παρατηρώ τη σταδιακή μου βελτίωση. Η όλη διαδρομή, βέβαια, ήταν αρκετά ενδιαφέρουσα και περιλάμβανε πολλά ξενύχτια. Παρ’ όλα αυτά, μετά από άπειρα μηνύματα σφάλματος, άρχισα να παρατηρώ τη σταδιακή μου βελτίωση. Και ακόμα δεν είχα αντιληφθεί το πόσο σωστή επιλογή είχα κάνει, καθώς αγνοούσα το εύρος των δυνατοτήτων της. Με το καιρό ανακάλυπτα ότι μπορείς να φτιάξεις δικά σου γραφήματα με το πακέτο ggplot2 και ενθουσιάστηκα (ομολογώ λίγο παραπάνω από το κανονικό) όταν έμαθα ότι το BBC και οι Financial Times χρησιμοποιούν το ggplot για να φτιάξουν τα εντυπωσιακά γραφήματά τους. Όταν έμαθα ότι μπορείς να φτιάχνεις και ηλεκτρονικές εφαρμογές (dashboards) με το πακέτο Shiny πραγματικά εντυπωσιάστηκα με το εύρος των δυνατοτήτων που δεν περιοριζόταν μόνο στη Στατιστική. Στη συνέχεια ανακάλυψα το Kaggle, μια ιστοσελίδα αφιερωμένη στην επιστήμη δεδομένων. Μου φάνηκε ιδιαίτερα ενδιαφέρουσα πλατφόρμα και εκεί άρχισα να δημοσιεύω κάποια άρθρα-notebook, γραφήματα και γενικά να πειραματίζομαι με τη R. Κοιτώντας τα σήμερα, μετά από αρκετά χρόνια, τα γραφήματά μου ήταν οικτρά, τότε όμως τα έβλεπα και χαιρόμουν. Τουλάχιστον, με τον καιρό βελτιώθηκα και πλέον έχω το γνώθι σ’ αυτόν ότι όντως τα έκανα χάλια 😀. Αν με παρακαλέσετε, βέβαια, μπορεί και να ανεβάσω ένα-δύο, για να δείτε πόσο αχάμπαρος ήμουν τότε. Το Kaggle ήταν εξαιρετικά χρήσιμο έμαθα πάρα πολλά πράγματα και υπήρχαν άνθρωποι που δούλευαν σε κολοσσούς και δημοσίευαν προσβάσιμες λύσεις για πραγματικά προβλήματα. Μέχρι και σήμερα αναρτώνται διαγωνισμοί, και πολλοί δημοσιεύουν τις λύσεις τους. Το μοναδικό πρόβλημα είναι ότι με τον καιρό επικράτησε η Python, με αποτέλεσμα περίπου το 80% του υλικού να αφορά άλλες γλώσσες. Αυτό είχε ως συνέπεια η κοινότητα των χρηστών της R να συρρικνωθεί και πλέον όλο και λιγότερα άρθρα για τη R να δημοσιεύονται ή να αντικαθίστανται από αντίστοιχα στην Python. Για αυτό έλαβα μία ενδιαφέρουσα απόφαση…

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

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

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

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

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

  • γράφω άρθρα ή να κάνω αναλύσεις μηχανικής μάθησης (χρησιμοποιώντας R και Python)
  • αναρτώ επεξηγηματικά άρθρα (e.g., “Πώς να φτιάξετε την δική σας ιστοσελίδα με το Quarto” etc.)
  • παρουσιάσω (κυρίως τις εφαρμογές μου με το Shiny, etc.)
  • αναρτώ υλικό και άρθρα στα ελληνικά, μιας και δεν υπάρχει μεγάλο κοινό στην Ελλάδα και θέλω αυτό να αλλάξει
  • λύνω θέματα εξετάσεων ή έστω να λύνω αντίστοιχα με την 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