library(readxl)
base <- read_excel("base_real_gasto_salud_medexp.xlsx", 
                   sheet = "Datos_taller")

Ejercicio 1. Revisión de literatura sobre modelos Tobit

Ejercicio 2. Exploración del gasto en salud

1.

dim(base)
## [1] 5574   19

observaciones 5574

colSums(is.na(base))
##                    id           gasto_salud        gasto_positivo 
##                     0                     0                     0 
##    log_gasto_positivo         log_coaseguro        plan_deducible 
##                  1293                     0                     0 
##         log_incentivo   log_gasto_deducible     limitacion_fisica 
##                     0                     0                     0 
## enfermedades_cronicas          estado_salud  log_ingreso_familiar 
##                     0                     0                     0 
##    log_tamano_familia        educacion_jefe                  edad 
##                     0                     0                     0 
##                  sexo                 mujer              menor_18 
##                     0                     0                     0 
##      jefe_hogar_negro 
##                     0

Ausencia de valores perdidos en las variables seleccionadas

2.

mean(base$gasto_salud==0)
## [1] 0.2319699

La proporcion de porsonas con gasto_salud igual a cero es de 23.2%

3.

library(tidyverse)
## Warning: package 'forcats' was built under R version 4.5.0
## Warning: package 'lubridate' was built under R version 4.5.0
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
tabla_descriptivos <- base %>%
  summarise(
    across(
      c(gasto_salud,
        log_coaseguro,
        enfermedades_cronicas,
        log_ingreso_familiar,
        educacion_jefe,
        edad),
      list(
        Media   = ~mean(.x, na.rm = TRUE),
        `D.E.`  = ~sd(.x, na.rm = TRUE),
        Mediana = ~median(.x, na.rm = TRUE),
        Minimo  = ~min(.x, na.rm = TRUE),
        Maximo  = ~max(.x, na.rm = TRUE)
      )
  )
  ) %>%
  t() %>%
  as.data.frame() %>%
  rownames_to_column("Estadistico") %>%
  tidyr::separate(Estadistico,
                  into = c("Variable", "Estadistico"),
                  sep = "_(?=[^_]+$)") %>%
  tidyr::pivot_wider(
    names_from = Estadistico,
    values_from = V1
  ) %>%
  select(Variable, Media, `D.E.`, Mediana, Minimo, Maximo)
tabla_descriptivos
## # A tibble: 6 × 6
##   Variable               Media   D.E. Mediana Minimo   Maximo
##   <chr>                  <dbl>  <dbl>   <dbl>  <dbl>    <dbl>
## 1 gasto_salud           170.   803.     32.3  0      39182.  
## 2 log_coaseguro           2.42   2.04    3.26 0          4.56
## 3 enfermedades_cronicas  11.2    6.79   10.6  0         58.6 
## 4 log_ingreso_familiar    8.70   1.22    8.98 0         10.3 
## 5 educacion_jefe         11.9    2.84   12    0         25   
## 6 edad                   25.6   16.7    24.1  0.0253    63.3

4.

ggplot(base,
       aes(gasto_salud))+
geom_histogram(bins=40)+
theme_minimal()

Gasto positivo

ggplot(filter(base,gasto_salud>0),
       aes(gasto_salud))+
geom_histogram(bins=40)+
theme_minimal()

Variacion logaritmica

ggplot(filter(base,gasto_salud>0),
       aes(log(gasto_salud)))+
geom_histogram(bins=100)+
theme_minimal()

Ejercicio 3. Probabilidad de incurrir en gasto

base$edad2 <- base$edad^2

1.

Pr(gastoi >0|Xi)=Φ(B0+B1coasi+B2edadi+B3edad2i+B4limi+B5enfi+B6ing+B7educiefe+B8mujeri+B9menor_18+Ui)

modelo_probit <- glm(gasto_positivo ~ log_coaseguro + edad + edad2 +         
                       limitacion_fisica+
                       enfermedades_cronicas+
                       log_ingreso_familiar+
                       educacion_jefe+
                       mujer+
                       menor_18,
                     family=binomial(link="probit"),
                     data=base)

summary(modelo_probit)
## 
## Call:
## glm(formula = gasto_positivo ~ log_coaseguro + edad + edad2 + 
##     limitacion_fisica + enfermedades_cronicas + log_ingreso_familiar + 
##     educacion_jefe + mujer + menor_18, family = binomial(link = "probit"), 
##     data = base)
## 
## Coefficients:
##                         Estimate Std. Error z value Pr(>|z|)    
## (Intercept)           -4.172e-01  1.905e-01  -2.190   0.0285 *  
## log_coaseguro         -1.006e-01  9.654e-03 -10.424  < 2e-16 ***
## edad                  -2.808e-02  6.820e-03  -4.117 3.84e-05 ***
## edad2                  4.393e-04  9.384e-05   4.681 2.85e-06 ***
## limitacion_fisica      1.365e-01  5.779e-02   2.362   0.0182 *  
## enfermedades_cronicas  2.774e-02  3.466e-03   8.003 1.21e-15 ***
## log_ingreso_familiar   9.692e-02  1.524e-02   6.360 2.02e-10 ***
## educacion_jefe         5.236e-02  7.170e-03   7.302 2.83e-13 ***
## mujer                  2.194e-01  3.932e-02   5.579 2.42e-08 ***
## menor_18              -3.673e-01  8.269e-02  -4.443 8.89e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 6038.3  on 5573  degrees of freedom
## Residual deviance: 5568.8  on 5564  degrees of freedom
## AIC: 5588.8
## 
## Number of Fisher Scoring iterations: 5

2.

La prueba de significancia individual se realizó contrastando H0:βj=0 frente a H1:βj≠0 para cada coeficiente del modelo Probit, utilizando un nivel de significancia del 5%. Los resultados muestran que todas las variables explicativas presentan valores p inferiores a 0.05, por lo que se rechaza la hipótesis nula en todos los casos. En consecuencia, el logaritmo del coaseguro, la edad, la edad al cuadrado, la limitación física, las enfermedades crónicas, el logaritmo del ingreso familiar, la educación del jefe del hogar, el sexo (mujer) y la condición de ser menor de 18 años influyen de manera estadísticamente significativa sobre la probabilidad de incurrir en gasto en salud.

3.

library(marginaleffects)
avg_slopes(modelo_probit)
## 
##                   Term Contrast  Estimate Std. Error      z Pr(>|z|)    S
##  edad                     dY/dX -0.007881   1.91e-03  -4.13   <0.001 14.8
##  edad2                    dY/dX  0.000123   2.62e-05   4.70   <0.001 18.6
##  educacion_jefe           dY/dX  0.014697   1.99e-03   7.39   <0.001 42.6
##  enfermedades_cronicas    dY/dX  0.007786   9.61e-04   8.10   <0.001 50.7
##  limitacion_fisica        1 - 0  0.037124   1.52e-02   2.45   0.0145  6.1
##  log_coaseguro            dY/dX -0.028248   2.65e-03 -10.67   <0.001 85.9
##  log_ingreso_familiar     dY/dX  0.027205   4.23e-03   6.43   <0.001 32.8
##  menor_18                 1 - 0 -0.105265   2.40e-02  -4.39   <0.001 16.4
##  mujer                    1 - 0  0.061879   1.11e-02   5.58   <0.001 25.3
##      2.5 %    97.5 %
##  -1.16e-02 -0.004145
##   7.19e-05  0.000175
##   1.08e-02  0.018596
##   5.90e-03  0.009669
##   7.37e-03  0.066882
##  -3.34e-02 -0.023059
##   1.89e-02  0.035503
##  -1.52e-01 -0.058300
##   4.01e-02  0.083612
## 
## Type: response

Edad (-0.007881): Un año adicional de edad reduce, en promedio, la probabilidad de realizar gasto en salud en 0.79 puntos porcentuales, manteniendo constantes las demás variables. Sin embargo, este efecto debe analizarse conjuntamente con la variable edad al cuadrado, ya que la relación no es lineal.

Edad² (0.000123): El coeficiente positivo de la edad al cuadrado indica que el efecto negativo de la edad disminuye a medida que las personas envejecen. Es decir, la probabilidad de incurrir en gasto en salud comienza a aumentar nuevamente en edades más avanzadas, reflejando una relación en forma de U entre la edad y la probabilidad de gasto.

Educación del jefe (0.014697): Cada año adicional de educación del jefe del hogar incrementa, en promedio, la probabilidad de realizar gasto en salud en 1.47 puntos porcentuales. Esto puede deberse a que hogares con mayor nivel educativo tienen mayor conocimiento sobre la importancia de la atención médica y hacen un mayor uso de los servicios de salud.

Enfermedades crónicas (0.007786): Cada enfermedad crónica adicional aumenta la probabilidad de incurrir en gasto en salud en 0.78 puntos porcentuales. Este resultado es consistente con la teoría, ya que las personas con enfermedades crónicas requieren controles, medicamentos y tratamientos médicos con mayor frecuencia.

Limitación física (0.037124): Las personas con alguna limitación física presentan una probabilidad 3.71 puntos porcentuales mayor de realizar gasto en salud que aquellas sin limitaciones físicas, manteniendo constantes las demás variables. Esto refleja una mayor necesidad de atención médica y rehabilitación.

Logaritmo del coaseguro (-0.028248): Un incremento de una unidad en el logaritmo del coaseguro reduce, en promedio, la probabilidad de realizar gasto en salud en 2.82 puntos porcentuales. Económicamente, un mayor coaseguro incrementa el costo que debe asumir el usuario por los servicios médicos, lo que desincentiva su utilización.

Logaritmo del ingreso familiar (0.027205): Un aumento de una unidad en el logaritmo del ingreso familiar incrementa la probabilidad de realizar gasto en salud en 2.72 puntos porcentuales. Esto sugiere que los hogares con mayores ingresos tienen una mayor capacidad económica para acceder a servicios médicos y cubrir sus costos.

Menor de 18 años (-0.105265): Los individuos menores de 18 años tienen una probabilidad 10.53 puntos porcentuales menor de realizar gasto en salud que los adultos, manteniendo constantes las demás variables. Esto puede deberse a que, en promedio, los menores presentan un mejor estado de salud y requieren menos atención médica.

Mujer (0.061879): Ser mujer aumenta la probabilidad de incurrir en gasto en salud en 6.19 puntos porcentuales respecto a los hombres, manteniendo constantes las demás variables. Este resultado puede explicarse por una mayor utilización de los servicios de salud preventivos, controles médicos y atención relacionada con la salud reproductiva.

4.

Persona 1

persona1 <- data.frame(

log_coaseguro=log(0.30+1),

edad=40,

edad2=40^2,

limitacion_fisica=0,

enfermedades_cronicas=1,

log_ingreso_familiar=log(3000),

educacion_jefe=15,

mujer=1,

menor_18=0
)

predict(modelo_probit,
        newdata=persona1,
        type="response")
##         1 
## 0.8275846

Persona 2

 persona2 <- data.frame(

log_coaseguro=log(0+1),

edad=60,

edad2=60^2,

limitacion_fisica=1,

enfermedades_cronicas=2,

log_ingreso_familiar=log(800),

educacion_jefe=10,

mujer=0,

menor_18=0
)

predict(modelo_probit,
        newdata=persona2,
        type="response")
##         1 
## 0.8004256

La persona 1 presenta una probabilidad ligeramente superior de incurrir en gasto en salud en comparación con la persona 2.

Ejercicio 4. Modelo Tobit censurado en cero

1.

library(AER)
## Warning: package 'AER' was built under R version 4.5.0
## Cargando paquete requerido: car
## Warning: package 'car' was built under R version 4.5.0
## Cargando paquete requerido: carData
## Warning: package 'carData' was built under R version 4.5.0
## 
## Adjuntando el paquete: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
## The following object is masked from 'package:purrr':
## 
##     some
## Cargando paquete requerido: lmtest
## Warning: package 'lmtest' was built under R version 4.5.0
## Cargando paquete requerido: zoo
## 
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Cargando paquete requerido: sandwich
## Warning: package 'sandwich' was built under R version 4.5.0
## Cargando paquete requerido: survival
library(marginaleffects)

modelo_tobit <- tobit(gasto_salud~
                        log_coaseguro+
                        edad+
                        edad2+
                        limitacion_fisica+
                        enfermedades_cronicas+
                        log_ingreso_familiar+
                        educacion_jefe+
                        mujer+
                        menor_18,
                      left=0,
                      data=base)
## Warning in survreg.fit(X, Y, weights, offset, init = init, controlvals =
## control, : Ran out of iterations and did not converge
summary(modelo_tobit)
## 
## Call:
## tobit(formula = gasto_salud ~ log_coaseguro + edad + edad2 + 
##     limitacion_fisica + enfermedades_cronicas + log_ingreso_familiar + 
##     educacion_jefe + mujer + menor_18, left = 0, data = base)
## 
## Observations:
##          Total  Left-censored     Uncensored Right-censored 
##           5574           1293           4281              0 
## 
## Coefficients:
##                         Estimate Std. Error z value Pr(>|z|)    
## (Intercept)           -459.93772  102.25238  -4.498 6.86e-06 ***
## log_coaseguro          -31.35261    4.71828  -6.645 3.03e-11 ***
## edad                    -3.29138    3.48881  -0.943 0.345471    
## edad2                    0.10223    0.04595   2.225 0.026097 *  
## limitacion_fisica      110.77835   23.68092   4.678 2.90e-06 ***
## enfermedades_cronicas   10.63926    1.54278   6.896 5.34e-12 ***
## log_ingreso_familiar    34.72774    8.77979   3.955 7.64e-05 ***
## educacion_jefe          10.29890    3.52397   2.923 0.003472 ** 
## mujer                   73.64349   19.15996   3.844 0.000121 ***
## menor_18              -123.21664   43.85259  -2.810 0.004957 ** 
## Log(scale)               6.54727    0.01093 599.111  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Scale: 697.3 
## 
## Gaussian distribution
## Number of Newton-Raphson Iterations: 30 
## Log-likelihood: -3.515e+04 on 11 Df
## Wald-statistic: 361.1 on 9 Df, p-value: < 2.22e-16

2.

Los coeficientes del Tobit representan el efecto de cada variable explicativa sobre la variable latente de gasto en salud (y∗), no directamente sobre el gasto observado. Debido a la censura en cero, el efecto sobre el gasto observado depende tanto del cambio en la probabilidad de tener gasto positivo como del cambio en el nivel esperado del gasto para quienes sí gastan

3.

avg_slopes(modelo_tobit)
## 
##                   Term Contrast Estimate Std. Error      z Pr(>|z|)    S
##  edad                     dY/dX   -3.291      3.489 -0.943  0.34547  1.5
##  edad2                    dY/dX    0.102      0.046  2.225  0.02610  5.3
##  educacion_jefe           dY/dX   10.299      3.524  2.923  0.00347  8.2
##  enfermedades_cronicas    dY/dX   10.639      1.543  6.896  < 0.001 37.4
##  limitacion_fisica        1 - 0  110.778     23.681  4.678  < 0.001 18.4
##  log_coaseguro            dY/dX  -31.353      4.718 -6.645  < 0.001 34.9
##  log_ingreso_familiar     dY/dX   34.728      8.780  3.955  < 0.001 13.7
##  menor_18                 1 - 0 -123.217     43.853 -2.810  0.00496  7.7
##  mujer                    1 - 0   73.643     19.160  3.844  < 0.001 13.0
##      2.5 %  97.5 %
##   -10.1293   3.547
##     0.0122   0.192
##     3.3922  17.206
##     7.6155  13.663
##    64.3646 157.192
##   -40.6005 -22.105
##    17.5197  51.936
##  -209.1661 -37.267
##    36.0907 111.196
## 
## Type: response

Edad -3.291: Un año adicional de edad reduce el gasto esperado en salud en aproximadamente 3.29 dólares, aunque este efecto debe interpretarse junto con la edad al cuadrado, debido a la relación no lineal entre edad y gasto.

Edad² 0.102: El efecto positivo de la edad al cuadrado indica que, a edades más avanzadas, la reducción inicial del gasto se compensa y el gasto en salud tiende a aumentar. Esto sugiere una relación en forma de U entre edad y gasto médico.

Educación del jefe del hogar 10.299: Un año adicional de educación del jefe aumenta el gasto esperado en salud en aproximadamente 10.30 dólares. Esto indica que los hogares con mayor educación pueden tener mayor información sobre prevención y mayor utilización de servicios médicos.

Enfermedades crónicas 10.639: Cada enfermedad crónica adicional incrementa el gasto esperado en salud en aproximadamente 10.64 dólares. Este resultado es consistente con que las enfermedades persistentes requieren más consultas, tratamientos y medicamentos.

Limitación física 110.778: Las personas con limitaciones físicas gastan en promedio 110.78 dólares más en salud que quienes no presentan limitaciones, debido a una mayor necesidad de atención médica, rehabilitación y tratamientos especializados.

Log(coaseguro) -31.353: Un aumento en el coaseguro reduce el gasto esperado en salud en aproximadamente 31.35 dólares. Económicamente, mayores costos asumidos por el paciente pueden desincentivar la utilización de servicios médicos.

Log(ingreso familiar) 34.728; Un aumento de una unidad en el logaritmo del ingreso familiar incrementa el gasto esperado en salud en aproximadamente 34.73 dólares. Esto refleja que los hogares con mayores recursos tienen mayor capacidad para acceder y pagar servicios médicos.

Menor de 18 años -123.217: Los menores de 18 años presentan un gasto esperado en salud aproximadamente 123.22 dólares menor respecto a los adultos. Esto puede relacionarse con una menor frecuencia de enfermedades crónicas y menor uso de servicios médicos.

Mujer 73.643: Ser mujer aumenta el gasto esperado en salud en aproximadamente 73.64 dólares frente a los hombres. Esto puede explicarse por una mayor utilización de servicios preventivos, controles médicos y atención asociada a salud reproductiva

4.

library(modelsummary)

modelsummary(
 list(Probit=modelo_probit,
      Tobit=modelo_tobit))
## Registered S3 method overwritten by 'future':
##   method               from      
##   all.equal.connection parallelly
Probit Tobit
(Intercept) -0.417 -459.938
(0.191) (102.252)
log_coaseguro -0.101 -31.353
(0.010) (4.718)
edad -0.028 -3.291
(0.007) (3.489)
edad2 0.000 0.102
(0.000) (0.046)
limitacion_fisica 0.137 110.778
(0.058) (23.681)
enfermedades_cronicas 0.028 10.639
(0.003) (1.543)
log_ingreso_familiar 0.097 34.728
(0.015) (8.780)
educacion_jefe 0.052 10.299
(0.007) (3.524)
mujer 0.219 73.643
(0.039) (19.160)
menor_18 -0.367 -123.217
(0.083) (43.853)
Num.Obs. 5574 5574
AIC 5588.8 70322.2
BIC 5655.1 70395.1
Log.Lik. -2784.423
F 46.709
RMSE 0.40 810.27

5.

No necesariamente todos los ceros corresponden a censura. Algunos individuos realmente no demandaron servicios médicos durante el año, mientras que otros sí habrían demandado atención pero enfrentaron restricciones económicas, de acceso o de información. Por ello, asumir que todos los ceros provienen de una única variable latente puede ser una simplificación excesiva.

Ejercicio 5. Muestra positiva y regresión truncada

1.

base_pos <- filter(base,
                   gasto_salud>0)

nrow(base_pos)
## [1] 4281

observaciones para las cuales gasto_salud > 0.

2.

modelo_mco <- lm(gasto_salud~
                   log_coaseguro+
                   edad+
                   edad2+
                   limitacion_fisica+
                   enfermedades_cronicas+
                   log_ingreso_familiar+
                   educacion_jefe+
                   mujer+
                   menor_18,
                 data=base_pos)

summary(modelo_mco)
## 
## Call:
## lm(formula = gasto_salud ~ log_coaseguro + edad + edad2 + limitacion_fisica + 
##     enfermedades_cronicas + log_ingreso_familiar + educacion_jefe + 
##     mujer + menor_18, data = base_pos)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
##   -705   -208   -102    -26  38742 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           -62.46190  148.21284  -0.421  0.67346    
## log_coaseguro          -5.37247    6.74461  -0.797  0.42575    
## edad                    5.11715    4.89925   1.044  0.29632    
## edad2                  -0.03440    0.06472  -0.531  0.59514    
## limitacion_fisica     166.17830   38.02634   4.370 1.27e-05 ***
## enfermedades_cronicas   6.96034    2.16837   3.210  0.00134 ** 
## log_ingreso_familiar   10.30468   13.07907   0.788  0.43081    
## educacion_jefe          2.06796    5.06512   0.408  0.68309    
## mujer                  -9.21212   28.46141  -0.324  0.74620    
## menor_18              -72.49166   63.38013  -1.144  0.25279    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 900.8 on 4271 degrees of freedom
## Multiple R-squared:  0.02195,    Adjusted R-squared:  0.01989 
## F-statistic: 10.65 on 9 and 4271 DF,  p-value: < 2.2e-16

3.

modelo_truncado <-
truncreg(gasto_salud~
           log_coaseguro+
           edad+
           edad2+
           limitacion_fisica+
           enfermedades_cronicas+
           log_ingreso_familiar+
           educacion_jefe+
           mujer+
           menor_18,
         point=0,
         direction="left",
         data=base_pos)

summary(modelo_truncado)
## Warning in sqrt(diag(vcov(object))): Se han producido NaNs
## 
## Call:
## truncreg(formula = gasto_salud ~ log_coaseguro + edad + edad2 + 
##     limitacion_fisica + enfermedades_cronicas + log_ingreso_familiar + 
##     educacion_jefe + mujer + menor_18, data = base_pos, point = 0, 
##     direction = "left")
## 
## BFGS maximization method
## 58 iterations, 0h:0m:0s 
## g'(-H)^-1g =  -148 
##  
## 
## 
## Coefficients :
##                         Estimate Std. Error  t-value  Pr(>|t|)    
## (Intercept)            -391.5113  4938.1694  -0.0793  0.936808    
## log_coaseguro          -800.0113   255.5311  -3.1308  0.001743 ** 
## edad                   -159.2890   216.7371  -0.7349  0.462376    
## edad2                     7.4720     2.4524   3.0468  0.002313 ** 
## limitacion_fisica       338.3707  1043.3625   0.3243  0.745705    
## enfermedades_cronicas   516.7218    51.8395   9.9677 < 2.2e-16 ***
## log_ingreso_familiar  -2483.5564   146.0467 -17.0052 < 2.2e-16 ***
## educacion_jefe        -2485.4575        NaN      NaN       NaN    
## mujer                  -113.2108  1124.0531  -0.1007  0.919775    
## menor_18               -546.7140  3019.8651  -0.1810  0.856337    
## sigma                  3125.2827        NaN      NaN       NaN    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Log-Likelihood: -27425 on 11 Df
library(modelsummary)

modelsummary(
 list(MCO=modelo_mco,
      Truncado=modelo_truncado))
MCO Truncado
(Intercept) -62.462 -391.511
(148.213) (4938.169)
log_coaseguro -5.372 -800.011
(6.745) (255.531)
edad 5.117 -159.289
(4.899) (216.737)
edad2 -0.034 7.472
(0.065) (2.452)
limitacion_fisica 166.178 338.371
(38.026) (1043.363)
enfermedades_cronicas 6.960 516.722
(2.168) (51.839)
log_ingreso_familiar 10.305 -2483.556
(13.079) (146.047)
educacion_jefe 2.068 -2485.457
(5.065)
mujer -9.212 -113.211
(28.461) (1124.053)
menor_18 -72.492 -546.714
(63.380) (3019.865)
sigma 3125.283
Num.Obs. 4281 4281
R2 0.022
R2 Adj. 0.020
AIC 70410.7 54871.1
BIC 70480.7 54941.1
Log.Lik. -35194.365
F 10.650
RMSE 899.76 46675.02

4

Al comparar los resultados de la regresión por MCO con los de la regresión truncada, se observa que algunas variables mantienen el mismo signo, mientras que otras cambian de dirección. En ambos modelos, log_coaseguro, limitación física, enfermedades crónicas, mujer y menor de 18 años conservan el mismo signo, aunque en la regresión truncada los coeficientes son considerablemente mayores en valor absoluto. En cambio, las variables edad, edad², log del ingreso familiar y educación del jefe del hogar cambian de signo, lo que indica que al corregir el truncamiento de los datos la relación entre estas variables y la variable dependiente se modifica.

En cuanto a la magnitud de los coeficientes, la regresión truncada presenta valores mucho más altos que el modelo MCO. Esto ocurre porque el modelo truncado tiene en cuenta que la muestra está limitada por un punto de truncamiento, mientras que MCO ignora esta característica. Como resultado, el modelo truncado ajusta los coeficientes para corregir el sesgo que puede generar el uso de una muestra truncada.

Respecto a la significancia estadística, en el modelo MCO las variables enfermedades crónicas y limitación física muestran mayor evidencia de estar asociadas con la variable dependiente. Sin embargo, en la regresión truncada los errores estándar aumentan considerablemente, lo que hace que la mayoría de los coeficientes pierdan significancia estadística. Esto indica que, aunque las magnitudes de los efectos son mayores, existe una mayor incertidumbre sobre las estimaciones.

5

avg_slopes(modelo_truncado)
## The variance-covariance matrix is not positive definite. Returning the
##   nearest positive definite matrix now.
##   This ensures that eigenvalues are all positive real numbers, and
##   thereby, for instance, it is possible to calculate standard errors for
##   all relevant parameters.
## 
##                   Term Contrast Estimate Std. Error        z Pr(>|z|)     S
##  edad                     dY/dX  -159.29     228.12  -0.6983  0.48501   1.0
##  edad2                    dY/dX     7.47       2.81   2.6598  0.00782   7.0
##  educacion_jefe           dY/dX -2485.46     231.82 -10.7213  < 0.001  86.7
##  enfermedades_cronicas    dY/dX   516.72      71.34   7.2431  < 0.001  41.1
##  limitacion_fisica        1 - 0   338.37    1149.06   0.2945  0.76839   0.4
##  log_coaseguro            dY/dX  -800.01     256.04  -3.1246  0.00178   9.1
##  log_ingreso_familiar     dY/dX -2483.56     196.12 -12.6633  < 0.001 119.7
##  menor_18                 1 - 0  -546.71    3126.70  -0.1749  0.86119   0.2
##  mujer                    1 - 0  -113.21    1138.85  -0.0994  0.92081   0.1
##     2.5 % 97.5 %
##   -606.40    288
##      1.97     13
##  -2939.82  -2031
##    376.90    657
##  -1913.75   2590
##  -1301.84   -298
##  -2867.95  -2099
##  -6674.94   5582
##  -2345.32   2119
## 
## Type: response