4.1.2.4 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,θ) + ε
basado en datos multidimensionales x,y, donde f es alguna función no lineal respecto a algunos parámetros desconocidos θ. 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) = ax2 + 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, yc. 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 x2. Sin embargo, en ocasiones se sugiere que la regresión no lineal es necesaria para ajustar polinomios.
REGRESIÓN NO LINEAL EN MATLAB
%Con un número de datos obtenidos experimentalmente vamos
a intentar obtener con la ayuda de matlab una curva tal que
se ajuste a todos los datos.
%Tenemos dos parámetros no lineales en este caso,
llamados lambda 1 y lambda 2:
Y = C(1) *exp(- lambda(1)* t) + C(2)*exp (- lambda(2)*t)
%Cogemos por ejemplo unos datos experimentales donde
vemos como varía la temperatura con la Kp
%El eje de las “y” en este caso Kp tiene que ser un
vector columna y el de las “x” en este caso t un vector fila.
>> t=[60 65 70 75 80 85 90]
>> kp=[3.48 3.60 3.75 3.90 4.07 4.33 4.60]';
>> plot(t,kp,'ro'); hold on; h = plot(t,kp,'b'); hold
off;
>> title('Datos de entrada'); ylim([2 5])
%Comando plot(t,y,’ro’): La “r” se introduce porque queremos
que el color de la gráfica sea el rojo y la “o” para que
salga una gráfica con círculos.
%Como queremos unir los puntos de nuestra gráfica
introducimos el comando: hold on h=plot(t,y,’b’)
%En este caso introducimos una “b” para que la línea sea de
color azul y la definimos como h.
Comentarios
Publicar un comentario