ให้ฉันใส่สีลงไปในความคิดที่ว่า OLS ที่มีregressors ประเภท (แบบจำลองรหัส ) นั้นเทียบเท่ากับปัจจัยใน ANOVA ในทั้งสองกรณีมีระดับ (หรือกลุ่มในกรณีของ ANOVA)
ในการถดถอย OLS เป็นปกติมากที่สุดที่จะมีตัวแปรต่อเนื่องใน regressors เหล่านี้มีเหตุผลแก้ไขความสัมพันธ์ในรูปแบบพอดีระหว่างตัวแปรเด็ดขาดและตัวแปรตาม (DC) แต่ไม่ใช่ถึงจุดที่ทำให้ขนานกันไม่สามารถจดจำได้
จากmtcars
ชุดข้อมูลที่เราสามารถเห็นภาพแบบจำลองlm(mpg ~ wt + as.factor(cyl), data = mtcars)
เป็นความชันที่กำหนดโดยตัวแปรต่อเนื่องwt
(น้ำหนัก) และจุดตัดต่าง ๆ ที่คาดการณ์ถึงผลกระทบของตัวแปรหมวดหมู่cylinder
(สี่, หกหรือแปดกระบอก) นี่คือส่วนสุดท้ายที่ประกอบเป็นแบบคู่ขนานกับการวิเคราะห์ความแปรปรวนแบบทางเดียว
เรามาดูภาพกราฟิกบนพล็อตย่อยทางด้านขวา (แปลงย่อยสามทางด้านซ้ายถูกรวมไว้สำหรับการเปรียบเทียบจากด้านหนึ่งไปอีกด้านหนึ่งกับแบบจำลอง ANOVA ที่กล่าวถึงในภายหลัง):
เครื่องยนต์สูบแต่ละกระบอกมีรหัสสีและระยะห่างระหว่างเส้นที่ติดตั้งพร้อมกับดักที่แตกต่างกันและคลาวด์ข้อมูลนั้นเทียบเท่ากับการแปรผันภายในกลุ่มใน ANOVA โปรดสังเกตว่าการสกัดกั้นในโมเดล OLS ที่มีตัวแปรต่อเนื่อง ( weight
) ไม่เหมือนกับในเชิงคณิตศาสตร์เหมือนกับค่าของความหมายที่แตกต่างกันภายในกลุ่มใน ANOVA เนื่องจากผลกระทบweight
และเมทริกซ์โมเดลที่แตกต่างกัน (ดูด้านล่าง): ค่าเฉลี่ยmpg
สำหรับ รถยนต์ 4 สูบเช่นเป็นmean(mtcars$mpg[mtcars$cyl==4]) #[1] 26.66364
ในขณะที่ OLS "พื้นฐาน" ตัด (สะท้อนให้เห็นโดยการประชุมcyl==4
(ต่ำสุดไปสูงสุดตัวเลขการสั่งซื้อใน R)) summary(fit)$coef[1] #[1] 33.99079
ที่แตกต่างกันอย่างเห็นได้ชัด: weight
ความลาดชันของเส้นเป็นค่าสัมประสิทธิ์สำหรับตัวแปรอย่างต่อเนื่อง
หากคุณพยายามที่จะระงับผลกระทบของการweight
โดยการยืดเส้นเหล่านี้ทางจิตใจและกลับไปที่เส้นแนวนอนคุณจะพบกับพล็อต ANOVA ของแบบจำลองaov(mtcars$mpg ~ as.factor(mtcars$cyl))
ในสามแปลงย่อยทางด้านซ้าย weight
regressor ตอนนี้ออก แต่ความสัมพันธ์จากจุดเพื่อดักที่แตกต่างกันจะถูกรักษาไว้ประมาณ - เราจะเป็นเพียงการหมุนทวนเข็มนาฬิกาและแพร่กระจายออกไปแปลงก่อนหน้านี้ที่ทับซ้อนกันสำหรับแต่ละระดับที่แตกต่างกัน (อีกครั้งเป็นอุปกรณ์ภาพ "เห็น" เท่านั้น การเชื่อมต่อนั้นไม่ได้เป็นความเท่าเทียมกันทางคณิตศาสตร์เนื่องจากเรากำลังเปรียบเทียบแบบจำลองที่แตกต่างกันสองแบบ!)
แต่ละระดับในปัจจัยcylinder
แยกจากกันและเส้นแนวตั้งเป็นตัวแทนของข้อผิดพลาดหรือข้อผิดพลาดภายในกลุ่ม: ระยะทางจากจุดแต่ละจุดในคลาวด์และค่าเฉลี่ยสำหรับแต่ละระดับ (เส้นแนวนอนที่มีรหัสสี) การไล่ระดับสีช่วยให้เราระบุว่าระดับนัยสำคัญในการตรวจสอบความถูกต้องของแบบจำลอง: ยิ่งจุดข้อมูลกลุ่มอยู่รอบกลุ่มของพวกเขามากเท่าใดแบบจำลอง ANOVA จะมีความสำคัญทางสถิติมากขึ้น เส้นสีดำแนวนอนประมาณในแปลงทั้งหมดเป็นค่าเฉลี่ยสำหรับทุกปัจจัย ตัวเลขใน -axis เป็นเพียงตัวยึดตำแหน่ง / ตัวระบุสำหรับแต่ละจุดภายในแต่ละระดับและไม่มีจุดประสงค์เพิ่มเติมนอกเหนือจากการแยกจุดตามเส้นแนวนอนเพื่อให้การพล็อตการแสดงแตกต่างจากกล่องแปลง20x
และจากผลรวมของเซ็กเมนต์ตามแนวตั้งเหล่านี้เราสามารถคำนวณส่วนที่เหลือด้วยตนเอง:
mu_mpg <- mean(mtcars$mpg) # Mean mpg in dataset
TSS <- sum((mtcars$mpg - mu_mpg)^2) # Total sum of squares
SumSq=sum((mtcars[mtcars$cyl==4,"mpg"]-mean(mtcars[mtcars$cyl=="4","mpg"]))^2)+
sum((mtcars[mtcars$cyl==6,"mpg"] - mean(mtcars[mtcars$cyl=="6","mpg"]))^2)+
sum((mtcars[mtcars$cyl==8,"mpg"] - mean(mtcars[mtcars$cyl=="8","mpg"]))^2)
ผล: และSumSq = 301.2626
TSS - SumSq = 824.7846
เปรียบเทียบกับ:
Call:
aov(formula = mtcars$mpg ~ as.factor(mtcars$cyl))
Terms:
as.factor(mtcars$cyl) Residuals
Sum of Squares 824.7846 301.2626
Deg. of Freedom 2 29
ผลลัพธ์เดียวกันกับการทดสอบด้วย ANOVA โมเดลเชิงเส้นโดยมีหมวดหมู่cylinder
เป็น regressor เท่านั้น:
fit <- lm(mpg ~ as.factor(cyl), data = mtcars)
summary(fit)
anova(fit)
Analysis of Variance Table
Response: mpg
Df Sum Sq Mean Sq F value Pr(>F)
as.factor(cyl) 2 824.78 412.39 39.697 4.979e-09 ***
Residuals 29 301.26 10.39
สิ่งที่เราเห็นก็คือส่วนที่เหลือ - ส่วนหนึ่งของความแปรปรวนทั้งหมดที่ไม่ได้อธิบายโดยตัวแบบ - เช่นเดียวกับความแปรปรวนเหมือนกันไม่ว่าคุณจะเรียก OLS ของประเภทlm(DV ~ factors)
หรือ ANOVA ( aov(DV ~ factors)
): เมื่อเราตัด แบบจำลองของตัวแปรต่อเนื่องเราท้ายด้วยระบบที่เหมือนกัน ในทำนองเดียวกันเมื่อเราประเมินแบบจำลองทั่วโลกหรือในรูปแบบ ANNNBUS ของรถโดยสาร (ไม่ใช่ระดับต่อระดับ) เราจะได้ค่า p-value ตามF-statistic: 39.7 on 2 and 29 DF, p-value: 4.979e-09
ธรรมชาติ
นี่ไม่ได้หมายความว่าการทดสอบระดับบุคคลจะให้ค่า p เหมือนกัน ในกรณีของ OLS เราสามารถเรียกใช้summary(fit)
และรับ:
lm(formula = mpg ~ as.factor(cyl), data = mtcars)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 26.6636 0.9718 27.437 < 2e-16 ***
as.factor(cyl)6 -6.9208 1.5583 -4.441 0.000119 ***
as.factor(cyl)8 -11.5636 1.2986 -8.905 8.57e-10 ***
สิ่งนี้ไม่สามารถทำได้ใน ANOVA ซึ่งเป็นการทดสอบแบบ Omnibus มากกว่า ในการรับการประเมินค่าแบบนี้เราจำเป็นต้องทำการทดสอบความแตกต่างที่สำคัญของ Tukey Honest ซึ่งจะพยายามลดความเป็นไปได้ของข้อผิดพลาดประเภทที่ 1 ซึ่งเป็นผลมาจากการเปรียบเทียบหลายคู่ (ดังนั้น " ") เอาท์พุทที่แตกต่างกันอย่างสมบูรณ์:pp adjusted
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = mtcars$mpg ~ as.factor(mtcars$cyl))
$`as.factor(mtcars$cyl)`
diff lwr upr p adj
6-4 -6.920779 -10.769350 -3.0722086 0.0003424
8-4 -11.563636 -14.770779 -8.3564942 0.0000000
8-6 -4.642857 -8.327583 -0.9581313 0.0112287
ในท้ายที่สุดไม่มีอะไรที่น่ามั่นใจไปกว่าการแอบดูเครื่องยนต์ภายใต้ประทุนซึ่งไม่มีใครอื่นนอกจากเมทริกซ์โมเดลและการคาดการณ์ในพื้นที่คอลัมน์ จริงๆแล้วมันค่อนข้างง่ายในกรณีของ ANOVA:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮⋮⋮.yn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢11⋮00⋮.0000⋮11⋮.0000⋮00⋮.11⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢μ1μ2μ3⎤⎦⎥+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ε1ε2ε3⋮⋮⋮.εn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥(1)
นี่จะเป็นทางเดียวเมทริกซ์ ANOVA รุ่นที่มีสามระดับ (เช่นcyl 4
, cyl 6
, cyl 8
) สรุปได้ที่เป็นค่าเฉลี่ยในแต่ละระดับหรือกลุ่ม: เมื่อ ข้อผิดพลาดหรือส่วนที่เหลือสำหรับการสังเกตของกลุ่มหรือระดับถูกเพิ่มเราได้รับการสังเกตDVจริงyij=μi+ϵijμijiyij
ในทางกลับกันเมทริกซ์โมเดลสำหรับการถดถอย OLS คือ:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3y4⋮yn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1111⋮1x12x22x32x42⋮xn2x13x23x33x43⋮xn3⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢β0β1β2⎤⎦⎥+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ε1ε2ε3ε4⋮εn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
นี่คือรูปแบบด้วยการสกัดกั้นเดี่ยวและสองลาด (และ ) สำหรับแต่ละ ตัวแปรอย่างต่อเนื่องที่แตกต่างกันกล่าวและyi=β0+β1xi1+β2xi2+ϵiβ0β1β2weight
displacement
เคล็ดลับในขณะนี้คือเพื่อดูว่าเราสามารถสร้างดักแตกต่างกันเช่นในตัวอย่างเริ่มต้นlm(mpg ~ wt + as.factor(cyl), data = mtcars)
- เพื่อให้ได้รับการกำจัดของความลาดชันที่สองและติดตัวแปรอย่างต่อเนื่องเดิมเดียวweight
(ในคำอื่นคอลัมน์เดียวนอกเหนือจากคอลัมน์ของคนที่อยู่ใน เมทริกซ์รุ่น; สกัดและความลาดชันสำหรับ, ) คอลัมน์ของตามค่าเริ่มต้นจะสอดคล้องกับการสกัดกั้น อีกครั้งค่าของมันไม่เหมือน ANOVA ภายในกลุ่มหมายความว่าการสังเกตที่ไม่น่าแปลกใจเมื่อเปรียบเทียบคอลัมน์ใน OLS model matrix (ด้านล่าง) กับคอลัมน์แรกของβ0weight
β11cyl 4
cyl 4
11อยู่ในเมทริกซ์โมเดล ANOVAซึ่งเลือกเฉพาะตัวอย่างที่มี 4 สูบ การสกัดกั้นจะถูกเลื่อนผ่านการเข้ารหัสแบบจำลองเพื่ออธิบายผลกระทบของและดังต่อไปนี้:(1),cyl 6
cyl 8
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3y4y5⋮yn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢11111⋮1x1x2x3x4x5⋮xn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[β0β1]+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢11100⋮000011⋮1⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[μ~2μ~3]+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ε1ε2ε3ε4ε5⋮εn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
ตอนนี้เมื่อคอลัมน์ที่สามคือเราจะเปลี่ยนการสกัดกั้นโดยแสดงให้เห็นว่าในขณะที่กรณีของ "พื้นฐาน" ตัดในรูปแบบ OLS ไม่เป็นเหมือนกันกับค่าเฉลี่ยกลุ่มของรถยนต์ 4 สูบ แต่สะท้อนให้เห็นถึงมันแตกต่างระหว่างระดับในรูปแบบ OLS จะไม่ทางคณิตศาสตร์ ความแตกต่างระหว่างกลุ่มในวิธีการ:1 μ~2.⋅~
fit <- lm(mpg ~ wt + as.factor(cyl), data = mtcars)
summary(fit)$coef[3] #[1] -4.255582 (difference between intercepts cyl==4 and cyl==6 in OLS)
fit <- lm(mpg ~ as.factor(cyl), data = mtcars)
summary(fit)$coef[2] #[1] -6.920779 (difference between group mean cyl==4 and cyl==6)
เช่นเดียวกันเมื่อคอลัมน์ที่สี่คือค่าคงที่จะถูกเพิ่มไปยังจุดตัด สมการเมทริกซ์จึงจะ\ ดังนั้นการใช้โมเดลนี้กับโมเดล ANOVA จึงเป็นเรื่องของการกำจัดตัวแปรต่อเนื่องและเข้าใจว่าการสกัดกั้นเริ่มต้นใน OLS สะท้อนถึงระดับแรกใน ANOVA1μ~3yi=β0+β1xi+μ~i+ϵi