作者shyfang (氣到快中風的TA)
看板NCTU-STAT94G
標題大師說…
時間Fri Nov 10 21:10:35 2006
可以參考大師的網頁
http://stat.sinica.edu.tw/~swcheng/course/stat5040/index.html
p.4-13
x initial pressure
f substance
y decrease in pressure
主要是predictors共線性和anova函數處理的問題
> cor(x,f)
[1] -0.1569098
如果是orthogonal 就沒有共線的問題
他們有一點點關連,所以在fit的時候,互相幫忙解釋一點
當某一個消失的時,sum sq.就會不同
> anova(lm(y~f+x))
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
f 1 245.00 245.00 4.0393 0.0605980 .
x 1 1490.08 1490.08 24.5668 0.0001200 ***
Residuals 17 1031.12 60.65
> anova(lm(y~x+f))
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
x 1 1272.16 1272.16 20.9740 0.0002663 ***
f 1 462.92 462.92 7.6321 0.0133108 *
Residuals 17 1031.12 60.65
x 和 f 解釋的總合是一樣的 245+1490.8=1272.16+462.92=1735.08
當然不管是上面那一個RSS(不用能x f解釋的部分)是一樣的
anova的算法是從我們給的大model下另找一個小model的 sum sq.
RSS(I)-RSS(II)-->另一個predictor的sum sq.
anova會"依序"來決定那一個要先消失
所以,fit的時候沒有差別,但是做anova的時候會有差
(和factor 或continue沒有關係)
lm_y1=lm(y~x+f)
lm_y2=lm(y~f)
lm_y3=lm(y~x)
其實anova的工作是這樣的
他再找一個更小的model
那個小model(就是y~x)來和這個model來比較
所以當順序改變的時候
小model就變成了y~f
我們希望的anova是這樣做:
> anova(lm_y3,lm_y1)
Analysis of Variance Table
Model 1: y ~ x
Model 2: y ~ x + f
Res.Df RSS Df Sum of Sq F Pr(>F)
1 18 1494.04
2 17 1031.12 1
462.92 7.6321 0.01331 *
紅色部分是我們想要的Sum Sq of f
下面的不是我們想要的sum Sq of x
> anova(lm_y2,lm_y1)
Analysis of Variance Table
Model 1: y ~ f
Model 2: y ~ x + f
Res.Df RSS Df Sum of Sq F Pr(>F)
1 18 2521.2
2 17 1031.1 1
1490.1 24.567 0.0001200 ***
從1490.1來算f的話就會不對了
因為我們要的小model 是lm_y3而不是lm_y2
根據大師的解釋大概就是這樣了…
希望你們看得懂
不然就找水果小姐來翻譯一下了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.188.116
1F:→ shyfang:誰會想到那兩個有共線性啊! 11/10 23:44
2F:推 newwmei:挖~講解的好清楚壓~謝謝雪芳^^Y 11/11 10:58