ANOVA σε R: Μονόδρομος και Αμφίδρομος Έλεγχος με Παραδείγματα

⚡ Έξυπνη Σύνοψη

Η ανάλυση ANOVA σε R συγκρίνει τους μέσους όρους τριών ή περισσότερων ομάδων διαιρώντας τη συνολική διακύμανση σε συνιστώσες μεταξύ ομάδων και εντός ομάδας. Αυτή η αναλυτική παρουσίαση εκτελεί μονόδρομες και αμφίδρομες δοκιμές στο σύνολο δεδομένων poison, ελέγχει υποθέσεις και απομονώνει διαφορετικά ζεύγη με Tukey HSD.

  • 📐 Βασικά Στατιστικά: Ο λόγος F διαιρεί τη μεταβλητότητα μεταξύ ομάδων με τη μεταβλητότητα εντός της ομάδας, επομένως οι μεγαλύτερες τιμές αντιτίθενται στους ίσους μέσους όρους.
  • 🧪 Μονόδρομη Σύνταξη: Η συνάρτηση aov(time~poison, data = df) ακολουθούμενη από τη συνάρτηση summary() επιστρέφει τους βαθμούς ελευθερίας, την τιμή F και την τιμή p.
  • Έλεγχοι Υποθέσεων: Δοκιμή ανεξαρτησίας, κανονικότητας υπολειμμάτων με shapiro.test() και ίσης διακύμανσης με leveneTest() πριν από την εμπιστευτικότητα της τιμής p.
  • 🔎 Ανάλυση μετά την ολοκλήρωση της μελέτης: Η TukeyHSD() συγκρίνει κάθε ζεύγος ομάδων διατηρώντας παράλληλα το ποσοστό σφάλματος ανά οικογένεια στο δηλωμένο επίπεδο.
  • 🧮 Διπλής κατεύθυνσης επέκταση: Η συνάρτηση aov(time~poison + treat, data = df) προσθέτει έναν δεύτερο παράγοντα και η συνάρτηση poison:treat προσθέτει τον όρο αλληλεπίδρασης.
  • 📊 Αποτελέσματα Ανάγνωσης: Μια τιμή p κάτω από 0.05 απορρίπτει την μηδενική υπόθεση των ίσων μέσων όρων, αλλά ποτέ δεν προσδιορίζει ποια ομάδα διαφέρει.

ANOVA σε R Μονόδρομη Διπλή Δρόμη

Τι είναι το ANOVA;

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

Πριν εκτελέσετε μια δοκιμή, είναι χρήσιμο να γνωρίζετε ποιο μέλος της οικογένειας ANOVA ταιριάζει στο σχέδιό σας.

Τύποι δοκιμών ANOVA σε R

Η «ANOVA» είναι μια οικογένεια δοκιμών και όχι μια ενιαία διαδικασία. Η επιλογή του σωστού μέλους εξαρτάται από τον αριθμό των παραγόντων που έχετε και τον τρόπο συλλογής των δεδομένων.

Δοκιμή Πότε να το χρησιμοποιήσετε Κλήση R
Μονόδρομος ANOVA Ένας παράγοντας με τρία ή περισσότερα επίπεδα aov(y ~ x, δεδομένα = df)
Αμφίδρομη ANOVA Δύο ανεξάρτητοι παράγοντες aov(y ~ x1 + x2, δεδομένα = df)
Αμφίδρομη με αλληλεπίδραση Η επίδραση του ενός παράγοντα εξαρτάται από τον άλλον aov(y ~ x1 * x2, δεδομένα = df)
Επαναλαμβανόμενες μετρήσεις ANOVA Τα ίδια άτομα μετρήθηκαν περισσότερες από μία φορές aov(y ~ x + Σφάλμα(θέμα/x))
ANCOVA Πρέπει να ελέγχεται μια συνεχής συνμεταβλητή για aov(y ~ x + συνμεταβλητή, δεδομένα = df)
ΜΑΝΟΒΑ Δύο ή περισσότερες μεταβλητές απόκρισης ταυτόχρονα manova(cbind(y1, y2) ~ x)

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

ANOVA vs T-Test σε R: Βασικές διαφορές

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

Κριτήρια T-Test ANOVA
Αριθμός ομάδων Ακριβώς δύο Δύο ή περισσότερα
Στατιστικά ελέγχου t F, ίσο με το t στο τετράγωνο όταν υπάρχουν δύο ομάδες
Αποτέλεσμα Ονομάζει την κατεύθυνση της διαφοράς Αναφέρει μόνο ότι υπάρχει διαφορά
Απαιτείται παρακολούθηση Ν/Α Δοκιμή post hoc όπως το Tukey HSD
Συνάρτηση R t.test() aov()

Ο πειρασμός με τρεις ομάδες είναι να εκτελέσετε τρία ξεχωριστά t-tests. Αντισταθείτε σε αυτό. Κάθε δοκιμή έχει το δικό της ποσοστό σφάλματος 5%, επομένως τρεις συγκρίσεις αυξάνουν την πιθανότητα ψευδώς θετικού αποτελέσματος σε περίπου 14%. Η ANOVA απαντά στην ίδια ερώτηση με μία μόνο δοκιμή και στη συνέχεια η Tukey HSD χειρίζεται τη λεπτομέρεια ανά ζεύγη με το ποσοστό σφάλματος υπό έλεγχο. Για την περίπτωση δύο ομάδων, βλ. σεμινάριο t-test.

Μονόδρομος ANOVA

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

  • Ομάδα: Παράγοντες 3 επιπέδων: Α, Β και Γ
  • Πώληση: Μέτρο απόδοσης

Το τεστ ANOVA μπορεί να πει αν οι τρεις ομάδες έχουν παρόμοιες επιδόσεις.

Για να διευκρινίσετε εάν τα δεδομένα προέρχονται από τον ίδιο πληθυσμό, μπορείτε να εκτελέσετε α μονόδρομη ανάλυση διασποράς (μονόδρομη ANOVA στο εξής). Όπως κάθε άλλη στατιστική δοκιμή, παρέχει στοιχεία σχετικά με το εάν η υπόθεση H0 μπορεί να απορριφθεί. Σημειώστε ότι η μη απόρριψη της H0 δεν είναι το ίδιο με την απόδειξη της αλήθειας της.

Υπόθεση σε μονόδρομο τεστ ANOVA

  • H0: Τα μέσα μεταξύ των ομάδων είναι πανομοιότυπα
  • Η1: Τουλάχιστον, ο μέσος όρος μιας ομάδας είναι διαφορετικός

Με άλλα λόγια, η μη απόρριψη της H0 σημαίνει ότι δεν υπάρχουν αρκετά στοιχεία για να συμπεράνουμε ότι οποιαδήποτε μέση τιμή ομάδας διαφέρει από τις άλλες.

Αυτή η δοκιμή είναι παρόμοια με τη δοκιμή t, αλλά η ANOVA είναι η σωστή επιλογή όταν υπάρχουν περισσότερες από δύο ομάδες. Με ακριβώς δύο ομάδες, οι δύο δοκιμές είναι ισοδύναμες και η στατιστική F ισούται με το τετράγωνο της στατιστικής t.

Υποθέσεις

Η μονόδρομη ANOVA βασίζεται σε τρεις συνθήκες: οι παρατηρήσεις είναι τυχαία δειγματοληπτικές και ανεξάρτητες η μία από την άλλη, τα κατάλοιπα εντός κάθε ομάδας είναι περίπου κανονικά κατανεμημένα και η διακύμανση είναι η ίδια σε κάθε ομάδα (ομοιογένεια διακύμανσης). Η ενότητα σχετικά με τον έλεγχο υποθέσεων παρακάτω δείχνει πώς να ελέγξετε καθεμία από αυτές σε R.

Ερμηνεύστε το τεστ ANOVA

Η στατιστική F χρησιμοποιείται για να ελεγχθεί εάν τα δεδομένα προέρχονται από σημαντικά διαφορετικούς πληθυσμούς, δηλαδή από διαφορετικούς μέσους όρους δείγματος.

Για να υπολογίσετε τη στατιστική F, πρέπει να διαιρέσετε το μεταβλητότητα μεταξύ ομάδων πάνω από το μεταβλητότητα εντός της ομάδας.

The μεταξύ-ομάδας Η μεταβλητότητα αντικατοπτρίζει την απόσταση κάθε μέσου όρου ομάδας από τον συνολικό μέσο όρο. Συγκρίνετε τα δύο παρακάτω γραφήματα για να καταλάβετε την ιδέα.

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

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

Ερμηνεύστε το τεστ ANOVA

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

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

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

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

Ερμηνεύστε το τεστ ANOVA

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

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

Παράδειγμα One way ANOVA Test

Θα χρησιμοποιήσετε το σύνολο δεδομένων δηλητηρίου για να εφαρμόσετε τη δοκιμή ANOVA μονής κατεύθυνσης. Το σύνολο δεδομένων περιέχει 48 σειρές και 3 μεταβλητές:

  • Χρόνος: Χρόνος επιβίωσης του ζώου
  • δηλητήριο: Τύπος δηλητηρίου που χρησιμοποιείται: επίπεδο παράγοντα: 1,2 και 3
  • θεραπεία: Τύπος θεραπείας που χρησιμοποιείται: επίπεδο παράγοντα: 1,2 και 3

Πριν ξεκινήσετε να υπολογίζετε τη δοκιμή ANOVA, πρέπει να προετοιμάσετε τα δεδομένα ως εξής:

  • Βήμα 1: Εισαγάγετε τα δεδομένα
  • Βήμα 2: Καταργήστε την περιττή μεταβλητή
  • Βήμα 3: Μετατρέψτε το μεταβλητό poison ως διατεταγμένο επίπεδο
library(dplyr)
PATH <- "https://raw.githubusercontent.com/guru99-edu/R-Programming/master/poisons.csv"
df <- read.csv(PATH) %>%
select(-X) %>% 
mutate(poison = factor(poison, ordered = TRUE))
glimpse(df)

Παραγωγή:

## Observations: 48
## Variables: 3
## $ time   <dbl> 0.31, 0.45, 0.46, 0.43, 0.36, 0.29, 0.40, 0.23, 0.22, 0...
## $ poison <ord> 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 1, 1, 1, 1, 2, 2, 2...
## $ treat  <fctr> A, A, A, A, A, A, A, A, A, A, A, A, B, B, B, B, B, B, ...		

Στόχος μας είναι να ελέγξουμε την ακόλουθη υπόθεση:

  • H0: Δεν υπάρχει διαφορά στο μέσο χρόνο επιβίωσης μεταξύ της ομάδας
  • Η1: Ο μέσος όρος χρόνου επιβίωσης είναι διαφορετικός για τουλάχιστον μία ομάδα.

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

Θα προχωρήσετε ως εξής:

  • Βήμα 1: Ελέγξτε τη μορφή του μεταβλητού δηλητηρίου
  • Βήμα 2: Εκτυπώστε τη συνοπτική στατιστική: μέτρηση, μέσος όρος και τυπική απόκλιση
  • Βήμα 3: Σχεδιάστε ένα οικόπεδο κουτιού
  • Βήμα 4: Υπολογίστε τη δοκιμή ANOVA μονής κατεύθυνσης
  • Βήμα 5: Εκτελέστε μια σύγκριση ανά ζεύγη με το Tukey HSD

Βήμα 1) Ελέγξτε τα επίπεδα δηλητηρίου με τον παρακάτω κώδικα. Θα πρέπει να δείτε τρεις τιμές χαρακτήρων, επειδή το ρήμα μεταλλάξεως μετέτρεψε τη στήλη σε διατεταγμένο παράγοντα.

levels(df$poison)

Παραγωγή:

## [1] "1" "2" "3"

Βήμα 2) Υπολογίζετε τη μέση και τυπική απόκλιση.

df %>%
	group_by(poison) %>%
	summarise(
		count_poison = n(),
		mean_time = mean(time, na.rm = TRUE),
		sd_time = sd(time, na.rm = TRUE)
	)

Παραγωγή:

## 
# A tibble: 3 x 4
##   poison count_poison mean_time    sd_time
##    <ord>        <int>     <dbl>      <dbl>
## 1      1           16  0.617500 0.20942779
## 2      2           16  0.544375 0.28936641
## 3      3           16  0.276250 0.06227627

Βήμα 3) Στο τρίτο βήμα, μπορείτε να ελέγξετε γραφικά εάν υπάρχει διαφορά μεταξύ της διανομής. Σημειώστε ότι συμπεριλαμβάνετε την κουκκίδα.

ggplot(df, aes(x = poison, y = time, fill = poison)) +
    geom_boxplot() +
    geom_jitter(shape = 15,
        color = "steelblue",
        position = position_jitter(0.21)) +
    theme_classic()

Παραγωγή:

Παράδειγμα δοκιμής ANOVA μονής κατεύθυνσης

Βήμα 4) Μπορείτε να εκτελέσετε τη δοκιμή ANOVA μονής κατεύθυνσης με την εντολή aov. Η βασική σύνταξη για μια δοκιμή ANOVA είναι:

aov(formula, data)
Arguments:			
- formula: The equation you want to estimate
- data: The dataset used	

Η σύνταξη του τύπου είναι:

y ~ X1+ X2+...+Xn # X1 +  X2 +... refers to the independent variables
y ~ . # use all the remaining variables as independent variables

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

Αποθηκεύστε το μοντέλο σε ένα αντικείμενο και μεταβιβάστε το στην summary() για να λάβετε μια αναγνώσιμη εκτύπωση των αποτελεσμάτων.

anova_one_way <- aov(time~poison, data = df)
summary(anova_one_way)

Code εξήγηση

  • aov(time ~ poison, data = df): Εκτελέστε τη δοκιμή ANOVA με τον ακόλουθο τύπο
  • summary(anova_one_way): Εκτυπώστε την περίληψη του τεστ

Παραγωγή:

##             Df Sum Sq Mean Sq F value   Pr(>F)
## poison       2  1.033  0.5165   11.79 7.66e-05 ***
## Residuals   45  1.972  0.0438                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Η τιμή p είναι 7.66e-05, πολύ κάτω από το συνηθισμένο όριο του 0.05, και τα τρία αστέρια σηματοδοτούν τον ισχυρότερο κώδικα σημαντικότητας. Μπορείτε να απορρίψετε την H0 και να συμπεράνετε ότι τουλάχιστον μία ομάδα δηλητηρίων έχει διαφορετικό μέσο χρόνο επιβίωσης.

Πώς να ελέγξετε τις υποθέσεις ANOVA στην R

Μια τιμή p της ANOVA είναι αξιόπιστη μόνο όταν ισχύουν οι τρεις συνθήκες που αναφέρθηκαν προηγουμένως. Κάθε μία από αυτές έχει άμεσο έλεγχο στην R και όλες εκτελούνται στο αντικείμενο του προσαρμοσμένου μοντέλου.

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

2. Κανονικότητα υπολειμμάτων. Η ANOVA υποθέτει ότι τα υπόλοιπα, όχι τα ακατέργαστα δεδομένα, είναι περίπου κανονικά. Ελέγξτε το διάγραμμα QQ και επιβεβαιώστε με το τεστ Shapiro-Wilk:

par(mfrow = c(2, 2))
plot(anova_one_way)          # four diagnostic plots

shapiro.test(residuals(anova_one_way))

Τα σημεία που περιβάλλουν τη διαγώνιο του γραφήματος Normal QQ υποδεικνύουν κανονικά υπόλοιπα. Μια τιμή p Shapiro-Wilk πάνω από 0.05 σημαίνει ότι δεν μπορείτε να απορρίψετε την κανονικότητα.

3. Ομοιογένεια της διακύμανσης. Κάθε ομάδα θα πρέπει να παρουσιάζει παρόμοια διασπορά. Το διάγραμμα Residuals vs Fitted θα πρέπει να μοιάζει με επίπεδη ζώνη και όχι με χοάνη. Επιβεβαιώστε το με το τεστ Levene, το οποίο είναι πιο ανθεκτικό στη μη κανονικότητα από το τεστ Bartlett:

library(car)
leveneTest(time ~ poison, data = df)

bartlett.test(time ~ poison, data = df)

Μια τιμή p πάνω από 0.05 υποστηρίζει ίσες διακυμάνσεις.

Τι να κάνετε όταν μια υπόθεση αποτυγχάνει. Εάν οι διακυμάνσεις είναι άνισες, εκτελέστε τη διόρθωση Welch με τη μέθοδο oneway.test(time ~ poison, data = df, var.equal = FALSE). Εάν τα υπόλοιπα είναι σαφώς μη κανονικά και το δείγμα είναι μικρό, μεταβείτε στο τεστ κατάταξης Kruskal-Wallis, kruskal.test(time ~ poison, data = df). Με μεγάλα ισορροπημένα δείγματα, η ANOVA παρουσιάζει αρκετά ισχυρές έως μέτριες αποκλίσεις από την κανονικότητα, επομένως ένα οριακό αποτέλεσμα Shapiro-Wilk σπάνια είναι θανατηφόρο.

Σύγκριση κατά ζεύγη

Ένα σημαντικό F-test σας λέει ότι οι μέσοι όροι της ομάδας δεν είναι όλοι ίσοι, αλλά όχι ποιο ζεύγος διαφέρει. Το Tukey Honest Significant Difference test απαντά σε αυτό συγκρίνοντας κάθε ζεύγος, ενώ παράλληλα ελέγχει το ποσοστό σφάλματος ανά οικογένεια.

TukeyHSD(anova_one_way)

Παραγωγή:

Σύγκριση κατά ζεύγη

Διαβάστε την έξοδο μία γραμμή ανά ζεύγος. Diff η στήλη περιέχει τη διαφορά μεταξύ των μέσων όρων των δύο ομάδων, lwr και άδεια όριο το διάστημα εμπιστοσύνης 95% για αυτήν τη διαφορά, και π.χ. επίθ. είναι η τιμή p προσαρμοσμένη για πολλαπλές συγκρίσεις. Ένα ζεύγος διαφέρει σημαντικά όταν το διάστημά του αποκλείει το μηδέν, ισοδύναμα όταν το p adj είναι κάτω από 0.05. Σε αυτό το σύνολο δεδομένων, οι συγκρίσεις που αφορούν το δηλητήριο 3 είναι οι σημαντικές, κάτι που ταιριάζει με το διάγραμμα κουτιού: η ομάδα 3 έχει σαφώς χαμηλότερο μέσο χρόνο επιβίωσης από τις ομάδες 1 και 2, ενώ οι ομάδες 1 και 2 είναι στατιστικά αδιαίρετες μεταξύ τους.

Αμφίδρομη ANOVA

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

y ~ x1 + x2

Εδώ το y είναι η ποσοτική μεταβλητή απόκρισης, ενώ τα x1 και x2 είναι και τα δύο κατηγορικοί παράγοντες.

Υπόθεση σε αμφίδρομη δοκιμασία ANOVA

  • H0: Οι μέσοι όροι της ομάδας είναι ίσοι και για τις δύο μεταβλητές παράγοντα
  • H1: Τουλάχιστον ένας μέσος όρος ομάδας διαφέρει, για τουλάχιστον έναν από τους δύο παράγοντες

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

Προσαρμόστε τον κώδικα προσθέτοντας την συνάρτηση treat δίπλα στην πρώτη ανεξάρτητη μεταβλητή.

anova_two_way <- aov(time~poison + treat, data = df)
summary(anova_two_way)

Παραγωγή:

##             Df Sum Sq Mean Sq F value  Pr(>F)    
## poison       2 1.0330  0.5165   20.64 5.7e-07 ***
## treat        3 0.9212  0.3071   12.27 6.7e-06 ***
## Residuals   42 1.0509  0.0250                    
## ---

Και οι δύο τιμές p (5.7e-07 για το δηλητήριο και 6.7e-06 για τη θεραπεία) βρίσκονται πολύ κάτω από το 0.05, επομένως απορρίπτετε την H0 και για τους δύο παράγοντες και καταλήγετε στο συμπέρασμα ότι η αλλαγή είτε του δηλητηρίου είτε της θεραπείας επηρεάζει τον χρόνο επιβίωσης.

Προσθήκη όρου αλληλεπίδρασης

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

anova_interaction <- aov(time~poison * treat, data = df)
summary(anova_interaction)

Εάν η γραμμή poison:treat δεν είναι σημαντική, το προσθετικό μοντέλο είναι η καλύτερη επιλογή επειδή καταναλώνει λιγότερους βαθμούς ελευθερίας.

ANOVA σε R: Αναφορά Γρήγορης Δοκιμής

Ο παρακάτω πίνακας παραθέτει κάθε δοκιμή που χρησιμοποιήθηκε παραπάνω, την κλήση R που την εκτελεί και την υπόθεση που αξιολογεί:

Δοκιμή Code Υπόθεση P-τιμή
Μονόδρομος ANOVA
aov(y ~ X, data = df)
Η1: Ο μέσος όρος είναι διαφορετικός για τουλάχιστον μία ομάδα 0.05
Κατά ζεύγη
TukeyHSD(ANOVA summary)
0.05
Αμφίδρομη ANOVA
aov(y ~ X1 + X2, data = df)
H1: Τουλάχιστον ένας μέσος όρος ομάδας διαφέρει για οποιονδήποτε παράγοντα 0.05

Συχνές Ερωτήσεις

Η τιμή F είναι ο λόγος της διακύμανσης μεταξύ ομάδων προς τη διακύμανση εντός της ομάδας. Τιμές κοντά στο 1 υποδηλώνουν ότι οι μέσοι όροι των ομάδων είναι παρόμοιοι. Μεγάλες τιμές υποδηλώνουν ότι οι ομάδες προέρχονται από πληθυσμούς με διαφορετικούς μέσους όρους.

Χρησιμοποιήστε τη συνάρτηση oneway.test() με var.equal = FALSE όταν οι διακυμάνσεις είναι άνισες και kruskal.test() όταν τα υπόλοιπα είναι σαφώς μη κανονικά. Ο μετασχηματισμός μιας ασύμμετρης απόκρισης με log() συχνά αποκαθιστά τόσο την κανονικότητα όσο και την ίση διακύμανση.

Κάθε t-test φέρει το δικό του κίνδυνο ψευδώς θετικού αποτελέσματος 5%. Τρία ζευγαρωτά τεστ αυξάνουν το ποσοστό σφάλματος ανά οικογένεια σε περίπου 14%. Η ANOVA διατηρεί ένα μόνο συνολικό τεστ στο 5% και το Tukey HSD προσαρμόζει τις ζευγαρωτά συγκρίσεις.

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

Ναι. Οι βοηθοί τεχνητής νοημοσύνης μπορούν να εξηγήσουν βαθμούς ελευθερίας, να μεταφράσουν τις τιμές p σε απλή γλώσσα και να επισημάνουν παραβιάσεις υποθέσεων σε διαγνωστικά γραφήματα. Να επιβεβαιώνετε πάντα την ένδειξη με τα δικά σας αποτελέσματα leveneTest() και shapiro.test().

Συνοψίστε αυτήν την ανάρτηση με: