ANOVA und lineare Regression sind äquivalent, wenn die beiden Modelle dieselben Hypothesen verwenden und eine identische Codierung verwenden. Die Modelle unterscheiden sich in ihrem grundsätzlichen Ziel: Bei der ANOVA geht es hauptsächlich darum, Unterschiede zwischen den Mittelwerten der Kategorien in den Daten darzustellen, während es bei der linearen Regression hauptsächlich darum geht, eine mittlere Stichprobenantwort und ein damit verbundenes zu schätzen .σ2
Etwas aphoristisch kann man ANOVA als Regression mit Dummy-Variablen beschreiben. Wir können leicht erkennen, dass dies bei der einfachen Regression mit kategorialen Variablen der Fall ist. Eine kategoriale Variable wird als Indikatormatrix codiert (eine Matrix, die davon abhängt, 0/1
ob ein Subjekt Teil einer bestimmten Gruppe ist oder nicht) und dann direkt für die Lösung des linearen Systems verwendet, das durch eine lineare Regression beschrieben wird. Schauen wir uns ein Beispiel mit 5 Gruppen an. Der Argumentation halber gehe ich davon aus, dass der Mittelwert von group1
1, der Mittelwert von group2
2, ... und der Mittelwert von group5
5 gleich sind. (Ich verwende MATLAB, aber genau dasselbe ist äquivalent in R.)
rng(123); % Fix the seed
X = randi(5,100,1); % Generate 100 random integer U[1,5]
Y = X + randn(100,1); % Generate my response sample
Xcat = categorical(X); % Treat the integers are categories
% One-way ANOVA
[anovaPval,anovatab,stats] = anova1(Y,Xcat);
% Linear regression
fitObj = fitlm(Xcat,Y);
% Get the group means from the ANOVA
ANOVAgroupMeans = stats.means
% ANOVAgroupMeans =
% 1.0953 1.8421 2.7350 4.2321 5.0517
% Get the beta coefficients from the linear regression
LRbetas = [fitObj.Coefficients.Estimate']
% LRbetas =
% 1.0953 0.7468 1.6398 3.1368 3.9565
% Rescale the betas according the intercept
scaledLRbetas = [LRbetas(1) LRbetas(1)+LRbetas(2:5)]
% scaledLRbetas =
% 1.0953 1.8421 2.7350 4.2321 5.0517
% Check if the two results are numerically equivalent
abs(max( scaledLRbetas - ANOVAgroupMeans))
% ans =
% 2.6645e-15
Wie in diesem Szenario zu sehen ist, waren die Ergebnisse genau gleich. Der winzige numerische Unterschied ist darauf zurückzuführen, dass das Design nicht perfekt ausbalanciert ist und das Verfahren zur Schätzung der Unterlage nicht korrekt ist. Die ANOVA akkumuliert numerische Fehler etwas aggressiver. In dieser Hinsicht passen wir einen Abschnitt an LRbetas(1)
. Wir könnten ein abfangfreies Modell anpassen, aber das wäre keine "standardmäßige" lineare Regression. (Die Ergebnisse wären in diesem Fall jedoch noch näher an ANOVA.)
Die Statistik (ein Verhältnis der Mittelwerte) im Fall der ANOVA und im Fall der linearen Regression ist auch für das obige Beispiel gleich:F
abs( fitObj.anova.F(1) - anovatab{2,5} )
% ans =
% 2.9132e-13
Dies liegt daran, dass Prozeduren dieselbe Hypothese mit unterschiedlichen Formulierungen testen: ANOVA prüft qualitativ, ob " das Verhältnis hoch genug ist, um darauf hinzuweisen, dass keine Gruppierung unplausibel ist ", während lineare Regression qualitativ prüft, ob " das Verhältnis hoch genug ist, um lediglich einen Schnittpunkt nahezulegen Modell ist möglicherweise unzureichend ".
(Dies ist eine etwas freie Interpretation der " Möglichkeit, einen Wert zu sehen, der gleich oder größer ist als der unter der Nullhypothese beobachtete ", und sie soll keine Lehrbuchdefinition sein.)
Zurück zum letzten Teil Ihrer Frage zu " ANOVA sagt Ihnen nichts über die Koeffizienten des linearen Modells (unter der Annahme, dass die Mittelwerte nicht gleich sind ") ist einfach / ausgewogen genug, sagt Ihnen alles, was ein lineares Modell würde. Die Konfidenzintervalle für Gruppenmittelwerte sind die gleichen, die Sie für Ihreβusw. Wenn in seinem Regressionsmodell mehrere Kovariaten hinzugefügt werden, hat eine einfache Einweg-ANOVA eindeutig keine direkte Entsprechung. In diesem Fall wird die Information, die zur Berechnung der mittleren Antwort der linearen Regression verwendet wird, mit Informationen ergänzt, die für eine Einweg-ANOVA nicht direkt verfügbar sind. Ich glaube, dass man die Dinge noch einmal in ANOVA-Begriffen ausdrücken kann, aber es ist meistens eine akademische Übung.
Ein interessantes Papier über die Angelegenheit ist Gelmans 2005 Papier mit dem Titel: Varianzanalyse - Warum ist es wichtiger denn je . Einige wichtige Punkte wurden angesprochen; Ich unterstütze das Papier nicht vollständig (ich glaube, ich persönlich stimme viel mehr mit McCullachs Ansicht überein), aber es kann eine konstruktive Lektüre sein.
Als letzte Anmerkung: Die Darstellung wird dicker, wenn Sie Modelle mit gemischten Effekten verwenden . Dort haben Sie unterschiedliche Vorstellungen, was als störend oder als tatsächliche Information in Bezug auf die Gruppierung Ihrer Daten angesehen werden kann. Diese Themen liegen außerhalb des Rahmens dieser Frage, aber ich denke, sie sind eine Anspielung wert.
Lassen Sie mich etwas Farbe in die Idee bringen, dass OLS mit kategorialen ( Dummy-codierten ) Regressoren den Faktoren in ANOVA entspricht. In beiden Fällen gibt es Ebenen (oder Gruppen im Fall von ANOVA).
In der OLS-Regression ist es am üblichsten, auch stetige Variablen in den Regressoren zu haben. Diese modifizieren logisch die Beziehung im Anpassungsmodell zwischen den kategorialen Variablen und der abhängigen Variablen (DC). Aber nicht bis zur Unkenntlichkeit der Parallele.
Basierend auf dem
mtcars
Datensatz können wir das Modell zunächstlm(mpg ~ wt + as.factor(cyl), data = mtcars)
als die Steigung visualisieren, die durch die kontinuierliche Variablewt
(Gewicht) und die verschiedenen Abschnitte bestimmt wird, die den Effekt der kategorialen Variablencylinder
(vier, sechs oder acht Zylinder) projizieren . Es ist dieser letzte Teil, der eine Parallele zu einer Einweg-ANOVA bildet.Lassen Sie es uns grafisch auf der Nebenhandlung rechts sehen (die drei Nebenhandlungen links sind für den Vergleich von Seite zu Seite mit dem unmittelbar danach diskutierten ANOVA-Modell enthalten):
Jeder Zylindermotor ist farbcodiert, und der Abstand zwischen den angepassten Linien mit unterschiedlichen Abschnitten und der Datenwolke entspricht der gruppeninternen Variation in einer ANOVA. Beachten Sie, dass die Abschnitte im OLS-Modell mit einer stetigen Variablen (
weight
) aufgrund der Wirkungweight
und der verschiedenen Modellmatrizen (siehe unten) mathematisch nicht mit dem Wert der verschiedenen gruppeninternen Mittelwerte in ANOVA übereinstimmen : der Mittelwertmpg
für 4-Zylinder - Autos, zum Beispiel wirdmean(mtcars$mpg[mtcars$cyl==4]) #[1] 26.66364
, während die OLS „Baseline“ intercept (Reflexions durch Konventioncyl==4
(steigend Ziffern in R Bestellung)) unterscheidet sich deutlich:summary(fit)$coef[1] #[1] 33.99079
. Die Steigung der Linien ist der Koeffizient für die stetige Variableweight
.Wenn Sie versuchen, den Effekt von zu unterdrücken,
weight
indem Sie diese Linien mental begradigen und auf die horizontale Linie zurückführen, erhalten Sie den ANOVA-Plot des Modellsaov(mtcars$mpg ~ as.factor(mtcars$cyl))
in den drei Unterplots auf der linken Seite. Derweight
Regressor ist jetzt aus, aber die Beziehung zwischen den Punkten und den verschiedenen Abschnitten bleibt grob erhalten - wir drehen uns einfach gegen den Uhrzeigersinn und verteilen die zuvor überlappenden Diagramme für jede einzelne Ebene (wiederum nur als visuelles Mittel zum "Sehen"). die Verbindung; nicht als mathematische Gleichheit, da wir zwei verschiedene Modelle vergleichen!).Jede Ebene im Faktor20 x
cylinder
ist separat, und die vertikalen Linien stellen die Residuen oder gruppeninternen Fehler dar: die Entfernung von jedem Punkt in der Wolke und den Mittelwert für jede Ebene (farbcodierte horizontale Linie). Der Farbverlauf gibt Aufschluss darüber, wie wichtig die Ebenen für die Validierung des Modells sind: Je mehr Datenpunkte um ihre Gruppenmittelwerte gruppiert sind, desto wahrscheinlicher ist die statistische Signifikanz des ANOVA-Modells. Die horizontale schwarze Linie um in allen Diagrammen ist der Mittelwert für alle Faktoren. Die Zahlen in der Achse sind einfach die Platzhalternummer / Kennung für jeden Punkt in jeder Ebene und haben keinen weiteren Zweck, als Punkte entlang der horizontalen Linie zu trennen, um eine Darstellung zu ermöglichen, die sich von Boxplots unterscheidet.Und durch die Summe dieser vertikalen Segmente können wir die Residuen manuell berechnen:
Das Ergebnis:
SumSq = 301.2626
undTSS - SumSq = 824.7846
. Vergleichen mit:Genau das gleiche Ergebnis wie das Testen mit einer ANOVA des linearen Modells mit nur der Kategorie
cylinder
als Regressor:Wir sehen also, dass die Residuen - der Teil der Gesamtvarianz, der vom Modell nicht erklärt wird - und die Varianz gleich sind, unabhängig davon, ob Sie eine OLS des Typs
lm(DV ~ factors)
oder eine ANOVA (aov(DV ~ factors)
) aufrufen : Wenn wir die abstreifen Modell stetiger Variablen erhalten wir ein identisches System. Ebenso erhalten wir natürlich den gleichen p-Wert, wenn wir die Modelle global oder als eine Omnibus-ANOVA (nicht Level für Level) bewertenF-statistic: 39.7 on 2 and 29 DF, p-value: 4.979e-09
.Dies soll nicht bedeuten, dass das Testen einzelner Niveaus identische p-Werte ergeben wird. Im Fall von OLS können wir Folgendes aufrufen
summary(fit)
und abrufen:Dies ist in ANOVA nicht möglich, da es sich eher um einen Omnibus-Test handelt. Um diese Art von Wert-Bewertungen zu erhalten, müssen wir einen Tukey Honest Significant Difference-Test durchführen, mit dem versucht wird, die Möglichkeit eines Fehlers vom Typ I infolge der Durchführung mehrerer paarweiser Vergleiche (daher " ") zu verringern völlig andere Ausgabe:p
p adjusted
Letztendlich ist nichts beruhigender, als einen Blick auf den Motor unter der Motorhaube zu werfen, der nichts anderes ist als die Modellmatrizen und die Projektionen im Säulenraum. Diese sind im Falle einer ANOVA eigentlich ganz einfach:
Dies wäre die Einweg-ANOVA Modellmatrix mit drei Ebenen ( zum Beispielyij=μi+ϵij μi j i yij
cyl 4
,cyl 6
,cyl 8
), zusammengefasst als , wobei auf jeder Ebene oder eine Gruppe ist die Mittelwert: wenn der Fehler oder das Residuum für die Beobachtung der Gruppe oder des Niveaus wird addiert, wir erhalten die tatsächliche Beobachtung DV .Andererseits lautet die Modellmatrix für eine OLS-Regression:
Dies hat die Form mit einem einzelnen Abschnitt und zwei Steigungen ( und ) für eine andere stetige Variablen sagen und .yi=β0+β1xi1+β2xi2+ϵi β0 β1 β2
weight
displacement
Der Trick ist nun, zu sehen, wie wir verschiedene Abschnitte erstellen können, wie im ersten Beispiel.β0 β1 1 1 1 's in der ANOVA-Modellmatrix die nur Beispiele mit 4 Zylindern auswählt. Der Achsenabschnitt wird mittels Dummy-Codierung verschoben, um die Wirkung von und wie folgt zu erklären :(1),
lm(mpg ~ wt + as.factor(cyl), data = mtcars)
Lassen Sie uns also die zweite Steigung loswerden und bei der ursprünglichen einzelnen kontinuierlichen Variablen bleibenweight
(mit anderen Worten, eine einzelne Spalte neben der Spalte von Einsen in die Modellmatrix, der Schnittpunkt und die Steigung für , ). Die Spalte von entspricht standardmäßig dem Achsenabschnitt. Wieder ist sein Wert nicht identisch mit dem ANOVA-Mittelwert innerhalb der Gruppe für , eine Beobachtung, die nicht überraschen sollte, wenn man die Spalte in der OLS-Modellmatrix (unten) mit der ersten Spalte vonweight
cyl 4
cyl 4
cyl 6
cyl 8
Wenn die dritte Spalte wir den Achsenabschnitt systematisch umDer gibt an, dass die Unterschiede zwischen den Niveaus im OLS-Modell nicht mathematisch sind, da der "Grundlinien" -Abschnitt im OLS-Modell nicht mit dem Gruppenmittelwert von 4-Zylinder-Autos identisch ist, dies jedoch widerspiegelt Die Unterschiede zwischen den Gruppen bedeuten:1 μ~2. ⋅~
Ebenso wird, wenn die vierte Spalte , ein fester Wert zum hinzugefügt. Die Matrixgleichung lautet daher . Wenn Sie mit diesem Modell zum ANOVA-Modell wechseln, müssen Sie lediglich die kontinuierlichen Variablen entfernen und verstehen, dass der Standardabschnitt in OLS die erste Ebene in ANOVA widerspiegelt.1 μ~3 yi=β0+β1xi+μ~i+ϵi
quelle
Antoni Parellada und usεr11852 hatten eine sehr gute Antwort. Ich werde Ihre Frage zur Codierungsperspektive mit beantworten
R
.In der Tat können wir
aov
inR
der gleichen Funktion wie verwendet werdenlm
. Hier sind einige Beispiele.Wie Sie sehen, können wir nicht nur den Koeffizienten aus dem ANOVA-Modell abrufen, sondern ihn auch zur Vorhersage verwenden, genau wie das lineare Modell.
Wenn wir die Hilfedatei auf
aov
Funktion überprüfen , heißt esquelle
Nehmen wir alle Dateneinträge und ordnen sie in einer einzigen Spalte Y an, wobei die restlichen Spalten Indikatorvariablen 1 sind (i-te Daten sind Element der j-ten Spalte in der ursprünglichen Anova-Anordnung), dann nehmen wir eine einfache lineare Regression von Y an In allen anderen Spalten (z. B. Spalte B) sollten Sie die gleiche DF-, SS-, MS- und F-Teststatistik erhalten wie in Ihrem ANOVA-Problem.
Somit kann ANOVA als lineare Regression behandelt werden, indem die Daten mit binären Variablen geschrieben werden. Man beachte auch, dass der Regressionskoeffizient für beispielsweise eine Regression von Y auf B der gleiche sein sollte wie der Durchschnitt. der Spalte B, berechnet mit den Originaldaten.
quelle