Diferencia entre revisiones de «Aproximación por Mínimos Cuadrados (grupo 3)»
(→Cálculo de la parábola) |
(→Cálculo y representación de una recta por mínimos cuadrados) |
||
| (No se muestran 15 ediciones intermedias del mismo usuario) | |||
| Línea 82: | Línea 82: | ||
- 1º: "Dibujar los datos en una gráfica tiempo/concentración". | - 1º: "Dibujar los datos en una gráfica tiempo/concentración". | ||
| − | - | + | - 2º: "Ajustar los datos a una recta C = a + bt, donde C es la concentración, usando el |
método de mínimos cuadrados. Dibujar la recta y los puntos en la misma gráfica y | método de mínimos cuadrados. Dibujar la recta y los puntos en la misma gráfica y | ||
| − | calcular el error cuadrático medio de la aproximación. | + | calcular el error cuadrático medio de la aproximación. Predicción de la recta para el valor de la concentración a las 10:00. |
| − | + | ||
- 3º: "Ajustar los datos a una parábola C = a + bt + ct^2 usando el método de mínimos | - 3º: "Ajustar los datos a una parábola C = a + bt + ct^2 usando el método de mínimos | ||
| Línea 110: | Línea 109: | ||
plot(t,d,'r*') % Para ilustrar los valores | plot(t,d,'r*') % Para ilustrar los valores | ||
}} | }} | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Línea 125: | Línea 130: | ||
[[Archivo:Aprox 1ºsin aprox - copia.png|400px|thumb|right|Ajuste lineal mediante mínimos cuadrados]] | [[Archivo:Aprox 1ºsin aprox - copia.png|400px|thumb|right|Ajuste lineal mediante mínimos cuadrados]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| − | x1=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]' | + | x1=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]' % Primera columna de la matriz A correspondiente con la variable a |
| − | x2=[t'] | + | x2=[t'] % Segunda columna de la matriz A correspondiente con los posibles valores de b |
A=[x1,x2] | A=[x1,x2] | ||
| − | B=[d'] | + | B=[d'] % Solución del sistema formado por los valores de d |
| − | Z=(A'*A)\(A'*B) | + | Z=(A'*A)\(A'*B) % Fórmula de mínimos cuadrados |
| − | a=18.7545561807951 | + | a=18.7545561807951 % Se obtienen los valores de los parámetros |
b=0.835160646215284 | b=0.835160646215284 | ||
| − | plot(t,a+b*t) | + | plot(t,a+b*t) % Se grafica la función |
hold on % | hold on % | ||
}} | }} | ||
| Línea 138: | Línea 143: | ||
Finalmente, obtenemos la recta que tiene como fórmula y=18.7546 + 0.8352*x | Finalmente, obtenemos la recta que tiene como fórmula y=18.7546 + 0.8352*x | ||
| − | |||
=== Cálculo del error cuadrático medio === | === Cálculo del error cuadrático medio === | ||
| Línea 149: | Línea 153: | ||
El resultado del error cuadrático medio en este caso es= 15.9805. | El resultado del error cuadrático medio en este caso es= 15.9805. | ||
| + | === Valor en 10 horas según la aproximación por mínimos cuadrados === | ||
| − | + | Con esta aproximación, podemos predecir el valor de la concentración de partículas a las horas a las cuales se produjo el fallo técnico. De esta forma, se tiene que a las 10:00 se registró, aproximadamente, un valor de 27.11 µ/m3 partículas. | |
| − | + | {{matlab|codigo= | |
| − | + | y=0.8352*10 + 18.7546=27.1066 | |
| − | + | }} | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
== Cálculo y representación de una parábola por mínimos cuadrados == | == Cálculo y representación de una parábola por mínimos cuadrados == | ||
| Línea 166: | Línea 167: | ||
[[Archivo:Aprox 3ºaprox - copia.png|400px|thumb|right|Ajuste cuadrático mediante mínimos cuadrados]] | [[Archivo:Aprox 3ºaprox - copia.png|400px|thumb|right|Ajuste cuadrático mediante mínimos cuadrados]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| − | x3=[t.^2'] | + | x3=[t.^2'] % Se añade una tercera columna |
| − | A1=[A,x3] | + | A1=[A,x3] % Se crea la matriz con la columna recientemente creada |
| − | Z1=(A1'*A1)\(A1'*B) | + | Z1=(A1'*A1)\(A1'*B) % Expresión de los mínimos cuadrados |
| − | c=19.0035116485221 | + | c=19.0035116485221 % Se obtienen los valores de los parámetros |
d=0.756335637375577 | d=0.756335637375577 | ||
e=0.00349790143540171 | e=0.00349790143540171 | ||
| − | plot(t,c+d*t+e*(t.^2)) | + | plot(t,c+d*t+e*(t.^2)) % Se grafica la función |
hold on % | hold on % | ||
}} | }} | ||
| Línea 178: | Línea 179: | ||
La ecuación de la parábola obtenida es: y=19.0035 + 0.7563x + 0.0035x² | La ecuación de la parábola obtenida es: y=19.0035 + 0.7563x + 0.0035x² | ||
| − | |||
=== Cálculo del error cuadrático medio === | === Cálculo del error cuadrático medio === | ||
| − | Para conocer el error cuadrático medio que hemos | + | Para conocer el error cuadrático medio que hemos cometido con esta aproximación se utiliza el mismo comando que se usó para la recta, pero aplicado para los datos de la parábola. |
{{matlab|codigo= | {{matlab|codigo= | ||
% añadir al programa anterior | % añadir al programa anterior | ||
| Línea 189: | Línea 189: | ||
El error cuadrático medio en el caso de la parábola es= 15.9688 | El error cuadrático medio en el caso de la parábola es= 15.9688 | ||
| − | + | === Valor en 10 horas según la aproximación por mínimos cuadrados === | |
| − | + | Al igual que con el caso anterior, podemos predecir un valor de la cantidad de partículas registrada. A las 10:00 habrá, aproximadamente, 26.9 µ/m3 partículas. | |
| − | + | {{matlab|codigo= | |
| − | + | %añadir al programa anterior | |
| − | + | y= 0.0035*10^2 + 0.7563*10 + 19.0035 =26.9165 | |
| − | + | }} | |
== Cálculo y representación de una función trigonométrica por mínimos cuadrados == | == Cálculo y representación de una función trigonométrica por mínimos cuadrados == | ||
| Línea 206: | Línea 206: | ||
[[Archivo:Aprox 4ºaprox - copia.png|400px|thumb|right|Ajuste de los datos a la función pedida]] | [[Archivo:Aprox 4ºaprox - copia.png|400px|thumb|right|Ajuste de los datos a la función pedida]] | ||
{{matlab|codigo= | {{matlab|codigo= | ||
| − | m=(2*pi/24) | + | m=(2*pi/24) % Se nombran como m y n los periodos para no tener que repetirlos a lo largo de la expresión. |
n=(4*pi/24) | n=(4*pi/24) | ||
| − | x4=[cos(t*m)'] | + | x4=[cos(t*m)'] % Se divide la función en varios grupos para poder calcular los valores más fácilmente |
x5=[sin(t*m)'] | x5=[sin(t*m)'] | ||
x6=[cos(t*n)'] | x6=[cos(t*n)'] | ||
x7=[sin(t*n)'] | x7=[sin(t*n)'] | ||
| − | A2=[x1,x4,x5,x6,x7] | + | A2=[x1,x4,x5,x6,x7] % Se forma la matriz con los valores |
| − | Z2=(A2'*A2)\(A2'*B) | + | Z2=(A2'*A2)\(A2'*B) % Aplicamos la expresión de los mínimos cuadrados |
| − | a=29.7322183227812 | + | a=29.7322183227812 % Se obtienen los valores de los parámetros |
b=-2.15180938775857 | b=-2.15180938775857 | ||
c=-4.90253913577529 | c=-4.90253913577529 | ||
d=-2.46861102870589 | d=-2.46861102870589 | ||
e=-7.79309311015295 | e=-7.79309311015295 | ||
| − | plot(a,b+g*cos(t*m)+c*sin(t*m)+d*cos(t*n)+e*sin(t*n)) | + | plot(a,b+g*cos(t*m)+c*sin(t*m)+d*cos(t*n)+e*sin(t*n)) % Se grafica la función |
}} | }} | ||
| + | === Cálculo del error cuadrático medio === | ||
| + | Procedemos de la misma manera. Se obtiene un error cuadrático medio de 2.1387. | ||
| + | === Valor en 10 horas según la aproximación por mínimos cuadrados === | ||
| + | Procedemos de la misma manera que en los apartados anteriores. A las 10:00 habrá, aproximadamente, 34.7 µ/m3 partículas. | ||
| + | {{matlab|codigo= | ||
| + | %añadir al programa anterior | ||
| + | y= 29.732218-2.151809*cos(2π*10/24)-4.902539*sin(2π*10/24)-2.468611*cos(4π*10/24)-7.793093*sin(4π*10/24)= 34.6592 | ||
| + | }} | ||
| + | == Aproximación más adecuada == | ||
| + | [[Archivo:Aprox 5ºaprox - copia.png|400px|thumb|right|Superposición de los resultados]] | ||
| + | Dados los resultados se deduce que la función con el menor valor de error cuadrático medio y por consecuente la más apropiada es la trigonométrica, como se puede apreciar en la superposición de las funciones. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
[[Categoría:Matemáticas I]] | [[Categoría:Matemáticas I]] | ||
[[Categoría:MatI/19]] | [[Categoría:MatI/19]] | ||
Revisión actual del 23:18 12 nov 2019
"La estación que mide la calidad del aire en Moratalaz registra cada hora la densidad de partículas por metro cúbico en un fichero de datos. Por un error, el dispositivo ha fallado de 7:00 a 10:00, de manera que faltan los datos asociados a esas horas".
| horas | µ/m^3 |
| 0 | 23.4 |
| 1 | 22.0 |
| 2 | 16.6 |
| 3 | 17.5 |
| 4 | 20.3 |
| 5 | 21.3 |
| 6 | 26.6 |
| 7 | N.D |
| 8 | N.D |
| 9 | N.D |
| 10 | N.D |
| 11 | 35.2 |
| 12 | 28.4 |
| 13 | 25.5 |
| 14 | 24.0 |
| 15 | 28.1 |
| 16 | 31.3 |
| 17 | 33.9 |
| 18 | 35.3 |
| 19 | 41.5 |
| 20 | 39.7 |
| 21 | 38.5 |
| 22 | 37.5 |
| 23 | 30.6 |
Se pide:
- 1º: "Dibujar los datos en una gráfica tiempo/concentración".
- 2º: "Ajustar los datos a una recta C = a + bt, donde C es la concentración, usando el método de mínimos cuadrados. Dibujar la recta y los puntos en la misma gráfica y calcular el error cuadrático medio de la aproximación. Predicción de la recta para el valor de la concentración a las 10:00.
- 3º: "Ajustar los datos a una parábola C = a + bt + ct^2 usando el método de mínimos cuadrados. Responder a las mismas preguntas que en el apartado anterior."
- 4º: "Dado que uno espera una cierta periodicidad diaria y cada 12 horas (como consecuencia de las horas punta por la mañana y al mediodía), vamos a ajustar los datos a una función que contenga ambos periodos. Ajustar los datos a una función del tipo:
C = a + b cos(2πt/24) + c sin(2πt/24) + d cos(4πt/24) + e sin(4πt/24)
donde a, b, c, d, e ∈ R son desconocidos, usando el método de mínimos cuadrados. Responder a las mismas preguntas que en el apartado anterior.
- 5º: "¿Cuál de las aproximaciones tiene un menor error cuadrático medio? ¿Qué predicción te parece la más fiable?".
Contenido
1 Creación de la tabla de valores
Empleando Mathlab, se nombran dos variables con el nombre "t" para las horas, y con el nombre "d" para la densidad de partículas y se representan en una gráfica. Hay datos "d" ausentes debido a la falta de registro para esas horas (pudiéndose omitir los valores de dos formas: saltando de los valores de la matriz esas posiciones, o escribiendo nan en lugar del número).
figure (1)
t=[0,1,2,3,4,5,6,11,12,13,14,15,16,17,18,19,20,21,22,23] %Para crear el eje X
d=[23.4,22.0,16.6,17.5,20.3,21.3,26.6,35.2,28.4,25.5,24.0,
28.1,31.3,33.9,35.3,41.5,39.7,38.5,37.5,30.6]%Para crear el eje Y
plot(t,d,'r*') % Para ilustrar los valores
2 Cálculo y representación de una recta por mínimos cuadrados
Se quiere aproximar los valores a una recta que "pase lo más cerca posible de todos los valores".
2.1 Cálculo de la recta
Colocando a continuación de las líneas de código anteriores:
x1=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]' % Primera columna de la matriz A correspondiente con la variable a
x2=[t'] % Segunda columna de la matriz A correspondiente con los posibles valores de b
A=[x1,x2]
B=[d'] % Solución del sistema formado por los valores de d
Z=(A'*A)\(A'*B) % Fórmula de mínimos cuadrados
a=18.7545561807951 % Se obtienen los valores de los parámetros
b=0.835160646215284
plot(t,a+b*t) % Se grafica la función
hold on %
Finalmente, obtenemos la recta que tiene como fórmula y=18.7546 + 0.8352*x
2.2 Cálculo del error cuadrático medio
Para conocer el error cuadrático medio hay que ejecutar el siguiente comando basándose en el programa anterior.
% añadir al programa anterior
error=(sum((densidad-yy).^2))/20
El resultado del error cuadrático medio en este caso es= 15.9805.
2.3 Valor en 10 horas según la aproximación por mínimos cuadrados
Con esta aproximación, podemos predecir el valor de la concentración de partículas a las horas a las cuales se produjo el fallo técnico. De esta forma, se tiene que a las 10:00 se registró, aproximadamente, un valor de 27.11 µ/m3 partículas.
y=0.8352*10 + 18.7546=27.1066
3 Cálculo y representación de una parábola por mínimos cuadrados
Ahora queremos crear una parábola (ecuación de 2º grado) mediante mínimos cuadrados que mejor se ajuste a los datos obtenidos en la medición, pues de esta forma se cometerá menos error que con el ajuste lineal de 1º grado (recta).
3.1 Cálculo de la parábola
Al igual que con la recta, colocando bajo las líneas de código del primer apartado.
x3=[t.^2'] % Se añade una tercera columna
A1=[A,x3] % Se crea la matriz con la columna recientemente creada
Z1=(A1'*A1)\(A1'*B) % Expresión de los mínimos cuadrados
c=19.0035116485221 % Se obtienen los valores de los parámetros
d=0.756335637375577
e=0.00349790143540171
plot(t,c+d*t+e*(t.^2)) % Se grafica la función
hold on %
La ecuación de la parábola obtenida es: y=19.0035 + 0.7563x + 0.0035x²
3.2 Cálculo del error cuadrático medio
Para conocer el error cuadrático medio que hemos cometido con esta aproximación se utiliza el mismo comando que se usó para la recta, pero aplicado para los datos de la parábola.
% añadir al programa anterior
error=(sum((densidad-yy).^2))/200
El error cuadrático medio en el caso de la parábola es= 15.9688
3.3 Valor en 10 horas según la aproximación por mínimos cuadrados
Al igual que con el caso anterior, podemos predecir un valor de la cantidad de partículas registrada. A las 10:00 habrá, aproximadamente, 26.9 µ/m3 partículas.
%añadir al programa anterior
y= 0.0035*10^2 + 0.7563*10 + 19.0035 =26.9165
4 Cálculo y representación de una función trigonométrica por mínimos cuadrados
Una vez más, para tratar de reducir el error en lugar de una recta o una parábola, se basa en la suposición de la existencia de un periodo para la obtención de los valores.
Recordatorio: C = a + b cos(2πt/24) + c sin(2πt/24) + d cos(4πt/24) + e sin(4πt/24)
4.1 Cálculo de la función
Repitiendo el procaso anterior y colocando bajo las líneas de código del primer apartado.
m=(2*pi/24) % Se nombran como m y n los periodos para no tener que repetirlos a lo largo de la expresión.
n=(4*pi/24)
x4=[cos(t*m)'] % Se divide la función en varios grupos para poder calcular los valores más fácilmente
x5=[sin(t*m)']
x6=[cos(t*n)']
x7=[sin(t*n)']
A2=[x1,x4,x5,x6,x7] % Se forma la matriz con los valores
Z2=(A2'*A2)\(A2'*B) % Aplicamos la expresión de los mínimos cuadrados
a=29.7322183227812 % Se obtienen los valores de los parámetros
b=-2.15180938775857
c=-4.90253913577529
d=-2.46861102870589
e=-7.79309311015295
plot(a,b+g*cos(t*m)+c*sin(t*m)+d*cos(t*n)+e*sin(t*n)) % Se grafica la función
4.2 Cálculo del error cuadrático medio
Procedemos de la misma manera. Se obtiene un error cuadrático medio de 2.1387.
4.3 Valor en 10 horas según la aproximación por mínimos cuadrados
Procedemos de la misma manera que en los apartados anteriores. A las 10:00 habrá, aproximadamente, 34.7 µ/m3 partículas.
%añadir al programa anterior
y= 29.732218-2.151809*cos(2π*10/24)-4.902539*sin(2π*10/24)-2.468611*cos(4π*10/24)-7.793093*sin(4π*10/24)= 34.6592
5 Aproximación más adecuada
Dados los resultados se deduce que la función con el menor valor de error cuadrático medio y por consecuente la más apropiada es la trigonométrica, como se puede apreciar en la superposición de las funciones.