Los modelos de regresión lineal simple y múltiple muchas veces no son la mejor alternativa. Para otros casos, se disponen de otras variables que se ajustan más a las curvas que a las funciones lineales. En ese sentido, se desarrollará las diferentes formas de regresión por ajuste de curvas, tales como la exponencial, la potencial, la logarítmica y la polinómica.

Regresión Exponencial

El modelo de regresión exponencial obedece la escuación: \[ Y=ae^{bX} \] Aplicando la función logaritmo natural o neperiano: \[ lnY=ln(ae^{bX}) \] Linealizando , se obtendrá: \[ lnY=lna+bX \] De esta manera, se convertirá en una función lineal.

En R:

Ingresamos ciertos datos:

Con la función \(lm\) se realiza el modelo de regresión lineal con la variable independiente \(X\) y la variable dependiente \(log(Y)\)

## 
## Call:
## lm(formula = log(y) ~ x, data = Data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.12133 -0.05700 -0.01107  0.02214  0.24434 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.3708977  0.0439324   31.20   <2e-16 ***
## x           -0.0501823  0.0007786  -64.45   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1004 on 18 degrees of freedom
## Multiple R-squared:  0.9957, Adjusted R-squared:  0.9954 
## F-statistic:  4154 on 1 and 18 DF,  p-value: < 2.2e-16

En dicha regresión, se observa que las variables (Intercepto y x) son significativas. Se rechaza la hipótesis nula, es decir, 𝛽𝑗 ≠ 0. Además, el modelo de regresión exponencial se aproxima en un 99.57% a los datos.

La gráfica de Y VS x:

Mientras que la gráfica de \(lnY=lna+bX\) es:

De los resultados de la regresión se deduce que \(lna=1.37\) y \(b=0.05\), entonces: \[ a=e^{lna}=e^{1.37}= 3.93 \] Por lo tanto, la ecuación exponencial aproximada es: \[ Y=3.93e^{-0.05} \] Su gráfica se realiza con la siguiente codificación:

# Regresión Potencial

El modelo de regresión potencial obedece a la ecuación: \[ Y=aX^b \] Aplicando la función logaritmo natural o neperiano: \[ lnY=ln(aX^b) \] Linealizando, se obtendrá: \[ lnY=lna+blnX \] De esta manera, se convertirá en una función lineal.

En R:

##   x   y
## 1 1   7
## 2 2  30
## 3 3  90
## 4 4 170
## 5 5 290
## 6 6 450
## 7 7 650

Realizamos el modelo de regresión lineal con la variable independiente log(X) y la variable dependiente log(Y)

## 
## Call:
## lm(formula = log(y) ~ log(x), data = Data)
## 
## Residuals:
##          1          2          3          4          5          6          7 
##  0.0606501 -0.1135982  0.0317970 -0.0085326  0.0009566  0.0116993  0.0170278 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.88526    0.04924   38.29 2.29e-07 ***
## log(x)       2.35092    0.03586   65.55 1.56e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.06016 on 5 degrees of freedom
## Multiple R-squared:  0.9988, Adjusted R-squared:  0.9986 
## F-statistic:  4297 on 1 and 5 DF,  p-value: 1.564e-08

Lo primero se que se observa es que las variables son estadísticamente significativas. Además, el modelo de regresión potencial se aproxima a un 99.88% a los datos. Loa grafica sería:

Gráfica de \(lnY=lnla+blnX\)

La gráfica de la aproximación es:

La gráfica de los residuos sería´:

Regresión Logarítmica

El modelo de regresión logarítmico obedece la ecuación: \[ Y=a+blnX \] En R sería:

##    x   y
## 1  4 240
## 2  8 200
## 3 12 150
## 4 14 130
## 5 18 100
## 6 23  80
## 7 28  60
## 8 32  30

Con la función lm se realiza el modelo de regresión lineal con la variable independiente log(X) y variable dependiente Y:

## 
## Call:
## lm(formula = y ~ log(x), data = Data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -14.659  -4.980   2.592   3.795  15.660 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  395.297     16.435   24.05 3.39e-07 ***
## log(x)      -101.449      5.967  -17.00 2.65e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.95 on 6 degrees of freedom
## Multiple R-squared:  0.9797, Adjusted R-squared:  0.9763 
## F-statistic: 289.1 on 1 and 6 DF,  p-value: 2.648e-06

En la figura anterior se observa que las variables son significativas. Además, el modelo de regresión logarítmica se aproxima en un 97.97% a los datos. La gráfica de Y vs X es:

Gráfica Y vs lnX:

El gráfico de \(Y=\beta_1+\beta_2lnX\):

Regresión Polinómica:

El modelo de regresión polinómica de grado n obecede la ecuación: \[ Y=\beta_0+\beta_1X+\beta_2X^2+...+\beta_nX^n \] En R ello se trabaja de la siguiente manera:

##             x     y
## 1  -1.5000000  0.56
## 2  -1.1666667 -0.86
## 3  -0.8333333 -0.90
## 4  -0.5000000 -0.40
## 5  -0.1666667 -0.05
## 6   0.1666667 -0.05
## 7   0.5000000 -0.43
## 8   0.8333333 -0.90
## 9   1.1666667 -0.86
## 10  1.5000000  0.56

Elaborar un modelo de regresión polinómica de grado 4; debe incluirse I(), para poder crear una nueva variable con operaciones de potencia:

## 
## Call:
## lm(formula = y ~ x + I(x^2) + I(x^3) + I(x^4), data = Data)
## 
## Residuals:
##          1          2          3          4          5          6          7 
##  0.0022028 -0.0026457 -0.0106352  0.0215210 -0.0076807 -0.0045338 -0.0001224 
##          8          9         10 
## -0.0003205  0.0042075 -0.0019930 
## 
## Coefficients:
##              Estimate Std. Error  t value Pr(>|t|)    
## (Intercept)  0.010742   0.007146    1.503    0.193    
## x           -0.009576   0.010063   -0.952    0.385    
## I(x^2)      -1.994495   0.017495 -114.002 9.85e-10 ***
## I(x^3)       0.004878   0.005705    0.855    0.432    
## I(x^4)       0.994917   0.007411  134.255 4.35e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.01174 on 5 degrees of freedom
## Multiple R-squared:  0.9998, Adjusted R-squared:  0.9996 
## F-statistic:  5379 on 4 and 5 DF,  p-value: 2.879e-09

En el modelo presentado, se puede observar que \(x^2\) y \(x^4\) son variables significativas. Además, se rechaza la hipótesis nula, es decir, \(\beta_j \not = 0\) (tanto para j=2 y j=4). Además, el modelo de regresión polinómica se aproxima en un 99.80% a los datos.

Ejemplos

Ejemplo 1: Regresión Cuadrática

Considerar los siguiente datos:

##     x   y
## 1 1.2 4.5
## 2 1.8 5.9
## 3 3.1 7.0
## 4 4.9 7.8
## 5 5.7 7.2
## 6 7.1 6.8
## 7 8.6 4.5
## 8 9.8 2.7

Mediante un modelo de regresión cuadrática se obtendrá:

## 
## Call:
## lm(formula = y ~ x + I(x^2), data = Data)
## 
## Residuals:
##        1        2        3        4        5        6        7        8 
## -0.26186  0.27898  0.03863  0.16011 -0.30259  0.18757 -0.24086  0.14002 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.58779    0.34377   7.528 0.000655 ***
## x            2.06492    0.15094  13.680 3.74e-05 ***
## I(x^2)      -0.21100    0.01366 -15.443 2.07e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2749 on 5 degrees of freedom
## Multiple R-squared:  0.9823, Adjusted R-squared:  0.9753 
## F-statistic: 139.1 on 2 and 5 DF,  p-value: 4.144e-05

Se puede observar que los datos se aproximan en un 98.23% a la función cuadrática \(f(x)=2.58+2.06X-0.211x^2\). Y su aproximación gráfica sería:

Ejemplo 2: Regresión logarítmica

Se tiene los siguientes datos

## # A tibble: 50 x 2
##    Cantidad Costo
##       <dbl> <dbl>
##  1      113  229.
##  2      130  234.
##  3      150  243.
##  4      164  240.
##  5      211  255.
##  6      255  257.
##  7      263  264.
##  8      266  263.
##  9      274  260.
## 10      282  262.
## # ... with 40 more rows

Mediante un modelo de regresión logarítmica se obtendrá:

## 
## Call:
## lm(formula = Costo ~ log(Cantidad), data = DataEjemplo)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.3096 -1.7759  0.0033  2.0900  3.9221 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    50.5344     3.4367    14.7   <2e-16 ***
## log(Cantidad)  37.6227     0.5574    67.5   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.196 on 48 degrees of freedom
## Multiple R-squared:  0.9896, Adjusted R-squared:  0.9894 
## F-statistic:  4556 on 1 and 48 DF,  p-value: < 2.2e-16

La gráfica de la aproximación será esta:

Ejemplo 3: Comparación de Modelos

Con ciertos datos que se presentarán a continuación, se elaborará un modelo de regresión cuadrática y de regresión lineal. Se realizará ambas gráficas, con las aproximaciones y se determinará qué modelo se ajusta mejor a los datos.

## # A tibble: 30 x 2
##    Horas Costo
##    <dbl> <dbl>
##  1    10   201
##  2    12   226
##  3    14   323
##  4    16   329
##  5    18   370
##  6    20   496
##  7    22   546
##  8    24   572
##  9    26   679
## 10    28   785
## # ... with 20 more rows

Creación de un modelo de regresión cuadrática:

## 
## Call:
## lm(formula = Costo ~ Horas + I(Horas^2), data = DataEjemplo)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -45.865 -20.533  -7.435  23.256  54.025 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 184.67208   29.25493   6.313 9.33e-07 ***
## Horas        -7.13014    1.67592  -4.254 0.000225 ***
## I(Horas^2)    1.02708    0.02108  48.731  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 30.89 on 27 degrees of freedom
## Multiple R-squared:  0.9995, Adjusted R-squared:  0.9994 
## F-statistic: 2.628e+04 on 2 and 27 DF,  p-value: < 2.2e-16

Los datos se ajustan a un 99.95 % mediante el modelo de regresión cuadrática. Visualmente puede corroborarse esta información:

Se realiza ahora un modelo de regresión lineal:

## 
## Call:
## lm(formula = Costo ~ Horas, data = DataEjemplo)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -330.6 -236.7 -111.1  219.5  548.0 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1069.735    128.746  -8.309 4.85e-09 ***
## Horas          72.982      3.017  24.188  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 286.1 on 28 degrees of freedom
## Multiple R-squared:  0.9543, Adjusted R-squared:  0.9527 
## F-statistic: 585.1 on 1 and 28 DF,  p-value: < 2.2e-16

Los datos se ajustan a un 95.43% mediante el modelo de regresión lineal. Visualmente puede corroborarse esta información:

Por lo tanto, el modelo que se aproxima mejor al costo, en función de las horas, es el de la regresión cuadrática.

Biblografía

  • Galindo Villardón, M. P. et al. (s.f.). Introducción a la estadística. Castilla y León, España: Universidad de Salamanca.
  • Schmuller, J. (2017). Statistical Analysis with R. New Jersey, USA: John Wiley & Sons, Inc.
  • The Comprehensive R Archive Network. (s.f.). Recuperado de https://cran.r-project.org/, el 24 de noviembre de 2018.
  • Vinuesa, P. (2016). Regresión lineal simple y polinomial. Morelos, México: UNAM.