Ich verwende Kleinbuchstaben für Vektoren und Großbuchstaben für Matrizen.
Im Falle eines linearen Modells der Form:
y=Xβ+ε
wo ist ein Matrix des Rangs , und nehmen wir an .Xn×(k+1)k+1≤nε∼N(0,σ2)
Wir können nach schätzen , seit dem Inverse von existiert.β^(X⊤X)−1X⊤yX⊤X
Für den ANOVA-Fall haben wir nun, dass nicht mehr den vollen Rang hat. Dies impliziert, dass wir kein und uns mit dem verallgemeinerten Inversen .X(X⊤X)−1(X⊤X)−
Eines der Probleme bei der Verwendung dieses verallgemeinerten Inversen ist, dass es nicht eindeutig ist. Ein weiteres Problem ist, dass wir keinen unvoreingenommene Schätzer für , da
β
β^=(X⊤X)−X⊤y⟹E(β^)=(X⊤X)−X⊤Xβ.
Daher können wir nicht schätzen . Aber können wir eine lineare Kombination der abschätzen ?ββ
Wir haben, dass eine lineare Kombination der 's, sagen wir , schätzbar ist, wenn es einen Vektor so dass .βg⊤βaE(a⊤y)=g⊤β
Die Kontraste sind ein Sonderfall von schätzbaren Funktionen, bei denen die Summe der Koeffizienten von gleich Null ist.g
Und Kontraste treten im Kontext kategorialer Prädiktoren in einem linearen Modell auf. (Wenn Sie das durch @amoeba verknüpfte Handbuch überprüfen, sehen Sie, dass alle ihre Kontrastcodierungen mit kategorialen Variablen zusammenhängen). Wenn wir dann @Curious und @amoeba beantworten, sehen wir, dass sie in ANOVA auftreten, jedoch nicht in einem "reinen" Regressionsmodell mit nur kontinuierlichen Prädiktoren (wir können auch über Kontraste in ANCOVA sprechen, da wir einige kategoriale Variablen darin haben).
Nun, im Modell wo füllt nicht den gesamten Rang und , die lineare Funktion ist schätzbar, wenn es einen Vektor so dass . Das heißt, ist eine lineare Kombination der Zeilen von . Es gibt auch viele Möglichkeiten für den Vektor , so dass , wie wir im folgenden Beispiel sehen können.X E ( y )
y=Xβ+ε
XE(y)=X⊤βg⊤βaa⊤X=g⊤g⊤Xaa⊤X=g⊤
Beispiel 1
Betrachten Sie das :
yij=μ+αi+εij,i=1,2,j=1,2,3.
X=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢111111111000000111⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥,β=⎡⎣⎢μτ1τ2⎤⎦⎥
Angenommen, , dann möchten wir .[0,1,-1]β= τ 1 - τ 2g⊤=[0,1,−1][0,1,−1]β=τ1−τ2
Wir können sehen, dass es verschiedene Möglichkeiten des Vektors , die : take ; oder ; oder .aa⊤X=g⊤a⊤=[0,0,1,−1,0,0]a⊤=[1,0,0,0,0,−1]a⊤=[2,−1,0,0,1,−2]
Beispiel 2
Nehmen Sie das Zwei-Wege-Modell:
.
yij=μ+αi+βj+εij,i=1,2,j=1,2
X=⎡⎣⎢⎢⎢11111100001110100101⎤⎦⎥⎥⎥,β=⎡⎣⎢⎢⎢⎢⎢⎢μα1α2β1β2⎤⎦⎥⎥⎥⎥⎥⎥
Wir können die schätzbaren Funktionen definieren, indem wir lineare Kombinationen der Zeilen von .X
Subtrahieren von Zeile 1 von den Zeilen 2, 3 und 4 (von ):
X
⎡⎣⎢⎢⎢1000−10−1−10011−1−1−0−10101⎤⎦⎥⎥⎥
Nehmen Sie die Zeilen 2 und 3 aus der vierten Zeile:
⎡⎣⎢⎢⎢1000−10−1−00010−1−1−0−00100⎤⎦⎥⎥⎥
Das Multiplizieren mit ergibt:
β
g⊤1βg⊤2βg⊤3β=μ+α1+β1=β2−β1=α2−α1
Wir haben also drei linear unabhängige schätzbare Funktionen. Nun können nur und als Kontraste betrachtet werden, da die Summe ihrer Koeffizienten (oder die Zeile) Summe des jeweiligen Vektors ) ist gleich Null.g⊤2βg⊤3βg
Zurück zu einem in eine Richtung ausgeglichenen Modell
yij=μ+αi+εij,i=1,2,…,k,j=1,2,…,n.
Angenommen, wir möchten die Hypothese testen .H0:α1=…=αk
In dieser Einstellung ist die Matrix nicht vollständig, daher ist nicht eindeutig und kann nicht geschätzt werden. Um es schätzbar zu machen, können wir mit multiplizieren , solange . Mit anderen Worten ist schätzbar, wenn .Xβ=(μ,α1,…,αk)⊤βg⊤∑igi=0∑igiαi∑igi=0
Warum ist das so?
Wir wissen, dass schätzbar ist, wenn es einen Vektor gibt so, dass . Nehmen Sie die verschiedenen Zeilen von und , dann:
g⊤β=(0,g1,…,gk)β=∑igiαiag⊤=a⊤XXa⊤=[a1,…,ak]
[0,g1,…,gk]=g⊤=a⊤X=(∑iai,a1,…,ak)
Und das Ergebnis folgt.
Wenn wir einen bestimmten Kontrast testen möchten, lautet unsere Hypothese . Zum Beispiel: , was wie geschrieben werden kann , also vergleichen wir mit dem Durchschnitt von und .H0:∑giαi=0H0:2α1=α2+α3H0:α1=α2+α32α1α2α3
Diese Hypothese kann ausgedrückt werden als , wobei . In diesem Fall ist und wir testen diese Hypothese mit der folgenden Statistik:
H0:g⊤β=0g⊤=(0,g1,g2,…,gk)q=1
F=[g⊤β^]⊤[g⊤(X⊤X)−g]−1g⊤β^SSE/k(n−1).
Wenn als ausgedrückt wird, die Zeilen der Matrix
sind gegenseitig orthogonale Kontraste ( ), dann können wir mit der Statistik , wobeiH0:α1=α2=…=αkGβ=0
G=⎡⎣⎢⎢⎢⎢⎢g⊤1g⊤2⋮g⊤k⎤⎦⎥⎥⎥⎥⎥
g⊤igj=0H0:Gβ=0F=SSHrank(G)SSEk(n−1)SSH=[Gβ^]⊤[G(X⊤X)−1G⊤]−1Gβ^.
Beispiel 3
Um dies besser zu verstehen, verwenden wir und nehmen an, wir wollen kann ausgedrückt werden als
k=4H0:α1=α2=α3=α4,
H0:⎡⎣⎢α1−α2α1−α3α1−α4⎤⎦⎥=⎡⎣⎢000⎤⎦⎥
Oder als :
H0:Gβ=0
H0:⎡⎣⎢000111−1−0−0−0−1−1−0−0−1⎤⎦⎥G,our contrast matrix⎡⎣⎢⎢⎢⎢⎢⎢μα1α2α3α4⎤⎦⎥⎥⎥⎥⎥⎥=⎡⎣⎢000⎤⎦⎥
Wir sehen also, dass die drei Zeilen unserer Kontrastmatrix durch die Koeffizienten der interessierenden Kontraste definiert sind. Und jede Spalte gibt die Faktorstufe an, die wir für unseren Vergleich verwenden.
Ziemlich alles, was ich geschrieben habe, wurde (schamlos) aus Rencher & Schaalje, "Lineare Modelle in der Statistik", Kapitel 8 und 13 (Beispiele, Formulierungen von Theoremen, einige Interpretationen) übernommen, aber andere Dinge wie der Begriff "Kontrastmatrix" "(was in der Tat in diesem Buch nicht vorkommt) und die hier angegebene Definition waren meine eigenen.
Beziehen Sie die Kontrastmatrix von OP auf meine Antwort
Eine der Matrixen von OP (die auch in diesem Handbuch zu finden ist ) ist die folgende:
> contr.treatment(4)
2 3 4
1 0 0 0
2 1 0 0
3 0 1 0
4 0 0 1
In diesem Fall hat unser Faktor 4 Ebenen und wir können das Modell folgendermaßen schreiben: Dies kann in Matrixform geschrieben werden als:
⎡⎣⎢⎢⎢y11y21y31y41⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢⎢μμμμ⎤⎦⎥⎥⎥⎥+⎡⎣⎢⎢⎢a1a2a3a4⎤⎦⎥⎥⎥+⎡⎣⎢⎢⎢ε11ε21ε31ε41⎤⎦⎥⎥⎥
Oder
⎡⎣⎢⎢⎢y11y21y31y41⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢11111000010000100001⎤⎦⎥⎥⎥X⎡⎣⎢⎢⎢⎢⎢⎢μa1a2a3a4⎤⎦⎥⎥⎥⎥⎥⎥β+⎡⎣⎢⎢⎢ε11ε21ε31ε41⎤⎦⎥⎥⎥
Für das Dummy-Codierungsbeispiel im selben Handbuch wird jetzt als Referenzgruppe verwendet. Also subtrahieren wir Zeile 1 von jeder anderen Zeile in der Matrix , was die ergibt :a1XX˜
⎡⎣⎢⎢⎢1000−1−1−1−1010000100001⎤⎦⎥⎥⎥
Wenn Sie die Nummerierung der Zeilen und Spalten in der Matrix contr.treatment (4) beobachten, werden Sie feststellen, dass alle Zeilen und nur die Spalten berücksichtigt werden, die sich auf die Faktoren 2, 3 und 4 beziehen Die obige Matrix ergibt:
⎡⎣⎢⎢⎢010000100001⎤⎦⎥⎥⎥
Auf diese Weise sagt uns die Matrix contr.treatment (4), dass sie die Faktoren 2, 3 und 4 mit Faktor 1 und den Faktor 1 mit der Konstanten vergleicht (so verstehe ich das Obige).
Und definieren Sie (dh, Sie nehmen nur die Zeilen, die in der obigen Matrix 0 ergeben):
G
⎡⎣⎢000−1−1−1100010001⎤⎦⎥
Wir können testen und die Schätzungen der Kontraste finden.H0:Gβ=0
hsb2 = read.table('http://www.ats.ucla.edu/stat/data/hsb2.csv', header=T, sep=",")
y<-hsb2$write
dummies <- model.matrix(~factor(hsb2$race)+0)
X<-cbind(1,dummies)
# Defining G, what I call contrast matrix
G<-matrix(0,3,5)
G[1,]<-c(0,-1,1,0,0)
G[2,]<-c(0,-1,0,1,0)
G[3,]<-c(0,-1,0,0,1)
G
[,1] [,2] [,3] [,4] [,5]
[1,] 0 -1 1 0 0
[2,] 0 -1 0 1 0
[3,] 0 -1 0 0 1
# Estimating Beta
X.X<-t(X)%*%X
X.y<-t(X)%*%y
library(MASS)
Betas<-ginv(X.X)%*%X.y
# Final estimators:
G%*%Betas
[,1]
[1,] 11.541667
[2,] 1.741667
[3,] 7.596839
Und die Schätzungen sind gleich.
@Ttnphns Antwort auf meine beziehen.
In ihrem ersten Beispiel hat das Setup einen Kategoriefaktor A mit drei Ebenen. Wir können dies als Modell schreiben (der Einfachheit halber sei ):
j=1
yij=μ+ai+εij,for i=1,2,3
Angenommen, wir möchten testen oder , wobei unsere Referenzgruppe / unser Referenzfaktor ist.H0:a1=a2=a3H0:a1−a3=a2−a3=0a3
Dies kann in Matrixform geschrieben werden als:
⎡⎣⎢y11y21y31⎤⎦⎥=⎡⎣⎢μμμ⎤⎦⎥+⎡⎣⎢a1a2a3⎤⎦⎥+⎡⎣⎢ε11ε21ε31⎤⎦⎥
Oder
⎡⎣⎢y11y21y31⎤⎦⎥=⎡⎣⎢111100010001⎤⎦⎥X⎡⎣⎢⎢⎢μa1a2a3⎤⎦⎥⎥⎥β+⎡⎣⎢ε11ε21ε31⎤⎦⎥
Wenn wir nun Zeile 3 von Zeile 1 und Zeile 2 subtrahieren, erhalten wir, dass wird (ich werde es :XX˜
X˜=⎡⎣⎢001100010−1−1−1⎤⎦⎥
Vergleichen Sie die letzten 3 Spalten der obigen Matrix mit @ttnphns 'Matrix . Trotz der Reihenfolge sind sie ziemlich ähnlich. In der Tat erhalten wir , wenn multipliziert wird :LX˜β
⎡⎣⎢001100010−1−1−1⎤⎦⎥⎡⎣⎢⎢⎢μa1a2a3⎤⎦⎥⎥⎥=⎡⎣⎢a1−a3a2−a3μ+a3⎤⎦⎥
Wir haben also die schätzbaren Funktionen: ; ; .c⊤1β=a1−a3c⊤2β=a2−a3c⊤3β=μ+a3
Da , sehen wir aus dem Obigen, dass wir unsere Konstante mit dem Koeffizienten für die Referenzgruppe (a_3) vergleichen; der Koeffizient der Gruppe 1 zum Koeffizienten der Gruppe 3; und der Koeffizient von Gruppe2 zu Gruppe3. Oder, wie @ttnphns sagte: "Wir sehen unmittelbar nach den Koeffizienten, dass die geschätzte Konstante dem Y-Mittelwert in der Referenzgruppe entspricht. Dieser Parameter b1 (dh der Dummy-Variablen A1) entspricht der Differenz: Y-Mittelwert in Gruppe1 minus Y bedeutet in Gruppe 3; und Parameter b2 ist die Differenz: Mittelwert in Gruppe 2 minus Mittelwert in Gruppe 3. "H0:c⊤iβ=0
Beachten Sie außerdem, dass (nach der Definition von Kontrast: Schätzfunktion + Zeilensumme = 0) die Vektoren und Kontraste sind. Und wenn wir eine Matrix von Einschränkungen erstellen , haben wir:c1c2G
G=[001001−1−1]
Unsere Kontrastmatrix zum Testen vonH0:Gβ=0
Beispiel
Wir werden die gleichen Daten verwenden wie @ttnphns '"Benutzerdefiniertes Kontrastbeispiel" (Ich möchte erwähnen, dass die Theorie, die ich hier geschrieben habe, einige Modifikationen erfordert, um Modelle mit Interaktionen zu berücksichtigen. Deshalb habe ich dieses Beispiel gewählt bleiben die Definitionen der Kontraste und - wie ich es nenne - der Kontrastmatrix gleich).
Y<-c(0.226,0.6836,-1.772,-0.5085,1.1836,0.5633,0.8709,0.2858,0.4057,-1.156,1.5199,
-0.1388,0.4865,-0.7653,0.3418,-1.273,1.4042,-0.1622,0.3347,-0.4576,0.7585,0.4084,
1.4165,-0.5138,0.9725,0.2373,-1.562,1.3985,0.0397,-0.4689,-1.499,-0.7654,0.1442,
-1.404,-0.2201,-1.166,0.7282,0.9524,-1.462,-0.3478,0.5679,0.5608,1.0338,-1.161,
-0.1037,2.047,2.3613,0.1222)
F_<-c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,
5,5,5,5,5,5,5,5,5,5,5)
dummies.F<-model.matrix(~as.factor(F_)+0)
X_F<-cbind(1,dummies.F)
G_F<-matrix(0,4,6)
G_F[1,]<-c(0,3,3,-2,-2,-2)
G_F[2,]<-c(0,1,-1,0,0,0)
G_F[3,]<-c(0,0,0,2,-1,-1)
G_F[4,]<-c(0,0,0,0,1,-1)
G
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 3 3 -2 -2 -2
[2,] 0 1 -1 0 0 0
[3,] 0 0 0 2 -1 -1
[4,] 0 0 0 0 1 -1
# Estimating Beta
X_F.X_F<-t(X_F)%*%X_F
X_F.Y<-t(X_F)%*%Y
Betas_F<-ginv(X_F.X_F)%*%X_F.Y
# Final estimators:
G_F%*%Betas_F
[,1]
[1,] 0.5888183
[2,] -0.1468029
[3,] 0.6115212
[4,] -0.9279030
Wir haben also die gleichen Ergebnisse.
Fazit
Es scheint mir , dass es nicht eine Definition von Konzept das , was ein Kontrastmatrix ist.
Wenn Sie die von Scheffe gegebene Definition des Kontrasts verwenden ("Die Varianzanalyse", Seite 66), werden Sie feststellen, dass es sich um eine schätzbare Funktion handelt, deren Koeffizienten sich zu Null summieren. Wenn wir also verschiedene Linearkombinationen der Koeffizienten unserer kategorialen Variablen testen möchten, verwenden wir die Matrix . Dies ist eine Matrix, in der sich die Zeilen zu Null addieren, mit der wir unsere Koeffizientenmatrix multiplizieren, um diese Koeffizienten schätzbar zu machen. Seine Zeilen geben die verschiedenen linearen Kombinationen von Kontrasten an, die wir testen, und seine Spalten geben an, welche Faktoren (Koeffizienten) verglichen werden.G
Da die obige Matrix ist, dass jede ihrer Zeilen aus einem Kontrastvektor (der sich zu 0 summiert) zusammensetzt, ist es für mich sinnvoll, eine "Kontrastmatrix" ( Monahan - "Ein Primer für lineare Modelle" - verwendet ebenfalls diese Terminologie.GG
Wie @ttnphns sehr schön erklärt, nennt Software etwas anderes "Kontrastmatrix", und ich konnte keine direkte Beziehung zwischen der Matrix und den integrierten Befehlen / Matrizen von SPSS (@ttnphns) finden ) oder R (Frage von OP), nur Ähnlichkeiten. Aber ich glaube, dass die hier präsentierte nette Diskussion / Zusammenarbeit helfen wird, solche Konzepte und Definitionen zu verdeutlichen.G