# Purpose: to show weighted least squares # http://stat.cmu.edu/~cshalizi/350/lectures/18/lecture-18.pdf n = 100 x = rnorm(n,0,3) y = 3-2*x + rnorm(n,0,sapply(x,function(x){1+0.5*x^2})) plot(x,y) abline(a=3,b=-2,col='red') fit.ols = lm(y~x) abline(fit.ols$coefficients,lty=1, col='grey') fit.wls = lm(y~x, weights=1/(1+0.5*x^2)) abline(fit.wls$coefficients,lty=1, col='black') summary(fit.ols) summary(fit.wls)