1
$\begingroup$

Here I have linear regression output from which I need to figure out:

Which one of nids$hhincome (household income, numeric) and nids$education (years of education completed) explains the nids$satisfaction (satisfaction level from 1 to 10) better?

Call:
lm(formula = nids$satisfaction ~ nids$male + +nids$race + nids$age + 
    nids$education + nids$hsgrad + nids$hhincome)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.5677 -1.5126 -0.1623  1.5205  5.5700 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)    3.699915   0.099986  37.004  < 2e-16 ***
nids$male      0.120785   0.043577   2.772  0.00558 ** 
    nids$race      0.575440   0.030453  18.896  < 2e-16 ***
nids$age       0.005232   0.001606   3.257  0.00113 ** 
    nids$education 0.070192   0.007354   9.545  < 2e-16 ***
nids$hsgrad    0.095457   0.063139   1.512  0.13060    
    nids$hhincome  0.020858   0.002997   6.960 3.57e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.333 on 12013 degrees of freedom
Multiple R-squared:  0.09417,   Adjusted R-squared:  0.09372 
F-statistic: 208.1 on 6 and 12013 DF,  p-value: < 2.2e-16

How can I decide it? Which coefficients can I use?

UPD:

Here I put the linear regression results for the same variables but I put factor variables properly and then:

lm(formula = nids$satisfaction ~ as.factor(nids$male) + as.factor(nids$race) + 
        nids$age + nids$education + as.factor(nids$hsgrad) + nids$hhincome)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.1368 -1.5350 -0.0871  1.4807  5.7795 

Coefficients:
                        Estimate Std. Error t value Pr(>|t|)    
(Intercept)             4.013085   0.101924  39.374  < 2e-16 ***
as.factor(nids$male)1   0.123450   0.043045   2.868  0.00414 ** 
    as.factor(nids$race)2   1.469537   0.059708  24.612  < 2e-16 ***
as.factor(nids$race)3   0.957112   0.168102   5.694 1.27e-08 ***
    as.factor(nids$race)4   1.093503   0.099833  10.953  < 2e-16 ***
nids$age                0.007036   0.001591   4.423 9.82e-06 ***
    nids$education          0.076461   0.007275  10.511  < 2e-16 ***
as.factor(nids$hsgrad)1 0.183000   0.062583   2.924  0.00346 ** 
    nids$hhincome           0.026761   0.002981   8.978  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.304 on 12011 degrees of freedom
Multiple R-squared:  0.1163,    Adjusted R-squared:  0.1158 
F-statistic: 197.7 on 8 and 12011 DF,  p-value: < 2.2e-16

Thanks.

$\endgroup$
  • $\begingroup$ I'd suggest to use two different models and compare them. One only with hhincome, the other one only with education. $\endgroup$ – tho_mi Dec 12 '15 at 17:13
  • 3
    $\begingroup$ I am wondering what you mean, precisely, by "explains" and "better." Could you be more specific about these? Depending on your meaning, it is likely we would need to know how the variables are measured and what their typical values in the dataset are. For instance, if "better" means "is associated with a greater range of satisfaction" then the coefficient estimate alone is not enough for an answer. $\endgroup$ – whuber Dec 12 '15 at 17:22
  • 4
    $\begingroup$ I think you will find many people strongly disagree with what @tho_mi is suggesting, because the p-value is not usually considered a measure of "explanatory power." It merely measures whether you can detect an association. See, for instance, the thread at stats.stackexchange.com/questions/47594 (found by searching this site for compare p-value regression). $\endgroup$ – whuber Dec 12 '15 at 17:48
  • 1
    $\begingroup$ @whuber, to be honest I'm not really sure what he wants, hence my 'guessing'. I'm still not sure why he wants to just use one of the two variables, since both coefficients are highly significant. $\endgroup$ – tho_mi Dec 12 '15 at 17:52
  • 3
    $\begingroup$ In addition to other questions, it's not obvious that linear regression is the best way to deal with a satisfaction score from 1 to 10. Ordinal logit might be a better place to start. $\endgroup$ – Nick Cox Dec 16 '15 at 19:48
2
$\begingroup$

I interpret the part of your question, which asks for "explains better" to relate to the explained variance of a predictor in linear regression. As @toneloy already explained you can find the explained variance for your model in the output under "Multiple R-squared". The value for your updated model is 0.1163, so the variables in your model explain ~12% of the variance of nids$satisfaction. If this is a high value or not depends on the field you are working in.

But since you are asking about a comparison of the two predictors, one way to do that is to compare the explained variance of two models, with one containing nids$hhincome as a predictor and the other model containing nids$education as a predictor. Since you are controlling for the other variables "male", "race", "age" and "hsgrad" in your model, I would keep them in the model formula and compare the value for Multiple R-squared for the two models:

mod1 <- lm(satisfaction ~ as.factor(male) + as.factor(race) + 
             age + as.factor(hsgrad) + hhincome, data = nids)
mod2 <- lm(satisfaction ~ as.factor(male) + as.factor(race) + 
             age + as.factor(hsgrad) + education, data = nids)
$\endgroup$
0
$\begingroup$

In fact, none of them are really explaining nids$satisfaction very well, and this is evident with the Multiple R-squared of 0.09417. The model is explaining less than 10% of the variability of nids$satisfaction. Probably, you are having very low p-values in the individual tests just because of the big sample size, wich means that the power of the tests will be high.

Nonetheless, one way of measuring the importance of a variable in a multiple linear regression is with the absolute value of the t value. For more information, check the varImp function documentation from the caret package here

$\endgroup$
  • $\begingroup$ your first para is O.k. But your 2nd and 3rd para is incorrect. $\endgroup$ – Subhash C. Davar Feb 23 '18 at 16:58

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