Microeconomía Intermedia Con R

Curvas de Indiferencia

Juan Isaula
8 min readJan 11, 2023

Las Preferencias del consumidor

Una forma de iniciar el análisis de los individuos es plantear un conjunto básico de postulados, o axiomas, que describen el comportamiento racional del mismo. Supondremos que dadas dos canastas de consumo cualquiera (x1,x2) y (y1,y2). El consumidor puede ordenarlas según su atractivo. Es decir, puede decidir que una de ellas es estrictamente mejor que la otra o bien que le son indiferentes.

Utilizaremos la notación:

  1. ≻ para indicar que una canasta se prefiere estrictamente a otra, es decir, (x1,x2)≻(y1,y2)
  2. ∼ para indicar que al consumidor le resulta indiferente elegir una u otra de las dos canastas de bienes y lo representamos matemáticamente como (x1,x2)∼(y1,y2)
  3. ⪰ si el individuo prefiere una de las dos canastas o es indiferentes entre ellas, decimos que prefiere débilmente la (x1,x2) a la (y1,y2) y escribimos (x1,x2)⪰(y1,y2).

Axiomas de la teoría del consumidor

Con base en todo lo anterior, ya estamos listos para mencionar los tres axiomas de la teoría del consumidor. Decimos que las preferencias son:

  • Completas: suponemos que es posible comparar dos canastas cualesquiera es decir, dada cualquier canasta X y cualquier canasta Y, suponemos que (x1,x2)⪰(y1,y2) o (y1,y2)⪰(x1,x2) o las dos cosas, en cuyo caso el consumidor es indiferente entre las dos canastas.
  • Reflexivas: suponemos que cualquier canasta es al menos tan buena como ella misma: (x1,x2)⪰(y1,y2)
  • Transitiva: si (x1,x2)⪰(y1,y2) y (y1,y2)⪰(z1,z2), suponemos que (x1,x2)⪰(z1,z2). En otras palabras, si el consumidor piensa que la canasta X es al menos tan buena como la Y y que la Y es al menos tan buena como la Z, piensa que la X es al menos tan buena como la Z.

Considere que cuando nos referimos a las canastas X, Y o Z, estamos haciendo referencia a:

  • X = (x1,x2)
  • Y = (y1,y2)
  • Z = (z1,z2)

Si las preferencias no fueran transitivas, podría muy bien haber un conjunto de canastas tal que ninguna de las elecciones fuera la mejor.

Explicación de los axiomas

El primer axioma, la completitud, es difícilmente criticable, al menos en el caso de los tipos de elecciones que suelen analizar los economistas. Decir que pueden compararse dos canastas cualesquiera es decir simplemente que el consumidor es capaz de elegir entre dos canastas cualesquiera.

El segundo axioma, la reflexividad, plantea más problemas. Una canasta cualquiera es ciertamente tan buena como una cesta idéntica.

El tercer axioma, la transitividad, plantea mas problemas. No esta claro que las preferencias deban tener necesariamente esta propiedad. El supuesto de que son transitivas no parece evidente desde un punto de vista puramente lógico, y, de hecho, no lo es. La transitividad es una hipótesis sobre la conducta de los individuos en sus elecciones y no una afirmación lógica. Sin embargo, no importa que sea o no un hecho lógico básico; lo que importa es que sea o no una descripción razonablemente exacta del comportamiento de los individuos.

¿Qué pensarías de una persona que dijera que prefiere la canasta X a la Y y la Y a la Z, pero que también dijera que prefiere la Z a la X? Desde luego, lo consideraríamos como prueba de una conducta particular. Y lo que es más importante, ¿Cómo se comportaría este consumidor si tuviera que elegir entre las tres canastas X,Y y Z?

Utilidad

Las preferencias de los individuos están representadas por una función de utilidad de la forma

donde x1,x2, . . . , xn son las cantidades de cada uno de los n bienes que podría consumirse en un periodo. Esta función es única hasta que la transformación de la misma altere el orden.

En esta representación consideramos que las variables son “bienes”; es decir, independientemente de las cantidades económicas que representan, suponemos que, dentro de un periodo, los individuos prefieren mas de un x_i particular que menos. Suponemos que esto ocurre con todos los bienes, ya sea un bien de consumo simple, como una hamburguesa, o un agregado complejo, como la riqueza o el ocio.

El área sombreada representa las combinaciones de x e y que son contundentemente preferibles a la combinación x*, y*. Ceteris paribus, los individuos prefieren más que menos de un bien cualquiera. Las combinaciones señaladas con “?” implican cambios ambiguos del bienestar, porque incluyen mas de un bien pero menos del otro.

Siendo honesto contigo cuando aprendí por primera vez sobre las funciones de utilidad y sus curvas de indiferencia asociadas, se me mostro una figura intimidante que se parecía un poco a la imagen de abajo .

Algunas cosas fueron motivo de preocupación inmediata: ¿por que hay múltiples curvas de indiferencia para una función si solo representa a un consumidor? ¿Por qué se mueven las curvas? Entonces, mientras respondía mis propias preguntas, pensé que compartir el conocimiento seria útil. Con suerte, esta publicación proporcionara una mejor descripción de la que tal vez la mayoría de nosotros haya escuchado y al final comprenderá:

  • Qué son las curvas de indiferencia y qué representan.
  • Como se relaciona una restricción presupuestaria con estas curvas de indiferencia y la función de utilidad general.
  • Como optimizar la utilidad dentro de estas limitaciones (si eres valiente)

Para el alcance de esta publicación, supondré que el lector tiene una comprensión fundamental de la teoría de la utilidad.

Curvas de Utilidad o Indiferencia

Con base en la definición previa de utilidad, podemos decir en pocas palabras, una función de utilidad es una función que explica la cantidad de utilidad que posee un consumidor dado su consumo de dos bienes diferentes, x, y. Una curva de indiferencia es solo una rebanada infinitesimal de esa función que describe todas las diferentes combinaciones entre dos bienes que producen la misma cantidad de utilidad (es decir, a la que una persona sería indiferente).

Supongamos que una persona clasifica las hamburguesas (y) y las bebidas (x) de acuerdo con la función de utilidad

Función extraída del ejemplo 3.1 Libro de Walter Nicholson

En el caso de esta función, obtenemos la curva de indiferencia identificando un conjunto de combinaciones de x y y en el cual la utilidad tiene el mismo valor. Suponga que arbitrariamente decimos que la utilidad tiene un valor de 10. Entonces, la ecuación de esta curva de indiferencia será

Note que si elevamos esta función al cuadrado se mantiene el mismo orden, por lo cual también podemos representar esta curva de indiferencia como

Es importante siempre despejar este tipo de ecuaciones para “y” la importancia esta en que será mucho mas fácil posteriormente encontrar su tasa marginal de sustitución (en otra sección explicare esto).

Para trazar su curva de indiferencia, lo haremos en R, a continuación les muestro como hacerlo. Puedes realizar este ejercicio tu mismo.

#************************************************
# Generación de Curva de Indiferencia #
# by: Juan Isaula #
#************************************************

# 1. Librerias a utilizar y que tienes que installar en caso que no las tengas intaladas
# Puedes instalar cada una colocando el siguiente comando install.packages("tidyverse")
library(knitr)
library(plotly)
library(shiny)
library(tidyverse)
library(ggthemes)

# 2. ----- Creacion de la funcion de utilidad -----

utilidad <- function(x,y){
sqrt(x*y) # sqrt() es la funcion que expresa la raíz cuadrada
}

# 2.1 Creamos una matriz para hacer un bucle en la función de utilidad previa

valores_matriz <- matrix(0, nrow = 200, ncol = 200)

# 2.2 LLenamos la matriz con la función de utilidad

for(fila in 1:nrow(valores_matriz)){
for(columna in 1:ncol(valores_matriz)){
val_matriz[r,c] <- utilidad(fila,columna)

}
}

# 2.3 Función generadora de datos a graficar para curva de indeferencia

utilidad_plot <- function(input_utilidad){

y <- c()

for(i in 1:50){
y_coord <- input_utilidad^2/i
y <- c(y, y_coord)
}

data <- data.frame(
x = 1:50,
y = y,
z = rep(input_utilidad,50)
)

return(data)
}

# 2.4 Lista del resultados de la utilidad

utilidad_list <- lapply(10, utilidad_plot)

full_df <- do.call(rbind, utilidad_list)

# 2.5 Generación del grafico con ggplot

ggplot() +
geom_point(data = full_df, aes(x = x, y = y, color = z)) +
geom_path(data = full_df, aes(x = x, y = y, color = z)) +
theme_minimal() +
ylim(0,100) +
labs(x = "Bebidas", y = "Hamburguesas") +
scale_color_continuous(name = "Utilidad")

Note que esta curva representa una utilidad = 10, veamos que sucede cuando tenemos diferentes niveles de utilidad, en base al resultado usted puede deducir su propio análisis

#**************************************************************************
# Generación de Curva de Indiferencia para diferentes niveles de utilidad #
# by: Juan Isaula #
#**************************************************************************

# 1. Librerias a utilizar y que tienes que installar en caso que no las tengas intaladas
# Puedes instalar cada una colocando el siguiente comando install.packages("tidyverse")
library(knitr)
library(plotly)
library(shiny)
library(tidyverse)
library(ggthemes)

# 2. ----- Creacion de la funcion de utilidad -----

utilidad <- function(x,y){
sqrt(x*y) # sqrt() es la funcion que expresa la raíz cuadrada
}

# 2.1 Creamos una matriz para hacer un bucle en la función de utilidad previa

valores_matriz <- matrix(0, nrow = 200, ncol = 200)

# 2.2 LLenamos la matriz con la función de utilidad

for(fila in 1:nrow(valores_matriz)){
for(columna in 1:ncol(valores_matriz)){
val_matriz[r,c] <- utilidad(fila,columna)

}
}

# 2.3 Función generadora de datos a graficar para curva de indeferencia

utilidad_plot <- function(input_utilidad){

y <- c()

for(i in 1:100){
y_coord <- input_utilidad^2/i
y <- c(y, y_coord)
}

data <- data.frame(
x = 1:100,
y = y,
z = rep(input_utilidad,100)
)

return(data)
}

# 2.4 Lista del resultados de la utilidad

utilidad_list <- lapply(seq(from = 10, to = 60, by = 10), utilidad_plot)

full_df <- do.call(rbind, utilidad_list)

# 2.5 Generación del grafico con ggplot

ggplot() +
geom_point(data = full_df, aes(x = x, y = y, color = z)) +
geom_path(data = full_df, aes(x = x, y = y, color = z)) +
theme_minimal() +
ylim(0,100) +
labs(x = "Bebidas", y = "Hamburguesas") +
scale_color_continuous(name = "Utilidad")

Aquí podemos señalar lo siguiente:

  1. A medida que aumenta la utilidad, las curvas se desplazan hacia la derecha y hacia la izquierda a medida que disminuye la utilidad.
  2. Observe que las curvas se inclinan hacia abajo, esto debe ser necesariamente el caso; a medida que uno aumenta su consumo de de bebidas, renuncian al otro bien que les era indiferente, hamburguesa.
  3. Todo lo que está debajo de la curva de una utilidad dada representa paquetes con menos utilidad. La teoría de la utilidad asume que un consumidor siempre buscará maximizar la utilidad.
  4. Comprende que la pendiente no es lineal. En general, cuanto más se tiene de algo, menos utilidad se obtendrá de otra unidad y, por el contrario, más se renunciaría a adquirir el otro bien. Esta pendiente tiene un nombre oficial: Tasa Marginal de Sustitución o TMS hablaremos de esto posteriormente.

Pero esas son solo algunas rebanadas que ya he señalado como infinitesimalmente pequeñas.

--

--

Juan Isaula

Mathematics with an orientation in statistics, Data Scientist, Actuarial Analyst and Economics Intern