Carga de datos

datos <- read.csv("C:/Users/sarit/Downloads/WA_Fn-UseC_-HR-Employee-Attrition.csv", header=TRUE)

Modelo 1 - En origen

modelo1 <- lm(MonthlyIncome ~ Age + TotalWorkingYears + YearsAtCompany + JobLevel + DistanceFromHome + Education, data=datos)
summary(modelo1)
## 
## Call:
## lm(formula = MonthlyIncome ~ Age + TotalWorkingYears + YearsAtCompany + 
##     JobLevel + DistanceFromHome + Education, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5501.4  -927.6    72.3   762.4  4029.0 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       -1378.939    203.337  -6.782 1.72e-11 ***
## Age                  -9.331      5.816  -1.604  0.10883    
## TotalWorkingYears    61.062     10.161   6.009 2.35e-09 ***
## YearsAtCompany      -15.209      8.105  -1.877  0.06078 .  
## JobLevel           3792.925     54.925  69.057  < 2e-16 ***
## DistanceFromHome    -12.746      4.652  -2.740  0.00622 ** 
## Education           -23.001     37.651  -0.611  0.54136    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1445 on 1463 degrees of freedom
## Multiple R-squared:  0.9062, Adjusted R-squared:  0.9058 
## F-statistic:  2355 on 6 and 1463 DF,  p-value: < 2.2e-16

Modelo 2 - Semi-logarítmico

modelo2 <- lm(log(MonthlyIncome) ~ Age + TotalWorkingYears + YearsAtCompany + JobLevel + DistanceFromHome + Education, data=datos)
summary(modelo2)
## 
## Call:
## lm(formula = log(MonthlyIncome) ~ Age + TotalWorkingYears + YearsAtCompany + 
##     JobLevel + DistanceFromHome + Education, data = datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.99047 -0.16108  0.00605  0.16951  0.73597 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       7.336e+00  3.648e-02 201.076   <2e-16 ***
## Age               1.242e-03  1.043e-03   1.190   0.2341    
## TotalWorkingYears 2.665e-03  1.823e-03   1.462   0.1440    
## YearsAtCompany    1.275e-03  1.454e-03   0.877   0.3806    
## JobLevel          5.272e-01  9.855e-03  53.496   <2e-16 ***
## DistanceFromHome  2.603e-05  8.347e-04   0.031   0.9751    
## Education         1.482e-02  6.756e-03   2.194   0.0284 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2593 on 1463 degrees of freedom
## Multiple R-squared:  0.8484, Adjusted R-squared:  0.8477 
## F-statistic:  1364 on 6 and 1463 DF,  p-value: < 2.2e-16

Modelo 3 - Log-log

modelo3 <- lm(log(MonthlyIncome) ~ log(Age) + log(TotalWorkingYears+1) + log(YearsAtCompany+1) + JobLevel + DistanceFromHome + Education, data=datos)
summary(modelo3)
## 
## Call:
## lm(formula = log(MonthlyIncome) ~ log(Age) + log(TotalWorkingYears + 
##     1) + log(YearsAtCompany + 1) + JobLevel + DistanceFromHome + 
##     Education, data = datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.98905 -0.16355  0.01392  0.15706  0.72792 
## 
## Coefficients:
##                              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                 7.4177745  0.1129634  65.665   <2e-16 ***
## log(Age)                   -0.0811648  0.0366332  -2.216   0.0269 *  
## log(TotalWorkingYears + 1)  0.1695769  0.0178771   9.486   <2e-16 ***
## log(YearsAtCompany + 1)     0.0074854  0.0111632   0.671   0.5026    
## JobLevel                    0.4828471  0.0082755  58.347   <2e-16 ***
## DistanceFromHome           -0.0001992  0.0007991  -0.249   0.8031    
## Education                   0.0095436  0.0065050   1.467   0.1426    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2481 on 1463 degrees of freedom
## Multiple R-squared:  0.8611, Adjusted R-squared:  0.8605 
## F-statistic:  1512 on 6 and 1463 DF,  p-value: < 2.2e-16

Normalidad de los residuos

shapiro.test(residuals(modelo1))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(modelo1)
## W = 0.99159, p-value = 1.904e-07

Multicolinealidad

library(car)
vif(modelo1)
##               Age TotalWorkingYears    YearsAtCompany          JobLevel 
##          1.985684          4.397573          1.734587          2.600508 
##  DistanceFromHome         Education 
##          1.000599          1.046103

Heterocedasticidad

library(lmtest)
bptest(modelo1)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo1
## BP = 84.069, df = 6, p-value = 5.146e-16

Corrección con errores robustos

library(sandwich)
coeftest(modelo1, vcov = vcovHC(modelo1, type = "HC1"))
## 
## t test of coefficients:
## 
##                     Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)       -1378.9387   189.2262 -7.2873 5.155e-13 ***
## Age                  -9.3307     5.3997 -1.7280  0.084201 .  
## TotalWorkingYears    61.0623    11.9708  5.1009 3.822e-07 ***
## YearsAtCompany      -15.2090     9.6917 -1.5693  0.116798    
## JobLevel           3792.9249    57.7151 65.7180 < 2.2e-16 ***
## DistanceFromHome    -12.7458     4.7175 -2.7018  0.006976 ** 
## Education           -23.0011    38.9400 -0.5907  0.554825    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1