Y=β0+β1X+εwhere ε∼N(0,σ2ε)
β0+β1Xσ2ε
σ2εXYεβ0, β1, σ2ε)Xσ2ε
Y=β0+β1X+εwhere ε∼N(0,f(X)) where f(X)=exp(γ0+γ1X)and γ1≠0
Xf(X) X
X. อย่างไรก็ตามฉันมักจะคิดว่าการดูแปลงนั้นดีที่สุด @Penquin_Knight ทำงานได้ดีมากในการแสดงว่าค่าความแปรปรวนคงที่เป็นอย่างไรโดยการพล็อตส่วนที่เหลือของแบบจำลองที่ homoscedasticity มีค่าเทียบกับค่าติดตั้ง Heteroscedasticity สามารถตรวจพบในพล็อตของข้อมูลดิบหรือในสเกลที่ตั้ง (หรือเรียกอีกอย่างว่าสเปรดระดับ) R สะดวกในการแปลงหลังให้คุณด้วยการโทรถึงplot.lm(model, which=2)
; มันคือสแควร์รูทของค่าสัมบูรณ์ของเศษเหลือเทียบกับค่าติดตั้งพร้อมกับเส้นโค้งlowess ที่ซ้อนทับอย่างเป็นประโยชน์ คุณต้องการให้ lowess พอดีที่จะไม่แบน
พิจารณาแปลงด้านล่างซึ่งเปรียบเทียบว่าข้อมูล homoscedastic กับ heteroscedastic อาจมีลักษณะอย่างไรในตัวเลขทั้งสามประเภทที่แตกต่างกัน สังเกตรูปร่างของช่องทางสำหรับแปลง heteroscedastic สองแปลงด้านบนและเส้นที่มีลักษณะลาดเอียงขึ้นด้านล่างในช่วงสุดท้าย
เพื่อความสมบูรณ์นี่คือรหัสที่ฉันใช้ในการสร้างข้อมูลเหล่านี้:
set.seed(5)
N = 500
b0 = 3
b1 = 0.4
s2 = 5
g1 = 1.5
g2 = 0.015
x = runif(N, min=0, max=100)
y_homo = b0 + b1*x + rnorm(N, mean=0, sd=sqrt(s2 ))
y_hetero = b0 + b1*x + rnorm(N, mean=0, sd=sqrt(exp(g1 + g2*x)))
mod.homo = lm(y_homo~x)
mod.hetero = lm(y_hetero~x)