7
$\begingroup$

I have the following model and want to make a table with the interpretation of the interaction effects as suggested by Bambor and Clark in this paper. However, I have no idea on how to calculate the $cov(\hat{\beta_1}, \hat{\beta_5})$ in the formula.

The model:

reg <- lm( log(Y) ~ as.factor(X1) +  as.factor(X2) + log(as.numeric(X3)) + log(as.numeric(X4)) + as.factor(X1)*as.factor(X2), data=DB) 

The results:

Residuals:
   Min      1Q  Median      3Q     Max 
 -5.1091 -0.3036  0.0294  0.3396  3.6537 

Coefficients:
                                                Estimate Std. Error t value Pr(>|t|)    
(Intercept)                                     -0.08848    0.09523  -0.929   0.3531    
as.factor(X1)1                                  -0.12795    0.06227  -2.055   0.0402 *  
as.factor(X2)1                                   0.05666    0.06694   0.846   0.3976    
log(as.numeric(X3))                              0.03602    0.02121   1.699   0.0898 .  
log(as.numeric(X4))                              0.97546    0.02671  36.514   <2e-16 ***
as.factor(X1)1:as.factor(X2)1                    0.10733    0.11790   0.910   0.3629    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.6729 on 795 degrees of freedom
Multiple R-squared: 0.9161, Adjusted R-squared: 0.9155 
F-statistic:  1735 on 5 and 795 DF,  p-value: < 2.2e-16

The formula:

$\sqrt{var(\hat{\beta_1}) + var(\hat{\beta_5}) + 2cov(\hat{\beta_1}\hat{\beta_5})}$

$\endgroup$
7
  • 1
    $\begingroup$ Ah, sorry, didn't fully answer your question. $cov(\hat{\beta}_1,\hat{\beta}_2)$ would be the entry in the matrix with column name, in your case, as.factor(X1)1 row name as.factor(X2)1, assuming what you wished to find the covariance for were the coefficients with values -0.12795 and 0.05666, and similarly for the other covariances. $\endgroup$
    – jbowman
    Commented Jul 28, 2012 at 15:14
  • $\begingroup$ Thanks @jbowman, I think now I understand! I must use 0.00340945299? Ok?I just added the covariance matrix to the question. $\endgroup$ Commented Jul 28, 2012 at 15:31
  • $\begingroup$ Yes, you have got it! $\endgroup$
    – jbowman
    Commented Jul 28, 2012 at 15:32
  • $\begingroup$ @jbowman, why don't you convert your comments into an answer (since that's what they are)? Then the OP can accept it, & I can upvote it. $\endgroup$ Commented Jul 28, 2012 at 16:21
  • 1
    $\begingroup$ I also edited the question to avoid confusion. Thanks @jbowman. $\endgroup$ Commented Jul 28, 2012 at 17:57

1 Answer 1

6
$\begingroup$

You will need a little more information than summary(reg) provides, namely, the covariance matrix of the estimates. vcov(reg) will give that to you:

x1 <- rnorm(100)
x2 <- 0.7*rnorm(100) + 0.7*x1
y <- x1 + x2 + rnorm(100)

reg <- lm(y~x1+x2)
vcov(reg)
             (Intercept)           x1           x2
(Intercept)  0.009780556 -0.002229766  0.001652152
x1          -0.002229766  0.016996594 -0.012423096
x2           0.001652152 -0.012423096  0.018662900

The covariance between the coefficient of x1 and x2 is in the cell with row label x1 and column label x2 (or vice versa), and the variance terms are on the diagonal.

The difference between vcov(reg) and summary(reg)$cov is that the latter is not scaled by $\hat{\sigma}^2$.

$\endgroup$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.