Regresión no lineal
# Regresión no lineal

En estadística, la regresión no lineal es un problema de inferencia para un modelo tipo:

    $Y=f(X,\theta )+\varepsilon$

donde $f$ es alguna función no lineal respecto a algunos parámetros desconocidos $\theta$. Como mínimo, se pretende obtener los valores de los parámetros asociados con la mejor curva de ajuste (habitualmente, con el método de los mínimos cuadrados). Con el fin de determinar si el modelo es adecuado, puede ser necesario utilizar conceptos de inferencia estadística tales como intervalos de confianza para los parámetros así como pruebas de bondad de ajuste.

El objetivo de la regresión no lineal se puede clarificar al considerar el caso de la regresión polinomial, la cual es mejor no tratar como un caso de regresión no lineal. Cuando la función $f$ toma la forma:

    $f(X)=aX^{2}+bX+c$

la función $f$ es no lineal en función de $x$ pero lineal en función de los parámetros desconocidos $a$, $b$, y $c$. Este es el sentido del término "lineal" en el contexto de la regresión estadística. Los procedimientos computacionales para la regresión polinomial son procedimientos de regresión lineal (múltiple), en este caso con dos variables predictoras $X$ y $X^{2}$. Sin embargo, en ocasiones se sugiere que la regresión no lineal es necesaria para ajustar polinomios. Las consecuencias prácticas de esta mala interpretación conducen a que un procedimiento de optimización no lineal sea usado cuando en realidad hay una solución disponible en términos de regresión lineal. Paquetes (software) estadísticos consideran, por lo general, más alternativas de regresión lineal que de regresión no lineal en sus procedimientos.

## General

### Linealización

Algunos problemas de regresión no lineal pueden linealizarse mediante una transformación en la formulación del modelo. Por ejemplo, consideremos el problema de regresión no lineal (ignorando el término de error):

    $Y=ae^{bX}$

Aplicando logaritmos a ambos lados de la ecuación, se obtiene:

    $\ln {(Y)}=\ln {(a)}+bX$

lo cual sugiere una estimación de los parámetros desconocidos a través de un modelo de regresión lineal de $\ln(Y)$ con respecto a $X$, un cálculo que no requiere procedimientos de optimización iterativa. De todas formas, la linealización debe usarse con cuidado ya que la influencia de los datos en el modelo cambia, así como la estructura del error del modelo y la interpretación e inferencia de los resultados. Estos pueden ser resultados no muy convenientes.

Hay que distinguir entre la "linealización" usada en los párrafos anteriores y la "linealización local" que se adopta para algoritmos clásicos como el de Gauss-Newton. De igual forma, la metodología de modelos lineales generalizados no use linealización para la estimación de parámetros.

### Mínimos cuadrados ordinarios y ponderados

La mejor curva de ajuste se considera como aquella que minimiza la suma de las desviaciones (residuales) al cuadrado (SRC). Este es la aproximación por el método de mínimos cuadrados (MMC). Sin embargo, en aquellos casos donde se tienen diferentes varianzas de error para diferentes errores, es necesario minimizar la suma de los residuales al cuadrado ponderados (SRCP) (método de mínimos cuadrados ponderados). En la práctica, la varianza puede depender del valor promedio ajustado. Así que los pesos son recalculados para cada iteración en un algoritmo de mínimos cuadrados ponderados iterativo.

En general, no hay una expresión de forma cerrada para los parámetros de mejor ajuste, como sucede en el caso de la regresión lineal. Métodos numéricos de optimización son aplicados con el fin de determinar los parámetros de mejor ajuste. Otra vez, en contraste con la regresión lineal, podría haber varios máximos locales de la función a ser optimizada. En la práctica, se suponen algunos valores iniciales los cuales junto con el algoritmo de optimización conducen a encontrar el máximo global...

### Estimación de los parámetros usando Métodos de Montecarlo

Si el error de cada observación es conocido, entonces la precisión y confiabilidad de los parámetros puede ser estimada mediante simulación de Montecarlo. Cada observación es aleatorizada de acuerdo a su media y su desviación estándar. Con el nuevo conjunto de datos, una nueva curva es ajustada y las estimaciones de los parámetros registradas. Las observaciones son entonces aleatorizadas y nuevos valores de los parámetros son obtenidos. Al final, varios conjuntos de parámetros son generados y su media y desviación estándar pueden ser calculados.

### Software

Diversos lenguajes de programación y software estadístico y matemático contienen funciones de optimización. Entre ellos, Gauss, GNU Octave, Matlab, Mathematica, R, Splus; C++, Python y Fortran maple.

## Métodos numéricos para regresiones no lineales

### Regresión exponencial

En determinados experimentos, en su mayoría biológicos, la dependencia entre las variables $X$ y $Y$ es de forma exponencial, en cuyo caso interesa ajustar a la nube de puntos una función del tipo:

    $Y=ae^{bX}$

Mediante una transformación lineal, tomando logaritmos, se convierte el problema en una cuestión de regresión lineal, es decir, tomando logaritmos obtenemos

    $\ln {(Y)}=bX+\ln {(a)}$

**Ejemplo**

| x | y | ln(y) | $x^2$ | x ln(y) |
| - | - | - | - | - |
| 1 | 3 | 1,0986 | 1 | 1,0986 |
| 1,2 | 3,4 | 1,2237 | 1,44 | 1,4684 |
| 1,5 | 5 | 1,6094 | 2,25 | 2,4141 |
| 2 | 2 | 0,6931 | 4 | 1,3862 |
| 3 | 4,1 | 1,4109 | 9 | 4,2327 |
| 3,7 | 5 | 1,6094 | 13,69 | 5,9547 |
| 4 | 7 | 1,9459 | 16 | 7,7836 |
| 4,5 | 6,5 | 1,8718 | 20,25 | 8,4231 |
| Σ 20,9 | Σ 36 | Σ 11,4628 | Σ 67,63 | Σ 32,7614 |

Número de datos: $n=8$

Promedio de x:

${\bar {x}}={\frac {1}{n}}\sum _{i=1}^{n}a_{i}={\frac {20,9}{8}}=2,6125$

Promedio de y:

${\overline {\ln(y)}}={\frac {1}{n}}\sum _{i=1}^{n}a_{i}={\frac {11,4628}{8}}=1,43285$

Usando la forma lineal de la Regresión Exponencial:

$b={\frac {\sum x\ln(y)-{\overline {\ln(y)}}\sum x}{\sum x^{2}-{\bar {x}}\sum x}}$ = ${\frac {32,7614-1,43285(20,9)}{67,63-2,6125(20,9)}}=0,216047$

$a=e^{{\overline {ln(y)}}-b{\bar {x}}}=e^{1,43285-0,216047*2,6125}=e^{0,868427}=2,38316$

La ecuación final que modela el sistema es

${\hat {y}}=2,3831597\;e^{0,216047x}$

### Regresión logarítmica

La curva logarítmica $Y=a\ln(X)+b$ es también una recta, pero en lugar de estar referida a las variables originales $X\,\!$ e $Y\,\!$ , está referida a $\ln(X)$ y a $Y\,\!$

**Ejemplo**

| x | y | ln x | $ln^2$ x | ln x * y | $y^2$ |
| - | - | - | - | - | - |
| 1 | 3 | 0 | 0 | 0 | 9 |
| 1.2 | 3.4 | 0.1823 | 0.0332 | 0.6198 | 11.56 |
| 1.5 | 5 | 0.4054 | 0.1643 | 2.027 | 25 |
| 2 | 2 | 0.6931 | 0.4803 | 1.3862 | 4 |
| 3 | 4.1 | 1.0986 | 1.2069 | 4.5042 | 16.81 |
| 3.7 | 5 | 1.3083 | 1.7116 | 6.5415 | 25 |
| 4 | 7 | 1.3862 | 1.9215 | 9.7034 | 49 |
| 4.5 | 6.5 | 1.5040 | 2.2620 | 9.776 | 42.25 |
| Σ 20.9 | Σ 36 | Σ 6.5779 | Σ 7.7798 | Σ 34.5581 | Σ 182.62 |

$a={\frac {\sum \ln(x)y-{\bar {y}}\sum \ln(x)}{\sum (\ln(x))^{2}-{\bar {\ln(x)}}\sum \ln(x)}}={\frac {34,5581-4,5(6,5779)}{7,7798-0,8222(6,5779)}}=2,090513$

$b={\bar {y}}-(a{\overline {ln(x)}})=4,5-(2,090513)(0,8222)=2,78117$

La ecuación final que modela el sistema es

${\hat {y}}=2,090513\;ln(x)+2,78117$

### Regresión polinomial

Algunas veces cuando la relación entre las variables dependientes e independientes es no lineal, es útil incluir términos polinomiales para ayudar a explicar la variación de nuestra variable dependiente.

Las regresiones polinomiales se pueden ajustar la variable independiente con varios términos

       $y=a+b\;x+c\;x^{2}\longleftarrow {\text{Segundo Grado}}$
       $y=a+b\;x+c\;x^{2}+d\;x^{3}\longleftarrow {\text{Tercer Grado}}$
       $y=a_{0}+a_{1}\;x+a_{2}\;x^{2}+...a_{n}\;x^{n}\longleftarrow {\text{Ecuación general para cualquier grado}}$

Que, derivando respecto a cada uno de los coeficientes nos da el planteamiento un sistema de ecuaciones de la siguiente forma (donde m es el número de pares de datos):

$\mathbb {S} =\;{\begin{Bmatrix}am&b\sum x&c\sum x^{2}&d\sum x^{3}&\cdots \ &=&\sum y\\a\sum x&b\sum x^{2}&c\sum x^{3}&d\sum x^{4}&\cdots \ &=&\sum xy\\a\sum x^{2}&b\sum x^{3}&c\sum x^{4}&d\sum x^{5}&\cdots \ &=&\sum x^{2}y\\a\sum x^{3}&b\sum x^{4}&c\sum x^{5}&d\sum x^{6}&\cdots \ &=&\sum x^{3}y\\\vdots &\vdots &\vdots &\vdots &\vdots &\vdots &\vdots \\\end{Bmatrix}}$

$\mathbb {\;} {\begin{bmatrix}m&\sum x&\sum x^{2}&\sum x^{3}&\cdots \\\sum x&\sum x^{2}&\sum x^{3}&\sum x^{4}&\cdots \\\sum x^{2}&\sum x^{3}&\sum x^{4}&\sum x^{5}&\cdots \\\sum x^{3}&\sum x^{4}&\sum x^{5}&\sum x^{6}&\cdots \ \\\vdots &\vdots &\vdots &\vdots &\vdots \\\end{bmatrix}}\times \mathbb {\;} {\begin{bmatrix}a\\b\\c\\d\\\vdots \\\end{bmatrix}}=\mathbb {\;} {\begin{bmatrix}\sum y\\\sum xy\\\sum x^{2}y\\\sum x^{3}y\\\vdots \\\end{bmatrix}}$

**Ejemplo**

| x | y | xy | $x^2$ | $x^2y$ | $x^3$ | $x^4$ |
| - | - | - | - | - | - | - |
| 1 | 3 | 3 | 1 | 3 | 1 | 1 |
| 1.2 | 3.4 | 4.08 | 1.44 | 4.896 | 1.728 | 2.0736 |
| 1.5 | 5 | 7.5 | 2.25 | 11.25 | 3.375 | 5.0625 |
| 2 | 2 | 4 | 4 | 8 | 8 | 16 |
| 3 | 4.1 | 12.3 | 9 | 36.9 | 27 | 81 |
| 3.7 | 5 | 18.5 | 13.69 | 68.45 | 50.653 | 187.4161 |
| 4 | 7 | 28 | 16 | 112 | 64 | 256 |
| 4.5 | 6.5 | 29.25 | 20.25 | 131.625 | 91.125 | 410.0625 |
| Σ 20.9 | Σ 36 | Σ 106.63 | Σ 67.63 | Σ 376.121 | Σ 246.881 | Σ 958.6147 |

Usando una Matriz para calcular valores de los coeficientes

$\mathbb {S} =\;{\begin{Bmatrix}a8&b20.9&c67.63\ &=&36\\a20.9&b67.63&c246.881\ &=&106.63\\a67.63&b246.881&c958.6147\ &=&376.121\\\end{Bmatrix}}$

Usando el método de Eliminación de Gauss-Jordan

$c=0.46209,\ b=-1.52415,\ a=4.57543$

La ecuación final que modela el sistema es

${\hat {y}}=4.57543-1.52415\;x+0.46209\;x^{2}$

