Dataframe Setup

df = read.csv("HSV_Final.csv")
df <- subset(df, select = -c(X, WAIST_SIZE, MISSING_WAIST_SIZE))

# Nonzero WWH
df_nonzero <- subset(df, df$WEEKLY_WORK_HOURS > 0)
df_any <- df
df_any$ZERO_WWH <- ifelse(df_any$WEEKLY_WORK_HOURS > 0, 1, 0)
df_any <- subset(df_any, select = -WEEKLY_WORK_HOURS)

# Log dependent
df_logged <- df_nonzero
df_logged$LOG_WWH <- log(df_logged$WEEKLY_WORK_HOURS)
df_logged <- subset(df_logged, select = -WEEKLY_WORK_HOURS)

# Transformed
df_transformed <- df
df_transformed$HOSPITAL_EXPENSES <- log(I(df_transformed$HOSPITAL_EXPENSES + 1))
df_transformed$DEBTS <- log(I(df_transformed$DEBTS + 1))
df_transformed$HOME_VALUE <- log(I(df_transformed$HOME_VALUE + 1))

Histograms

fit.normal <- fitdistr(df_nonzero$WEEKLY_WORK_HOURS, "normal")
class(fit.normal)
## [1] "fitdistr"
para.normal <- fit.normal$estimate
hist(df_nonzero$WEEKLY_WORK_HOURS,
     main="Weekly Work Hours - Normal Fit",
     xlab="Weekly Work Hours",
     col="darkblue",
     freq=FALSE,
     prob = TRUE)
curve(dnorm(x, para.normal[1], para.normal[2]), col = 2, add = TRUE)

fit.normal <- fitdistr(df_nonzero$AGE, "normal")
class(fit.normal)
## [1] "fitdistr"
para.normal <- fit.normal$estimate
hist(df_nonzero$AGE,
     main="Age - Normal Fit",
     xlab="Years of Age",
     col="orange",
     freq=FALSE,
     prob = TRUE)
curve(dnorm(x, para.normal[1], para.normal[2]), col = 2, add = TRUE)

fit.normal <- fitdistr(df_nonzero$WEEKS_PAID_VACATION, "normal")
class(fit.normal)
## [1] "fitdistr"
para.normal <- fit.normal$estimate
hist(df_nonzero$WEEKS_PAID_VACATION,
     main="Weeks of Paid Vacation - Normal Fit",
     xlab="Weeks",
     col="brown",
     freq=FALSE,
     prob = TRUE)
curve(dnorm(x, para.normal[1], para.normal[2]), col = 2, add = TRUE)

fit.normal <- fitdistr(df_nonzero$YEARS_EDUCATED, "normal")
class(fit.normal)
## [1] "fitdistr"
para.normal <- fit.normal$estimate
hist(df_nonzero$YEARS_EDUCATED,
     main="Highest Education - Normal Fit",
     xlab="Years of Education",
     col="blue",
     freq=FALSE,
     prob = TRUE)
curve(dnorm(x, para.normal[1], para.normal[2]), col = 2, add = TRUE)

hist(df_nonzero$HOSPITAL_EXPENSES,
     main="Hospital Expenses - Mass at 0, Skewed Right",
     xlab="Total Expenses Units: thousands of dollars",
     col="darkmagenta",
     freq=FALSE,
     prob = TRUE)

hist(df_nonzero$HOME_VALUE,
     main="Primary Home Value - Mass at 0, Skewed Right",
     xlab="Home Value Units: thousands of dollars",
     col="darkgreen",
     freq=FALSE,
     prob = TRUE)

hist(df_nonzero$DEBTS,
     main="Debts Owed - Mass at 0, Skewed Right",
     xlab="Debts Owed Units: thousands of dollars",
     col="darkred",
     freq=FALSE,
     prob = TRUE)

fit.normal <- fitdistr(df_transformed$HOSPITAL_EXPENSES, "normal")
class(fit.normal)
## [1] "fitdistr"
para.normal <- fit.normal$estimate
hist(df_transformed$HOSPITAL_EXPENSES,
     main="Hospital Expenses: Transformed - More Normal",
     xlab="ln(Total Expenses + 1) Units: thousands of dollars",
     col="darkmagenta",
     freq=FALSE,
     prob = TRUE)
curve(dnorm(x, para.normal[1], para.normal[2]), col = 2, add = TRUE)

fit.normal <- fitdistr(df_transformed$HOME_VALUE, "normal")
class(fit.normal)
## [1] "fitdistr"
para.normal <- fit.normal$estimate
hist(df_transformed$HOME_VALUE,
     main="Primary Home Value: Transformed - More Normal",
     xlab="ln(Home Value + 1) Units: thousands of dollars",
     col="darkgreen",
     freq=FALSE,
     prob = TRUE)
curve(dnorm(x, para.normal[1], para.normal[2]), col = 2, add = TRUE)

fit.normal <- fitdistr(df_transformed$DEBTS, "normal")
class(fit.normal)
## [1] "fitdistr"
para.normal <- fit.normal$estimate
hist(df_transformed$DEBTS,
     main="Debts Owed: Transformed - More Normal",
     xlab="ln(Debts Owed + 1) Units: thousands of dollars",
     col="darkred",
     freq=FALSE,
     prob = TRUE)
curve(dnorm(x, para.normal[1], para.normal[2]), col = 2, add = TRUE)

OLS and Stepwise

OLS is just as good, very little change in AIC

lm.model <- lm(WEEKLY_WORK_HOURS ~ ., data = df)
lm.step.both <- stepAIC(lm.model, direction = "both", trace = FALSE)
summary(lm.model)
## 
## Call:
## lm(formula = WEEKLY_WORK_HOURS ~ ., data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -39.476  -5.405  -0.553   4.866  68.511 
## 
## Coefficients: (1 not defined because of singularities)
##                                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                     4.447e+01  2.287e+00  19.440  < 2e-16 ***
## AGE                            -1.955e-01  3.388e-02  -5.770 8.36e-09 ***
## HEART_CONDITION                 1.583e-01  4.736e-01   0.334 0.738231    
## ANY_DEPENDENTS                  8.008e-02  3.990e-01   0.201 0.840940    
## WORKING_SPOUSE                 -1.334e-01  3.542e-01  -0.377 0.706379    
## WEEKS_PAID_VACATION             8.100e-01  8.127e-02   9.967  < 2e-16 ***
## REDUCE_PAID_WORK_HOURS         -9.218e-01  3.664e-01  -2.516 0.011900 *  
## MEDICARE                       -9.265e-01  5.626e-01  -1.647 0.099660 .  
## MEDICAID                       -3.827e+00  5.526e-01  -6.925 4.86e-12 ***
## HOSPITAL_EXPENSES               3.241e-01  1.278e-01   2.535 0.011262 *  
## RETIRED                        -1.313e+01  4.930e-01 -26.641  < 2e-16 ***
## VOLUNTEER                      -4.267e-01  3.208e-01  -1.330 0.183557    
## HOME_VALUE                     -2.004e-04  2.433e-04  -0.824 0.410151    
## MALE                            5.127e+00  3.115e-01  16.460  < 2e-16 ***
## YEARS_EDUCATED                  1.626e-02  5.679e-02   0.286 0.774622    
## WORK_LIMITING_CONDITION        -1.303e+00  4.881e-01  -2.670 0.007600 ** 
## DEBTS                           8.539e-04  7.340e-04   1.163 0.244747    
## MISSING_WEEKS_PAID_VACATION     2.152e+00  8.972e-01   2.399 0.016464 *  
## MISSING_REDUCE_PAID_WORK_HOURS -1.036e+00  9.129e-01  -1.135 0.256466    
## MISSING_HOME_VALUE             -2.012e-01  3.470e-01  -0.580 0.561962    
## MISSING_DEBTS                          NA         NA      NA       NA    
## ACTIVE_ONCE_WEEKLY              7.725e-01  4.275e-01   1.807 0.070812 .  
## ACTIVE_DAILY                    1.115e+00  4.848e-01   2.299 0.021533 *  
## NOT_ACTIVE                      1.311e+00  3.939e-01   3.328 0.000881 ***
## EXCELLENT_HEALTH                4.779e-01  5.319e-01   0.899 0.368898    
## VERY_GOOD_HEALTH               -5.240e-01  3.650e-01  -1.436 0.151184    
## FAIR_HEALTH                    -1.177e+00  4.796e-01  -2.454 0.014173 *  
## POOR_HEALTH                    -4.982e+00  1.116e+00  -4.465 8.19e-06 ***
## WORKING                         4.244e+00  6.186e-01   6.861 7.61e-12 ***
## REALLY_LIKE_WORKING             6.015e-01  3.473e-01   1.732 0.083372 .  
## DISLIKE_WORKING                 9.691e-03  5.567e-01   0.017 0.986111    
## REALLY_DISLIKE_WORKING          5.551e-01  1.128e+00   0.492 0.622557    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.11 on 5415 degrees of freedom
## Multiple R-squared:  0.3597, Adjusted R-squared:  0.3562 
## F-statistic: 101.4 on 30 and 5415 DF,  p-value: < 2.2e-16
# summary(lm.step.both)

GLM - Linear Entering Variables

probit.model <- glm(ZERO_WWH ~ ., 
                    family = binomial(link = "probit"), 
                    data = df_any)
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
logit.model <- glm(ZERO_WWH ~ ., 
                   family = "binomial", 
                   data = df_any)
## Warning: glm.fit: algorithm did not converge

## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
lm.nonzero <- lm(WEEKLY_WORK_HOURS ~ .,
                 data = df_nonzero)
log.nonzero <- lm(log(WEEKLY_WORK_HOURS) ~ .,
                  data = df_nonzero)
gamma.nonzero <- glm(WEEKLY_WORK_HOURS ~ .,
                     family = Gamma(link = "log"),
                     data = df_nonzero)
poisson.model <- glm(WEEKLY_WORK_HOURS ~ ., 
                     family = "poisson",
                     data = df)
poisson.nonzero <- glm(WEEKLY_WORK_HOURS ~ .,
                       family = "poisson",
                       data = df_nonzero)
nb2.model <- glm.nb(WEEKLY_WORK_HOURS ~ ., 
                    data = df)
nb2.nonzero <- glm.nb(WEEKLY_WORK_HOURS ~ .,
                      data = df_nonzero)

aic.probit <- AIC(probit.model)
aic.logit <- AIC(logit.model)
aic.lm.nonzero <- AIC(lm.nonzero)
aic.log.nonzero <- AIC(log.nonzero)
aic.gamma.nonzero <- AIC(gamma.nonzero)
aic.poisson.nonzero <- AIC(poisson.nonzero)
aic.nb2.nonzero <- AIC(nb2.nonzero)
aic.lm <- AIC(lm.model)
aic.lm.step <- AIC(lm.step.both)
aic.poisson <- AIC(poisson.model)
aic.nb2 <- AIC(nb2.model)

GLM - Non-Linear Entery

lm.interaction <- glm(WEEKLY_WORK_HOURS~ 1 + HOSPITAL_EXPENSES + MEDICAID + VOLUNTEER
                           + MALE + WORKING_SPOUSE:ANY_DEPENDENTS + WEEKS_PAID_VACATION:AGE
                           + WEEKS_PAID_VACATION:HEART_CONDITION + HOSPITAL_EXPENSES:AGE
                           + REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + MEDICARE:AGE 
                           + MEDICARE:HOSPITAL_EXPENSES + YEARS_EDUCATED+ HOME_VALUE
                           + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + MEDICAID:WORKING_SPOUSE
                           + MEDICAID:HOSPITAL_EXPENSES + MEDICAID:MEDICARE 
                           + RETIRED:HEART_CONDITION
                           + RETIRED:WEEKS_PAID_VACATION + RETIRED:MEDICAID
                           + VOLUNTEER:RETIRED + MALE:HEART_CONDITION
                           + MALE:WEEKS_PAID_VACATION + MALE:RETIRED
                           + YEARS_EDUCATED:AGE + YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS
                           + YEARS_EDUCATED:MEDICARE + YEARS_EDUCATED:RETIRED
                           + AGE + HEART_CONDITION + ANY_DEPENDENTS + WORK_LIMITING_CONDITION 
                           + DEBTS + MISSING_WEEKS_PAID_VACATION  
                           + MISSING_REDUCE_PAID_WORK_HOURS 
                           + MISSING_HOME_VALUE  + ACTIVE_ONCE_WEEKLY 
                           + ACTIVE_DAILY + NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING 
                           + DISLIKE_WORKING + REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH 
                           + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS,
                           family = gaussian(link = "identity"),
                           data = df_nonzero)
poisson.interaction <- glm(WEEKLY_WORK_HOURS~ 1 + HOSPITAL_EXPENSES + MEDICAID + VOLUNTEER
                           + MALE + WORKING_SPOUSE:ANY_DEPENDENTS + WEEKS_PAID_VACATION:AGE
                           + WEEKS_PAID_VACATION:HEART_CONDITION + HOSPITAL_EXPENSES:AGE
                           + REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + MEDICARE:AGE 
                           + MEDICARE:HOSPITAL_EXPENSES + YEARS_EDUCATED+ HOME_VALUE
                           + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + MEDICAID:WORKING_SPOUSE
                           + MEDICAID:HOSPITAL_EXPENSES + MEDICAID:MEDICARE 
                           + RETIRED:HEART_CONDITION
                           + RETIRED:WEEKS_PAID_VACATION + RETIRED:MEDICAID
                           + VOLUNTEER:RETIRED + MALE:HEART_CONDITION
                           + MALE:WEEKS_PAID_VACATION + MALE:RETIRED 
                           + YEARS_EDUCATED:AGE + YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS
                           + YEARS_EDUCATED:MEDICARE + YEARS_EDUCATED:RETIRED
                           + AGE + HEART_CONDITION + ANY_DEPENDENTS + WORK_LIMITING_CONDITION 
                           + DEBTS + MISSING_WEEKS_PAID_VACATION 
                           + MISSING_REDUCE_PAID_WORK_HOURS 
                           + MISSING_HOME_VALUE + ACTIVE_ONCE_WEEKLY 
                           + ACTIVE_DAILY + NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING 
                           + DISLIKE_WORKING + REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH 
                           + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS,
                           family = "poisson",
                           data = df_nonzero)
gamma.interaction <- glm(WEEKLY_WORK_HOURS~ 1 + HOSPITAL_EXPENSES + MEDICAID + VOLUNTEER
                           + MALE + WORKING_SPOUSE:ANY_DEPENDENTS + WEEKS_PAID_VACATION:AGE
                           + WEEKS_PAID_VACATION:HEART_CONDITION + HOSPITAL_EXPENSES:AGE
                           + REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + MEDICARE:AGE 
                           + MEDICARE:HOSPITAL_EXPENSES + YEARS_EDUCATED + HOME_VALUE
                           + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + MEDICAID:WORKING_SPOUSE
                           + MEDICAID:HOSPITAL_EXPENSES + MEDICAID:MEDICARE 
                           + RETIRED:HEART_CONDITION
                           + RETIRED:WEEKS_PAID_VACATION + RETIRED:MEDICAID
                           + VOLUNTEER:RETIRED + MALE:HEART_CONDITION 
                           + MALE:WEEKS_PAID_VACATION 
                           + YEARS_EDUCATED:AGE + YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS
                           + YEARS_EDUCATED:MEDICARE + YEARS_EDUCATED:RETIRED
                           + AGE + HEART_CONDITION + ANY_DEPENDENTS + WORK_LIMITING_CONDITION 
                           + DEBTS + MISSING_WEEKS_PAID_VACATION 
                           + MISSING_REDUCE_PAID_WORK_HOURS 
                           + MISSING_HOME_VALUE + ACTIVE_ONCE_WEEKLY 
                           + ACTIVE_DAILY + NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING 
                           + DISLIKE_WORKING + REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH 
                           + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS,
                           family = Gamma(link = "log"),
                           data = df_nonzero)
nb2.interaction <- glm.nb(WEEKLY_WORK_HOURS~ 1 + HOSPITAL_EXPENSES + MEDICAID + VOLUNTEER
                           + MALE + WORKING_SPOUSE:ANY_DEPENDENTS + WEEKS_PAID_VACATION:AGE
                           + WEEKS_PAID_VACATION:HEART_CONDITION + HOSPITAL_EXPENSES:AGE
                           + REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + MEDICARE:AGE 
                           + MEDICARE:HOSPITAL_EXPENSES + YEARS_EDUCATED + HOME_VALUE
                           + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + MEDICAID:WORKING_SPOUSE
                           + MEDICAID:HOSPITAL_EXPENSES + MEDICAID:MEDICARE 
                           + RETIRED:HEART_CONDITION
                           + RETIRED:WEEKS_PAID_VACATION + RETIRED:MEDICAID
                           + VOLUNTEER:RETIRED + MALE:HEART_CONDITION
                           + MALE:WEEKS_PAID_VACATION + MALE:RETIRED
                           + YEARS_EDUCATED:AGE + YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS
                           + YEARS_EDUCATED:MEDICARE + YEARS_EDUCATED:RETIRED
                           + AGE + HEART_CONDITION + ANY_DEPENDENTS + WORK_LIMITING_CONDITION 
                           + DEBTS + MISSING_WEEKS_PAID_VACATION 
                           + MISSING_REDUCE_PAID_WORK_HOURS 
                           + MISSING_HOME_VALUE + ACTIVE_ONCE_WEEKLY 
                           + ACTIVE_DAILY + NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING 
                           + DISLIKE_WORKING + REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH 
                           + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS,
                           data = df_nonzero)

plot(lm.interaction)

plot(poisson.interaction)

plot(gamma.interaction)

plot(nb2.interaction)

m_list_all_no_interaction <- list(OLS = lm.nonzero,
                                  Stepwise_OLS = lm.step.both,
                                  Poisson = poisson.nonzero,
                                  NB2 = nb2.nonzero,
                                  Gamma_Nonzero = gamma.nonzero,
                                  Log_Nonzero = log.nonzero)
cat("\nSummary of All Regression Non-interacted Results: ")
## 
## Summary of All Regression Non-interacted Results:
msummary(m_list_all_no_interaction)
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from a rank-deficient fit may be misleading

## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from a rank-deficient fit may be misleading

## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from a rank-deficient fit may be misleading
OLS Stepwise_OLS Poisson NB2 Gamma_Nonzero Log_Nonzero
(Intercept) 44.502 44.321 3.775 3.833 3.859 3.809
(2.284) (2.042) (0.035) (0.072) (0.074) (0.093)
AGE −0.196 −0.193 −0.006 −0.006 −0.007 −0.009
(0.034) (0.033) (0.0005) (0.001) (0.001) (0.001)
HEART_CONDITION 0.142 0.005 0.0005 −0.001 0.010
(0.473) (0.007) (0.015) (0.015) (0.019)
ANY_DEPENDENTS 0.066 −0.0002 0.0001 0.00002 −0.011
(0.398) (0.006) (0.012) (0.013) (0.016)
WORKING_SPOUSE −0.158 −0.006 −0.005 −0.005 0.00004
(0.354) (0.005) (0.011) (0.011) (0.014)
WEEKS_PAID_VACATION 0.807 0.810 0.020 0.024 0.026 0.031
(0.081) (0.080) (0.001) (0.002) (0.003) (0.003)
REDUCE_PAID_WORK_HOURS −0.914 −0.867 −0.025 −0.030 −0.032 −0.024
(0.366) (0.360) (0.005) (0.011) (0.012) (0.015)
MEDICARE −0.960 −0.891 −0.031 −0.031 −0.030 −0.025
(0.562) (0.557) (0.009) (0.018) (0.018) (0.023)
MEDICAID −3.848 −3.806 −0.113 −0.098 −0.090 −0.120
(0.552) (0.544) (0.009) (0.017) (0.018) (0.022)
HOSPITAL_EXPENSES 0.323 0.319 0.008 0.009 0.009 0.008
(0.128) (0.127) (0.002) (0.004) (0.004) (0.005)
RETIRED −13.101 −13.183 −0.432 −0.425 −0.424 −0.520
(0.492) (0.491) (0.008) (0.016) (0.016) (0.020)
VOLUNTEER −0.443 −0.013 −0.017 −0.018 −0.022
(0.320) (0.005) (0.010) (0.010) (0.013)
HOME_VALUE −0.0002 −0.000005 −0.000008 −0.000009 −0.00002
(0.0002) (0.000004) (0.000008) (0.000008) (0.00001)
MALE 5.123 5.113 0.138 0.144 0.146 0.174
(0.311) (0.306) (0.005) (0.010) (0.010) (0.013)
YEARS_EDUCATED 0.019 0.0005 −0.001 −0.002 −0.003
(0.057) (0.0008) (0.002) (0.002) (0.002)
WORK_LIMITING_CONDITION −1.265 −1.298 −0.039 −0.047 −0.051 −0.048
(0.488) (0.482) (0.008) (0.015) (0.016) (0.020)
DEBTS 0.0008 0.00002 0.00001 0.00001 0.00003
(0.0007) (0.00001) (0.00002) (0.00002) (0.00003)
MISSING_WEEKS_PAID_VACATION 2.126 1.244 0.059 0.069 0.074 0.085
(0.896) (0.438) (0.013) (0.028) (0.029) (0.036)
MISSING_REDUCE_PAID_WORK_HOURS −1.039 −0.023 −0.028 −0.030 −0.096
(0.911) (0.014) (0.028) (0.030) (0.037)
MISSING_HOME_VALUE −0.218 −0.005 −0.009 −0.010 −0.019
(0.346) (0.005) (0.011) (0.011) (0.014)
ACTIVE_ONCE_WEEKLY 0.768 0.755 0.021 0.022 0.022 0.018
(0.427) (0.424) (0.006) (0.013) (0.014) (0.017)
ACTIVE_DAILY 1.086 1.156 0.030 0.031 0.031 0.017
(0.484) (0.483) (0.007) (0.015) (0.016) (0.020)
NOT_ACTIVE 1.290 1.335 0.036 0.034 0.033 0.027
(0.393) (0.388) (0.006) (0.012) (0.013) (0.016)
EXCELLENT_HEALTH 0.522 0.013 0.014 0.014 0.009
(0.531) (0.008) (0.016) (0.017) (0.022)
VERY_GOOD_HEALTH −0.494 −0.674 −0.014 −0.016 −0.017 −0.017
(0.365) (0.336) (0.005) (0.011) (0.012) (0.015)
FAIR_HEALTH −1.175 −1.229 −0.032 −0.033 −0.034 −0.035
(0.479) (0.458) (0.007) (0.015) (0.016) (0.019)
POOR_HEALTH −4.995 −5.039 −0.151 −0.156 −0.158 −0.205
(1.114) (1.107) (0.018) (0.036) (0.036) (0.045)
WORKING 4.233 4.279 0.170 0.169 0.168 0.302
(0.618) (0.617) (0.011) (0.020) (0.020) (0.025)
REALLY_LIKE_WORKING 0.612 0.573 0.017 0.016 0.015 0.019
(0.347) (0.338) (0.005) (0.011) (0.011) (0.014)
DISLIKE_WORKING −0.004 0.0002 −0.007 −0.010 −0.00009
(0.556) (0.008) (0.017) (0.018) (0.023)
REALLY_DISLIKE_WORKING 0.541 0.014 0.018 0.020 0.042
(1.126) (0.016) (0.035) (0.037) (0.046)
Num.Obs. 5443 5446 5443 5443 5443 5443
R2 0.360 0.359 0.374
R2 Adj. 0.356 0.357 0.371
AIC 41675.1 41698.5 50384.3 43104.3 43850.3 44936.1
BIC 41886.4 41830.5 50588.9 43315.6 44061.6 45147.4
Log.Lik. −20805.559 −20829.235 −25161.139 −21520.145 −21893.173 −3378.778
F 168.791
RMSE 11.06 11.09 11.11 11.14 11.16 0.45

Transformations

lm.interaction.t <- glm(WEEKLY_WORK_HOURS~ 1 + HOSPITAL_EXPENSES + MEDICAID + VOLUNTEER
                           + MALE + WORKING_SPOUSE:ANY_DEPENDENTS + WEEKS_PAID_VACATION:AGE
                           + WEEKS_PAID_VACATION:HEART_CONDITION + HOSPITAL_EXPENSES:AGE
                           + REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + MEDICARE:AGE 
                           + MEDICARE:HOSPITAL_EXPENSES + YEARS_EDUCATED + HOME_VALUE
                           + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + MEDICAID:WORKING_SPOUSE
                           + MEDICAID:HOSPITAL_EXPENSES + MEDICAID:MEDICARE 
                           + RETIRED:HEART_CONDITION
                           + RETIRED:WEEKS_PAID_VACATION + RETIRED:MEDICAID
                           + VOLUNTEER:RETIRED + MALE:HEART_CONDITION
                           + MALE:WEEKS_PAID_VACATION + MALE:RETIRED
                           + YEARS_EDUCATED:AGE + YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS
                           + YEARS_EDUCATED:MEDICARE + YEARS_EDUCATED:RETIRED
                           + AGE + HEART_CONDITION + ANY_DEPENDENTS + WORK_LIMITING_CONDITION 
                           + DEBTS + MISSING_WEEKS_PAID_VACATION 
                           + MISSING_REDUCE_PAID_WORK_HOURS 
                           + MISSING_HOME_VALUE  + ACTIVE_ONCE_WEEKLY 
                           + ACTIVE_DAILY + NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING 
                           + DISLIKE_WORKING + REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH 
                           + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS,
                           family = gaussian(link = "identity"),
                           data = df_transformed)
summary(lm.interaction.t)
## 
## Call:
## glm(formula = WEEKLY_WORK_HOURS ~ 1 + HOSPITAL_EXPENSES + MEDICAID + 
##     VOLUNTEER + MALE + WORKING_SPOUSE:ANY_DEPENDENTS + WEEKS_PAID_VACATION:AGE + 
##     WEEKS_PAID_VACATION:HEART_CONDITION + HOSPITAL_EXPENSES:AGE + 
##     REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + MEDICARE:AGE + 
##     MEDICARE:HOSPITAL_EXPENSES + YEARS_EDUCATED + HOME_VALUE + 
##     MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + MEDICAID:WORKING_SPOUSE + 
##     MEDICAID:HOSPITAL_EXPENSES + MEDICAID:MEDICARE + RETIRED:HEART_CONDITION + 
##     RETIRED:WEEKS_PAID_VACATION + RETIRED:MEDICAID + VOLUNTEER:RETIRED + 
##     MALE:HEART_CONDITION + MALE:WEEKS_PAID_VACATION + MALE:RETIRED + 
##     YEARS_EDUCATED:AGE + YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS + 
##     YEARS_EDUCATED:MEDICARE + YEARS_EDUCATED:RETIRED + AGE + 
##     HEART_CONDITION + ANY_DEPENDENTS + WORK_LIMITING_CONDITION + 
##     DEBTS + MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS + 
##     MISSING_HOME_VALUE + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + 
##     NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + 
##     REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH + VERY_GOOD_HEALTH + 
##     FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS, family = gaussian(link = "identity"), 
##     data = df_transformed)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -41.717   -5.114   -0.603    4.915   62.525  
## 
## Coefficients: (1 not defined because of singularities)
##                                              Estimate Std. Error t value
## (Intercept)                                 29.541803   8.837878   3.343
## HOSPITAL_EXPENSES                           -3.560136   5.338833  -0.667
## MEDICAID                                   -30.730646   6.289749  -4.886
## VOLUNTEER                                   -0.090220   0.353599  -0.255
## MALE                                         6.543001   0.457769  14.293
## YEARS_EDUCATED                               1.239555   0.596655   2.078
## HOME_VALUE                                   0.027321   0.073393   0.372
## AGE                                          0.037914   0.149223   0.254
## HEART_CONDITION                              1.416079   0.869506   1.629
## ANY_DEPENDENTS                               0.824483   0.586033   1.407
## WORK_LIMITING_CONDITION                     -1.410264   0.481040  -2.932
## DEBTS                                        0.167709   0.119039   1.409
## MISSING_WEEKS_PAID_VACATION                  2.023545   0.882594   2.293
## MISSING_REDUCE_PAID_WORK_HOURS              -1.185904   0.900860  -1.316
## MISSING_HOME_VALUE                           0.156131   0.430461   0.363
## ACTIVE_ONCE_WEEKLY                           0.744454   0.420497   1.770
## ACTIVE_DAILY                                 1.207348   0.475273   2.540
## NOT_ACTIVE                                   1.231421   0.387438   3.178
## WORKING                                      3.388880   0.614446   5.515
## REALLY_DISLIKE_WORKING                       0.134360   1.103609   0.122
## DISLIKE_WORKING                             -0.228408   0.538312  -0.424
## EXCELLENT_HEALTH                             0.455243   0.521739   0.873
## VERY_GOOD_HEALTH                            -0.546674   0.358626  -1.524
## FAIR_HEALTH                                 -1.345974   0.471171  -2.857
## POOR_HEALTH                                 -5.153936   1.099733  -4.687
## MISSING_DEBTS                                      NA         NA      NA
## WORKING_SPOUSE:ANY_DEPENDENTS               -2.058374   0.727436  -2.830
## WEEKS_PAID_VACATION:AGE                      0.015418   0.001882   8.193
## WEEKS_PAID_VACATION:HEART_CONDITION         -0.578665   0.231265  -2.502
## HOSPITAL_EXPENSES:AGE                        0.075943   0.091353   0.831
## WEEKS_PAID_VACATION:REDUCE_PAID_WORK_HOURS   0.420521   0.174370   2.412
## AGE:MEDICARE                                -0.105619   0.033175  -3.184
## HOSPITAL_EXPENSES:MEDICARE                  -2.248795   1.464522  -1.536
## MEDICAID:AGE                                 0.414165   0.107781   3.843
## MEDICAID:ANY_DEPENDENTS                      3.295654   1.344084   2.452
## MEDICAID:WORKING_SPOUSE                      2.746723   1.149801   2.389
## HOSPITAL_EXPENSES:MEDICAID                   5.230765   1.746514   2.995
## MEDICAID:MEDICARE                           -3.541750   1.623118  -2.182
## HEART_CONDITION:RETIRED                     -2.225802   1.043469  -2.133
## WEEKS_PAID_VACATION:RETIRED                  1.560236   0.276503   5.643
## MEDICAID:RETIRED                             5.287868   1.359699   3.889
## VOLUNTEER:RETIRED                           -1.392509   0.758679  -1.835
## MALE:HEART_CONDITION                         1.103158   0.907525   1.216
## MALE:WEEKS_PAID_VACATION                    -0.791534   0.149180  -5.306
## MALE:RETIRED                                -2.195403   0.770872  -2.848
## AGE:YEARS_EDUCATED                          -0.018590   0.010113  -1.838
## REDUCE_PAID_WORK_HOURS:YEARS_EDUCATED       -0.117330   0.034758  -3.376
## MEDICARE:YEARS_EDUCATED                      0.488794   0.155469   3.144
## YEARS_EDUCATED:RETIRED                      -0.936117   0.053601 -17.464
##                                            Pr(>|t|)    
## (Intercept)                                0.000836 ***
## HOSPITAL_EXPENSES                          0.504904    
## MEDICAID                                   1.06e-06 ***
## VOLUNTEER                                  0.798618    
## MALE                                        < 2e-16 ***
## YEARS_EDUCATED                             0.037802 *  
## HOME_VALUE                                 0.709716    
## AGE                                        0.799445    
## HEART_CONDITION                            0.103456    
## ANY_DEPENDENTS                             0.159517    
## WORK_LIMITING_CONDITION                    0.003385 ** 
## DEBTS                                      0.158936    
## MISSING_WEEKS_PAID_VACATION                0.021902 *  
## MISSING_REDUCE_PAID_WORK_HOURS             0.188091    
## MISSING_HOME_VALUE                         0.716839    
## ACTIVE_ONCE_WEEKLY                         0.076715 .  
## ACTIVE_DAILY                               0.011103 *  
## NOT_ACTIVE                                 0.001489 ** 
## WORKING                                    3.64e-08 ***
## REALLY_DISLIKE_WORKING                     0.903105    
## DISLIKE_WORKING                            0.671361    
## EXCELLENT_HEALTH                           0.382948    
## VERY_GOOD_HEALTH                           0.127478    
## FAIR_HEALTH                                0.004298 ** 
## POOR_HEALTH                                2.85e-06 ***
## MISSING_DEBTS                                    NA    
## WORKING_SPOUSE:ANY_DEPENDENTS              0.004677 ** 
## WEEKS_PAID_VACATION:AGE                    3.17e-16 ***
## WEEKS_PAID_VACATION:HEART_CONDITION        0.012373 *  
## HOSPITAL_EXPENSES:AGE                      0.405834    
## WEEKS_PAID_VACATION:REDUCE_PAID_WORK_HOURS 0.015913 *  
## AGE:MEDICARE                               0.001462 ** 
## HOSPITAL_EXPENSES:MEDICARE                 0.124716    
## MEDICAID:AGE                               0.000123 ***
## MEDICAID:ANY_DEPENDENTS                    0.014239 *  
## MEDICAID:WORKING_SPOUSE                    0.016934 *  
## HOSPITAL_EXPENSES:MEDICAID                 0.002757 ** 
## MEDICAID:MEDICARE                          0.029148 *  
## HEART_CONDITION:RETIRED                    0.032963 *  
## WEEKS_PAID_VACATION:RETIRED                1.76e-08 ***
## MEDICAID:RETIRED                           0.000102 ***
## VOLUNTEER:RETIRED                          0.066496 .  
## MALE:HEART_CONDITION                       0.224203    
## MALE:WEEKS_PAID_VACATION                   1.17e-07 ***
## MALE:RETIRED                               0.004417 ** 
## AGE:YEARS_EDUCATED                         0.066086 .  
## REDUCE_PAID_WORK_HOURS:YEARS_EDUCATED      0.000742 ***
## MEDICARE:YEARS_EDUCATED                    0.001676 ** 
## YEARS_EDUCATED:RETIRED                      < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 118.8153)
## 
##     Null deviance: 1044148  on 5445  degrees of freedom
## Residual deviance:  641365  on 5398  degrees of freedom
## AIC: 41524
## 
## Number of Fisher Scoring iterations: 2
plot(lm.interaction.t)

Endogenous Variables

library(lares)
## 
## Attaching package: 'lares'
## The following objects are masked from 'package:performance':
## 
##     mae, mse, rmse
## The following objects are masked from 'package:tictoc':
## 
##     tic, toc
df_corr <- subset(df_nonzero, select = -c(MISSING_WEEKS_PAID_VACATION, 
                                          MISSING_REDUCE_PAID_WORK_HOURS,
                                          MISSING_HOME_VALUE,
                                          MISSING_DEBTS,
                                          EXCELLENT_HEALTH,
                                          VERY_GOOD_HEALTH,
                                          FAIR_HEALTH,
                                          POOR_HEALTH,
                                          WEEKLY_WORK_HOURS))

corr_cross(df_corr, # name of dataset
  max_pvalue = 0.05, # display only significant correlations (at 5% level)
  top = 10 # display top 10 couples of variables (by correlation coefficient)
)
## Returning only the top 10. You may override with the 'top' argument
## Warning in .font_global(font, quiet = FALSE): Font 'Arial Narrow' is not
## installed, has other name, or can't be found

IV Testing

# lm.age.test <- glm(WEEKLY_WORK_HOURS ~ AGE + ANY_DEPENDENTS  
#               + WEEKS_PAID_VACATION + REDUCE_PAID_WORK_HOURS + MEDICAID + HOSPITAL_EXPENSES 
#               + VOLUNTEER + HOME_VALUE + MALE + YEARS_EDUCATED + WORK_LIMITING_CONDITION 
#               + DEBTS + MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS 
#               + MISSING_HOME_VALUE 
#               + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + NOT_ACTIVE + WORKING 
#               + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + REALLY_DISLIKE_WORKING 
#               + EXCELLENT_HEALTH 
#               + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH,
#               family = gaussian(link = "identity"),
#               data = df_nonzero)#Removed medicare, retired, working_spouse, heart_condition
# summary(lm.age.test) #Age significant, cannot be IV
# 
# lm.medicare.test <- glm(WEEKLY_WORK_HOURS ~ MEDICARE +
#               + WEEKS_PAID_VACATION + REDUCE_PAID_WORK_HOURS + MEDICAID + HOSPITAL_EXPENSES 
#               + VOLUNTEER + HOME_VALUE + MALE + YEARS_EDUCATED + WORK_LIMITING_CONDITION 
#               + DEBTS + MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS 
#               + MISSING_HOME_VALUE 
#               + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + NOT_ACTIVE + WORKING + ANY_DEPENDENTS  
#               + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + REALLY_DISLIKE_WORKING 
#               + EXCELLENT_HEALTH 
#               + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH,
#               family = gaussian(link = "identity"),
#               data = df_nonzero)#Removed age, retired, working_spouse, heart_condition
# summary(lm.medicare.test) #Medicare significant
# 
# lm.retired.test <- glm(WEEKLY_WORK_HOURS ~ RETIRED +
#               + WEEKS_PAID_VACATION + REDUCE_PAID_WORK_HOURS + MEDICAID + HOSPITAL_EXPENSES 
#               + VOLUNTEER + HOME_VALUE + MALE + YEARS_EDUCATED + WORK_LIMITING_CONDITION 
#               + DEBTS + MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS 
#               + MISSING_HOME_VALUE 
#               + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + NOT_ACTIVE + WORKING + ANY_DEPENDENTS  
#               + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + REALLY_DISLIKE_WORKING 
#               + EXCELLENT_HEALTH 
#               + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH,
#               family = gaussian(link = "identity"),
#               data = df_nonzero)#Removed age, medicare, working_spouse, heart_condition
# summary(lm.retired.test) #Retired significant
# 
# lm.ws.test <- glm(WEEKLY_WORK_HOURS ~ WORKING_SPOUSE +
#               + WEEKS_PAID_VACATION + REDUCE_PAID_WORK_HOURS + MEDICAID + HOSPITAL_EXPENSES 
#               + VOLUNTEER + HOME_VALUE + MALE + YEARS_EDUCATED + WORK_LIMITING_CONDITION 
#               + DEBTS + MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS 
#               + MISSING_HOME_VALUE 
#               + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + NOT_ACTIVE + WORKING + ANY_DEPENDENTS  
#               + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + REALLY_DISLIKE_WORKING 
#               + EXCELLENT_HEALTH 
#               + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH,
#               family = gaussian(link = "identity"),
#               data = df_nonzero)#Removed age, medicare, retired, heart_condition
# summary(lm.ws.test) #Working spouse significant
# 
# lm.hc.test <- glm(WEEKLY_WORK_HOURS ~ HEART_CONDITION +
#               + WEEKS_PAID_VACATION + REDUCE_PAID_WORK_HOURS + MEDICAID + HOSPITAL_EXPENSES 
#               + VOLUNTEER + HOME_VALUE + MALE + YEARS_EDUCATED + WORK_LIMITING_CONDITION 
#               + DEBTS + MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS 
#               + MISSING_HOME_VALUE + EXCELLENT_HEALTH
#               + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + NOT_ACTIVE + WORKING + ANY_DEPENDENTS  
#               + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + REALLY_DISLIKE_WORKING  
#               + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH,
#               family = gaussian(link = "identity"),
#               data = df_nonzero)#Removed age, medicare, retired, heart_condition
# summary(lm.hc.test) #Heart condition significant

Creating Endogenous Model

age.hat <- glm(AGE ~ MEDICARE + HEART_CONDITION + WORKING_SPOUSE
              + WEEKS_PAID_VACATION + REDUCE_PAID_WORK_HOURS + MEDICAID + HOSPITAL_EXPENSES 
              + VOLUNTEER + HOME_VALUE + MALE + YEARS_EDUCATED + WORK_LIMITING_CONDITION 
              + DEBTS + MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS 
              + MISSING_HOME_VALUE 
              + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + NOT_ACTIVE + WORKING + ANY_DEPENDENTS  
              + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + REALLY_DISLIKE_WORKING 
              + EXCELLENT_HEALTH 
              + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH,
              family = gaussian(link = "identity"),
              data = df_nonzero)

df_hat <- df_nonzero
df_hat$AGE <- df_hat$AGE + age.hat$residuals
df_hat <- subset(df_hat, select = -c(MEDICARE, 
                                     HEART_CONDITION, 
                                     WORKING_SPOUSE))

lm.endog <- glm(WEEKLY_WORK_HOURS ~ .,
                     family = gaussian(link = "identity"),
                     data = df_hat)
summary(lm.endog)
## 
## Call:
## glm(formula = WEEKLY_WORK_HOURS ~ ., family = gaussian(link = "identity"), 
##     data = df_hat)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -38.319   -5.409   -0.563    4.902   67.300  
## 
## Coefficients: (1 not defined because of singularities)
##                                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                     3.981e+01  1.424e+00  27.952  < 2e-16 ***
## AGE                            -1.251e-01  1.572e-02  -7.961 2.06e-15 ***
## ANY_DEPENDENTS                  3.285e-01  3.949e-01   0.832  0.40561    
## WEEKS_PAID_VACATION             8.254e-01  8.117e-02  10.170  < 2e-16 ***
## REDUCE_PAID_WORK_HOURS         -1.026e+00  3.658e-01  -2.805  0.00505 ** 
## MEDICAID                       -3.693e+00  5.497e-01  -6.720 2.01e-11 ***
## HOSPITAL_EXPENSES               3.330e-01  1.275e-01   2.613  0.00900 ** 
## RETIRED                        -1.374e+01  4.713e-01 -29.141  < 2e-16 ***
## VOLUNTEER                      -4.587e-01  3.205e-01  -1.431  0.15253    
## HOME_VALUE                     -2.378e-04  2.428e-04  -0.980  0.32728    
## MALE                            5.061e+00  3.074e-01  16.463  < 2e-16 ***
## YEARS_EDUCATED                  1.313e-02  5.657e-02   0.232  0.81649    
## WORK_LIMITING_CONDITION        -1.359e+00  4.851e-01  -2.801  0.00512 ** 
## DEBTS                           8.386e-04  7.331e-04   1.144  0.25269    
## MISSING_WEEKS_PAID_VACATION     2.090e+00  8.969e-01   2.330  0.01982 *  
## MISSING_REDUCE_PAID_WORK_HOURS -1.155e+00  9.124e-01  -1.266  0.20548    
## MISSING_HOME_VALUE             -1.155e-01  3.244e-01  -0.356  0.72170    
## MISSING_DEBTS                          NA         NA      NA       NA    
## ACTIVE_ONCE_WEEKLY              7.393e-01  4.272e-01   1.730  0.08360 .  
## ACTIVE_DAILY                    1.073e+00  4.844e-01   2.215  0.02677 *  
## NOT_ACTIVE                      1.141e+00  3.928e-01   2.904  0.00370 ** 
## EXCELLENT_HEALTH                5.242e-01  5.306e-01   0.988  0.32317    
## VERY_GOOD_HEALTH               -5.061e-01  3.641e-01  -1.390  0.16460    
## FAIR_HEALTH                    -1.109e+00  4.776e-01  -2.322  0.02025 *  
## POOR_HEALTH                    -4.771e+00  1.114e+00  -4.281 1.89e-05 ***
## WORKING                         4.617e+00  6.165e-01   7.490 8.01e-14 ***
## REALLY_LIKE_WORKING             5.666e-01  3.471e-01   1.632  0.10267    
## DISLIKE_WORKING                 1.111e-01  5.561e-01   0.200  0.84172    
## REALLY_DISLIKE_WORKING          6.832e-01  1.127e+00   0.606  0.54446    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 123.4437)
## 
##     Null deviance: 1040019  on 5442  degrees of freedom
## Residual deviance:  668448  on 5415  degrees of freedom
## AIC: 41689
## 
## Number of Fisher Scoring iterations: 2
lm.endog.interactions <- glm(WEEKLY_WORK_HOURS ~ 1 + HOSPITAL_EXPENSES + MEDICAID + VOLUNTEER
                           + MALE + WEEKS_PAID_VACATION:AGE + HOSPITAL_EXPENSES:AGE
                           + REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + YEARS_EDUCATED 
                           + HOME_VALUE
                           + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS
                           + MEDICAID:HOSPITAL_EXPENSES + RETIRED:WEEKS_PAID_VACATION 
                           + RETIRED:MEDICAID + VOLUNTEER:RETIRED + MALE:WEEKS_PAID_VACATION 
                           + MALE:RETIRED+ YEARS_EDUCATED:AGE 
                           + YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS
                           + YEARS_EDUCATED:RETIRED + AGE + ANY_DEPENDENTS 
                           + WORK_LIMITING_CONDITION 
                           + DEBTS + MISSING_WEEKS_PAID_VACATION 
                           + MISSING_REDUCE_PAID_WORK_HOURS 
                           + MISSING_HOME_VALUE  + ACTIVE_ONCE_WEEKLY 
                           + ACTIVE_DAILY + NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING 
                           + DISLIKE_WORKING + REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH 
                           + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS,
                           family = gaussian(link = "identity"),
                           data = df_hat)
summary(lm.endog.interactions)
## 
## Call:
## glm(formula = WEEKLY_WORK_HOURS ~ 1 + HOSPITAL_EXPENSES + MEDICAID + 
##     VOLUNTEER + MALE + WEEKS_PAID_VACATION:AGE + HOSPITAL_EXPENSES:AGE + 
##     REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + YEARS_EDUCATED + 
##     HOME_VALUE + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + MEDICAID:HOSPITAL_EXPENSES + 
##     RETIRED:WEEKS_PAID_VACATION + RETIRED:MEDICAID + VOLUNTEER:RETIRED + 
##     MALE:WEEKS_PAID_VACATION + MALE:RETIRED + YEARS_EDUCATED:AGE + 
##     YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS + YEARS_EDUCATED:RETIRED + 
##     AGE + ANY_DEPENDENTS + WORK_LIMITING_CONDITION + DEBTS + 
##     MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS + 
##     MISSING_HOME_VALUE + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + 
##     NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + 
##     REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH + VERY_GOOD_HEALTH + 
##     FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS, family = gaussian(link = "identity"), 
##     data = df_hat)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -41.645   -5.201   -0.654    4.938   61.784  
## 
## Coefficients: (1 not defined because of singularities)
##                                              Estimate Std. Error t value
## (Intercept)                                 3.846e+01  4.411e+00   8.719
## HOSPITAL_EXPENSES                          -1.101e+00  7.817e-01  -1.409
## MEDICAID                                   -1.904e+01  3.245e+00  -5.868
## VOLUNTEER                                  -1.199e-01  3.541e-01  -0.339
## MALE                                        6.743e+00  4.458e-01  15.123
## YEARS_EDUCATED                              3.439e-01  3.110e-01   1.106
## HOME_VALUE                                 -1.639e-04  2.388e-04  -0.686
## AGE                                        -1.379e-01  6.977e-02  -1.976
## ANY_DEPENDENTS                             -1.407e-01  4.088e-01  -0.344
## WORK_LIMITING_CONDITION                    -1.388e+00  4.774e-01  -2.908
## DEBTS                                       5.681e-04  7.235e-04   0.785
## MISSING_WEEKS_PAID_VACATION                 1.761e+00  8.833e-01   1.993
## MISSING_REDUCE_PAID_WORK_HOURS             -1.047e+00  9.004e-01  -1.163
## MISSING_HOME_VALUE                         -1.220e-01  3.194e-01  -0.382
## ACTIVE_ONCE_WEEKLY                          7.849e-01  4.205e-01   1.867
## ACTIVE_DAILY                                1.212e+00  4.764e-01   2.545
## NOT_ACTIVE                                  1.079e+00  3.866e-01   2.790
## WORKING                                     3.964e+00  6.114e-01   6.484
## REALLY_DISLIKE_WORKING                      2.530e-01  1.105e+00   0.229
## DISLIKE_WORKING                            -1.015e-01  5.383e-01  -0.189
## EXCELLENT_HEALTH                            4.661e-01  5.201e-01   0.896
## VERY_GOOD_HEALTH                           -5.506e-01  3.577e-01  -1.539
## FAIR_HEALTH                                -1.169e+00  4.700e-01  -2.487
## POOR_HEALTH                                -4.853e+00  1.099e+00  -4.417
## MISSING_DEBTS                                      NA         NA      NA
## WEEKS_PAID_VACATION:AGE                     1.487e-02  1.803e-03   8.243
## HOSPITAL_EXPENSES:AGE                       2.233e-02  1.302e-02   1.715
## WEEKS_PAID_VACATION:REDUCE_PAID_WORK_HOURS  4.107e-01  1.737e-01   2.365
## MEDICAID:AGE                                2.216e-01  5.377e-02   4.121
## MEDICAID:ANY_DEPENDENTS                     3.729e+00  1.314e+00   2.838
## HOSPITAL_EXPENSES:MEDICAID                  9.380e-01  3.931e-01   2.386
## WEEKS_PAID_VACATION:RETIRED                 1.526e+00  2.768e-01   5.512
## MEDICAID:RETIRED                            4.409e+00  1.269e+00   3.475
## VOLUNTEER:RETIRED                          -1.381e+00  7.606e-01  -1.816
## MALE:WEEKS_PAID_VACATION                   -8.403e-01  1.488e-01  -5.646
## MALE:RETIRED                               -2.438e+00  7.581e-01  -3.217
## AGE:YEARS_EDUCATED                         -1.970e-03  5.036e-03  -0.391
## REDUCE_PAID_WORK_HOURS:YEARS_EDUCATED      -1.217e-01  3.469e-02  -3.507
## YEARS_EDUCATED:RETIRED                     -9.697e-01  5.110e-02 -18.978
##                                            Pr(>|t|)    
## (Intercept)                                 < 2e-16 ***
## HOSPITAL_EXPENSES                          0.159001    
## MEDICAID                                   4.68e-09 ***
## VOLUNTEER                                  0.734990    
## MALE                                        < 2e-16 ***
## YEARS_EDUCATED                             0.268932    
## HOME_VALUE                                 0.492606    
## AGE                                        0.048177 *  
## ANY_DEPENDENTS                             0.730685    
## WORK_LIMITING_CONDITION                    0.003649 ** 
## DEBTS                                      0.432355    
## MISSING_WEEKS_PAID_VACATION                0.046288 *  
## MISSING_REDUCE_PAID_WORK_HOURS             0.244876    
## MISSING_HOME_VALUE                         0.702491    
## ACTIVE_ONCE_WEEKLY                         0.062008 .  
## ACTIVE_DAILY                               0.010958 *  
## NOT_ACTIVE                                 0.005289 ** 
## WORKING                                    9.74e-11 ***
## REALLY_DISLIKE_WORKING                     0.818843    
## DISLIKE_WORKING                            0.850398    
## EXCELLENT_HEALTH                           0.370174    
## VERY_GOOD_HEALTH                           0.123871    
## FAIR_HEALTH                                0.012905 *  
## POOR_HEALTH                                1.02e-05 ***
## MISSING_DEBTS                                    NA    
## WEEKS_PAID_VACATION:AGE                     < 2e-16 ***
## HOSPITAL_EXPENSES:AGE                      0.086467 .  
## WEEKS_PAID_VACATION:REDUCE_PAID_WORK_HOURS 0.018070 *  
## MEDICAID:AGE                               3.82e-05 ***
## MEDICAID:ANY_DEPENDENTS                    0.004555 ** 
## HOSPITAL_EXPENSES:MEDICAID                 0.017062 *  
## WEEKS_PAID_VACATION:RETIRED                3.72e-08 ***
## MEDICAID:RETIRED                           0.000516 ***
## VOLUNTEER:RETIRED                          0.069375 .  
## MALE:WEEKS_PAID_VACATION                   1.73e-08 ***
## MALE:RETIRED                               0.001305 ** 
## AGE:YEARS_EDUCATED                         0.695645    
## REDUCE_PAID_WORK_HOURS:YEARS_EDUCATED      0.000456 ***
## YEARS_EDUCATED:RETIRED                      < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 119.3353)
## 
##     Null deviance: 1040019  on 5442  degrees of freedom
## Residual deviance:  645007  on 5405  degrees of freedom
## AIC: 41515
## 
## Number of Fisher Scoring iterations: 2
df_hat_transformed <- df_hat
df_hat_transformed$HOSPITAL_EXPENSES <- log(I(df_hat_transformed$HOSPITAL_EXPENSES + 1))
df_hat_transformed$DEBTS <- log(I(df_hat_transformed$DEBTS + 1))
df_hat_transformed$HOME_VALUE <- log(I(df_hat_transformed$HOME_VALUE + 1))


lm.endog.interactions.t <- glm(WEEKLY_WORK_HOURS ~ 1 + HOSPITAL_EXPENSES + MEDICAID + VOLUNTEER
                           + MALE + WEEKS_PAID_VACATION:AGE + HOSPITAL_EXPENSES:AGE
                           + REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + YEARS_EDUCATED 
                           + HOME_VALUE
                           + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS 
                           + MEDICAID:HOSPITAL_EXPENSES + RETIRED:WEEKS_PAID_VACATION 
                           + RETIRED:MEDICAID + VOLUNTEER:RETIRED + MALE:WEEKS_PAID_VACATION 
                           + MALE:RETIRED+ YEARS_EDUCATED:AGE 
                           + YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS
                           + YEARS_EDUCATED:RETIRED + AGE + ANY_DEPENDENTS 
                           + WORK_LIMITING_CONDITION 
                           + DEBTS + MISSING_WEEKS_PAID_VACATION 
                           + MISSING_REDUCE_PAID_WORK_HOURS 
                           + MISSING_HOME_VALUE  + ACTIVE_ONCE_WEEKLY 
                           + ACTIVE_DAILY + NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING 
                           + DISLIKE_WORKING + REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH 
                           + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS,
                           family = gaussian(link = "identity"),
                           data = df_hat_transformed)
summary(lm.endog.interactions.t)
## 
## Call:
## glm(formula = WEEKLY_WORK_HOURS ~ 1 + HOSPITAL_EXPENSES + MEDICAID + 
##     VOLUNTEER + MALE + WEEKS_PAID_VACATION:AGE + HOSPITAL_EXPENSES:AGE + 
##     REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + YEARS_EDUCATED + 
##     HOME_VALUE + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + MEDICAID:HOSPITAL_EXPENSES + 
##     RETIRED:WEEKS_PAID_VACATION + RETIRED:MEDICAID + VOLUNTEER:RETIRED + 
##     MALE:WEEKS_PAID_VACATION + MALE:RETIRED + YEARS_EDUCATED:AGE + 
##     YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS + YEARS_EDUCATED:RETIRED + 
##     AGE + ANY_DEPENDENTS + WORK_LIMITING_CONDITION + DEBTS + 
##     MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS + 
##     MISSING_HOME_VALUE + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + 
##     NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + 
##     REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH + VERY_GOOD_HEALTH + 
##     FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS, family = gaussian(link = "identity"), 
##     data = df_hat_transformed)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -41.700   -5.161   -0.652    4.946   61.596  
## 
## Coefficients: (1 not defined because of singularities)
##                                              Estimate Std. Error t value
## (Intercept)                                 38.284832   4.414084   8.673
## HOSPITAL_EXPENSES                           -1.384162   2.751124  -0.503
## MEDICAID                                   -18.654471   3.249404  -5.741
## VOLUNTEER                                   -0.136441   0.354288  -0.385
## MALE                                         6.723348   0.446214  15.068
## YEARS_EDUCATED                               0.325866   0.310782   1.049
## HOME_VALUE                                   0.021631   0.073188   0.296
## AGE                                         -0.137825   0.069793  -1.975
## ANY_DEPENDENTS                              -0.151732   0.409185  -0.371
## WORK_LIMITING_CONDITION                     -1.430111   0.478175  -2.991
## DEBTS                                        0.171217   0.119116   1.437
## MISSING_WEEKS_PAID_VACATION                  1.719272   0.882618   1.948
## MISSING_REDUCE_PAID_WORK_HOURS              -1.031903   0.900712  -1.146
## MISSING_HOME_VALUE                           0.168668   0.423649   0.398
## ACTIVE_ONCE_WEEKLY                           0.802120   0.420860   1.906
## ACTIVE_DAILY                                 1.210597   0.476196   2.542
## NOT_ACTIVE                                   1.090748   0.386913   2.819
## WORKING                                      3.961806   0.611303   6.481
## REALLY_DISLIKE_WORKING                       0.226865   1.105300   0.205
## DISLIKE_WORKING                             -0.133391   0.538553  -0.248
## EXCELLENT_HEALTH                             0.504548   0.521392   0.968
## VERY_GOOD_HEALTH                            -0.520374   0.358520  -1.451
## FAIR_HEALTH                                 -1.144212   0.470197  -2.433
## POOR_HEALTH                                 -4.798499   1.098964  -4.366
## MISSING_DEBTS                                      NA         NA      NA
## WEEKS_PAID_VACATION:AGE                      0.014781   0.001804   8.191
## HOSPITAL_EXPENSES:AGE                        0.033831   0.045341   0.746
## WEEKS_PAID_VACATION:REDUCE_PAID_WORK_HOURS   0.415226   0.173793   2.389
## MEDICAID:AGE                                 0.214975   0.053874   3.990
## MEDICAID:ANY_DEPENDENTS                      3.670541   1.313923   2.794
## HOSPITAL_EXPENSES:MEDICAID                   4.775081   1.730420   2.759
## WEEKS_PAID_VACATION:RETIRED                  1.536728   0.276813   5.551
## MEDICAID:RETIRED                             4.485591   1.268588   3.536
## VOLUNTEER:RETIRED                           -1.362506   0.760655  -1.791
## MALE:WEEKS_PAID_VACATION                    -0.833576   0.148855  -5.600
## MALE:RETIRED                                -2.418379   0.757621  -3.192
## AGE:YEARS_EDUCATED                          -0.001808   0.005030  -0.359
## REDUCE_PAID_WORK_HOURS:YEARS_EDUCATED       -0.123118   0.034698  -3.548
## YEARS_EDUCATED:RETIRED                      -0.970823   0.051117 -18.992
##                                            Pr(>|t|)    
## (Intercept)                                 < 2e-16 ***
## HOSPITAL_EXPENSES                          0.614896    
## MEDICAID                                   9.93e-09 ***
## VOLUNTEER                                  0.700168    
## MALE                                        < 2e-16 ***
## YEARS_EDUCATED                             0.294440    
## HOME_VALUE                                 0.767579    
## AGE                                        0.048344 *  
## ANY_DEPENDENTS                             0.710789    
## WORK_LIMITING_CONDITION                    0.002795 ** 
## DEBTS                                      0.150661    
## MISSING_WEEKS_PAID_VACATION                0.051476 .  
## MISSING_REDUCE_PAID_WORK_HOURS             0.251989    
## MISSING_HOME_VALUE                         0.690549    
## ACTIVE_ONCE_WEEKLY                         0.056715 .  
## ACTIVE_DAILY                               0.011043 *  
## NOT_ACTIVE                                 0.004833 ** 
## WORKING                                    9.93e-11 ***
## REALLY_DISLIKE_WORKING                     0.837383    
## DISLIKE_WORKING                            0.804388    
## EXCELLENT_HEALTH                           0.333241    
## VERY_GOOD_HEALTH                           0.146712    
## FAIR_HEALTH                                0.014987 *  
## POOR_HEALTH                                1.29e-05 ***
## MISSING_DEBTS                                    NA    
## WEEKS_PAID_VACATION:AGE                    3.20e-16 ***
## HOSPITAL_EXPENSES:AGE                      0.455615    
## WEEKS_PAID_VACATION:REDUCE_PAID_WORK_HOURS 0.016919 *  
## MEDICAID:AGE                               6.69e-05 ***
## MEDICAID:ANY_DEPENDENTS                    0.005231 ** 
## HOSPITAL_EXPENSES:MEDICAID                 0.005809 ** 
## WEEKS_PAID_VACATION:RETIRED                2.97e-08 ***
## MEDICAID:RETIRED                           0.000410 ***
## VOLUNTEER:RETIRED                          0.073313 .  
## MALE:WEEKS_PAID_VACATION                   2.25e-08 ***
## MALE:RETIRED                               0.001421 ** 
## AGE:YEARS_EDUCATED                         0.719332    
## REDUCE_PAID_WORK_HOURS:YEARS_EDUCATED      0.000391 ***
## YEARS_EDUCATED:RETIRED                      < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 119.3468)
## 
##     Null deviance: 1040019  on 5442  degrees of freedom
## Residual deviance:  645070  on 5405  degrees of freedom
## AIC: 41515
## 
## Number of Fisher Scoring iterations: 2

Renewed Interactions

df_intr <- df_hat
names(df_intr)[1] = "WWH" # Weekly Work Hours
names(df_intr)[3] = "AD" # Any Dependents
names(df_intr)[4] = "WV" # Weeks of Paid Vacation
names(df_intr)[5] = "RH" # Reduce Paid Work Hours
names(df_intr)[6] = "Md" # Medicaid
names(df_intr)[7] = "HE" # Hospital Expenses
names(df_intr)[8] = "R" # Retired
names(df_intr)[9] = "V" # Volunteer
names(df_intr)[10] = "HV" # Home Value
names(df_intr)[11] = "Ma" # Male
names(df_intr)[12] = "YE" # Years of education
names(df_intr)[13] = "WL" # Work Limiting Condition
names(df_intr)[14] = "Db" # Debts
names(df_intr)[19] = "AW" # Active Once Weekly
names(df_intr)[20] = "AcD" # Active Daily
names(df_intr)[21] = "N" # Not Active
names(df_intr)[22] = "EH" # Excellent Health
names(df_intr)[23] = "VH" # Very Good Health
names(df_intr)[24] = "FH" # Fair Health
names(df_intr)[25] = "PH" # Poor Health
names(df_intr)[26] = "W" # Working
names(df_intr)[27] = "LW" # Really Likes Working
names(df_intr)[28] = "DW" # Dislike Working
names(df_intr)[29] = "RW" # Really Dislike Working

lm.all.interactions.hat <- glmulti(WWH ~ AGE + AD
                               + WV + HE
                               + Db + R + Ma
                               + HV + YE
                               + EH + VH + FH + PH,
                            data = df_intr,
                            crit = aicc,
                            level = 2,
                            method = "g", # otherwise choose "d", "g" for algorithmic, or "h" for brute force
                            family = gaussian,
                            fit = glm,
                            confsetsize = 100)
## Initialization...
## TASK: Genetic algorithm in the candidate set.
## Initialization...
## Algorithm started...
## 
## After 10 generations:
## Best model: WWH~1+WV+Db+R+Ma+YE+VH+FH+WV:AGE+WV:AD+HE:WV+Db:AD+R:AGE+R:WV+R:HE+Ma:AD+Ma:WV+Ma:HE+Ma:R+HV:AD+HV:WV+HV:HE+HV:Db+HV:Ma+YE:AGE+YE:AD+YE:WV+YE:Db+YE:R+YE:HV+EH:AGE+EH:AD+EH:WV+EH:Ma+EH:HV+EH:YE+VH:Db+VH:R+VH:Ma+VH:YE+VH:EH+FH:WV+FH:HE+FH:Db+FH:R+FH:Ma+FH:YE+PH:AGE+PH:AD+PH:WV+PH:R+PH:Ma+PH:EH+PH:FH
## Crit= 41708.3202570512
## Mean crit= 41950.2761145703

## Change in best IC: 31708.3202570512 / Change in mean IC: 31950.2761145703
## 
## After 20 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:WV+Db:WV+R:AGE+R:WV+R:HE+Ma:WV+Ma:HE+Ma:Db+Ma:R+HV:WV+YE:AGE+YE:AD+YE:WV+YE:Db+YE:R+EH:AGE+EH:AD+EH:HE+VH:AGE+VH:HE+VH:Db+VH:Ma+FH:AGE+FH:AD+FH:WV+FH:HE+FH:Db+FH:Ma+PH:AGE+PH:AD+PH:HE+PH:Db+PH:EH+PH:VH+PH:FH
## Crit= 41688.8222312507
## Mean crit= 41793.9252757946

## Change in best IC: -19.4980258005016 / Change in mean IC: -156.350838775732
## 
## After 30 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:WV+Db:WV+R:AGE+R:WV+Ma:WV+Ma:HE+Ma:Db+Ma:R+HV:WV+YE:AGE+YE:AD+YE:WV+YE:HE+YE:Db+YE:R+EH:AGE+EH:AD+EH:HE+VH:AGE+VH:HE+VH:Db+VH:Ma+FH:AGE+FH:AD+FH:WV+FH:HE+FH:Db+FH:Ma+PH:AGE+PH:HE+PH:Db+PH:EH+PH:VH+PH:FH
## Crit= 41681.4208977273
## Mean crit= 41765.8475837466

## Change in best IC: -7.40133352341945 / Change in mean IC: -28.0776920480421
## 
## After 40 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+Db:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:AGE+YE:AD+YE:WV+YE:Db+YE:R+EH:AGE+EH:AD+EH:HE+VH:AGE+VH:HE+VH:Db+VH:Ma+FH:AGE+FH:AD+FH:WV+FH:HE+FH:Db+FH:Ma+PH:AGE+PH:HE+PH:Db+PH:EH+PH:VH+PH:FH
## Crit= 41673.8572087935
## Mean crit= 41742.0297617133

## Change in best IC: -7.56368893371109 / Change in mean IC: -23.8178220332484
## 
## After 50 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:AGE+YE:AD+YE:WV+YE:Db+YE:R+EH:AGE+EH:AD+EH:HE+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:WV+FH:HE+FH:Ma+PH:AGE+PH:HE+PH:EH+PH:VH+PH:FH
## Crit= 41667.488947751
## Mean crit= 41724.8879385601

## Change in best IC: -6.36826104256033 / Change in mean IC: -17.1418231532225
## 
## After 60 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:AD+YE:WV+YE:Db+YE:R+EH:AGE+EH:AD+EH:HE+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:WV+FH:HE+PH:AGE+PH:HE+PH:EH+PH:VH+PH:FH
## Crit= 41664.4533933129
## Mean crit= 41707.4082359489

## Change in best IC: -3.03555443807272 / Change in mean IC: -17.4797026112137
## 
## After 70 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:AD+YE:WV+YE:Db+YE:R+EH:AGE+EH:AD+EH:HE+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:WV+PH:AGE+PH:HE+PH:EH+PH:VH+PH:FH
## Crit= 41662.4266729449
## Mean crit= 41696.7513272161

## Change in best IC: -2.02672036802687 / Change in mean IC: -10.6569087328025
## 
## After 80 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:AD+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:WV+PH:AGE+PH:HE+PH:EH+PH:VH+PH:FH
## Crit= 41662.1425470045
## Mean crit= 41686.1019053612

## Change in best IC: -0.284125940343074 / Change in mean IC: -10.6494218548542
## 
## After 90 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:AD+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:WV+PH:AGE+PH:HE+PH:EH+PH:VH+PH:FH
## Crit= 41659.9185834411
## Mean crit= 41675.5625784293

## Change in best IC: -2.22396356342506 / Change in mean IC: -10.5393269319175
## 
## After 100 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:AD+EH:HE+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:WV+FH:YE+PH:AGE+PH:EH+PH:VH+PH:FH
## Crit= 41657.8755075183
## Mean crit= 41670.0842086293

## Change in best IC: -2.04307592284749 / Change in mean IC: -5.47836980005377
## 
## After 110 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:AGE+PH:EH+PH:VH+PH:FH
## Crit= 41656.5250906619
## Mean crit= 41664.8535524076

## Change in best IC: -1.35041685638134 / Change in mean IC: -5.23065622167633
## 
## After 120 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:WV+FH:YE+PH:AGE+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41654.4664629805
## Mean crit= 41663.4879208671

## Change in best IC: -2.05862768135557 / Change in mean IC: -1.36563154047326
## 
## After 130 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:AGE+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41653.3412950177
## Mean crit= 41661.524946383

## Change in best IC: -1.12516796278214 / Change in mean IC: -1.96297448405676
## 
## After 140 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:AGE+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41653.3412950177
## Mean crit= 41660.4818478414

## Change in best IC: 0 / Change in mean IC: -1.04309854167514
## 
## After 150 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:AGE+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41653.3412950177
## Mean crit= 41659.4990576886

## Change in best IC: 0 / Change in mean IC: -0.982790152775124
## 
## After 160 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:AGE+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41652.95437192
## Mean crit= 41658.6759311569

## Change in best IC: -0.386923097728868 / Change in mean IC: -0.823126531664457
## 
## After 170 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:AD+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:AGE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41651.8280364797
## Mean crit= 41657.4841712529

## Change in best IC: -1.12633544034179 / Change in mean IC: -1.19175990408257
## 
## After 180 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41650.6066625744
## Mean crit= 41656.4194389578

## Change in best IC: -1.22137390526768 / Change in mean IC: -1.0647322950681
## 
## After 190 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41650.6066625744
## Mean crit= 41655.4258499526

## Change in best IC: 0 / Change in mean IC: -0.993589005134709
## 
## After 200 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41654.9777390728

## Change in best IC: -0.83534896261699 / Change in mean IC: -0.448110879806336
## 
## After 210 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41654.1578372024

## Change in best IC: 0 / Change in mean IC: -0.819901870476315
## 
## After 220 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41653.8669944624

## Change in best IC: 0 / Change in mean IC: -0.290842739916116
## 
## After 230 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41653.5386888924

## Change in best IC: 0 / Change in mean IC: -0.328305570059456
## 
## After 240 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41653.0097061926

## Change in best IC: 0 / Change in mean IC: -0.528982699812332
## 
## After 250 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41652.6803383962

## Change in best IC: 0 / Change in mean IC: -0.329367796410224
## 
## After 260 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41652.315574393

## Change in best IC: 0 / Change in mean IC: -0.364764003199525
## 
## After 270 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41652.1138082236

## Change in best IC: 0 / Change in mean IC: -0.20176616939716
## 
## After 280 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41652.0387722502

## Change in best IC: 0 / Change in mean IC: -0.075035973379272
## 
## After 290 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.8468107547

## Change in best IC: 0 / Change in mean IC: -0.191961495533178
## 
## After 300 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.7925800446

## Change in best IC: 0 / Change in mean IC: -0.0542307100768085
## 
## After 310 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.713235772

## Change in best IC: 0 / Change in mean IC: -0.0793442725553177
## 
## After 320 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.6425419273

## Change in best IC: 0 / Change in mean IC: -0.0706938447256107
## 
## After 330 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.6274049255

## Change in best IC: 0 / Change in mean IC: -0.0151370017701993
## 
## After 340 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.4780031535

## Change in best IC: 0 / Change in mean IC: -0.149401771981502
## 
## After 350 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.4174380778

## Change in best IC: 0 / Change in mean IC: -0.0605650757133844
## 
## After 360 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.3600651809

## Change in best IC: 0 / Change in mean IC: -0.0573728969175136
## 
## After 370 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.2028886874

## Change in best IC: 0 / Change in mean IC: -0.157176493557927
## 
## After 380 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.1112267338

## Change in best IC: 0 / Change in mean IC: -0.0916619536001235
## 
## After 390 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.0193304457

## Change in best IC: 0 / Change in mean IC: -0.0918962880168692
## 
## After 400 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41651.0022129356

## Change in best IC: 0 / Change in mean IC: -0.0171175101859262
## 
## After 410 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.9502694325

## Change in best IC: 0 / Change in mean IC: -0.0519435030582827
## 
## After 420 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.8986059369

## Change in best IC: 0 / Change in mean IC: -0.0516634955565678
## 
## After 430 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.866729556

## Change in best IC: 0 / Change in mean IC: -0.0318763809555094
## 
## After 440 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.8048932424

## Change in best IC: 0 / Change in mean IC: -0.0618363135654363
## 
## After 450 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.7205089414

## Change in best IC: 0 / Change in mean IC: -0.0843843010443379
## 
## After 460 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.698275538

## Change in best IC: 0 / Change in mean IC: -0.0222334033605875
## 
## After 470 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.697600539

## Change in best IC: 0 / Change in mean IC: -0.000674998984322883
## 
## After 480 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.6657004825

## Change in best IC: 0 / Change in mean IC: -0.0319000565432361
## 
## After 490 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.6406904809

## Change in best IC: 0 / Change in mean IC: -0.0250100015691714
## 
## After 500 generations:
## Best model: WWH~1+AGE+AD+WV+Db+Ma+YE+EH+VH+FH+PH+AD:AGE+WV:AGE+HE:AGE+HE:WV+R:WV+Ma:WV+Ma:Db+Ma:R+HV:HE+YE:WV+YE:Db+YE:R+EH:AGE+EH:HE+EH:Db+VH:AGE+VH:HE+FH:AGE+FH:AD+FH:YE+PH:WV+PH:Ma+PH:EH+PH:VH+PH:FH
## Crit= 41649.7713136118
## Mean crit= 41650.6330259536

## Improvements in best and average IC have bebingo en below the specified goals.
## Algorithm is declared to have converged.
## Completed.
plot(lm.all.interactions.hat, type = "s")

##Commented to save runtime
# lm.all.interactions.hat <- glmulti(WWH ~ AGE + AD
#                                + WV + HE + WL
#                                + RH + R + Ma
#                                + HV + YE + Db
#                                + AW + AcD + N,
#                             data = df_intr,
#                             crit = aicc,
#                             level = 2,
#                             method = "g", # otherwise choose "d", "g" for algorithmic, or "h" for brute force
#                             family = gaussian,
#                             fit = glm,
#                             confsetsize = 100)
# plot(lm.all.interactions.hat, type = "s")
# 
# lm.all.interactions.hat <- glmulti(WWH ~ AGE + AD
#                                + WV + HE
#                                + RH + R + Ma
#                                + HV + YE + Db
#                                + W + LW + DW + RW,
#                             data = df_intr,
#                             crit = aicc,
#                             level = 2,
#                             method = "g", # otherwise choose "d", "g" for algorithmic, or "h" for brute force
#                             family = gaussian,
#                             fit = glm,
#                             confsetsize = 100)
# plot(lm.all.interactions.hat, type = "s")

Final Interacted and Endogenous Model

lm.all.interactions.hat <- glm(WEEKLY_WORK_HOURS ~ 1 + EXCELLENT_HEALTH + VERY_GOOD_HEALTH 
                               + FAIR_HEALTH 
                               + POOR_HEALTH + AGE + ANY_DEPENDENTS + MEDICAID + RETIRED 
                               + VOLUNTEER 
                               + MALE + WORK_LIMITING_CONDITION + WORKING 
                               + WEEKS_PAID_VACATION 
                               + REDUCE_PAID_WORK_HOURS + HOSPITAL_EXPENSES + HOME_VALUE 
                               + DEBTS 
                               + YEARS_EDUCATED + ACTIVE_ONCE_WEEKLY
                               + ACTIVE_DAILY + NOT_ACTIVE + REALLY_LIKE_WORKING 
                               + DISLIKE_WORKING 
                               + REALLY_DISLIKE_WORKING + MISSING_WEEKS_PAID_VACATION 
                               + MISSING_REDUCE_PAID_WORK_HOURS + MISSING_HOME_VALUE 
                               + MISSING_DEBTS
                               + MALE:POOR_HEALTH + ANY_DEPENDENTS:EXCELLENT_HEALTH 
                               + MALE:RETIRED
                               + AGE:HOSPITAL_EXPENSES + AGE:FAIR_HEALTH 
                               + DEBTS:EXCELLENT_HEALTH
                               + WEEKS_PAID_VACATION:YEARS_EDUCATED + AGE:EXCELLENT_HEALTH 
                               + HOME_VALUE:RETIRED + MALE:NOT_ACTIVE 
                               + ACTIVE_ONCE_WEEKLY:RETIRED 
                               + MALE:WEEKS_PAID_VACATION 
                               + ANY_DEPENDENTS:WORK_LIMITING_CONDITION 
                               + ACTIVE_ONCE_WEEKLY:DEBTS 
                               + HOME_VALUE:WORK_LIMITING_CONDITION 
                               + DISLIKE_WORKING:WORKING,
                              family = gaussian(link = "identity"),
                              data = df_hat)

lm.endog.interactions.t.so <- glm(WEEKLY_WORK_HOURS ~ 1 +
                              + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS
                              + MEDICAID:HOSPITAL_EXPENSES + RETIRED:WEEKS_PAID_VACATION
                              + RETIRED:MEDICAID + MALE:WEEKS_PAID_VACATION
                              + MALE:RETIRED + YEARS_EDUCATED:AGE + YEARS_EDUCATED:RETIRED
                              + EXCELLENT_HEALTH + VERY_GOOD_HEALTH + FAIR_HEALTH
                              + POOR_HEALTH + AGE + ANY_DEPENDENTS + MEDICAID + RETIRED 
                              + VOLUNTEER
                              + MALE + WORK_LIMITING_CONDITION + WORKING + WEEKS_PAID_VACATION
                              + REDUCE_PAID_WORK_HOURS + HOSPITAL_EXPENSES + HOME_VALUE 
                              + DEBTS
                              + YEARS_EDUCATED + ACTIVE_ONCE_WEEKLY
                              + ACTIVE_DAILY + NOT_ACTIVE + REALLY_LIKE_WORKING 
                              + DISLIKE_WORKING
                              + REALLY_DISLIKE_WORKING + MISSING_WEEKS_PAID_VACATION
                              + MISSING_REDUCE_PAID_WORK_HOURS + MISSING_HOME_VALUE 
                              + MISSING_DEBTS
                              + I(AGE^2) + I(YEARS_EDUCATED^2) 
                              + I(YEARS_EDUCATED^2) * I(AGE^2)
                              + I(AGE^2) * YEARS_EDUCATED + AGE * I(YEARS_EDUCATED^2) 
                              + I(WEEKS_PAID_VACATION^2),
                           family = gaussian(link = "identity"),
                           data = df_hat_transformed)
summary(lm.all.interactions.hat)
## 
## Call:
## glm(formula = WEEKLY_WORK_HOURS ~ 1 + EXCELLENT_HEALTH + VERY_GOOD_HEALTH + 
##     FAIR_HEALTH + POOR_HEALTH + AGE + ANY_DEPENDENTS + MEDICAID + 
##     RETIRED + VOLUNTEER + MALE + WORK_LIMITING_CONDITION + WORKING + 
##     WEEKS_PAID_VACATION + REDUCE_PAID_WORK_HOURS + HOSPITAL_EXPENSES + 
##     HOME_VALUE + DEBTS + YEARS_EDUCATED + ACTIVE_ONCE_WEEKLY + 
##     ACTIVE_DAILY + NOT_ACTIVE + REALLY_LIKE_WORKING + DISLIKE_WORKING + 
##     REALLY_DISLIKE_WORKING + MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS + 
##     MISSING_HOME_VALUE + MISSING_DEBTS + MALE:POOR_HEALTH + ANY_DEPENDENTS:EXCELLENT_HEALTH + 
##     MALE:RETIRED + AGE:HOSPITAL_EXPENSES + AGE:FAIR_HEALTH + 
##     DEBTS:EXCELLENT_HEALTH + WEEKS_PAID_VACATION:YEARS_EDUCATED + 
##     AGE:EXCELLENT_HEALTH + HOME_VALUE:RETIRED + MALE:NOT_ACTIVE + 
##     ACTIVE_ONCE_WEEKLY:RETIRED + MALE:WEEKS_PAID_VACATION + ANY_DEPENDENTS:WORK_LIMITING_CONDITION + 
##     ACTIVE_ONCE_WEEKLY:DEBTS + HOME_VALUE:WORK_LIMITING_CONDITION + 
##     DISLIKE_WORKING:WORKING, family = gaussian(link = "identity"), 
##     data = df_hat)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -39.371   -5.377   -0.646    5.068   67.847  
## 
## Coefficients: (1 not defined because of singularities)
##                                          Estimate Std. Error t value Pr(>|t|)
## (Intercept)                             4.061e+01  1.625e+00  24.988  < 2e-16
## EXCELLENT_HEALTH                       -3.399e+00  2.971e+00  -1.144 0.252621
## VERY_GOOD_HEALTH                       -4.982e-01  3.625e-01  -1.374 0.169400
## FAIR_HEALTH                            -7.697e+00  2.599e+00  -2.961 0.003081
## POOR_HEALTH                            -5.497e+00  1.322e+00  -4.157 3.28e-05
## AGE                                    -1.521e-01  1.784e-02  -8.530  < 2e-16
## ANY_DEPENDENTS                          3.601e-02  4.456e-01   0.081 0.935593
## MEDICAID                               -3.607e+00  5.503e-01  -6.555 6.10e-11
## RETIRED                                -1.285e+01  6.200e-01 -20.727  < 2e-16
## VOLUNTEER                              -4.321e-01  3.192e-01  -1.353 0.175967
## MALE                                    6.196e+00  4.865e-01  12.735  < 2e-16
## WORK_LIMITING_CONDITION                -2.084e+00  5.479e-01  -3.803 0.000144
## WORKING                                 4.359e+00  6.308e-01   6.910 5.40e-12
## WEEKS_PAID_VACATION                     1.644e+00  4.194e-01   3.919 9.00e-05
## REDUCE_PAID_WORK_HOURS                 -1.016e+00  3.647e-01  -2.785 0.005373
## HOSPITAL_EXPENSES                      -1.099e+00  7.899e-01  -1.392 0.163988
## HOME_VALUE                              6.029e-05  2.712e-04   0.222 0.824041
## DEBTS                                   1.282e-03  8.420e-04   1.523 0.127815
## YEARS_EDUCATED                          5.818e-02  6.739e-02   0.863 0.387998
## ACTIVE_ONCE_WEEKLY                      4.757e-01  4.683e-01   1.016 0.309774
## ACTIVE_DAILY                            1.000e+00  4.828e-01   2.072 0.038356
## NOT_ACTIVE                              4.746e-01  4.914e-01   0.966 0.334172
## REALLY_LIKE_WORKING                     6.112e-01  3.457e-01   1.768 0.077126
## DISLIKE_WORKING                        -1.866e+00  2.246e+00  -0.831 0.406228
## REALLY_DISLIKE_WORKING                  7.384e-01  1.123e+00   0.657 0.510971
## MISSING_WEEKS_PAID_VACATION             2.081e+00  8.955e-01   2.324 0.020156
## MISSING_REDUCE_PAID_WORK_HOURS         -1.204e+00  9.106e-01  -1.322 0.186300
## MISSING_HOME_VALUE                     -1.550e-01  3.234e-01  -0.479 0.631745
## MISSING_DEBTS                                  NA         NA      NA       NA
## POOR_HEALTH:MALE                        3.059e+00  2.346e+00   1.304 0.192362
## EXCELLENT_HEALTH:ANY_DEPENDENTS        -7.729e-01  1.306e+00  -0.592 0.553843
## RETIRED:MALE                           -1.633e+00  7.798e-01  -2.094 0.036351
## AGE:HOSPITAL_EXPENSES                   2.431e-02  1.320e-02   1.842 0.065529
## FAIR_HEALTH:AGE                         1.094e-01  4.247e-02   2.577 0.009999
## EXCELLENT_HEALTH:DEBTS                 -5.288e-03  2.874e-03  -1.840 0.065867
## WEEKS_PAID_VACATION:YEARS_EDUCATED     -3.570e-02  2.765e-02  -1.291 0.196742
## EXCELLENT_HEALTH:AGE                    6.864e-02  4.766e-02   1.440 0.149864
## RETIRED:HOME_VALUE                     -2.334e-03  6.547e-04  -3.565 0.000367
## MALE:NOT_ACTIVE                         1.606e+00  7.182e-01   2.237 0.025350
## RETIRED:ACTIVE_ONCE_WEEKLY              1.851e+00  1.012e+00   1.828 0.067552
## MALE:WEEKS_PAID_VACATION               -7.042e-01  1.498e-01  -4.701 2.65e-06
## ANY_DEPENDENTS:WORK_LIMITING_CONDITION  3.276e+00  1.179e+00   2.779 0.005469
## DEBTS:ACTIVE_ONCE_WEEKLY               -2.407e-03  1.807e-03  -1.331 0.183102
## WORK_LIMITING_CONDITION:HOME_VALUE      1.477e-03  8.918e-04   1.656 0.097741
## WORKING:DISLIKE_WORKING                 2.049e+00  2.310e+00   0.887 0.375116
##                                           
## (Intercept)                            ***
## EXCELLENT_HEALTH                          
## VERY_GOOD_HEALTH                          
## FAIR_HEALTH                            ** 
## POOR_HEALTH                            ***
## AGE                                    ***
## ANY_DEPENDENTS                            
## MEDICAID                               ***
## RETIRED                                ***
## VOLUNTEER                                 
## MALE                                   ***
## WORK_LIMITING_CONDITION                ***
## WORKING                                ***
## WEEKS_PAID_VACATION                    ***
## REDUCE_PAID_WORK_HOURS                 ** 
## HOSPITAL_EXPENSES                         
## HOME_VALUE                                
## DEBTS                                     
## YEARS_EDUCATED                            
## ACTIVE_ONCE_WEEKLY                        
## ACTIVE_DAILY                           *  
## NOT_ACTIVE                                
## REALLY_LIKE_WORKING                    .  
## DISLIKE_WORKING                           
## REALLY_DISLIKE_WORKING                    
## MISSING_WEEKS_PAID_VACATION            *  
## MISSING_REDUCE_PAID_WORK_HOURS            
## MISSING_HOME_VALUE                        
## MISSING_DEBTS                             
## POOR_HEALTH:MALE                          
## EXCELLENT_HEALTH:ANY_DEPENDENTS           
## RETIRED:MALE                           *  
## AGE:HOSPITAL_EXPENSES                  .  
## FAIR_HEALTH:AGE                        ** 
## EXCELLENT_HEALTH:DEBTS                 .  
## WEEKS_PAID_VACATION:YEARS_EDUCATED        
## EXCELLENT_HEALTH:AGE                      
## RETIRED:HOME_VALUE                     ***
## MALE:NOT_ACTIVE                        *  
## RETIRED:ACTIVE_ONCE_WEEKLY             .  
## MALE:WEEKS_PAID_VACATION               ***
## ANY_DEPENDENTS:WORK_LIMITING_CONDITION ** 
## DEBTS:ACTIVE_ONCE_WEEKLY                  
## WORK_LIMITING_CONDITION:HOME_VALUE     .  
## WORKING:DISLIKE_WORKING                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 122.1369)
## 
##     Null deviance: 1040019  on 5442  degrees of freedom
## Residual deviance:  659417  on 5399  degrees of freedom
## AIC: 41647
## 
## Number of Fisher Scoring iterations: 2
summary(lm.endog.interactions.t)
## 
## Call:
## glm(formula = WEEKLY_WORK_HOURS ~ 1 + HOSPITAL_EXPENSES + MEDICAID + 
##     VOLUNTEER + MALE + WEEKS_PAID_VACATION:AGE + HOSPITAL_EXPENSES:AGE + 
##     REDUCE_PAID_WORK_HOURS:WEEKS_PAID_VACATION + YEARS_EDUCATED + 
##     HOME_VALUE + MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + MEDICAID:HOSPITAL_EXPENSES + 
##     RETIRED:WEEKS_PAID_VACATION + RETIRED:MEDICAID + VOLUNTEER:RETIRED + 
##     MALE:WEEKS_PAID_VACATION + MALE:RETIRED + YEARS_EDUCATED:AGE + 
##     YEARS_EDUCATED:REDUCE_PAID_WORK_HOURS + YEARS_EDUCATED:RETIRED + 
##     AGE + ANY_DEPENDENTS + WORK_LIMITING_CONDITION + DEBTS + 
##     MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS + 
##     MISSING_HOME_VALUE + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + 
##     NOT_ACTIVE + WORKING + REALLY_DISLIKE_WORKING + DISLIKE_WORKING + 
##     REALLY_DISLIKE_WORKING + EXCELLENT_HEALTH + VERY_GOOD_HEALTH + 
##     FAIR_HEALTH + POOR_HEALTH + MISSING_DEBTS, family = gaussian(link = "identity"), 
##     data = df_hat_transformed)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -41.700   -5.161   -0.652    4.946   61.596  
## 
## Coefficients: (1 not defined because of singularities)
##                                              Estimate Std. Error t value
## (Intercept)                                 38.284832   4.414084   8.673
## HOSPITAL_EXPENSES                           -1.384162   2.751124  -0.503
## MEDICAID                                   -18.654471   3.249404  -5.741
## VOLUNTEER                                   -0.136441   0.354288  -0.385
## MALE                                         6.723348   0.446214  15.068
## YEARS_EDUCATED                               0.325866   0.310782   1.049
## HOME_VALUE                                   0.021631   0.073188   0.296
## AGE                                         -0.137825   0.069793  -1.975
## ANY_DEPENDENTS                              -0.151732   0.409185  -0.371
## WORK_LIMITING_CONDITION                     -1.430111   0.478175  -2.991
## DEBTS                                        0.171217   0.119116   1.437
## MISSING_WEEKS_PAID_VACATION                  1.719272   0.882618   1.948
## MISSING_REDUCE_PAID_WORK_HOURS              -1.031903   0.900712  -1.146
## MISSING_HOME_VALUE                           0.168668   0.423649   0.398
## ACTIVE_ONCE_WEEKLY                           0.802120   0.420860   1.906
## ACTIVE_DAILY                                 1.210597   0.476196   2.542
## NOT_ACTIVE                                   1.090748   0.386913   2.819
## WORKING                                      3.961806   0.611303   6.481
## REALLY_DISLIKE_WORKING                       0.226865   1.105300   0.205
## DISLIKE_WORKING                             -0.133391   0.538553  -0.248
## EXCELLENT_HEALTH                             0.504548   0.521392   0.968
## VERY_GOOD_HEALTH                            -0.520374   0.358520  -1.451
## FAIR_HEALTH                                 -1.144212   0.470197  -2.433
## POOR_HEALTH                                 -4.798499   1.098964  -4.366
## MISSING_DEBTS                                      NA         NA      NA
## WEEKS_PAID_VACATION:AGE                      0.014781   0.001804   8.191
## HOSPITAL_EXPENSES:AGE                        0.033831   0.045341   0.746
## WEEKS_PAID_VACATION:REDUCE_PAID_WORK_HOURS   0.415226   0.173793   2.389
## MEDICAID:AGE                                 0.214975   0.053874   3.990
## MEDICAID:ANY_DEPENDENTS                      3.670541   1.313923   2.794
## HOSPITAL_EXPENSES:MEDICAID                   4.775081   1.730420   2.759
## WEEKS_PAID_VACATION:RETIRED                  1.536728   0.276813   5.551
## MEDICAID:RETIRED                             4.485591   1.268588   3.536
## VOLUNTEER:RETIRED                           -1.362506   0.760655  -1.791
## MALE:WEEKS_PAID_VACATION                    -0.833576   0.148855  -5.600
## MALE:RETIRED                                -2.418379   0.757621  -3.192
## AGE:YEARS_EDUCATED                          -0.001808   0.005030  -0.359
## REDUCE_PAID_WORK_HOURS:YEARS_EDUCATED       -0.123118   0.034698  -3.548
## YEARS_EDUCATED:RETIRED                      -0.970823   0.051117 -18.992
##                                            Pr(>|t|)    
## (Intercept)                                 < 2e-16 ***
## HOSPITAL_EXPENSES                          0.614896    
## MEDICAID                                   9.93e-09 ***
## VOLUNTEER                                  0.700168    
## MALE                                        < 2e-16 ***
## YEARS_EDUCATED                             0.294440    
## HOME_VALUE                                 0.767579    
## AGE                                        0.048344 *  
## ANY_DEPENDENTS                             0.710789    
## WORK_LIMITING_CONDITION                    0.002795 ** 
## DEBTS                                      0.150661    
## MISSING_WEEKS_PAID_VACATION                0.051476 .  
## MISSING_REDUCE_PAID_WORK_HOURS             0.251989    
## MISSING_HOME_VALUE                         0.690549    
## ACTIVE_ONCE_WEEKLY                         0.056715 .  
## ACTIVE_DAILY                               0.011043 *  
## NOT_ACTIVE                                 0.004833 ** 
## WORKING                                    9.93e-11 ***
## REALLY_DISLIKE_WORKING                     0.837383    
## DISLIKE_WORKING                            0.804388    
## EXCELLENT_HEALTH                           0.333241    
## VERY_GOOD_HEALTH                           0.146712    
## FAIR_HEALTH                                0.014987 *  
## POOR_HEALTH                                1.29e-05 ***
## MISSING_DEBTS                                    NA    
## WEEKS_PAID_VACATION:AGE                    3.20e-16 ***
## HOSPITAL_EXPENSES:AGE                      0.455615    
## WEEKS_PAID_VACATION:REDUCE_PAID_WORK_HOURS 0.016919 *  
## MEDICAID:AGE                               6.69e-05 ***
## MEDICAID:ANY_DEPENDENTS                    0.005231 ** 
## HOSPITAL_EXPENSES:MEDICAID                 0.005809 ** 
## WEEKS_PAID_VACATION:RETIRED                2.97e-08 ***
## MEDICAID:RETIRED                           0.000410 ***
## VOLUNTEER:RETIRED                          0.073313 .  
## MALE:WEEKS_PAID_VACATION                   2.25e-08 ***
## MALE:RETIRED                               0.001421 ** 
## AGE:YEARS_EDUCATED                         0.719332    
## REDUCE_PAID_WORK_HOURS:YEARS_EDUCATED      0.000391 ***
## YEARS_EDUCATED:RETIRED                      < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 119.3468)
## 
##     Null deviance: 1040019  on 5442  degrees of freedom
## Residual deviance:  645070  on 5405  degrees of freedom
## AIC: 41515
## 
## Number of Fisher Scoring iterations: 2
summary(lm.endog.interactions.t.so) # Best one
## 
## Call:
## glm(formula = WEEKLY_WORK_HOURS ~ 1 + +MEDICAID:AGE + MEDICAID:ANY_DEPENDENTS + 
##     MEDICAID:HOSPITAL_EXPENSES + RETIRED:WEEKS_PAID_VACATION + 
##     RETIRED:MEDICAID + MALE:WEEKS_PAID_VACATION + MALE:RETIRED + 
##     YEARS_EDUCATED:AGE + YEARS_EDUCATED:RETIRED + EXCELLENT_HEALTH + 
##     VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH + AGE + ANY_DEPENDENTS + 
##     MEDICAID + RETIRED + VOLUNTEER + MALE + WORK_LIMITING_CONDITION + 
##     WORKING + WEEKS_PAID_VACATION + REDUCE_PAID_WORK_HOURS + 
##     HOSPITAL_EXPENSES + HOME_VALUE + DEBTS + YEARS_EDUCATED + 
##     ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + NOT_ACTIVE + REALLY_LIKE_WORKING + 
##     DISLIKE_WORKING + REALLY_DISLIKE_WORKING + MISSING_WEEKS_PAID_VACATION + 
##     MISSING_REDUCE_PAID_WORK_HOURS + MISSING_HOME_VALUE + MISSING_DEBTS + 
##     I(AGE^2) + I(YEARS_EDUCATED^2) + I(YEARS_EDUCATED^2) * I(AGE^2) + 
##     I(AGE^2) * YEARS_EDUCATED + AGE * I(YEARS_EDUCATED^2) + I(WEEKS_PAID_VACATION^2), 
##     family = gaussian(link = "identity"), data = df_hat_transformed)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -40.574   -5.224   -0.949    4.782   61.013  
## 
## Coefficients: (1 not defined because of singularities)
##                                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                     1.745e+02  4.495e+01   3.883 0.000104 ***
## EXCELLENT_HEALTH                4.566e-01  5.209e-01   0.877 0.380761    
## VERY_GOOD_HEALTH               -5.223e-01  3.572e-01  -1.462 0.143714    
## FAIR_HEALTH                    -1.118e+00  4.686e-01  -2.386 0.017057 *  
## POOR_HEALTH                    -4.673e+00  1.094e+00  -4.272 1.97e-05 ***
## AGE                            -5.001e+00  1.441e+00  -3.471 0.000522 ***
## ANY_DEPENDENTS                 -8.639e-02  4.066e-01  -0.212 0.831734    
## MEDICAID                       -1.745e+01  3.243e+00  -5.381 7.71e-08 ***
## RETIRED                         1.019e+00  2.148e+00   0.475 0.635077    
## VOLUNTEER                      -3.422e-01  3.151e-01  -1.086 0.277407    
## MALE                            6.698e+00  4.449e-01  15.056  < 2e-16 ***
## WORK_LIMITING_CONDITION        -1.362e+00  4.755e-01  -2.863 0.004209 ** 
## WORKING                         3.802e+00  6.109e-01   6.223 5.24e-10 ***
## WEEKS_PAID_VACATION             2.006e+00  1.825e-01  10.993  < 2e-16 ***
## REDUCE_PAID_WORK_HOURS         -8.325e-01  3.585e-01  -2.322 0.020261 *  
## HOSPITAL_EXPENSES               6.224e-01  4.617e-01   1.348 0.177679    
## HOME_VALUE                      2.466e-02  7.316e-02   0.337 0.736086    
## DEBTS                           1.954e-01  1.184e-01   1.651 0.098797 .  
## YEARS_EDUCATED                 -2.277e+01  7.188e+00  -3.167 0.001548 ** 
## ACTIVE_ONCE_WEEKLY              8.013e-01  4.181e-01   1.917 0.055323 .  
## ACTIVE_DAILY                    1.148e+00  4.736e-01   2.424 0.015393 *  
## NOT_ACTIVE                      1.274e+00  3.849e-01   3.311 0.000936 ***
## REALLY_LIKE_WORKING             6.001e-01  3.399e-01   1.766 0.077496 .  
## DISLIKE_WORKING                -8.546e-02  5.444e-01  -0.157 0.875268    
## REALLY_DISLIKE_WORKING          2.311e-01  1.103e+00   0.210 0.834015    
## MISSING_WEEKS_PAID_VACATION     2.578e+00  8.862e-01   2.909 0.003645 ** 
## MISSING_REDUCE_PAID_WORK_HOURS -7.677e-01  8.943e-01  -0.858 0.390666    
## MISSING_HOME_VALUE              2.816e-01  4.219e-01   0.668 0.504460    
## MISSING_DEBTS                          NA         NA      NA       NA    
## I(AGE^2)                        4.165e-02  1.136e-02   3.668 0.000247 ***
## I(YEARS_EDUCATED^2)             8.393e-01  2.873e-01   2.921 0.003500 ** 
## I(WEEKS_PAID_VACATION^2)       -1.260e-01  1.805e-02  -6.978 3.35e-12 ***
## MEDICAID:AGE                    2.016e-01  5.385e-02   3.744 0.000183 ***
## MEDICAID:ANY_DEPENDENTS         3.466e+00  1.306e+00   2.654 0.007981 ** 
## MEDICAID:HOSPITAL_EXPENSES      4.607e+00  1.724e+00   2.673 0.007543 ** 
## RETIRED:WEEKS_PAID_VACATION     1.632e+00  2.708e-01   6.028 1.77e-09 ***
## MEDICAID:RETIRED                4.447e+00  1.302e+00   3.415 0.000642 ***
## WEEKS_PAID_VACATION:MALE       -8.582e-01  1.479e-01  -5.803 6.90e-09 ***
## RETIRED:MALE                   -2.344e+00  7.701e-01  -3.044 0.002347 ** 
## AGE:YEARS_EDUCATED              8.166e-01  2.295e-01   3.558 0.000377 ***
## RETIRED:YEARS_EDUCATED         -1.076e+00  1.473e-01  -7.304 3.20e-13 ***
## I(AGE^2):I(YEARS_EDUCATED^2)    2.623e-04  7.118e-05   3.685 0.000231 ***
## YEARS_EDUCATED:I(AGE^2)        -7.013e-03  1.802e-03  -3.893 0.000100 ***
## AGE:I(YEARS_EDUCATED^2)        -3.023e-02  9.120e-03  -3.315 0.000922 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 117.6941)
## 
##     Null deviance: 1040019  on 5442  degrees of freedom
## Residual deviance:  635548  on 5400  degrees of freedom
## AIC: 41444
## 
## Number of Fisher Scoring iterations: 2
plot(lm.endog.interactions.t.so)

Quantile Analysis

quants <- c(.1, .25, .5, .75)
quantile.model <- map(quants,
                      ~rq(WEEKLY_WORK_HOURS ~ EXCELLENT_HEALTH + VERY_GOOD_HEALTH + FAIR_HEALTH + POOR_HEALTH + AGE + YEARS_EDUCATED + HOSPITAL_EXPENSES + HOME_VALUE + DEBTS + WEEKS_PAID_VACATION + MALE + ANY_DEPENDENTS + WORKING_SPOUSE + HEART_CONDITION + RETIRED + VOLUNTEER + WORKING + WORK_LIMITING_CONDITION + REDUCE_PAID_WORK_HOURS + MEDICARE + MEDICAID + REALLY_LIKE_WORKING + DISLIKE_WORKING + REALLY_DISLIKE_WORKING + ACTIVE_ONCE_WEEKLY + ACTIVE_DAILY + NOT_ACTIVE + MISSING_HOME_VALUE + MISSING_WEEKS_PAID_VACATION + MISSING_REDUCE_PAID_WORK_HOURS,
                      tau = .x,
                      data = df_nonzero)
                      )
## Warning in rq.fit.br(x, y, tau = tau, ...): Solution may be nonunique

## Warning in rq.fit.br(x, y, tau = tau, ...): Solution may be nonunique
# summary(quantile.model[1])
# summary(quantile.model[2])
# summary(quantile.model[3])

stargazer::stargazer(quantile.model, 
                     rq.se = "boot",
                     column.labels = c(paste("tau = ", quants)),
                     dep.var.labels = "Weekly Work Hours | Weekly Work Hours > 0",
                     model.numbers = TRUE,
                     model.names =  FALSE,
                     keep.stat = c('n'),
                     type ='text')
## 
## ===========================================================================
##                                            Dependent variable:             
##                                --------------------------------------------
##                                 Weekly Work Hours | Weekly Work Hours > 0  
##                                 tau = 0.1  tau = 0.25 tau = 0.5  tau = 0.75
##                                    (1)        (2)        (3)        (4)    
## ---------------------------------------------------------------------------
## EXCELLENT_HEALTH                  0.936      0.003      0.190      -0.214  
##                                  (0.791)    (0.327)    (0.217)    (0.597)  
##                                                                            
## VERY_GOOD_HEALTH                  0.427      -0.095     -0.056     -0.309  
##                                  (0.623)    (0.225)    (0.154)    (0.423)  
##                                                                            
## FAIR_HEALTH                      -0.974      -0.525     -0.338    -1.376** 
##                                  (0.878)    (0.336)    (0.239)    (0.543)  
##                                                                            
## POOR_HEALTH                     -9.172***  -5.803***    -1.945   -2.815*** 
##                                  (2.601)    (2.249)    (1.543)    (1.031)  
##                                                                            
## AGE                             -0.177***  -0.141***   -0.051**   -0.102** 
##                                  (0.054)    (0.032)    (0.024)    (0.042)  
##                                                                            
## YEARS_EDUCATED                   -0.070      0.005      0.022      0.114*  
##                                  (0.107)    (0.038)    (0.024)    (0.059)  
##                                                                            
## HOSPITAL_EXPENSES                 0.223      0.125      0.132*     0.137   
##                                  (0.157)    (0.112)    (0.079)    (0.114)  
##                                                                            
## HOME_VALUE                       0.0001     -0.00004   -0.0001    -0.0002  
##                                 (0.0003)    (0.0001)   (0.0001)   (0.0003) 
##                                                                            
## DEBTS                             0.002      0.001      0.0004     0.0002  
##                                  (0.001)    (0.001)    (0.0005)   (0.001)  
##                                                                            
## WEEKS_PAID_VACATION             0.911***    0.455***   0.278**    0.643*** 
##                                  (0.107)    (0.072)    (0.123)    (0.102)  
##                                                                            
## MALE                            6.588***    3.337***   1.599***   5.959*** 
##                                  (0.577)    (0.335)    (0.616)    (0.512)  
##                                                                            
## ANY_DEPENDENTS                   -0.700     -0.626**    -0.037     -0.021  
##                                  (0.718)    (0.275)    (0.148)    (0.467)  
##                                                                            
## WORKING_SPOUSE                    0.027      0.060      0.136      0.522   
##                                  (0.582)    (0.213)    (0.142)    (0.390)  
##                                                                            
## HEART_CONDITION                   0.110      0.406      -0.011     0.085   
##                                  (0.834)    (0.352)    (0.238)    (0.554)  
##                                                                            
## RETIRED                        -15.053***  -16.527*** -15.890*** -11.650***
##                                  (0.889)    (0.763)    (0.889)    (0.777)  
##                                                                            
## VOLUNTEER                        -0.337      -0.294     -0.116     -0.495  
##                                  (0.620)    (0.212)    (0.127)    (0.341)  
##                                                                            
## WORKING                         5.330***    6.524***   4.166***   3.629*** 
##                                  (1.015)    (0.953)    (1.119)    (1.250)  
##                                                                            
## WORK_LIMITING_CONDITION          -1.379    -1.119***    -0.581     -0.841  
##                                  (0.967)    (0.402)    (0.394)    (0.587)  
##                                                                            
## REDUCE_PAID_WORK_HOURS          -2.337***  -1.043***   -0.330*     -0.047  
##                                  (0.739)    (0.265)    (0.184)    (0.386)  
##                                                                            
## MEDICARE                        -2.663**   -2.009***   -0.945*    -1.489** 
##                                  (1.082)    (0.726)    (0.522)    (0.623)  
##                                                                            
## MEDICAID                        -7.706***  -6.426***   -1.873**  -1.753*** 
##                                  (1.012)    (0.943)    (0.779)    (0.579)  
##                                                                            
## REALLY_LIKE_WORKING               0.149      0.097      0.118     1.103*** 
##                                  (0.686)    (0.248)    (0.150)    (0.383)  
##                                                                            
## DISLIKE_WORKING                  1.033*      -0.150     -0.287     -0.446  
##                                  (0.610)    (0.338)    (0.249)    (0.536)  
##                                                                            
## REALLY_DISLIKE_WORKING            2.216      0.835*     -0.006     -0.389  
##                                  (1.675)    (0.490)    (0.313)    (1.340)  
##                                                                            
## ACTIVE_ONCE_WEEKLY                0.711      0.384      0.284     1.147**  
##                                  (0.725)    (0.273)    (0.196)    (0.521)  
##                                                                            
## ACTIVE_DAILY                      0.277      -0.048     0.274     1.996*** 
##                                  (0.796)    (0.298)    (0.260)    (0.683)  
##                                                                            
## NOT_ACTIVE                       1.145*     0.763**     0.449*    1.337*** 
##                                  (0.685)    (0.326)    (0.232)    (0.463)  
##                                                                            
## MISSING_HOME_VALUE               -0.694      -0.156     -0.141     -0.263  
##                                  (0.597)    (0.202)    (0.154)    (0.406)  
##                                                                            
## MISSING_WEEKS_PAID_VACATION       1.261      1.504*     0.862*    1.606**  
##                                  (1.995)    (0.896)    (0.514)    (0.723)  
##                                                                            
## MISSING_REDUCE_PAID_WORK_HOURS  -7.510***  -5.628***    -0.365    2.750*** 
##                                  (2.080)    (1.035)    (0.515)    (0.923)  
##                                                                            
## Constant                        34.197***  37.265***  37.588***  41.396*** 
##                                  (3.826)    (2.115)    (1.576)    (3.063)  
##                                                                            
## ---------------------------------------------------------------------------
## Observations                      5,443      5,443      5,443      5,443   
## ===========================================================================
## Note:                                           *p<0.1; **p<0.05; ***p<0.01
quantile.model.sig <- map(quants,
                      ~rq(WEEKLY_WORK_HOURS ~ FAIR_HEALTH + POOR_HEALTH + AGE + WEEKS_PAID_VACATION + MALE + RETIRED + WORKING + MEDICARE + MEDICAID,
                      tau = .x,
                      data = df_nonzero)
                      )
## Warning in rq.fit.br(x, y, tau = tau, ...): Solution may be nonunique

## Warning in rq.fit.br(x, y, tau = tau, ...): Solution may be nonunique
quantile.model.sig.tidy <- map(quantile.model.sig, ~tidy(.x, se = "boot")) %>%
            bind_rows()

lm.nonzero.sig <- lm(WEEKLY_WORK_HOURS ~ FAIR_HEALTH + POOR_HEALTH + AGE + WEEKS_PAID_VACATION + MALE + RETIRED + WORKING + MEDICARE + MEDICAID,
                     data=df_nonzero)

ols.tidy <- tidy(lm.nonzero.sig)

quantile.model.sig.tidy %>%
  ggplot(aes(x = tau,
             y = estimate
             )
         ) + # the data we want to plot - in our case the tidied quantile regression output
  geom_point(color = "#27408b", 
             size = 3
             ) + # plots the coefficient estimates
  geom_line(color="#27408b", 
            size = 1
            ) + # adds a line connecting the coefficient estimates
  geom_hline(data = ols.tidy, 
             aes(yintercept = estimate), 
             color = "red"
             ) + # add OLS estimate - note it is from another data set which is totally OK
  facet_wrap(~term, 
             scales="free", 
             ncol=2
             ) + # one plot per explanatory variable, subplots over 2 columns
  theme_bw()