You are on page 1of 4

Ajustes de Lnea Parbola

Glenn R. Revolledo Vilchez


Facultad de ciencias naturales y matemticas, Escuela profesional de Fsica,
Universidad Nacional Del Callao
e-mail: glennr.revolledov@gmail.com
Presentado el 12 de Junio del 2015
Resumen
En este trabajo se presenta el ajuste de lnea parablica para series de tiempo. Mediante
una rutina de Matlab se realiza el ajuste parablico, mostrando as, los diversos resultados
obtenidos con diferentes datos
Palabra clave: Mnimos cuadrados, Matlab, numrico. Anomala

1. Introduccin
2. En diversas reas de la fsica 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 tambin realizar una correcta
administracin de estos. Existen
diversas tcnicas que facilitan esta
labor, conocidas en conjunto como
tcnicas de anlisis de datos.
4. El ajuste parablico es una tcnica
de anlisis de datos similar a la
regresin de mnimos cuadrticos,
donde la funcin tendr la forma:
5.

21.

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. Mtodos y materiales
8.

29.
30.

9. 2.1. Ajuste Parablico

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

10.
11. Para realizar un ajuste parablico
actuaremos del mismo modo que
en el caso de Regresin de
Mnimos Cuadrados, pero utilizando
la funcin 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 nmero total de


observaciones N y utilizando la
expresin
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 situacin


previstos son:
16.

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 x2
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 Anomalas de


Paita
59.

41.
42. Es decir, un sistema de tres
ecuaciones con tres incgnitas.
Resolviendo el sistema por el
mtodo de Gauss o por la Regla de
Cramer obtendremos el ajuste
parablico.
43.

60. Utilizamos
los
datos
proporcionados en clases, para el
caso de Paita, obteniendo la Figura
2. Notamos que el ajuste parablico
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


Apndice A del presente trabajo)
sometemos nuestros datos al ajuste
parablico. Los datos buscan,
proporcionados
en
clases,
representan una serie de tiempo
para las anomalas de temperatura
del mar.

63.
64. Figura 2. Anomalas de la Temperatura
Paita

47.
48. 3.1. Serie de Tiempo Anomalas
49.

65.
66. 3.3. Serie de Tiempo Anomalas
del Nio
67. Utilizamos
los
datos
proporcionados en clases, para el
caso del Nio, obteniendo la Figura
3. De manera similar al caso
anterior, notamos que el ajuste
parablico
muestra
un
comportamiento ms aceptable
para el conjunto de datos.
68.
69.

50. Con los mismos datos configurados


por defectos en el programa,
podemos generar el grfico.
51.
52.

53. Figura 1. Anomalas de la Temperatura


54.

55. La
Figura
1,
muestra
el
comportamiento anmalo de la
temperatura a travs del tiempo. En
esta
figura
tambin
puede
observarse cul es el ajuste con
mejor comportamiento para estos
datos.

70. Figura 3. Anomalas de la Temperatura del


Nio

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)])