ทำไม ANOVA จึงเทียบเท่ากับการถดถอยเชิงเส้น


50

ฉันอ่านว่า ANOVA และการถดถอยเชิงเส้นเป็นสิ่งเดียวกัน จะเป็นไปได้อย่างไรในการพิจารณาว่าเอาต์พุตของ ANOVA คือค่าบางตัวและค่าบางส่วนที่คุณสรุปได้ว่าตัวอย่างนั้นมีความหมายเหมือนกันหรือต่างกันพีFp

แต่สมมติว่าค่าเฉลี่ยไม่เท่ากัน (ปฏิเสธสมมติฐานว่าง), ANOVA จะบอกอะไรคุณเกี่ยวกับสัมประสิทธิ์ของตัวแบบเชิงเส้น การถดถอยเชิงเส้นเหมือนกับ ANOVA เป็นอย่างไร

คำตอบ:


44

ANOVA และการถดถอยเชิงเส้นมีค่าเท่ากันเมื่อทั้งสองรุ่นทดสอบกับสมมติฐานเดียวกันและใช้การเข้ารหัสที่เหมือนกัน รุ่นที่แตกต่างกันในจุดมุ่งหมายพื้นฐานของพวกเขา: ANOVA เป็นกังวลส่วนใหญ่จะนำเสนอความแตกต่างระหว่างวิธีการประเภทในข้อมูลในขณะที่การถดถอยเชิงเส้นส่วนใหญ่จะเป็นความกังวลที่จะประเมินตัวอย่างหมายถึงการตอบสนองและการเชื่อมโยง 2σ2

aphoristically อย่างใดอย่างหนึ่งสามารถอธิบาย ANOVA เป็นการถดถอยที่มีตัวแปรหุ่น เราสามารถเห็นได้อย่างง่ายดายว่านี่เป็นกรณีในการถดถอยอย่างง่ายพร้อมตัวแปรเด็ดขาด ตัวแปรหมวดหมู่จะถูกเข้ารหัสเป็นเมทริกซ์ตัวบ่งชี้ (เมทริกซ์ที่0/1ขึ้นอยู่กับว่าหัวเรื่องเป็นส่วนหนึ่งของกลุ่มที่กำหนดหรือไม่) จากนั้นใช้โดยตรงสำหรับการแก้ปัญหาของระบบเชิงเส้นที่อธิบายโดยการถดถอยเชิงเส้น ลองดูตัวอย่างกับ 5 กลุ่ม เพื่อประโยชน์ในการโต้แย้งฉันจะคิดว่าค่าเฉลี่ยของgroup1เท่ากับ 1, ค่าเฉลี่ยของgroup2เท่ากับ 2, ... และค่าเฉลี่ยgroup5เท่ากับ 5 (ฉันใช้ MATLAB แต่สิ่งเดียวกันแน่นอนเท่ากับในอาร์)

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

ตามที่สามารถเห็นได้ในสถานการณ์นี้ผลลัพธ์ที่เหมือนกันทุกประการ ความแตกต่างของตัวเลขนาทีนั้นเกิดจากการออกแบบที่ไม่สมดุลอย่างสมบูรณ์เช่นเดียวกับขั้นตอนการประมาณค่าการขีดเส้นใต้ ANOVA จะรวบรวมข้อผิดพลาดเชิงตัวเลขอีกเล็กน้อย สำหรับความเคารพนั้นเราพอดีกับการสกัดกั้นLRbetas(1); เราสามารถใส่โมเดลที่ไม่มีการสกัดกั้น แต่นั่นไม่ใช่การถดถอยเชิงเส้น "มาตรฐาน" (ผลลัพธ์จะใกล้เคียงกับ ANOVA มากขึ้นในกรณีนั้น)

-statistic (อัตราส่วนของวิธีการที่ก) ในกรณีของการวิเคราะห์ความแปรปรวนและในกรณีของการถดถอยเชิงเส้นจะยังจะเหมือนกันสำหรับตัวอย่างข้างต้น:F

abs( fitObj.anova.F(1) - anovatab{2,5} )
% ans =
% 2.9132e-13 

นี่เป็นเพราะขั้นตอนการทดสอบสมมติฐานเดียวกัน แต่ด้วยคำที่แตกต่างกัน: ANOVA จะตรวจสอบคุณภาพว่า " อัตราส่วนสูงพอที่จะแนะนำว่าไม่มีการจัดกลุ่มที่ไม่น่าเชื่อ " ในขณะที่การถดถอยเชิงเส้นจะตรวจสอบเชิงคุณภาพว่า " อัตราส่วนสูงพอที่จะแนะนำการสกัดกั้นเท่านั้น แบบจำลองอาจไม่เพียงพอ "
(นี่เป็นการตีความที่ค่อนข้างอิสระเกี่ยวกับ " ความเป็นไปได้ที่จะเห็นค่าที่เท่ากันหรือมากกว่าที่สังเกตได้ภายใต้สมมติฐานว่าง " และมันไม่ได้หมายถึงการนิยามข้อความ - หนังสือ)

กลับมาที่ส่วนสุดท้ายของคำถามของคุณเกี่ยวกับ " ANOVA บอก (ไอเอ็นจี) คุณไม่มีอะไรเกี่ยวกับสัมประสิทธิ์ของแบบจำลองเชิงเส้น (สมมติว่าค่าเฉลี่ยไม่เท่ากัน ") ฉันหวังว่าคุณจะเห็น ANOVA ในกรณีที่การออกแบบของคุณ เรียบง่าย / มีความสมดุลมากพอจะบอกคุณทุกอย่างว่าแบบจำลองเชิงเส้นจะ ช่วงความมั่นใจสำหรับกลุ่มหมายความว่าจะเหมือนกันกับของคุณβฯลฯ อย่างชัดเจนเมื่อคนเริ่มเพิ่ม covariate หลายตัวในแบบจำลองการถดถอย ANOVA แบบทางเดียวแบบง่ายไม่มีความเท่าเทียมกันโดยตรง ในกรณีที่หนึ่งเพิ่มข้อมูลที่ใช้ในการคำนวณการตอบสนองเฉลี่ยของการถดถอยเชิงเส้นด้วยข้อมูลที่ไม่สามารถใช้ได้โดยตรงสำหรับการวิเคราะห์ความแปรปรวนทางเดียว ฉันเชื่อว่าเราสามารถถ่ายทอดสิ่งต่าง ๆ ในแง่ของ ANOVA ได้อีกครั้ง แต่ส่วนใหญ่เป็นการฝึกเชิงวิชาการ

กระดาษที่น่าสนใจในเรื่องนี้ก็คือ Gelman กระดาษ 2005 หัวข้อ: วิเคราะห์ความแปรปรวน - ทำไมมันเป็นสิ่งสำคัญมากขึ้นกว่าเดิม ประเด็นสำคัญบางประการเกิดขึ้น ฉันไม่สนับสนุนบทความนี้อย่างเต็มที่ (ฉันคิดว่าฉันจัดแนวมุมมองของแม็กคัลลัคให้มากขึ้น) แต่มันก็เป็นการอ่านที่สร้างสรรค์

ในฐานะที่เป็นบันทึกสุดท้าย: พล็อตหนาขึ้นเมื่อคุณได้แบบจำลองผลกระทบผสม ที่นั่นคุณมีแนวคิดที่แตกต่างกันเกี่ยวกับสิ่งที่ถือได้ว่าเป็นข้อมูลที่น่ารำคาญหรือข้อมูลจริงเกี่ยวกับการจัดกลุ่มข้อมูลของคุณ ปัญหาเหล่านี้อยู่นอกขอบเขตของคำถามนี้ แต่ฉันคิดว่าพวกเขามีค่าพยักหน้า


6
คำตอบที่ได้รับการยอมรับในหน้าการตรวจสอบความถูกต้องของ Cross นี้ยังแสดงความสัมพันธ์ระหว่าง ANOVA และการถดถอยค่อนข้างดีผ่านวิธีการทางคณิตศาสตร์ที่ช่วยเสริมวิธีการปฏิบัติของคำตอบนี้
EdM

+1 โอ้ใช่คำตอบของ MichaelHardy ค่อนข้างดีในหัวข้อนั้น ขอบคุณที่พูดถึงมัน!
usεr11852พูดว่า Reinstate Monic

+1 นอกจากนี้ฉันรู้สึกว่าตัวเลขนี้ในคำตอบนี้มีประโยชน์มากในการลดช่องว่างระหว่าง ANOVA และการถดถอยเชิงเส้น
Haitao Du

คุณจะเห็นด้วยหรือไม่ว่า ANOVA เป็น Gaussian GLM พร้อมตัวทำนายหมวดหมู่?
Digio

@Digio: ไม่มันจะใช้งานเกินความเหมาะสม ฉันจะป้องกันไม่ให้ภาพ GLM
usεr11852พูดว่า Reinstate Monic

55

ให้ฉันใส่สีลงไปในความคิดที่ว่า 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))ในสามแปลงย่อยทางด้านซ้าย weightregressor ตอนนี้ออก แต่ความสัมพันธ์จากจุดเพื่อดักที่แตกต่างกันจะถูกรักษาไว้ประมาณ - เราจะเป็นเพียงการหมุนทวนเข็มนาฬิกาและแพร่กระจายออกไปแปลงก่อนหน้านี้ที่ทับซ้อนกันสำหรับแต่ละระดับที่แตกต่างกัน (อีกครั้งเป็นอุปกรณ์ภาพ "เห็น" เท่านั้น การเชื่อมต่อนั้นไม่ได้เป็นความเท่าเทียมกันทางคณิตศาสตร์เนื่องจากเรากำลังเปรียบเทียบแบบจำลองที่แตกต่างกันสองแบบ!)

แต่ละระดับในปัจจัย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:

(1)[y1y2y3.yn]=[100100010010...001001][μ1μ2μ3]+[ε1ε2ε3.εn]

นี่จะเป็นทางเดียวเมทริกซ์ ANOVA รุ่นที่มีสามระดับ (เช่นcyl 4, cyl 6, cyl 8) สรุปได้ที่เป็นค่าเฉลี่ยในแต่ละระดับหรือกลุ่ม: เมื่อ ข้อผิดพลาดหรือส่วนที่เหลือสำหรับการสังเกตของกลุ่มหรือระดับถูกเพิ่มเราได้รับการสังเกตDVจริงyij=μi+ϵijμijiyij

ในทางกลับกันเมทริกซ์โมเดลสำหรับการถดถอย OLS คือ:

[y1y2y3y4yn]=[1x12x131x22x231x32x331x42x431xn2xn3][β0β1β2]+[ε1ε2ε3ε4εn]

นี่คือรูปแบบด้วยการสกัดกั้นเดี่ยวและสองลาด (และ ) สำหรับแต่ละ ตัวแปรอย่างต่อเนื่องที่แตกต่างกันกล่าวและyi=β0+β1xi1+β2xi2+ϵiβ0β1β2weightdisplacement

เคล็ดลับในขณะนี้คือเพื่อดูว่าเราสามารถสร้างดักแตกต่างกันเช่นในตัวอย่างเริ่มต้นlm(mpg ~ wt + as.factor(cyl), data = mtcars)- เพื่อให้ได้รับการกำจัดของความลาดชันที่สองและติดตัวแปรอย่างต่อเนื่องเดิมเดียวweight(ในคำอื่นคอลัมน์เดียวนอกเหนือจากคอลัมน์ของคนที่อยู่ใน เมทริกซ์รุ่น; สกัดและความลาดชันสำหรับ, ) คอลัมน์ของตามค่าเริ่มต้นจะสอดคล้องกับการสกัดกั้น อีกครั้งค่าของมันไม่เหมือน ANOVA ภายในกลุ่มหมายความว่าการสังเกตที่ไม่น่าแปลกใจเมื่อเปรียบเทียบคอลัมน์ใน OLS model matrix (ด้านล่าง) กับคอลัมน์แรกของβ0weightβ11cyl 4cyl 411อยู่ในเมทริกซ์โมเดล ANOVAซึ่งเลือกเฉพาะตัวอย่างที่มี 4 สูบ การสกัดกั้นจะถูกเลื่อนผ่านการเข้ารหัสแบบจำลองเพื่ออธิบายผลกระทบของและดังต่อไปนี้:(1),cyl 6cyl 8

[y1y2y3y4y5yn]=[1x11x21x31x41x51xn][β0β1]+[101010010101][μ~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


6
+1, ฉันชอบภาพประกอบกราฟิกของคุณ !! คุณภาพการโฆษณา!
Haitao Du

@ hxd1011 นี่มันเยี่ยมมาก ๆ ฉันรู้สึกทราบซึ้ง.
Antoni Parellada

6

Antoni Parellada และusεr11852มีคำตอบที่ดีมาก Rผมจะตอบคำถามของคุณสำหรับการเข้ารหัสด้วยมุมมอง

ANOVA จะบอกอะไรคุณเกี่ยวกับสัมประสิทธิ์ของตัวแบบเชิงเส้น การถดถอยเชิงเส้นเหมือนกับ ANOVA เป็นอย่างไร

ในความเป็นจริงเราสามารถaovทำงานในที่สามารถใช้เป็นเช่นเดียวกับR lmนี่คือตัวอย่างบางส่วน.

> lm_fit=lm(mpg~as.factor(cyl),mtcars)

> aov_fit=aov(mpg~as.factor(cyl),mtcars)

> coef(lm_fit)
    (Intercept) as.factor(cyl)6 as.factor(cyl)8 
      26.663636       -6.920779      -11.563636 

> coef(aov_fit)
    (Intercept) as.factor(cyl)6 as.factor(cyl)8 
      26.663636       -6.920779      -11.563636 

> all(predict(lm_fit,mtcars)==predict(aov_fit,mtcars))
[1] TRUE

อย่างที่คุณเห็นไม่เพียง แต่เราจะได้ค่าสัมประสิทธิ์จากแบบจำลอง ANOVA แต่ยังสามารถใช้ในการทำนายเช่นเดียวกับแบบจำลองเชิงเส้น

ถ้าเราตรวจสอบไฟล์ช่วยเหลือสำหรับaovฟังก์ชั่นมันบอกว่า

สิ่งนี้ให้เสื้อคลุมถึง lmสำหรับแบบจำลองเชิงเส้นที่เหมาะสมกับการออกแบบการทดลองที่สมดุลหรือไม่สมดุล ความแตกต่างที่สำคัญจาก lm คือการพิมพ์สรุปและอื่น ๆ ที่เหมาะสม: นี่คือการแสดงออกในภาษาดั้งเดิมของการวิเคราะห์ความแปรปรวนมากกว่าแบบเชิงเส้น


1

หากเรานำรายการข้อมูลทั้งหมดและจัดเรียงไว้ในคอลัมน์เดียว Y โดยคอลัมน์ที่เหลือเป็นตัวแปรตัวบ่งชี้ 1 {ข้อมูลนี้เป็นองค์ประกอบของคอลัมน์ jth ในการจัดเรียง anova ดั้งเดิม} จากนั้นทำการถดถอยเชิงเส้นอย่างง่ายของ Y บน คอลัมน์อื่นใด (พูดคอลัมน์ B) คุณควรได้รับสถิติการทดสอบ DF, SS, MS และ F เดียวกันกับปัญหา ANOVA ของคุณ

ดังนั้น ANOVA สามารถ 'ถือว่าเป็น' การถดถอยเชิงเส้นโดยการเขียนข้อมูลด้วยตัวแปรไบนารี่ นอกจากนี้โปรดทราบว่าค่าสัมประสิทธิ์ของการถดถอยสำหรับการพูดการถดถอยของ Y บน B ควรเป็นเช่นเดียวกับเฉลี่ย ของคอลัมน์ B ซึ่งคำนวณด้วยข้อมูลต้นฉบับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.