require(ISLR)
Loading required package: ISLR
require(boot)
Loading required package: boot
![](data:image/png;base64,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)
## LOOCV
glm.fit=glm(mpg~horsepower, data=Auto)
cv.glm(Auto,glm.fit)$delta #pretty slow (doesnt use formula (5.2) on page 180)
[1] 24.23151 24.23114
We can do LOOCV without actually performing the model
##Lets write a simple function to use formula (5.2)
loocv=function(fit){
h=lm.influence(fit)$h
mean((residuals(fit)/(1-h))^2)
}
## Now we try it out
loocv(glm.fit)
[1] 24.23151
Fitting polynomials 1 to 5 on the data
cv.error=rep(0,5)
degree=1:5
for(d in degree){
glm.fit=glm(mpg~poly(horsepower,d), data=Auto)
cv.error[d]=loocv(glm.fit)
}
plot(degree,cv.error,type="b")
![](data:image/png;base64,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)
10 - fold cross validation
![](data:image/png;base64,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)
Bootstrap
Minimum risk investment - Section 5.2
alpha=function(x,y){
vx=var(x)
vy=var(y)
cxy=cov(x,y)
(vy-cxy)/(vx+vy-2*cxy)
}
alpha(Portfolio$X,Portfolio$Y)
[1] 0.5758321
## What is the standard error of alpha?
alpha.fn=function(data, index){
with(data[index,],alpha(X,Y))
}
alpha.fn(Portfolio,1:100)
[1] 0.5758321
Bootstrap resampling
boot.out
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = Portfolio, statistic = alpha.fn, R = 1000)
Bootstrap Statistics :
original bias std. error
t1* 0.5758321 -0.001695873 0.09366347
boot.out
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = Portfolio, statistic = alpha.fn, R = 1000)
Bootstrap Statistics :
original bias std. error
t1* 0.5758321 -0.001695873 0.09366347
plot(boot.out)
![](data:image/png;base64,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)
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCmBgYHtyfQ0KcmVxdWlyZShJU0xSKQ0KcmVxdWlyZShib290KQ0KYGBgYA0KDQoNCg0KDQpgYGB7cn0NCnBsb3QobXBnfmhvcnNlcG93ZXIsZGF0YT1BdXRvKQ0KYGBgDQoNCg0KYGBge3J9DQojIyBMT09DVg0KZ2xtLmZpdD1nbG0obXBnfmhvcnNlcG93ZXIsIGRhdGE9QXV0bykNCg0KI0RlbHRhIGlzIGNyb3NzLXZhbGlkYXRlZCBwcmVkaWN0aW9uIGVycm9yDQojMXN0IG51bWJlciBpcyB0aGUgcmF3IENyb3NzIHZhbGlkYXRlZCBlcnJvcg0KIzJuZCBudW1iZXIgaXMgYmlhcyBjb3JyZWN0ZWQgYmVjYXVzZSB0aGUgZGF0YSBpcyBzbWFsbGVyIHRoYW4gdGhlIGFjdHVhbCBkYXRhDQpjdi5nbG0oQXV0byxnbG0uZml0KSRkZWx0YSAjcHJldHR5IHNsb3cgKGRvZXNudCB1c2UgZm9ybXVsYSAoNS4yKSBvbiBwYWdlIDE4MCkNCmBgYA0KDQoNCldlIGNhbiBkbyBMT09DViB3aXRob3V0IGFjdHVhbGx5IHBlcmZvcm1pbmcgdGhlIG1vZGVsDQpgYGB7cn0NCiMjTGV0cyB3cml0ZSBhIHNpbXBsZSBmdW5jdGlvbiB0byB1c2UgZm9ybXVsYSAoNS4yKQ0KbG9vY3Y9ZnVuY3Rpb24oZml0KXsNCiAgaD1sbS5pbmZsdWVuY2UoZml0KSRoDQogIG1lYW4oKHJlc2lkdWFscyhmaXQpLygxLWgpKV4yKQ0KfQ0KDQojIyBOb3cgd2UgdHJ5IGl0IG91dC4gVGhpcyBnaXZlcyB0aGUgc2FtZSBhcyB0aGUgZmlyc3QgZXJyb3IgZnJvbSBjdi5nbG0oKSRkZWx0YSBhYm92ZQ0KbG9vY3YoZ2xtLmZpdCkNCg0KYGBgDQoNCkZpdHRpbmcgcG9seW5vbWlhbHMgMSB0byA1IG9uIHRoZSBkYXRhDQoNCmBgYHtyfQ0KY3YuZXJyb3I9cmVwKDAsNSkNCmRlZ3JlZT0xOjUNCmZvcihkIGluIGRlZ3JlZSl7DQogIGdsbS5maXQ9Z2xtKG1wZ35wb2x5KGhvcnNlcG93ZXIsZCksIGRhdGE9QXV0bykNCiAgY3YuZXJyb3JbZF09bG9vY3YoZ2xtLmZpdCkNCn0NCnBsb3QoZGVncmVlLGN2LmVycm9yLHR5cGU9ImIiKQ0KDQpgYGANCg0KDQoxMCAtIGZvbGQgY3Jvc3MgdmFsaWRhdGlvbg0KDQpgYGB7cn0NCiMjIDEwLWZvbGQgQ1YNCg0KY3YuZXJyb3IxMD1yZXAoMCw1KQ0KZm9yKGQgaW4gZGVncmVlKXsNCiAgZ2xtLmZpdD1nbG0obXBnfnBvbHkoaG9yc2Vwb3dlcixkKSwgZGF0YT1BdXRvKQ0KICBjdi5lcnJvcjEwW2RdPWN2LmdsbShBdXRvLGdsbS5maXQsSz0xMCkkZGVsdGFbMV0NCn0NCg0KcGxvdChkZWdyZWUsY3YuZXJyb3IsdHlwZT0iYiIpICNGcm9tIExPT0NWDQpsaW5lcyhkZWdyZWUsY3YuZXJyb3IxMCx0eXBlPSJiIixjb2w9InJlZCIpDQoNCmBgYA0KDQoNCg0KIyMgQm9vdHN0cmFwDQojIyBNaW5pbXVtIHJpc2sgaW52ZXN0bWVudCAtIFNlY3Rpb24gNS4yDQoNCg0KYGBge3J9DQphbHBoYT1mdW5jdGlvbih4LHkpew0KICB2eD12YXIoeCkNCiAgdnk9dmFyKHkpDQogIGN4eT1jb3YoeCx5KQ0KICAodnktY3h5KS8odngrdnktMipjeHkpDQp9DQphbHBoYShQb3J0Zm9saW8kWCxQb3J0Zm9saW8kWSkNCg0KYGBgDQoNCg0KDQpgYGB7cn0NCiMjIFdoYXQgaXMgdGhlIHN0YW5kYXJkIGVycm9yIG9mIGFscGhhPw0KDQphbHBoYS5mbj1mdW5jdGlvbihkYXRhLCBpbmRleCl7DQogIHdpdGgoZGF0YVtpbmRleCxdLGFscGhhKFgsWSkpDQp9DQoNCmFscGhhLmZuKFBvcnRmb2xpbywxOjEwMCkNCg0KYGBgDQoNCkJvb3RzdHJhcCByZXNhbXBsaW5nDQpgYGB7cn0NCnNldC5zZWVkKDEpDQphbHBoYS5mbiAoUG9ydGZvbGlvLHNhbXBsZSgxOjEwMCwxMDAscmVwbGFjZT1UUlVFKSkNCmJvb3Qub3V0PWJvb3QoUG9ydGZvbGlvLGFscGhhLmZuLFI9MTAwMCkNCg0KYGBgDQoNCg0KYGBge3J9DQpib290Lm91dA0KcGxvdChib290Lm91dCkNCmBgYA0K