ฉันจะใช้อักษรตัวพิมพ์เล็กสำหรับเวกเตอร์และตัวอักษรพิมพ์ใหญ่สำหรับการฝึกอบรม
ในกรณีของโมเดลเชิงเส้นของแบบฟอร์ม:
y=Xβ+ε
ที่เป็นเมทริกซ์ของการจัดอันดับและเราคิด2)Xn×(k+1)k+1≤nε∼N(0,σ2)
เราสามารถประมาณโดยเนื่องจาก อินเวอร์สของมีอยู่β^(X⊤X)−1X⊤yX⊤X
ตอนนี้สำหรับกรณีของ ANOVA เรามีไม่ใช่อันดับเต็มอีกต่อไป ความหมายของสิ่งนี้คือเราไม่มีและเราจะต้องจัดการกับอินเวอร์สทั่วไป{-}X(X⊤X)−1(X⊤X)−
หนึ่งในปัญหาของการใช้อินเวอร์สทั่วไปนี้คือมันไม่ซ้ำกัน อีกปัญหาหนึ่งคือเราไม่สามารถหาตัวประมาณเป็นกลางสำหรับเนื่องจาก
β
β^=(X⊤X)−X⊤y⟹E(β^)=(X⊤X)−X⊤Xβ.
ดังนั้นเราจึงไม่สามารถประมาณการเบต้า} แต่เราสามารถประมาณการรวมกันเชิงเส้นของได้หรือไม่ββ
เรามีการรวมกันเชิงเส้นของของพูดจะประเมินได้ถ้ามีเวกเตอร์เช่นนั้นเบต้า}βg⊤βaE(a⊤y)=g⊤β
ความแตกต่างเป็นกรณีพิเศษของฟังก์ชันที่ประมาณค่าได้ซึ่งผลรวมของสัมประสิทธิ์ของเท่ากับศูนย์g
และความแตกต่างเกิดขึ้นในบริบทของตัวทำนายเชิงหมวดหมู่ในแบบจำลองเชิงเส้น (หากคุณตรวจสอบคู่มือที่ลิงก์โดย @amoeba คุณจะเห็นว่าการเข้ารหัสความคมชัดทั้งหมดเกี่ยวข้องกับตัวแปรหมวดหมู่) จากนั้นการตอบกลับ @Curious และ @amoeba เราเห็นว่าเกิดขึ้นใน ANOVA แต่ไม่ใช่ในรูปแบบการถดถอย "บริสุทธิ์" ที่มีเพียงตัวทำนายอย่างต่อเนื่องเท่านั้น (เราสามารถพูดถึงความแตกต่างใน ANCOVA เนื่องจากเรามีตัวแปรเด็ดขาดอยู่)
ตอนนี้ในรูปแบบโดยที่ไม่ได้อยู่ในตำแหน่งเต็มและ , ฟังก์ชันเชิงเส้นสามารถประเมินได้ถ้ามีเวกเตอร์เช่นนั้น\ นั่นคือคือการรวมกันเชิงเส้นของแถวของ{X} นอกจากนี้ยังมีตัวเลือกมากมายของ vectorเช่นดังที่เราเห็นในตัวอย่างด้านล่าง
y=Xβ+ε
XE(y)=X⊤βg⊤βaa⊤X=g⊤g⊤Xaa⊤X=g⊤
ตัวอย่างที่ 1
พิจารณาโมเดลทางเดียว:
yij=μ+αi+εij,i=1,2,j=1,2,3.
X=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢111111111000000111⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥,β=⎡⎣⎢μτ1τ2⎤⎦⎥
และสมมติว่าดังนั้นเราจึงต้องการที่จะประเมิน\g⊤=[0,1,−1][0,1,−1]β=τ1−τ2
เราจะเห็นว่ามีตัวเลือกต่าง ๆ ของเวกเตอร์ที่ให้ผล : รับ ; หรือ ; หรือ-2]aa⊤X=g⊤a⊤=[0,0,1,−1,0,0]a⊤=[1,0,0,0,0,−1]a⊤=[2,−1,0,0,1,−2]
ตัวอย่างที่ 2
ใช้รูปแบบสองทาง:
J
yij=μ+αi+βj+εij,i=1,2,j=1,2
X=⎡⎣⎢⎢⎢11111100001110100101⎤⎦⎥⎥⎥,β=⎡⎣⎢⎢⎢⎢⎢⎢μα1α2β1β2⎤⎦⎥⎥⎥⎥⎥⎥
เราสามารถกำหนดฟังก์ชั่นนับถือโดยการเชิงเส้นการรวมกันของแถวของ{X}X
การลบแถว 1 จากแถว 2, 3 และ 4 (ของ ):
X
⎡⎣⎢⎢⎢1000−10−1−10011−1−1−0−10101⎤⎦⎥⎥⎥
และรับแถวที่ 2 และ 3 จากแถวที่สี่:
⎡⎣⎢⎢⎢1000−10−1−00010−1−1−0−00100⎤⎦⎥⎥⎥
การคูณด้วยอัตราผลตอบแทน:
β
g⊤1βg⊤2βg⊤3β=μ+α1+β1=β2−β1=α2−α1
ดังนั้นเรามีฟังก์ชั่นที่ประมาณค่าได้อิสระแบบเส้นตรงสามฟังก์ชัน ตอนนี้มีเพียงและเท่านั้นที่สามารถพิจารณาความแตกต่างได้เนื่องจากผลรวมของสัมประสิทธิ์ (หรือแถว ผลรวมของเวกเตอร์ที่เกี่ยวข้อง ) เท่ากับศูนย์g⊤2βg⊤3βg
กลับไปที่โมเดลสมดุลทางเดียว
yij=μ+αi+εij,i=1,2,…,k,j=1,2,…,n.
และสมมติว่าเราต้องการที่จะทดสอบสมมติฐาน\H0:α1=…=αk
ในการตั้งค่านี้ matrixไม่ได้อยู่ในตำแหน่งเต็มดังนั้นไม่ซ้ำกันและไม่สามารถประเมินได้ ที่จะทำให้มันนับถือเราสามารถคูณโดยตราบเท่าที่0 ในคำอื่น ๆมีที่นับถือ IFF0Xβ=(μ,α1,…,αk)⊤βg⊤∑igi=0∑igiαi∑igi=0
ทำไมสิ่งนี้ถึงเป็นจริง
เรารู้ว่าสามารถได้หากมีเวกเตอร์อยู่เช่นว่า{X} รับแถวที่แตกต่างกันของและแล้ว:
g⊤β=(0,g1,…,gk)β=∑igiαiag⊤=a⊤XXa⊤=[a1,…,ak]
[0,g1,…,gk]=g⊤=a⊤X=(∑iai,a1,…,ak)
และผลดังต่อไปนี้
ถ้าเราต้องการที่จะทดสอบความคมชัดเฉพาะสมมติฐานของเราคือ0 ตัวอย่างเช่น:ซึ่งสามารถเขียนเป็นดังนั้นเราจึงเปรียบเทียบกับค่าเฉลี่ยของและ\H0:∑giαi=0H0:2α1=α2+α3H0:α1=α2+α32α1α2α3
สมมติฐานนี้สามารถแสดงเป็นที่g_k) ในกรณีนี้และเราทดสอบสมมติฐานนี้ด้วยสถิติต่อไปนี้:
H0:g⊤β=0g⊤=(0,g1,g2,…,gk)q=1
F=[g⊤β^]⊤[g⊤(X⊤X)−g]−1g⊤β^SSE/k(n−1).
ถ้าแสดงเป็นโดยที่แถวของเมทริกซ์
เป็นความแตกต่างระหว่าง orthogonal ( ) จากนั้นเราสามารถทดสอบโดยใช้สถิติ , โดยที่H0:α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β^.
ตัวอย่างที่ 3
เพื่อให้เข้าใจได้ดียิ่งขึ้นลองใช้และสมมติว่าเราต้องการทดสอบซึ่งสามารถแสดงเป็น
k=4H0:α1=α2=α3=α4,
H0:⎡⎣⎢α1−α2α1−α3α1−α4⎤⎦⎥=⎡⎣⎢000⎤⎦⎥
หรือตามที่ :
H0:Gβ=0
H0:⎡⎣⎢000111−1−0−0−0−1−1−0−0−1⎤⎦⎥G,our contrast matrix⎡⎣⎢⎢⎢⎢⎢⎢μα1α2α3α4⎤⎦⎥⎥⎥⎥⎥⎥=⎡⎣⎢000⎤⎦⎥
ดังนั้นเราจะเห็นว่าเมทริกซ์ตัดกันของเราสามแถวนั้นถูกกำหนดโดยสัมประสิทธิ์ของความแตกต่างของดอกเบี้ย และแต่ละคอลัมน์ให้ระดับปัจจัยที่เราใช้ในการเปรียบเทียบของเรา
สวยมากทั้งหมดที่ฉันเขียนถูกนำ \ คัดลอก (ลงคอ) จาก Rencher & Schaalje, "โมเดลเชิงเส้นในเชิงสถิติ" บทที่ 8 และ 13 (ตัวอย่างถ้อยคำของทฤษฎีบทการตีความบางอย่าง) แต่สิ่งอื่น ๆ เช่นคำว่า "เมทริกซ์ความคมชัด "(ที่จริงไม่ปรากฏในหนังสือเล่มนี้) และคำจำกัดความที่ให้ไว้ที่นี่เป็นของฉันเอง
เชื่อมโยงเมทริกซ์คอนทราสต์ของ OP กับคำตอบของฉัน
หนึ่งในเมทริกซ์ของ OP (ซึ่งสามารถพบได้ในคู่มือนี้) คือ:
> contr.treatment(4)
2 3 4
1 0 0 0
2 1 0 0
3 0 1 0
4 0 0 1
ในกรณีนี้ปัจจัยของเรามี 4 ระดับและเราสามารถเขียนโมเดลดังนี้: สิ่งนี้สามารถเขียนในรูปแบบเมทริกซ์เป็น:
⎡⎣⎢⎢⎢y11y21y31y41⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢⎢μμμμ⎤⎦⎥⎥⎥⎥+⎡⎣⎢⎢⎢a1a2a3a4⎤⎦⎥⎥⎥+⎡⎣⎢⎢⎢ε11ε21ε31ε41⎤⎦⎥⎥⎥
หรือ
⎡⎣⎢⎢⎢y11y21y31y41⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢11111000010000100001⎤⎦⎥⎥⎥X⎡⎣⎢⎢⎢⎢⎢⎢μa1a2a3a4⎤⎦⎥⎥⎥⎥⎥⎥β+⎡⎣⎢⎢⎢ε11ε21ε31ε41⎤⎦⎥⎥⎥
ตอนนี้สำหรับตัวอย่างการเข้ารหัสแบบจำลองบนคู่มือเดียวกันพวกเขาใช้เป็นกลุ่มอ้างอิง ดังนั้นเราจึงลบแถวที่ 1 ออกจากแถวอื่น ๆ ใน matrixซึ่งให้ค่า :a1XX˜
⎡⎣⎢⎢⎢1000−1−1−1−1010000100001⎤⎦⎥⎥⎥
หากคุณสังเกตการนับของแถวและคอลัมน์ในเมทริกซ์ contr.treatment (4) คุณจะเห็นว่าพวกเขาพิจารณาแถวทั้งหมดและเฉพาะคอลัมน์ที่เกี่ยวข้องกับปัจจัย 2, 3 และ 4 หากเราทำเช่นเดียวกันใน เมทริกซ์ด้านบนให้ผล:
⎡⎣⎢⎢⎢010000100001⎤⎦⎥⎥⎥
วิธีนี้เมทริกซ์ contr.treatment (4) บอกเราว่าพวกเขากำลังเปรียบเทียบปัจจัย 2, 3 และ 4 กับปัจจัย 1 และเปรียบเทียบปัจจัย 1 กับค่าคงที่ (นี่คือความเข้าใจของฉันด้านบน)
และให้นิยาม (นั่นคือนำเฉพาะแถวที่รวมเป็น 0 ในเมทริกซ์ด้านบน):
G
⎡⎣⎢000−1−1−1100010001⎤⎦⎥
เราสามารถทดสอบและค้นหาค่าประมาณความแตกต่าง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
และค่าประมาณก็เหมือนกัน
เกี่ยวข้องกับคำตอบ @ttnphns 'กับฉัน
ในตัวอย่างแรกของพวกเขาการตั้งค่ามีปัจจัยเด็ดขาด A ที่มีสามระดับ เราสามารถเขียนสิ่งนี้เป็นแบบจำลอง (สมมติว่าเพื่อความง่าย, นั่นคือ ):
j=1
yij=μ+ai+εij,for i=1,2,3
และสมมติว่าเราต้องการทดสอบหรือโดยที่เป็นกลุ่ม / ปัจจัยอ้างอิงของเราH0:a1=a2=a3H0:a1−a3=a2−a3=0a3
สิ่งนี้สามารถเขียนในรูปแบบเมทริกซ์เป็น:
⎡⎣⎢y11y21y31⎤⎦⎥=⎡⎣⎢μμμ⎤⎦⎥+⎡⎣⎢a1a2a3⎤⎦⎥+⎡⎣⎢ε11ε21ε31⎤⎦⎥
หรือ
⎡⎣⎢y11y21y31⎤⎦⎥=⎡⎣⎢111100010001⎤⎦⎥X⎡⎣⎢⎢⎢μa1a2a3⎤⎦⎥⎥⎥β+⎡⎣⎢ε11ε21ε31⎤⎦⎥
ตอนนี้ถ้าเราลบแถวที่ 3 จากแถว 1 และแถวที่ 2 เรามีกลายเป็น (ฉันจะเรียกมันว่า :XX˜
X˜=⎡⎣⎢001100010−1−1−1⎤⎦⎥
เปรียบเทียบช่วง 3 คอลัมน์ของเมทริกซ์ข้างต้นด้วย @ttnphns' เมทริกซ์{L} แม้จะมีคำสั่งพวกเขาค่อนข้างคล้ายกัน แน่นอนถ้าทวีคูณเราจะได้:LX˜β
⎡⎣⎢001100010−1−1−1⎤⎦⎥⎡⎣⎢⎢⎢μa1a2a3⎤⎦⎥⎥⎥=⎡⎣⎢a1−a3a2−a3μ+a3⎤⎦⎥
ดังนั้นเรามีฟังก์ชั่นที่สามารถประเมินได้: ; ; A_3c⊤1β=a1−a3c⊤2β=a2−a3c⊤3β=μ+a3
ตั้งแต่เราเห็นจากด้านบนว่าเรากำลังเปรียบเทียบค่าคงที่ของเรากับค่าสัมประสิทธิ์สำหรับกลุ่มอ้างอิง (a_3); สัมประสิทธิ์ของ group1 ถึงสัมประสิทธิ์ของ group3; และสัมประสิทธิ์ของ group2 ถึง group3 หรือตามที่ @ttnphns กล่าวว่า: "เราเห็นทันทีตามค่าสัมประสิทธิ์ว่าค่าคงที่โดยประมาณจะเท่ากับค่าเฉลี่ย Y ในกลุ่มอ้างอิงพารามิเตอร์นั้น b1 (เช่นตัวแปรจำลอง A1) จะเท่ากับความแตกต่าง: Y หมายถึงกลุ่ม 1 ลบ Y ค่าเฉลี่ยในกลุ่ม 3 และพารามิเตอร์ b2 คือความแตกต่าง: ค่าเฉลี่ยในกลุ่ม 2 ลบค่าเฉลี่ยในกลุ่ม 3 "H0:c⊤iβ=0
ยิ่งไปกว่านั้นสังเกตว่า (ตามคำนิยามของความเปรียบต่าง: ฟังก์ชันที่ประมาณได้ + ผลรวมแถว = 0), เวกเตอร์และนั้นต่างกัน และถ้าเราสร้าง matrixของ constrasts เรามี:c1c2G
G=[001001−1−1]
เมทริกซ์ความคมชัดของเราเพื่อทดสอบH0:Gβ=0
ตัวอย่าง
เราจะใช้ข้อมูลเดียวกันกับ @ttnphns '"ผู้ใช้กำหนดตัวอย่างความคมชัด" (ฉันต้องการพูดถึงว่าทฤษฎีที่ฉันเขียนที่นี่ต้องมีการแก้ไขเล็กน้อยเพื่อพิจารณาโมเดลที่มีการโต้ตอบนั่นคือเหตุผลที่ฉันเลือกตัวอย่างนี้อย่างไรก็ตาม คำจำกัดความของความแตกต่างและ - สิ่งที่ฉันเรียกว่า - เมทริกซ์ความคมชัดยังคงเหมือนเดิม)
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
ดังนั้นเราจึงได้ผลลัพธ์เดียวกัน
ข้อสรุป
สำหรับผมแล้วดูเหมือนว่าจะไม่มีแนวคิดใดที่นิยามว่าเมทริกซ์ความเปรียบต่างคืออะไร
หากคุณใช้คำจำกัดความของความเปรียบต่างที่กำหนดโดย Scheffe ("การวิเคราะห์ความแปรปรวน" หน้า 66) คุณจะเห็นว่ามันเป็นฟังก์ชันที่สามารถประเมินได้ซึ่งมีค่าสัมประสิทธิ์รวมเป็นศูนย์ ดังนั้นถ้าเราต้องการที่จะทดสอบผลรวมเชิงเส้นที่แตกต่างกันของสัมประสิทธิ์ของตัวแปรเด็ดขาดของเราเราใช้เมทริกซ์{G} นี่คือเมทริกซ์ที่แถวรวมกันเป็นศูนย์ซึ่งเราใช้ในการคูณเมทริกซ์ของสัมประสิทธิ์ของเราเพื่อทำให้สัมประสิทธิ์เหล่านั้นสามารถประมาณได้ แถวของมันบ่งบอกถึงชุดค่าผสมเชิงเส้นที่แตกต่างกันของความแตกต่างที่เรากำลังทดสอบและคอลัมน์ของมันบ่งบอกถึงปัจจัย (สัมประสิทธิ์) ที่จะถูกเปรียบเทียบG
เมื่อเมทริกซ์ด้านบนสร้างขึ้นในลักษณะที่แต่ละแถวประกอบขึ้นด้วยเวกเตอร์ตัดกัน (ซึ่งรวมเป็น 0) สำหรับฉันมันสมเหตุสมผลแล้วที่จะเรียกเป็น "เมทริกซ์ตัดกัน" ( Monahan - "ไพรเมอร์สำหรับโมเดลเชิงเส้น" - ใช้คำศัพท์นี้เช่นกัน)GG
อย่างไรก็ตามตามที่อธิบายอย่างสวยงามโดย @ttnphns ซอฟต์แวร์กำลังเรียกอย่างอื่นว่า "contrast matrix" และฉันไม่สามารถหาความสัมพันธ์โดยตรงระหว่าง matrixและคำสั่งในตัว / เมทริกซ์ในตัวจาก SPSS (@ttnphns ) หรือ R (คำถามของ OP) มีความคล้ายคลึงกันเท่านั้น แต่ฉันเชื่อว่าการอภิปราย / การร่วมมือที่ดีที่นำเสนอที่นี่จะช่วยชี้แจงแนวคิดและคำจำกัดความดังกล่าวG