คำอธิบายของระยะ Mahalanobis ของฉันที่ด้านล่างถึงด้านบนคำอธิบายของระยะ Mahalanobis? รวมผลลัพธ์ที่สำคัญสองรายการ:
ตามคำนิยามมันจะไม่เปลี่ยนแปลงเมื่อ regressors ถูกเปลี่ยนอย่างสม่ำเสมอ
ระยะทาง Mahalanobis กำลังสองระหว่างเวกเตอร์และได้รับจาก โดยที่คือความแปรปรวนร่วมของข้อมูลxyD2(x,y)=(x−y)′Σ−1(x−y)
Σ
(1) ช่วยให้เราสามารถสันนิษฐานว่า regressors นั้นเป็นศูนย์ทั้งหมด มันยังคงอยู่ในการคำนวณh_iอย่างไรก็ตามเพื่อให้การอ้างสิทธิ์เป็นจริงเราจำเป็นต้องเพิ่มข้อสมมติฐานอีกหนึ่งข้อ:hi
โมเดลต้องมีการสกัดกั้น
เพื่อให้สามารถนี้ให้มี regressors และข้อมูลการเขียนค่าของ regressorสำหรับการสังเกตเป็น{IJ} ให้เวกเตอร์คอลัมน์เหล่านี้ค่า regressorเขียนและเวกเตอร์แถวของเหล่าค่าสำหรับการสังเกตจะเขียน\จากนั้นเมทริกซ์โมเดลคือk≥0njixijnjx,jkixi
X=⎛⎝⎜⎜⎜⎜11⋮1x11x21⋮xn1⋯⋯⋮⋯x1kx2k⋮xnk⎞⎠⎟⎟⎟⎟
และตามคำจำกัดความเมทริกซ์ของหมวกคือ
H=X(X′X)−1X′,
เข้ามาตามเส้นทแยงมุมที่ไหนi
hi=hii=(1;xi)(X′X)−1(1;xi)′.(1)
ไม่มีอะไรที่จะช่วยได้นอกจากการหาเมทริกซ์กลางผกผัน - แต่โดยอาศัยผลลัพธ์หลักแรกมันง่ายโดยเฉพาะอย่างยิ่งเมื่อเราเขียนมันในรูปแบบบล็อกเมทริกซ์:
X′X=n(100′C)
โดยที่และ0=(0,0,…,0)′
Cjk=1n∑i=1nxijxik=n−1nCov(xj,xk)=n−1nΣjk.
(ฉันได้เขียนสำหรับเมทริกซ์ความแปรปรวนร่วมตัวอย่างของ regressors) เนื่องจากนี่คือบล็อกแนวทแยงมุม, การผกผันของมันสามารถพบได้ง่ายๆโดยการสลับบล็อก:Σ
(X′X)−1=1n(100′C−1)=(1n00′1n−1Σ−1).
จากคำจำกัดความเราได้รับ(1)
hi=(1;xi)(1n00′1n−1Σ−1)(1;xi)′=1n+1n−1xiΣ−1x′i=1n+1n−1D2(xi,0).
แก้สำหรับยืดยาว MahalanobisอัตราผลตอบแทนD2i=D2(xi,0)
D2i=(n−1)(hi−1n),
QED
มองย้อนกลับไปเราอาจติดตามระยะสารเติมแต่งกับการปรากฏตัวของการสกัดกั้นที่นำคอลัมน์ของคนที่เข้ามาในรูปแบบเมทริกซ์Xคำพหุคูณปรากฏขึ้นหลังจากสมมติว่าระยะทาง Mahalanobis จะถูกคำนวณโดยใช้การประมาณความแปรปรวนร่วมตัวอย่าง (ซึ่งหารผลบวกของกำลังสองและผลิตภัณฑ์ด้วย ) แทนที่จะเป็นเมทริกซ์ความแปรปรวนร่วมของข้อมูล (ซึ่งหารผลรวมของกำลังสองและ ผลิตภัณฑ์โดย )1/nXn−1n - 1 nn−1n
ค่านิยมหลักของการวิเคราะห์นี้คือการให้การตีความทางเรขาคณิตแก่เลเวอเรจซึ่งวัดการเปลี่ยนแปลงของการตอบสนองต่อการสังเกตที่จะเปลี่ยนค่าที่เหมาะสมในการสังเกตการณ์นั้น: การสำรวจด้วยเรเวอเรจสูงนั้น ของ regressors เหมือนกับคันโยกที่มีประสิทธิภาพเชิงกลไกทำงานในระยะทางไกลจากจุดศูนย์กลางi
รหัส R เพื่อแสดงให้เห็นว่าความสัมพันธ์ถือ:
x <- mtcars
# Compute Mahalanobis distances
h <- hat(x, intercept = TRUE); names(h) <- rownames(mtcars)
M <- mahalanobis(x, colMeans(x), cov(x))
# Compute D^2 of the question
n <- nrow(x); D2 <- (n-1)*(h - 1/n)
# Compare.
all.equal(M, D2) # TRUE
print(signif(cbind(M, D2), 3))