Ajuste Parabolico

Ajustes de Línea Parábola Glenn R. Revolledo Vilchez Facultad de ciencias naturales y matemáticas, Escuela profesional d

Views 217 Downloads 0 File size 180KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Ajustes de Línea Parábola Glenn R. Revolledo Vilchez Facultad de ciencias naturales y matemáticas, Escuela profesional de Física, Universidad Nacional Del Callao e-mail: [email protected] Presentado el 12 de Junio del 2015 Resumen En este trabajo se presenta el ajuste de línea parabólica para series de tiempo. Mediante una rutina de Matlab se realiza el ajuste parabólico, mostrando así, los diversos resultados obtenidos con diferentes datos Palabra clave: Mínimos cuadrados, Matlab, numérico. Anomalía

1. Introducción 2. En diversas áreas de la física es importante el uso de datos, que son obtenidos mediante el trabajo de campo. 3. Sin embargo, no solo es relevante hacer una correcta toma de datos, sino también realizar una correcta administración de estos. Existen diversas técnicas que facilitan esta labor, conocidas en conjunto como técnicas de análisis de datos. 4. El ajuste parabólico es una técnica de análisis de datos similar a la regresión de mínimos cuadráticos, donde la función tendrá la forma: 5.

21.

i

i

25. 26. Para determinar los valores de a, b y c que minimizan dicha suma realizamos las correspondientes derivadas parciales e igualamos a cero. 27. 28.

∂H =0 ⇒ ∑ y i=aN +b ∑ xi +c ∑ x 2i ∂a

7. Métodos y materiales 8.

29. 30.

9. 2.1. Ajuste Parabólico

∂H =0 ⇒ ∑ y i x i=a ∑ x i +b ∑ x 2i +c ∑ x 3i ∂b

10. 11. Para realizar un ajuste parabólico actuaremos del mismo modo que en el caso de Regresión de Mínimos Cuadrados, pero utilizando la función de ajustes:

31. 32.

∂H =0 ⇒ ∑ y i x 2i =a ∑ x 2i +b ∑ x 3i +c ∑ x i4 ∂c

12.

y=a x 2 +bx +c

33.

34. Dividiendo entre el número total de observaciones N y utilizando la expresión de los momentos obtenemos: 35.

14.

17.

¿

¿ H(a , b ,c) =∑ e 2i =∑ y i−(a x ¿2 i +b x i +c )

f (x) =a x 2+ bx+ c .

15. En tal situación previstos son: 16.

¿2

22. 23. Sea 24.

6.

13.

¿

e i= y i− y i = y i−(a x i +b x i +c )

los

valores

¿ y ¿ =a x¿2 i + b xi +c

36.

18. 19. De donde deducimos que 20.

37. 38. 1

a01=a+b . a10 +c . a 20

a11 =a . a10 +b . a20 +c . a30

39.

56. 57.

a21=a. a 20 +b . a 30+ c . a40 40.

58. 3.2. Serie de Tiempo Anomalías de Paita 59.

41. 42. Es decir, un sistema de tres ecuaciones con tres incógnitas. Resolviendo el sistema por el método de Gauss o por la Regla de Cramer obtendremos el ajuste parabólico. 43.

60. Utilizamos los datos proporcionados en clases, para el caso de Paita, obteniendo la Figura 2. Notamos que el ajuste parabólico muestra un mejor comportamiento para los datos analizados. 61. 62.

44. Resultados 45. 46. Mediante una rutina creada en el

programa Matlab (y mostrada en el Apéndice A del presente trabajo) sometemos nuestros datos al ajuste parabólico. Los datos buscan, proporcionados en clases, representan una serie de tiempo para las anomalías de temperatura del mar.

63. 64. Figura 2. Anomalías de la Temperatura Paita

47. 48. 3.1. Serie de Tiempo Anomalías 49.

65. 66. 3.3. Serie de Tiempo Anomalías del Niño 67. Utilizamos los datos proporcionados en clases, para el caso del Niño, obteniendo la Figura 3. De manera similar al caso anterior, notamos que el ajuste parabólico muestra un comportamiento más aceptable para el conjunto de datos. 68. 69.

50. Con los mismos datos configurados por defectos en el programa, podemos generar el gráfico. 51. 52.

53. Figura 1. Anomalías de la Temperatura 54.

55. La Figura 1, muestra el comportamiento anómalo de la temperatura a través del tiempo. En esta figura también puede observarse cuál es el ajuste con mejor comportamiento para estos datos.

70. Figura 3. Anomalías de la Temperatura del Niño

2

71. 4. Anexo 72. 73. % ajusta linea parabola 74. % 75. % ajustar una linea recta a una serie global de T 1965-2010 76. %Lee los datos 77. D=load('global_temp.txt'); 78. t=D(:,1); 79. T=D(:,2); 80. N=length(T); 81. 82. % grafica los datos 83. f1=figure('units','normalized','Position',[0.15 0.2 0.70 0.4]); 84. subplot(1,2,1); 85. plot(t,T,'ro',t,T,'r-'); 86. xlabel('tiempo','fontsize',18); 87. ylabel('Anomalia T, (C)','fontsize',18); 88. axis( [1965, 2010, -0.5, 1.0] ); 89. hold on; 90. 91. % Define la matriz del problema de minimos cuadrados (kernel de datos) 92. 93. % orden del ajuste 94. m=1; 95. 96. % columnas de la matriz de regresion 97. M=m+1; 98. 99. % % % % % % % % % % % % % % % % %Define el kernel 100. % % % % % % % % % % % % % % % % G=zeros(N,M); 101. % % % % % % % % % % % % % % % % 102. % % % % % % % % % % % % % % % % %rellena el kernel con columna de unos y de tiempos 103. % % % % % % % % % % % % % % % % G(:,1)=1; 104. % % % % % % % % % % % % % % % % G(:,2)=t; 105. 106. % % % % % % % % % % % % % % % % G=[ones(N,1)]; 107. % % % % % % % % % % % % % % % % for in=1:M 108. % % % % % % % % % % % % % % % % G=[G t(:).^in]; 109. % % % % % % % % % % % % % % % % end 110. 111. %%%TERCERA forma de generar la matriz (sin bucle mucho mas rapido) 112. G=bsxfun(@power,t(:),0:m); 113. 114. % calcula la solucion de minimos cuadrados y el modelo 115. m = (G'*G)\(G'*T); 116. d = G*m; 117. 118. % dibuja la linea recta 119. plot(t,d,'b-','LineWidth',3); 120. 121. % calculo de la varianza asociada al modelo (s2d) y a los parametros (C) 122. e = (T - d); 123. E = e'*e; 124. s2d = E/(N-2); 125. C = s2d * inv(G'*G); 126. sm = sqrt(C(2,2)); 127. % escribe en pantalla la pendiente y su desviacion estandar con intervalo de confianza al 95.45% 128. text(0.1,0.85,['pendiente:',num2str(m(2)),... 129. 'C/year','+-',num2str(2*sm)],'units','normalized','fontsize',18); 130. % fit_straight_line 131. % ajustar una linea recta a una serie global de T 1965-2010 132. % grafica los datos 133. subplot(1,2,2); 134. plot(t,T,'ro',t,T,'r-'); 135. xlabel('tiempo','fontsize',18);

136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159.

160.

ylabel('Anomalia T, (C)','fontsize',18); axis( [1965, 2010, -0.5, 1.0] ); hold on; % orden 2 m=2; M=m+1; %Define el kernel G=zeros(N,M); %Define el kernel (parabola) G=[ones(N,1), t, t.^2]; %otra forma %G=bsxfun(@power,t(:),0:M-1); % calcula la solucion de minimos cuadrados y el modelo m = (G'*G)\(G'*T); d = G*m; % dibuja la linea recta plot(t,d,'b-','LineWidth',3); % calculo de la varianza asociada al modelo (s2d) y a los parametros (C) e = (T - d); E = e'*e; s2d = E/(N-3); %%Error del modelo smy=sqrt(s2d) disp(['ymodelo +-',num2str(2*smy)])