มีวิธีใช้เมทริกซ์ความแปรปรวนร่วมเพื่อค้นหาค่าสัมประสิทธิ์สำหรับการถดถอยหลายครั้งหรือไม่?


23

สำหรับการถดถอยเชิงเส้นอย่างง่ายสัมประสิทธิ์การถดถอยสามารถคำนวณได้โดยตรงจากความแปรปรวน - ความแปรปรวนร่วมเมทริกซ์โดย โดยที่คือดัชนีตัวแปรตามและคือดัชนีของตัวแปรอธิบายC d , eC de

Cd,อีCอี,อี
dอี

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

ETA: สำหรับตัวแปรอธิบายสองตัวปรากฏว่า และ analogously สำหรับ\ฉันไม่ได้เห็นวิธีการขยายตัวแปรนี้เป็นตัวแปรสามตัวขึ้นไปทันที

β1=Cโอโวลต์(Y,x1)โวลต์aR(x2)-Cโอโวลต์(Y,x2)Cโอโวลต์(x1,x2)โวลต์aR(x1)โวลต์aR(x2)-Cโอโวลต์(x1,x2)2
β2

3
ค่าสัมประสิทธิ์เวกเตอร์βเป็นวิธีการแก้X ' Y = ( X ' X ) - 1 β การเปลี่ยนแปลงเชิงพีชคณิตบางอย่างเผยให้เห็นว่านี่เป็นความจริงเช่นเดียวกับสูตรที่คุณให้ในกรณี 2 สัมประสิทธิ์ ออกมาวางไว้เป็นอย่างดีที่นี่: stat.purdue.edu/~jennings/stat514/stat512notes/topic3.pdf ไม่แน่ใจว่าจะช่วยได้ทั้งหมด แต่ฉันอยากเดาว่านี่เป็นไปไม่ได้โดยทั่วไปจากสูตรนั้น β^XY=(XX)1β
shadowtalker

1
@David คุณคิดวิธีขยายให้เป็นตัวแปรอธิบายจำนวน (เกิน 2) หรือไม่? ฉันต้องการการแสดงออก
Jane Wayne

1
@JaneWayne ฉันไม่แน่ใจว่าฉันเข้าใจคำถามของคุณ: whuber ให้วิธีแก้ปัญหาด้านล่างในรูปแบบเมทริกซ์, C-1(Cov(Xผม,Y))'
David

1
ใช่ฉันศึกษามันและเขาพูดถูก
Jane Wayne

คำตอบ:


36

ใช่เมทริกซ์ความแปรปรวนร่วมของตัวแปรทั้งหมด - คำอธิบายและการตอบกลับ - มีข้อมูลที่จำเป็นในการค้นหาค่าสัมประสิทธิ์ทั้งหมดโดยมีคำว่าการสกัดกั้น (ค่าคงที่) รวมอยู่ในแบบจำลอง (แม้ว่าพันธมิตรจะไม่ให้ข้อมูลเกี่ยวกับคำที่คงที่ แต่ก็สามารถพบได้จากวิธีการของข้อมูล)


การวิเคราะห์

ขอให้ข้อมูลสำหรับการอธิบายตัวแปรได้รับการจัดเป็นเวกเตอร์คอลัมน์มิติx 1 , x 2 , ... , x Pและตัวแปรการตอบสนองเป็นคอลัมน์เวกเตอร์Y , ถือว่าเป็นสำนึกของตัวแปรสุ่มY สามัญไม่น้อยกว่าประมาณการสี่เหลี่ยมเบต้าของสัมประสิทธิ์ในรูปแบบnx1,x2,...,xพีYYβ^

E(Y)=α+Xβ

ได้มาจากการประกอบคอลัมน์เวกเตอร์X 0 = ( 1 , 1 , , 1 ) , X 1 , , X pให้เป็นn × p + 1อาร์เรย์Xและแก้ระบบสมการเชิงเส้นพี+1X0=(1,1,,1),X1,,Xpn×p+1X

XXβ^=Xy.

มันเทียบเท่ากับระบบ

1nXXβ^=1nXy.

การกำจัดแบบเกาส์เซียนจะแก้ปัญหาระบบนี้ได้ มันดำเนินการโดยติดกับเมทริกซ์1p+1×p+1และp+1-vector11nXXp+1เป็นP+1×P+2อาร์เรย์และแถวลด 1nXyp+1×p+2A

ขั้นตอนแรกจะตรวจสอบ1 การหาค่านี้ไม่ใช่ศูนย์จะดำเนินการลบทวีคูณที่เหมาะสมของแถวแรกของAจากแถวที่เหลือเพื่อทำให้รายการที่เหลืออยู่ในคอลัมน์แรกเป็นศูนย์ ทวีคูณเหล่านี้จะเป็น11n(XX)11=1nX0X0=1Aและจำนวนลบออกจากรายการฉัน+1,J+1=X ' ฉัน Xเจจะเท่ากับ ¯ Xฉัน ¯ Xเจ นี่เป็นเพียงสูตรสำหรับความแปรปรวนของXฉันและXเจ ยิ่งกว่านั้นจำนวนที่เหลือในตำแหน่งi+1,p+2เท่ากับ11nX0Xi=X¯ผมAi+1,j+1=XiXjX¯iX¯jXiXji+1,p+2แปรปรวนของXฉันกับY1nXiyXi¯y¯Xiy

ดังนั้นหลังจากขั้นตอนแรกของการกำจัดแบบเกาส์เซียนแล้วระบบจะลดลงไปสู่การแก้ปัญหา

Cβ^=(Cov(Xi,y))

และชัดเจน - เนื่องจากสัมประสิทธิ์ทั้งหมดเป็นความแปรปรวนร่วม - วิธีการแก้ปัญหานั้นสามารถพบได้จากเมทริกซ์ความแปรปรวนร่วมของตัวแปรทั้งหมด

(เมื่อย้อนกลับได้คำตอบสามารถเขียนC - 1 ( Cov ( X i , y ) ) สูตรที่ให้ในคำถามเป็นกรณีพิเศษของสิ่งนี้เมื่อp = 1และp = 2การเขียนสูตรดังกล่าวอย่างชัดเจนจะ มีความซับซ้อนมากขึ้นเรื่อย ๆ เมื่อpโตขึ้นนอกจากนี้พวกมันด้อยกว่าสำหรับการคำนวณเชิงตัวเลขซึ่งดำเนินการได้ดีที่สุดโดยการแก้ระบบสมการแทนที่จะแก้ไขเมทริกซ์C )CC1(Cov(Xi,y))p=1p=2pC

ระยะอย่างต่อเนื่องจะมีความแตกต่างระหว่างค่าเฉลี่ยของและค่าเฉลี่ยที่คาดการณ์จากตัวเลขประมาณการที่ X βyXβ^


ตัวอย่าง

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

#
# 1. Generate some data.
#
n <- 10        # Data set size
p <- 2         # Number of regressors
set.seed(17)
z <- matrix(rnorm(n*(p+1)), nrow=n, dimnames=list(NULL, paste0("x", 1:(p+1))))
y <- z[, p+1]
x <- z[, -(p+1), drop=FALSE]; 
#
# 2. Find the OLS coefficients from the covariances only.
#
a <- cov(x)
b <- cov(x,y)
beta.hat <- solve(a, b)[, 1]  # Coefficients from the covariance matrix
#
# 2a. Find the intercept from the means and coefficients.
#
y.bar <- mean(y)
x.bar <- colMeans(x)
intercept <- y.bar - x.bar %*% beta.hat  

ผลลัพธ์แสดงข้อตกลงระหว่างสองวิธี:

(rbind(`From covariances` = c(`(Intercept)`=intercept, beta.hat),
       `From data via OLS` = coef(lm(y ~ x))))
                  (Intercept)        x1        x2
From covariances     0.946155 -0.424551 -1.006675
From data via OLS    0.946155 -0.424551 -1.006675

1
Xcov(z)

7
คำตอบเช่นนี้ยกระดับการตรวจสอบข้ามนี้
jpmuc

@whuber ในตัวอย่างของคุณคุณคำนวณตัดจากyและและx และเป็นส่วนหนึ่งของข้อมูลเดิม เป็นไปได้หรือไม่ที่จะได้รับการสกัดกั้นจากเมทริกซ์ความแปรปรวนร่วมและมีความหมายเพียงอย่างเดียว? คุณช่วยระบุสัญลักษณ์ได้ไหม? beta.hatyx
Jane Wayne

X¯β^
X¯β^=Xβ^¯.

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