# # Written by: # -- # John L. Weatherwax 2009-04-21 # # email: wax@alum.mit.edu # # Please send comments and especially bug reports to the # above email address. # #----- # Ex 13.55 (EPage 560/Anwser EPage 707): # DF = read.csv( "../../Data/CH13/ex13-55.txt", header=TRUE, quote="'" ) # transform our variables to the model we can estimate with least squares: DF$lq = log(DF$q) DF$la = log(DF$a) DF$lb = log(DF$b) m = lm( lq ~ la + lb, data = DF ) exp(coefficients(m)[1]) # the coefficients in the space of interest log_q = predict( m, newdata=data.frame( la=log(10), lb=log(0.01) ) ) q = exp(log_q) ci = c(0.217,1.755) exp(ci) # Ex 13.56 (EPage 560/Anwser EPage 707): # n = 20 k = 5 R2 = 0.769 numer = R2/k denom = (1-R2)/(n-(k+1)) f = numer / denom 1 - pf( f, k, n-(k+1) ) R2_dropping_x2 = R2 R2_adj_orig = ( (n-1) * R2 - k ) / ( n - (k+1) ) R2_adj_dropping_x2 = ( (n-1) * R2_dropping_x2 - (k-1) ) / ( n - ((k-1)+1) ) # note "k" is decremented by one since we have one less predictor SST = .0196610 R2_x1_x2_x4_deleted = .654; l = k-3 SSE_k = (1-R2) * SST # the larger model SSE_l = (1-R2_x1_x2_x4_deleted) * SST # the smaller model numer = ( SSE_l - SSE_k ) / ( k - l ) denom = SSE_k / ( n - (k+1) ) f = numer / denom 1 - pf( f, k-l, n-(k+1) ) y_hat_fn = function(x3prime,x5prime) { 0.5255 - 0.0236 * x3prime + .0097 * x5prime } y_hat = y_hat_fn( (50-52.54)/5.4447, (90-89.195)/3.666 ) beta_3_hat = - 0.0236 beta_3_se = .0046 t_value = qt( 1-0.05/2, n-(2+1) ) ci = beta_3_hat + c(-1,+1) * beta_3_se * t_value - 0.0236 / 5.4447 0.0046 / 5.4447 y_hat = y_hat_fn( (50.5-52.54)/5.4447, (88.9-89.195)/3.666 ) y_hat_se = 0.00482 s = 0.02001 t_value = qt( 1-0.05/2, n-(2+1) ) pi = y_hat + c(-1,+1) * t_value * sqrt( s^2 + y_hat_se^2 ) # Ex 13.57 (EPage 560/Anwser EPage 707): # n = 13 SST = 2715.76 SSE = c(880.85,58.01,49.20,47.86) MSE_k = SSE / (n-(1:4)-1) plot( 1:4, MSE_k ) # Ex 13.62 (EPage 562/Anwser EPage 707): # n = 19 k = 3 2*(k+1)/n # Ex 13.64 (EPage 562/Anwser EPage 707): # DF = read.csv( "../../Data/CH13/ex13-55.txt", header=TRUE, quote="'" ) n = length(DF$q) k = 2 2*(k+1)/n # deleting observation 2 beta_orig = c(1.5652,0.9450,0.1815) beta_se = c(0.7328,0.1528,0.1752) beta_now = c(1.8982,1.025,0.3085) ( beta_now - beta_orig ) / beta_se # deleting observation 4 beta_now = c(1.4592,.9850,.1515) ( beta_now - beta_orig ) / beta_se