Hi all, I met with a problem about the weighted least square regression. 1. I simulated a Normal vector (sim1) with mean 425906 and standard deviation 40000. 2. I simulated a second Normal vector with conditional mean b1*sim1, where b1 is just a number I specified, and variance proportional to sim1. Precisely, the standard deviation is sqrt(sim1)*50. 3. Then I run a WLS regression without the intercept term with "weights" equal to sqrt(sim1)*50. I wonder whether I should specify the weights in this way so that each observation will have equal variance 1. 4. If step 3 is correct, it should yield the same result if I normalize the response and the predictor first with sqrt(sim1)*50, and then use the "lm" function without "weights". But the two methods yield different results. Would someone tell me which one is the correct way to do? Thanks in advance, and the code and output are as follows:
> b1=474186/425906 > n=240 > sim1=rnorm(n,425906,40000) > sim2=matrix(0,n,1) > for (i in 1:(n)){ + sim2[i]=rnorm(1,sim1[i]*b1,sqrt(sim1[i])*50) + } > fit1=lm(sim2~-1+sim1,weights=sqrt(sim1)*50) > coef(fit1) sim1 1.116028 > y=sim2/(sqrt(sim1)*50) > x=sim1/(sqrt(sim1)*50) > fit2=lm(y~-1+x) > coef(fit2) x 1.116273 Sincerely, Yanwei Zhang Department of Actuarial Research and Modeling Munich Re America Tel: 609-275-2176 Email: [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.