Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Objetivos
1. Obtener analiticamente las ecuaciones recursivas del metodo de minimos cuadrados.
3. Validar el algoritmo recusivo de mı́nimos cuadrados para identificar los parámetos de sistemas
lineales y no lineales empleando la funcion de ajuste goodnessOfFit de Matlab
2. Ecuaciones Recursivas
Se parte que:
y[k] = F[k] θ[k]
Se propone como funcion de costo a minimizar:
n
1X T 1 −1
J[k] = (y[k] − f[k] θ[k] )2 + (θ[k] − θ[0]
T
)P[0] (θ[k] − θ[0] )
2 k=1 2
∂J
=0
∂θ
se llegan a las siguientes tres soluciones:
T
e[k] = y[k] − F[k] θ[k−1]
1
2. θ[k] es el vector de parametros.
3. P[k] es la matriz de covariancias.
4. y[k] es la data experimental de salida.
5. F[k] es el regresor.
4. Desarrollo Practica
4.1. Ejercicio 1
Se propone hallar los parametros del siguiente modelo:
√
y(t) = a0 + a1 t + a2 t2 + a3 t
2
clear all
clc
%modelo a identificar y[k]= a0+a1*t+a2*t^2+a3*sqrt(t)
x = importdata(’data_1.txt’);
u = x(:,1);
y = x(:,2);
u1 = ones(size(u));
plot(u,y)
F = [u1 u u.^2 sqrt(u)];
theta = miniCuadradosRecursivo(y,F)
theta =
114.0000
18.0000
-5.7000
12.5000
Para verificar que tan similar es el modelo obtenido, se utiliza la funcion goodnessOf F it(modeloe stimado, mode
Esta funcion retorna valores entre 0-1, donde 1 siginifica que la similud entre las dos funciones es
del 100 %. Para hacer uso de esta funcion primero se debe construir el modelo estimado teniendo
en cuenta los parametros obtenido con la funcion miniCuadrados(y, F ).
fit_nrmse =
1.0000
3
Figura 1: Modelo Original vs Modelo Estimado
Lo cual nos indica que el modelo estimado es el mismo al modelo original. Al utilizar datos con
ruido los resultados fueron los siguientes:
theta =
114.6175
18.6106
-5.7204
11.1149
fit_nrmse =
0.9839
Como podemos ver en el resultado de la funcion de goodnessOf F it() la funcion estimada se parece
en un 98 % a la funcion orginal. Lo cual nos indica que hay un error del 2 %, un error aceptable
que nos afirma que para este sistema podemos trabajar con el modelo de estimacion.
4
Figura 2: Modelo Original vs Modelo Estimado
4.2. Ejercicio 2
Se propone hallar los parametros del siguiente modelo:
x = importdata(’data_2.txt’);
u = x(:,1);
y = x(:,2);
u1 = ones(size(u));
plot(u,y)
F = [u sin(u) cos(u) tanh(u)];
theta = miniCuadradosRecursivo(y,F)
5
%validacion parametros hallados
a0= theta(1);
a1= theta(2);
a2= theta(3);
a3= theta(4);
for(i=1:length(u))
t = u(i);
y_estimado(i) = a0*t + a1*sin(t) + a2*cos(t) + a3*tanh(t);
end
hold on
plot(u,y_estimado)
fit_nrmse = goodnessOfFit(y_estimado’,y,’NRMSE’)
theta =
4.4560
7.4560
-0.0890
12.3700
fit_nrmse =
1.0000
6
Figura 3: Modelo Original vs Modelo Estimado
theta =
4.4987
7.5532
0.2675
12.2200
fit_nrmse =
0.9286
7
Figura 4: Modelo Original vs Modelo Estimado
Al igual que el ejercicio uno, al tomar la data sin ruido, la similaridad entre los modelos obtenidos
y el original es del 100 %. Para una data con ruido, la similaridad fue de aproximadamente el 93 %,
lo cual indica un error del 7 %.
5. Conclusiones
1. El metodo de minimos cuadrados recursivos a comparacion con la resolucion de Gauss es
mucho mas rapido porque este metodo no requiere de operaciones de inversion matricial, lo
cual generaba una actualizacion lenta de los parametros.
2. Otra ventaja de este metodo es que es dinamico, es decir se puede implementar en un sistema
on line.