3  Variables dicotómicas y cambio estructural

ImportanteObjetivos de aprendizaje

Al finalizar este capítulo, el estudiante será capaz de:

  • Identificar cuándo es necesario incorporar información cualitativa en un modelo de regresión mediante variables dicotómicas.
  • Definir e interpretar una variable dicotómica, distinguiendo entre la categoría representada por el valor 1 y la categoría de referencia representada por el valor 0.
  • Incorporar variables dicotómicas junto con variables cuantitativas en un modelo de regresión y explicar la interpretación de sus coeficientes manteniendo constantes las restantes variables.
  • Reconocer y evitar la trampa de las variables ficticias, identificando la situación de colinealidad perfecta que aparece al introducir todas las categorías junto con el término independiente.
  • Interpretar los coeficientes de las variables dicotómicas cuando existen varias categorías, entendiendo que cada coeficiente representa una diferencia respecto a la categoría de referencia. Analizar diferencias en la estructura del modelo entre grupos mediante variables dicotómicas e interacciones entre variables cualitativas y cuantitativas.
  • Plantear y contrastar hipótesis de igualdad de parámetros entre grupos, utilizando variables dicotómicas para analizar posibles cambios estructurales.
  • Interpretar correctamente una variable dicotómica cuando la variable dependiente está expresada en logaritmos.
  • Aplicar estos conceptos a problemas de economía, finanzas y contabilidad, utilizando ejemplos como las diferencias en el ROA entre empresas de distintas provincias y evaluando si dichas diferencias permanecen después de controlar por características financieras como el endeudamiento y la liquidez.

3.1 Introducción

Hasta ahora hemos trabajado fundamentalmente con variables cuantitativas. Sin embargo, en muchas aplicaciones de economía, finanzas y contabilidad también resulta necesario incorporar al modelo información de carácter cualitativo.

Por ejemplo, en el análisis de la rentabilidad empresarial puede ser interesante comprobar si las empresas presentan un comportamiento diferente dependiendo de la provincia en la que están ubicadas. Para ello, podemos introducir en el modelo variables dicotómicas, también denominadas variables ficticias o dummies.

Una variable dicotómica únicamente puede tomar dos valores: 1 cuando se cumple una determinada característica y 0 cuando no se cumple. De esta forma, permite incorporar al modelo información cualitativa.

3.2 Un ejemplo con dos categorías: empresas de Sevilla y del resto de Andalucía

Para introducir esta idea, supongamos que queremos analizar si existen diferencias en el ROA entre las empresas cuya sede se encuentra en Sevilla y las empresas situadas en el resto de provincias andaluzas.

Definimos la variable dicotómica:

\[ D_{SEV,i}= \begin{cases} 1 & \text{si la empresa }i\text{ pertenece a Sevilla}\\ 0 & \text{si la empresa }i\text{ pertenece a otra provincia} \end{cases} \]

Podemos plantear inicialmente el siguiente modelo:

\[ ROA_i=\beta_0+\beta_1D_{SEV,i}+u_i. \]

En este caso, cuando una empresa no pertenece a Sevilla, (\(D_{SEV,i}=0\)), por lo que:

\[ E(ROA_i|D_{SEV,i}=0)=\beta_0. \]

Por el contrario, para una empresa situada en Sevilla, (\(D_{SEV,i}=1\)), de manera que:

\[ E(ROA_i|D_{SEV,i}=1)=\beta_0+\beta_1. \]

Por tanto, (\(\beta_0\)) representa el ROA medio esperado de las empresas que no pertenecen a Sevilla, mientras que (\(\beta_1\)) mide la diferencia en el ROA medio entre las empresas de Sevilla y las del resto de Andalucía.

Esta interpretación permite entender las variables dicotómicas de una manera especialmente sencilla: el coeficiente asociado a una variable dicotómica mide la diferencia respecto a la categoría que se ha tomado como referencia.

TipBase de datos 2: El IBEX35
Código
library(readxl)
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
Código
datos <- read_excel("data/BD_SABI.xlsx", sheet = "Datos")
empresas_provincia <- datos %>%
  count(PROVINCIA, name = "n_empresas") %>%
  arrange(desc(n_empresas))

empresas_provincia
# A tibble: 8 × 2
  PROVINCIA n_empresas
  <chr>          <int>
1 Almería           30
2 Sevilla           24
3 Málaga            11
4 Córdoba           10
5 Granada            9
6 Huelva             7
7 Cádiz              5
8 Jaen               4
Código
datos <- datos %>%
  mutate(
    D_SEV = ifelse(PROVINCIA == "Sevilla", 1, 0)
  )

Y se puede estimar el modelo:

Código
modelo_sevilla=lm(ROA~+D_SEV, data=datos)
summary(modelo_sevilla)

Call:
lm(formula = ROA ~ +D_SEV, data = datos)

Residuals:
    Min      1Q  Median      3Q     Max 
-18.919  -3.829  -1.325   3.315  23.888 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   7.8718     0.7806  10.084   <2e-16 ***
D_SEV        -0.7768     1.5934  -0.487    0.627    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.805 on 98 degrees of freedom
Multiple R-squared:  0.002419,  Adjusted R-squared:  -0.00776 
F-statistic: 0.2376 on 1 and 98 DF,  p-value: 0.627

3.3 Variables dicotómicas junto con variables cuantitativas

La variable dicotómica también puede incorporarse a un modelo que incluya otras variables explicativas cuantitativas. Por ejemplo, podemos analizar el ROA teniendo en cuenta el endeudamiento y la liquidez de las empresas:

\[ ROA_i= \beta_0+ \beta_1D_{SEV,i}+ \beta_2LEV_i+ \beta_3LIQ_i+ u_i. \]

En este caso, para una empresa que no pertenece a Sevilla:

\[ E(ROA_i|D_{SEV,i}=0,LEV_i,LIQ_i)=\beta_0+\beta_2LEV_i+\beta_3LIQ_i. \]

Para una empresa de Sevilla:

\[ E(ROA_i|D_{SEV,i}=1,LEV_i,LIQ_i)=\beta_0+\beta_1+\beta_2LEV_i+\beta_3LIQ_i. \]

La interpretación de (\(\beta_1\)) cambia ligeramente respecto al modelo anterior. Ahora representa la diferencia esperada en el ROA entre una empresa de Sevilla y otra que no pertenece a Sevilla, manteniendo constantes el endeudamiento y la liquidez.

Por tanto, la variable dicotómica permite analizar si, una vez controladas las características financieras de las empresas, sigue existiendo una diferencia asociada a su localización.

Este tipo de especificación resulta especialmente útil para distinguir entre una diferencia bruta entre grupos y una diferencia que permanece después de controlar por otras características relevantes.

TipBase de datos 2: El IBEX35
Código
datos <- read_excel("data/BD_SABI.xlsx", sheet = "Datos")
empresas_provincia <- datos %>%
  count(PROVINCIA, name = "n_empresas") %>%
  arrange(desc(n_empresas))

empresas_provincia
# A tibble: 8 × 2
  PROVINCIA n_empresas
  <chr>          <int>
1 Almería           30
2 Sevilla           24
3 Málaga            11
4 Córdoba           10
5 Granada            9
6 Huelva             7
7 Cádiz              5
8 Jaen               4
Código
datos <- datos %>%
  mutate(
    D_SEV = ifelse(PROVINCIA == "Sevilla", 1, 0)
  )

Y se puede estimar el modelo:

Código
modelo_sevilla=lm(ROA~ENDEUDAMIENTO+LIQUIDEZ_INMEDIATA+D_SEV, data=datos)
summary(modelo_sevilla)

Call:
lm(formula = ROA ~ ENDEUDAMIENTO + LIQUIDEZ_INMEDIATA + D_SEV, 
    data = datos)

Residuals:
     Min       1Q   Median       3Q      Max 
-14.0002  -3.7606  -0.3423   3.0350  19.1237 

Coefficients:
                   Estimate Std. Error t value Pr(>|t|)    
(Intercept)        17.64475    2.88667   6.112 2.10e-08 ***
ENDEUDAMIENTO      -0.15263    0.03671  -4.158 6.99e-05 ***
LIQUIDEZ_INMEDIATA -0.36173    1.66886  -0.217    0.829    
D_SEV              -0.40213    1.39651  -0.288    0.774    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.926 on 96 degrees of freedom
Multiple R-squared:  0.2589,    Adjusted R-squared:  0.2357 
F-statistic: 11.18 on 3 and 96 DF,  p-value: 2.34e-06

3.4 Variables cualitativas con más de dos categorías

La situación cambia cuando la característica cualitativa que queremos introducir tiene más de dos categorías.

En nuestro ejemplo, en lugar de distinguir únicamente entre Sevilla y el resto de Andalucía, podemos preguntarnos si el ROA difiere entre las ocho provincias andaluzas: Almería, Cádiz, Córdoba, Granada, Huelva, Jaén, Málaga y Sevilla. La provincia es, por tanto, una variable cualitativa con ocho categorías.

Para incorporar esta información al modelo no introduciremos las ocho variables dicotómicas simultáneamente. Debemos seleccionar una de las categorías como categoría de referencia e introducir una variable dicotómica para cada una de las restantes.

Por ejemplo, podemos tomar Sevilla como categoría de referencia. En ese caso, crearíamos siete variables dicotómicas:

\[ D_{ALM,i},D_{CAD,i},D_{COR,i},D_{GRA,i}, D_{HUE,i},D_{JAE,i},D_{MAL,i}. \]

Cada una toma el valor 1 cuando la empresa pertenece a la provincia correspondiente y 0 en caso contrario.

El modelo podría expresarse como:

\[ \begin{aligned} ROA_i={}&\beta_0+ \beta_1D_{ALM,i}+ \beta_2D_{CAD,i}+ \beta_3D_{COR,i}+ \beta_4D_{GRA,i}\\ &+\beta_5D_{HUE,i}+ \beta_6D_{JAE,i}+ \beta_7D_{MAL,i} +u_i. \end{aligned} \]

En este modelo, Sevilla es la categoría de referencia. Por tanto, si una empresa pertenece a Sevilla, todas las variables dicotómicas toman el valor 0 y:

\[ E(ROA_i|Sevilla)=\beta_0. \]

Para una empresa de Almería, por ejemplo:

\[ E(ROA_i|Almería)=\beta_0+\beta_1. \]

De manera análoga:

\[ E(ROA_i|Cádiz)=\beta_0+\beta_2, \]

y así sucesivamente.

Por tanto, cada coeficiente asociado a una provincia mide la diferencia en el ROA respecto a Sevilla, manteniendo constantes las demás variables incluidas en el modelo.

Si además incluimos endeudamiento y liquidez, tendríamos:

\[ \begin{aligned} ROA_i={}&\beta_0+ \beta_1D_{ALM,i}+\cdots+\beta_7D_{MAL,i}\\ &+\beta_8LEV_i+\beta_9LIQ_i+u_i. \end{aligned} \]

En este caso, los coeficientes de las variables provinciales permiten analizar si existen diferencias en el ROA entre las distintas provincias una vez controlado el efecto del endeudamiento y la liquidez.

TipBase de datos 2: El IBEX35
Código
datos <- read_excel("data/BD_SABI.xlsx", sheet = "Datos")
empresas_provincia <- datos %>%
  count(PROVINCIA, name = "n_empresas") %>%
  arrange(desc(n_empresas))

empresas_provincia
# A tibble: 8 × 2
  PROVINCIA n_empresas
  <chr>          <int>
1 Almería           30
2 Sevilla           24
3 Málaga            11
4 Córdoba           10
5 Granada            9
6 Huelva             7
7 Cádiz              5
8 Jaen               4
Código
datos <- datos %>%
  mutate(
    D_ALM = ifelse(PROVINCIA == "Almería", 1, 0),
    D_CAD = ifelse(PROVINCIA == "Cádiz", 1, 0),
    D_COR = ifelse(PROVINCIA == "Córdoba", 1, 0),
    D_GRA = ifelse(PROVINCIA == "Granada", 1, 0),
    D_HUE = ifelse(PROVINCIA == "Huelva", 1, 0),
    D_JAE = ifelse(PROVINCIA == "Jaen", 1, 0),
    D_MAL = ifelse(PROVINCIA == "Málaga", 1, 0)
  )

Y se puede estimar el modelo:

Código
modelo_provincias <- lm(
  ROA ~ ENDEUDAMIENTO + LIQUIDEZ_INMEDIATA +
    D_ALM + D_CAD + D_COR + D_GRA +
    D_HUE + D_JAE + D_MAL,
  data = datos
)

summary(modelo_provincias)

Call:
lm(formula = ROA ~ ENDEUDAMIENTO + LIQUIDEZ_INMEDIATA + D_ALM + 
    D_CAD + D_COR + D_GRA + D_HUE + D_JAE + D_MAL, data = datos)

Residuals:
     Min       1Q   Median       3Q      Max 
-14.2644  -3.3548  -0.5164   2.9832  18.9585 

Coefficients:
                   Estimate Std. Error t value Pr(>|t|)    
(Intercept)        17.29937    3.15076   5.491 3.67e-07 ***
ENDEUDAMIENTO      -0.15315    0.03881  -3.946 0.000157 ***
LIQUIDEZ_INMEDIATA -0.44973    1.78133  -0.252 0.801253    
D_ALM               0.55759    1.68003   0.332 0.740740    
D_CAD              -1.90510    2.99705  -0.636 0.526611    
D_COR               1.05184    2.29511   0.458 0.647846    
D_GRA              -0.59887    2.39419  -0.250 0.803053    
D_HUE               1.18712    2.62333   0.453 0.651980    
D_JAE               0.84860    3.30622   0.257 0.798022    
D_MAL               0.66106    2.27216   0.291 0.771767    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.079 on 90 degrees of freedom
Multiple R-squared:  0.2691,    Adjusted R-squared:  0.196 
F-statistic: 3.681 on 9 and 90 DF,  p-value: 0.000584

3.5 La trampa de las variables ficticias

Al introducir una variable cualitativa hay que tener en cuenta el número de categorías que presenta. Si una variable tiene (\(m\)) categorías, se introducen (m-1) variables dicotómicas, dejando una categoría como referencia.

En nuestro ejemplo, la provincia tiene ocho categorías, por lo que se introducen siete variables dicotómicas y Sevilla queda como categoría de referencia.

La razón es que no podemos introducir simultáneamente las ocho variables provinciales junto con el término independiente. Para cada empresa, una y solo una de las ocho variables provinciales tomaría el valor 1, por lo que se cumpliría:

\[ D_{ALM,i}+D_{CAD,i}+D_{COR,i}+D_{GRA,i} +D_{HUE,i}+D_{JAE,i}+D_{MAL,i}+D_{SEV,i}=1. \]

Esta relación implica una combinación lineal exacta entre las variables dicotómicas y el término independiente, dando lugar a colinealidad perfecta y, por tanto, impidiendo estimar el modelo mediante MCO.

Este problema se conoce como trampa de las variables ficticias.

La solución consiste en eliminar una de las categorías y utilizarla como referencia. En nuestro ejemplo, al eliminar (\(D_{SEV}\)), los coeficientes de las restantes provincias se interpretan siempre en comparación con Sevilla.

3.6 Variables dicotómicas y cambio estructural

Las variables dicotómicas también permiten analizar si existe un cambio estructural entre grupos.

En el ejemplo anterior, si incluimos una variable dicotómica para distinguir entre empresas de Sevilla y empresas del resto de Andalucía, estamos permitiendo que el intercepto sea diferente entre ambos grupos:

\[ ROA_i=\beta_0+\beta_1D_{SEV,i}+\beta_2LEV_i+\beta_3LIQ_i+u_i. \]

En este caso, \(\beta_1\) recoge un posible cambio en el intercepto entre los dos grupos.

Sin embargo, también podemos plantear que las diferencias entre grupos afecten a la relación entre el ROA y las variables financieras. Para ello se pueden incorporar interacciones entre la variable dicotómica y las variables cuantitativas:

\[ \begin{aligned} ROA_i={}&\beta_0+\beta_1D_{SEV,i} +\beta_2LEV_i+\beta_3LIQ_i\\ &+\beta_4(D_{SEV,i}LEV_i) +\beta_5(D_{SEV,i}LIQ_i)+u_i. \end{aligned} \]

Ahora no solo permitimos que el intercepto sea diferente entre Sevilla y el resto de Andalucía, sino también que sean diferentes las pendientes asociadas al endeudamiento y la liquidez.

Para las empresas que no pertenecen a Sevilla:

\[ E(ROA_i)= \beta_0+\beta_2LEV_i+\beta_3LIQ_i. \]

Para las empresas de Sevilla:

\[ E(ROA_i)= (\beta_0+\beta_1) +(\beta_2+\beta_4)LEV_i +(\beta_3+\beta_5)LIQ_i. \]

De esta forma, las variables dicotómicas permiten pasar de comparar simplemente niveles medios entre grupos a analizar si la estructura completa del modelo es diferente entre ellos.

Esta idea conecta directamente con el análisis de permanencia estructural estudiado anteriormente. En un contexto transversal, podemos utilizar variables dicotómicas e interacciones para formular un conjunto de restricciones lineales y contrastar si los parámetros son iguales entre los grupos.

Por ejemplo, para comprobar si el modelo es el mismo para las empresas de Sevilla y las del resto de Andalucía, podríamos plantear:

\[ H_0: \beta_1=\beta_4=\beta_5=0. \]

Si no rechazamos esta hipótesis, no encontramos evidencia de diferencias en el intercepto ni en las pendientes entre ambos grupos. Si la rechazamos, existe evidencia de que al menos uno de los parámetros difiere y, por tanto, de que la relación entre las variables no es la misma en ambos grupos.

De este modo, las variables dicotómicas constituyen una herramienta flexible para incorporar información cualitativa, comparar grupos y analizar posibles diferencias en la estructura de un modelo de regresión.

3.7 Interpretación cuando la variable dependiente esta expresada en logaritmos

Cuando la variable dependiente está expresada en logaritmos, la interpretación de los coeficientes asociados a las variables dicotómicas debe realizarse en términos porcentuales.

Consideremos el siguiente modelo:

\[ \ln(Y_t)=\beta_0+\beta_1D_t+u_t, \]

donde \(D_t\) es una variable dicotómica que toma el valor 1 cuando se presenta una determinada característica y 0 en caso contrario.

Si \(D_t=0\), el modelo queda:

\[ E[\ln(Y_t)|D_t=0]=\beta_0. \]

Mientras que si \(D_t=1\):

\[ E[\ln(Y_t)|D_t=1]=\beta_0+\beta_1. \]

Por tanto, \(\beta_1\) mide la diferencia en el logaritmo de \(Y\) entre las dos categorías. Como consecuencia de que la variable dependiente está expresada en logaritmos, esta diferencia puede transformarse en una diferencia porcentual en \(Y\).

Cuando \(\beta_1\) toma valores relativamente pequeños, puede utilizarse la aproximación:

\[ \%\Delta Y \approx 100\beta_1. \]

Por ejemplo, si \(\beta_1=0.08\), la presencia de la característica representada por \(D_t=1\) se asociaría aproximadamente con un incremento del 8% en \(Y\) respecto a la categoría de referencia.

Sin embargo, esta aproximación puede resultar poco precisa cuando el coeficiente toma valores elevados. La transformación exacta del coeficiente permite obtener directamente el cambio porcentual:

\[ \%\Delta Y= \left(e^{\beta_1}-1\right)\times100. \]

Así, si \(\beta_1=0.08\), el efecto exacto sería:

\[ \left(e^{0.08}-1\right)\times100=8.33\%. \]

Por tanto, manteniendo constantes las demás variables del modelo, el valor esperado de \(Y\) para las observaciones con \(D_t=1\) es aproximadamente un 8.33% superior al de las observaciones de la categoría de referencia.

Esta interpretación puede extenderse al caso en el que el modelo incluya otras variables explicativas. En ese caso, el coeficiente de la variable dicotómica recoge la diferencia porcentual entre las dos categorías manteniendo constantes las restantes variables incluidas en el modelo.

En consecuencia, cuando la variable dependiente está expresada en logaritmos, una variable dicotómica permite interpretar las diferencias entre grupos en términos porcentuales, lo que puede resultar especialmente útil en aplicaciones financieras y contables en las que las variables analizadas presentan grandes diferencias de escala.

3.8 Prácticas resueltas

Función de producción. Interpretación de variables dicotómicas

Continuando con la base de datos de Greene denominada BD_FUNCIONPRODUCCION, que contiene información referida a Estados Unidos durante el período 1909-1949. En este contexto histórico tuvieron lugar la Primera Guerra Mundial (1914–1918) y la Segunda Guerra Mundial (1939–1945), en las cuales Estados Unidos participó principalmente entre 1917–1918 y 1941–1945.

Código
library(readxl)
datos= read_excel('data/BD_FUNCIONPRODUCCION.xlsx')

Podríamos crear una variable dicotómica que diferencie entre años de guerra y años de paz:

Código
datos$guerra <- ifelse(datos$year %in% c(1914:1918, 1939:1945), 1, 0)

A continuación, calculamos la media de la variable \(q\) para los años de guerra (Guerra=1) y para los años de paz (Guerra=0)

Código
tapply(datos$q, datos$guerra, mean, na.rm = TRUE)
        0         1 
0.8817586 0.9645000 

Este calculo nos va a permitir comprender mejor la interpretación de los estimadores. Al hacer la estimación de la variable \(q\) solo en función de la variable guerra, se observa que el estimador del termino independiente toma el valor 0.8817586, que coincide con la media de la variable \(q\) para los años de paz que se ha obtenido anteriormente. Esa es, precisamente, su interpretación: el valor medio de la variable dependiente cuando la variable guerra toma el valor 0, es decir, en años de paz. Por otra parte, el estimador que acompaña a la variable guerra, toma el valor 0.08274, que se interpreta como la diferencia en el efecto sobre la media de la variable dependiente en los años de guerra en comparación con los años de paz. De hecho, si sumamos 0.8817586 y 0.08274, se obtiene 0.9645, que es precisamente la media que se ha obtenido anteriormente para la variable \(q\) en años de guerra.

Código
modelo_ficticia <- lm(q ~ guerra, data = datos)
summary(modelo_ficticia)

Call:
lm(formula = q ~ guerra, data = datos)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.29550 -0.16076 -0.00776  0.11750  0.39324 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.88176    0.03717  23.723   <2e-16 ***
guerra       0.08274    0.06870   1.204    0.236    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.2002 on 39 degrees of freedom
Multiple R-squared:  0.03586,   Adjusted R-squared:  0.01113 
F-statistic:  1.45 on 1 and 39 DF,  p-value: 0.2357

Se observa que el modelo anterior tiene un coeficiente de determinación muy bajo, pero nos ha servido para explicar la interpretación de los estimadores en el caso de variables cualitativas.

A continuación, se estima el modelo en su conjunto, añadiendo la variable dicotómica junto con el resto de variables explicativas cuantitativas:

Código
modelo3 <- lm(q ~ k + A + guerra, data = datos)
summary(modelo3)

Call:
lm(formula = q ~ k + A + guerra, data = datos)

Residuals:
       Min         1Q     Median         3Q        Max 
-0.0172464 -0.0041917  0.0000721  0.0023261  0.0240789 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.290258   0.011205 -25.904   <2e-16 ***
k            0.092614   0.004222  21.937   <2e-16 ***
A            0.720508   0.005114 140.887   <2e-16 ***
guerra      -0.005483   0.003055  -1.794   0.0809 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.007885 on 37 degrees of freedom
Multiple R-squared:  0.9986,    Adjusted R-squared:  0.9985 
F-statistic:  8677 on 3 and 37 DF,  p-value: < 2.2e-16

En este caso, la interpretación del estimador del termino independiente, sería el valor medio de la variable dependiente en años de paz (guerra=0) y con el resto de variables cuantitativas tomando el valor 0 y el estimador que acompaña a la variable guerra se interpreta como la diferencia en la productividad en los años de guerra, con respecto a los años de paz, a igualdad del resto de variables. Se observa que en este caso, el estimador tiene signo negativo, lo que se interpreta como que la productividad sería menor en los años de guerra que en los años de paz (a igualdad del resto de variables), siendo significativo indivualmente al 90% de confianza.

Podríamos igualmente crear la interacción entre las variables explicativas y la dicótomica, para analizar no solo si hay un cambio en la ordenada, sino tambien si el efecto de cada una de las variables explicativas es diferente en los periodos de guerra y los de paz:

Código
datos$k_guerra <- datos$k * datos$guerra
datos$A_guerra <- datos$A * datos$guerra

Una vez creadas las variable interacción, se pueden incluir en el modelo:

Código
modelo_interaccion <- lm(q ~ k + A + guerra + k_guerra + A_guerra, data = datos)
summary(modelo_interaccion)

Call:
lm(formula = q ~ k + A + guerra + k_guerra + A_guerra, data = datos)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.018597 -0.004123 -0.000029  0.002125  0.024037 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.292487   0.013059 -22.398   <2e-16 ***
k            0.093481   0.004264  21.922   <2e-16 ***
A            0.720422   0.006450 111.699   <2e-16 ***
guerra       0.086713   0.058504   1.482    0.147    
k_guerra    -0.055950   0.034661  -1.614    0.115    
A_guerra     0.032314   0.022453   1.439    0.159    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.007821 on 35 degrees of freedom
Multiple R-squared:  0.9987,    Adjusted R-squared:  0.9985 
F-statistic:  5292 on 5 and 35 DF,  p-value: < 2.2e-16

Consumo eléctrico en España. Interpretación de los coeficientes con el uso de logaritmos.

Supongamos que queremos estimar para el periodo 1990-2024 cómo el consumo eléctrico (medido en gigavatio-hora GWh) en España depende de la renta per cápita (medido en euros) y del partido que gobernaba para lo que se ha creado una variable dicotómica (\(D1\)) que toma el valor 1 en los años en los que gobernaba el Partido Popular y 0 en caso contrario.

El modelo general puede escribirse como:

\[Consumoelectrico_t=\beta_1+\beta_2rentapercapita_t+\beta_3D1_t+u_t\]

A continuación se explica cómo interpretar los coeficientes según la transformación de las variables.

Modelo nivel-nivel

Código
modelo_in_in=lm(Consumo_electrico~Renta+gobierno,data=consumo_energia_espana_1990_2024)
summary(modelo_in_in)

Call:
lm(formula = Consumo_electrico ~ Renta + gobierno, data = consumo_energia_espana_1990_2024)

Residuals:
    Min      1Q  Median      3Q     Max 
-8304.2 -3974.3   238.3  2933.1  7596.8 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.966e+05  2.392e+03  82.176   <2e-16 ***
Renta        5.160e+00  9.778e-02  52.766   <2e-16 ***
gobierno    -1.926e+03  1.451e+03  -1.328    0.194    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4246 on 32 degrees of freedom
Multiple R-squared:  0.9887,    Adjusted R-squared:  0.9879 
F-statistic:  1394 on 2 and 32 DF,  p-value: < 2.2e-16

En este modelo:

\(\beta_2\) indica el cambio absoluto en GWh por cada euro adicional de renta per cápita. \(\beta_3\) indica la diferencia promedio en GWh entre los años que gobernaba el PP y los que no.

Modelo Log-Nivel

Código
modelo_log_in=lm(log(Consumo_electrico)~Renta+gobierno,data=consumo_energia_espana_1990_2024)
summary(modelo_log_in)

Call:
lm(formula = log(Consumo_electrico) ~ Renta + gobierno, data = consumo_energia_espana_1990_2024)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.037639 -0.010843  0.001536  0.012566  0.028033 

Coefficients:
              Estimate Std. Error  t value Pr(>|t|)    
(Intercept)  1.227e+01  9.501e-03 1291.286   <2e-16 ***
Renta        1.663e-05  3.884e-07   42.828   <2e-16 ***
gobierno    -3.209e-05  5.761e-03   -0.006    0.996    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.01687 on 32 degrees of freedom
Multiple R-squared:  0.9829,    Adjusted R-squared:  0.9818 
F-statistic: 917.3 on 2 and 32 DF,  p-value: < 2.2e-16

En este modelo:

\(\beta_2\) mide el cambio porcentual aproximado en el consumo por cada euro adicional de renta. \(\beta_3\) se interpreta como la diferencia porcentual exacta entre los años que gobernaba el PP y los que no.

\[\% cambio=(e^\beta_3-1)\times100\]

Modelo Nivel-Log

Código
modelo_in_log=lm(Consumo_electrico~log(Renta)+gobierno,data=consumo_energia_espana_1990_2024)
summary(modelo_in_log)

Call:
lm(formula = Consumo_electrico ~ log(Renta) + gobierno, data = consumo_energia_espana_1990_2024)

Residuals:
     Min       1Q   Median       3Q      Max 
-11951.7  -3546.8    631.1   4646.1  14106.6 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -759846      30372 -25.018  < 2e-16 ***
log(Renta)    107869       3052  35.343  < 2e-16 ***
gobierno       -7176       2154  -3.332  0.00219 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6296 on 32 degrees of freedom
Multiple R-squared:  0.9751,    Adjusted R-squared:  0.9735 
F-statistic: 625.5 on 2 and 32 DF,  p-value: < 2.2e-16

\(\beta_2\) indica el cambio absoluto en GWh asociado a un aumento del 1% en renta per cápita. \(\beta_3\) Igual que en Nivel-Nivel: diferencia absoluta entre los años que gobernaba el PP y los que no.

Modelo Log-Log (consumo y renta logarítmicas)

Código
modelo_log_log=lm(log(Consumo_electrico)~log(Renta)+              gobierno,data=consumo_energia_espana_1990_2024)
summary(modelo_log_log)

Call:
lm(formula = log(Consumo_electrico) ~ log(Renta) + gobierno, 
    data = consumo_energia_espana_1990_2024)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.029098 -0.007672  0.001008  0.009115  0.038679 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  9.160293   0.080260 114.132  < 2e-16 ***
log(Renta)   0.350250   0.008065  43.426  < 2e-16 ***
gobierno    -0.017057   0.005692  -2.997  0.00524 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.01664 on 32 degrees of freedom
Multiple R-squared:  0.9833,    Adjusted R-squared:  0.9823 
F-statistic: 943.1 on 2 and 32 DF,  p-value: < 2.2e-16

\(\beta_2\) es la elasticidad: porcentaje de cambio en consumo eléctrico ante un 1% de cambio en renta per cápita. \(\beta_3\) Igual que en Log-Nivel: diferencia porcentual exacta entre los años que gobernaba el PP y los que no.

3.9 Prácticas propuestas

  1. Estimar el modelo de IBEX35 incluyendo una dicotomica que detalle a que trimestre corresponde cada dato, e incluir en el modelo esas variables dicotómicas para analizar si hay un efecto estacional por trimestres.

  2. Se tienen datos para los años 2006-2024 sobre la evolución de las ventas (\(Y\)) del grupo Inditex, el número de empleados (\(X_2\)), número de tiendas (\(X_3\)) y una variable ficticia que tomar el valor 1 para los años en los que se oferta comercio electónico (\(X_4\)).

Código
inditex <- data.frame(
  Año = c(2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 
          2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024),
  Y = c(8196, 9435, 10407, 11084, 12597, 13793, 
                              15946, 16724, 18117, 20900, 23311, 25336, 
                              26145, 28286, 20402, 27716, 32569, 35947, 38632),
  X2 = c(69240, 79517, 89112, 92301, 100138, 109512, 120314, 
                128313, 137054, 152854, 162450, 171839, 174386, 176611, 
                144116, 165042, 164997, 161281, 158797),
  X3 = c(3131, 3691, 4264, 4607, 5044, 5527, 6009, 6340, 6683, 7013, 
              7292, 7448, 7490, 7469, 6829, 6477, 5815, 5692, 5563),
  X4 = c(0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
)

Se pide:\ a. Estimar el modelo.\ b. Analizar la significatividad individual y global del modelo.\ c. Estimar otro modelo alternativo en el que no se tenga en cuenta el comercio electrónico y comparar ambos en cuanto a la bondad del ajuste por los diferentes métodos explicados.\

  1. Una empresa realizó un despido durante el primer trimestre de 2020, justificandolo en una bajada de producción y ha solicitado un informe a la consultora donde usted trabaja para que respalde la decisión. Para ello, la empresa ha faciliado información trimestral desde el primer trimestre de 2015 al cuarto trimestre de 2019 de las ventas (en miles de euros) y la media de trabajadores. La consultora obtiene el siguiente modelo estimado:
Código
modelo=lm(Ventas~ media_personal+T2+T3+T4, data=ventas_df)
summary(modelo)

Call:
lm(formula = Ventas ~ media_personal + T2 + T3 + T4, data = ventas_df)

Residuals:
     Min       1Q   Median       3Q      Max 
-110.298  -52.302    7.815   37.335  109.937 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)      89.454     47.382   1.888 0.067347 .  
media_personal   12.539      4.894   2.562 0.014870 *  
T2               96.608     27.945   3.457 0.001451 ** 
T3              101.508     27.945   3.632 0.000891 ***
T4                5.216     27.996   0.186 0.853285    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 62.45 on 35 degrees of freedom
Multiple R-squared:  0.4652,    Adjusted R-squared:  0.4041 
F-statistic: 7.612 on 4 and 35 DF,  p-value: 0.0001599

Le han encargado que analice los resultados para redactar el informe y, en concreto, se le pide que:\

  1. Interprete el coeficiente estimado de la variable media_personal.\
  2. Interprete el coeficiente estimado de la variable T3.\
  3. Interprete el coeficiente de determinación.\
  4. ¿Se puede afirmar que la variable media_personal tiene influencia significativa en las ventas? Justifique su respuesta usando los distintos niveles de confianza habituales.\
  5. ¿Se puede afirmar que el efecto del segundo y tercer trimestre son los mismos? Justifique su respuesta usando intervalos de confianza.\
  6. Sabiendo que en el primer trimestre de 2020 tras el despido la media de trabajadores fue de 12, y las ventas se situaron en 160.000, razone si el despido podría justificarse por razones económicas.\
  1. Continuando con la practica anterior, otro compañero de la consultora considera que es necesario incluir como factor explicativo adicional el gasto en publicidad (expresado en miles de euros) en logaritmos y plantea el siguiente modelo:
Código
modelo_pub=lm(Ventas~ media_personal+log(Gasto_Publicidad)+T2+T3+T4, data=ventas_df)
summary(modelo_pub)

Call:
lm(formula = Ventas ~ media_personal + log(Gasto_Publicidad) + 
    T2 + T3 + T4, data = ventas_df)

Residuals:
     Min       1Q   Median       3Q      Max 
-111.746  -42.035    4.983   33.612  102.975 

Coefficients:
                      Estimate Std. Error t value Pr(>|t|)    
(Intercept)             -88.06     101.31  -0.869 0.390858    
media_personal           10.41       4.83   2.155 0.038367 *  
log(Gasto_Publicidad)    49.76      25.37   1.962 0.058029 .  
T2                      106.04      27.30   3.884 0.000450 ***
T3                       99.57      26.89   3.703 0.000753 ***
T4                       12.15      27.15   0.447 0.657490    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 60.05 on 34 degrees of freedom
Multiple R-squared:  0.5196,    Adjusted R-squared:  0.449 
F-statistic: 7.355 on 5 and 34 DF,  p-value: 9.16e-05

Se pide:\ a. Interprete el coeficiente estimado de la variable log(Gasto_Publicidad).\ b. Formule y resuelva el contraste de significación global.\ c. Compare ambos modelos en terminos de la bondad del ajuste.\ d. Sabiendo que en el primer trimestre de 2020 tras el despido la media de trabajadores fue de 12 y el gasto en publicidad de 5.000, y las ventas se situaron en 160.000, razone si el despido podria justificarse por razones económicas a partir de este modelo.\

  1. La empresa anterior le pide que complete el informe desde el punto de vista teórico a partir de los siguientes puntos:\
  1. Explique qué estimador ha utilizado y obtenga razonadamente su expresión.\
  2. Comente las hipótesis básicas en las que se basa dicho estimador.\
  3. Explique las propiedades deseables que se le suponen a dicho estimador.\
  1. En el marco de un estudio sobre los determinantes de los ingresos profesionales en el sector jurídico, se ha recopilado información de abogados jóvenes que trabajan de forma independiente o en pequeños despachos. El objetivo es analizar cuáles son los factores que explican las diferencias en los ingresos mensuales entre ellos. La base de datos contiene las siguientes variables:
  • Y= Ingreso mensual del abogado, medido en euros (€).

  • X1= Años de experiencia profesional desde la obtención del título de abogado

  • X2= Número medio de horas trabajadas por semana

  • D1= Toma valor 1 si el abogado está especializado en derecho mercantil o empresarial, y 0 en caso contrario.

Código
knitr::opts_chunk$set(echo = TRUE)
library(readxl)
base_econometrica_abogados_40 <- read_excel("data/BD_ABOGADOS.xlsx")

A partir de los datos se estima el siguiente modelo:

Código
modelo=lm(Y ~ X1+X2+D1, data=base_econometrica_abogados_40)
summary(modelo)

Call:
lm(formula = Y ~ X1 + X2 + D1, data = base_econometrica_abogados_40)

Residuals:
    Min      1Q  Median      3Q     Max 
-817.00 -412.96  -23.23  349.47 1001.27 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 2364.440    390.946   6.048 6.00e-07 ***
X1           219.864     20.526  10.711 9.60e-13 ***
X2            37.420      9.528   3.927 0.000373 ***
D1           812.000    157.731   5.148 9.55e-06 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 491.4 on 36 degrees of freedom
Multiple R-squared:  0.853, Adjusted R-squared:  0.8408 
F-statistic: 69.64 on 3 and 36 DF,  p-value: 4.655e-15

Contesta a las siguientes preguntas:

  1. ¿Cuál es el tamaño de la muestra?
  2. ¿Cuál es la ecuación estimada del modelo (sustituyendo los coeficientes por sus valores estimados)? ¿Qué signo presentan los coeficientes estimados de cada variable explicativa?¿Coinciden con tus expectativas teóricas?
  3. ¿Cuál es el valor del término constante (intercepto)?. ¿Tiene interpretación económica razonable en este contexto?
  4. ¿Qué interpretación económica puedes dar al coeficiente que acompaña a la variable años de experiencia?
  5. ¿Qué interpretación económica puedes dar al coeficiente que acompaña a la variable años de horas semanales?
  6. ¿Cómo se interpreta el coeficiente de la variable dicotómica de especializacion? g Para cada coeficiente, indique como se ha obtenido el valor del estadístico del contraste de significación individual y que coeficientes son significativos.
  7. ¿Cuál es el valor del coeficiente de determinación y cómo se interpreta?
  8. Indique el valor de la estimación de la varianza residual
  9. Construya la Tabla Anova y explique como se obtiene el estadístico experimental y concluye en relación con la significación global del modelo.
  10. Construye el intervalo de confianza para el parámetro que acompaña a la variable experiencia y contesta a partir del intervalo, si la variación en el salario por cada año adicional de experiencia puede ser de 500 euros (con un 95% de confianza)
  11. Realiza un contraste para saber si la diferencia en el salario de los abogados especialistas en mercantil puede llegar a ser de 1000 euros.
  1. Si en el ejercicio anterior, incluimos una variable adicional que sea la interacción de la variable experiencia y la variable especialización, se obtiene el siguiente modelo.
Código
modelo_int=lm(Y ~ X1+X2+D1+X1*D1, data=base_econometrica_abogados_40)
summary(modelo_int)

Call:
lm(formula = Y ~ X1 + X2 + D1 + X1 * D1, data = base_econometrica_abogados_40)

Residuals:
    Min      1Q  Median      3Q     Max 
-781.59 -414.18  -45.35  297.45  979.15 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 2288.272    393.089   5.821 1.33e-06 ***
X1           236.727     24.560   9.639 2.20e-11 ***
X2            36.431      9.495   3.837 0.000499 ***
D1          1183.516    340.126   3.480 0.001364 ** 
X1:D1        -51.518     41.867  -1.231 0.226714    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 487.9 on 35 degrees of freedom
Multiple R-squared:  0.8591,    Adjusted R-squared:  0.843 
F-statistic: 53.35 on 4 and 35 DF,  p-value: 2.046e-14
  1. Compara ambos modelos en terminos de bondad del ajuste
  2. Comenta como se interpretaría el coeficiente estimado de la interacción y comente su significatividad individual.
  3. Si transformas la variable dependiente a log(Ingreso_Mensual), ¿cómo cambiaría la interpretación de los coeficientes?
Código
modelo_lg=lm(log(Y) ~ X1+X2+D1, data=base_econometrica_abogados_40)
summary(modelo_lg)

Call:
lm(formula = log(Y) ~ X1 + X2 + D1, data = base_econometrica_abogados_40)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.222214 -0.067382 -0.007413  0.061228  0.172814 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 8.031643   0.071871 111.751  < 2e-16 ***
X1          0.038474   0.003774  10.196 3.69e-12 ***
X2          0.006633   0.001752   3.787 0.000559 ***
D1          0.156501   0.028997   5.397 4.44e-06 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.09033 on 36 degrees of freedom
Multiple R-squared:  0.8448,    Adjusted R-squared:  0.8319 
F-statistic: 65.34 on 3 and 36 DF,  p-value: 1.227e-14
  1. Considerando el nuevo modelo, predecir el salario anual, de un abogado que trabaje 37.5 horas semanales de medio, con experiencia de 10 años y sin especialización en mercantil.
  2. A partir del valor obtenido para el criterio de información de Akaike de los tres modelos anteriores, analice los resultados.