Vous êtes sur la page 1sur 12

1. Diseo e implementacin de la red neuronal.

Para disear la red neuronal y poder hacer la prediccin de la lluvia es necesario


estudiar el comportamiento de cada una de las variables del tiempo atmosfrico
en la ciudad de Valledupar. Se tomaron datos de la estacin meteorolgica del
aeropuerto Alfonso Lpez Pumarejo, entregados por la Nooa y datos de las cartas
climatolgicas medias mensuales de Valledupar en los archivos de la pgina web
del IDEAM1(Vase Figura 1).

Figura 1. Cartas climatolgicas Aeropuerto Alfonso Lpez

A continuacin se muestran grficos de barras y de lnea del comportamiento de


las precipitaciones (ver Figura 2), temperatura y humedad (ver Figura 3) en la
ciudad.
Figura 2.Precipitaciones mensuales en Valledupar

1 http://bart.ideam.gov.co/cliciu/valledu/valledu.htm

Figura 3. Temperaturas Medias (C) y Humedad Relativa (%) Valledupar

En la figura 4 podemos observar el cuadro climtico completo, con promedios


anuales, mensuales y comportamiento de los vientos, la lluvia, la humedad,
temperatura, y las precipitaciones.

Las pginas web de la NOAA 2,


y otros sitios como Weather_forecast,
3
Flightaware y Aerooriente que es el sitio web del aeropuerto de Valledupar,
entregan datos actuales y registros del comportamiento del clima en los 20 das
anteriores y tambin datos estimados a 10 das o ms tambin aportan datos de
apoyo para el diseo de la red neuronal debido a que estos datos son enviados
por la estacin meteorolgica del aeropuerto Alfonso Lpez Pumarejo, sirvieron
como gua .
Tomando toda esta informacin y el estudio de los cambios de cada una de las
variables se puede enunciar que el clima de la ciudad de Valledupar es
relativamente clido las temperaturas normales oscilan 30C y 35C, de 35C a
40 son las temperaturas mximas que se pueden generar en esta ciudad, y 29C
a 16C son las temperaturas mnimas ms agradables estas suelen ser las
temperaturas de los das lluviosos.
La humedad es muy variable alrededor de los meses del ao, en los meses
lluviosos se puede presentar hasta del 100% en ocasiones cuando la humedad es
alta y la temperatura es normal, la sensacin trmica es mayor, pero si la
temperatura es baja el ambiente se torna agradable y casi agobiante y en los
meses ms secos donde se presentan fuertes vientos suele ser menor a 25%.
La presin atmosfrica es relativamente constante y alta ya que es una zona
tropical y en los das hmedos el aire se torna ms pesado por lo tanto la presin
atmosfrica es un poco mayor que en los das secos alrededor de los 101Kpa a
104Kpa. En los das ms secos la presin es un poco ms baja entre 97-101Kpa.
La velocidad delos vientos alrededor del ao es baja, y se incrementa en los
meses de poca humedad cuando la presin atmosfrica es menor como son
noviembre, diciembre, enero y febrero, la velocidad mxima registrada son
15.5m/s provenientes de los vientos alisios que se dirigen al nordeste y al sureste.
Cuando la humedad aumenta y los vientos disminuyen su velocidad se abren
paso a las precipitaciones.
Diseo de la RNA:
Los datos de entrada posibles de la RNA se pueden observar en la Tabla 1, Asi
como tambin los valores de salida esperados.

2 Administracin Nacional Ocenica y Atmosfrica de los estados unidos, se


centra en las condiciones de los ocanos y la atmsfera.
http://weather.noaa.gov/weather/current/SKVP.html,
3

Tabla 1. Datos de entrada RNA


T(C)
19.0000
13.0000
18.0000
12.0000
18.0000
10.0000
17.0000
9.0000
16.0000
13.0000
20.0000
9.0000
20.0000
15.0000
21.0000
13.0000
21.0000
15.0000
22.0000
11.0000
22.0000
14.0000
22.0000
11.0000
23.0000
9.0000
23.0000
7.0000
24.0000
6.0000
24.0000
7.0000
24.0000
8.0000
25.0000
11.0000
25.0000
1.0000
25.0000

90.0000 103.0000

1.5000

Prob
lluvia(%)
80

90.0000 104.0000

1.3000

82

90.0000 104.0000

1.5000

84

95.0000 104.6000

0.8000

85

100.0000 104.7000

0.5000

85

95.0000 103.9000

1.5000

88

96.0000 103.9000

1.6000

88

90.0000 102.9000

1.8000

88

90.0000 102.8000

2.0000

88

99.0000 102.7000

1.9000

85

94.0000 102.6000

2.1000

70

93.0000 102.5000

2.3000

70

82.0000 102.4000

2.4000

71

90.0000 102.3000

2.5000

73

94.0000 102.2000

2.6000

70

80.0000 102.8000

2.7000

69

70.0000 102.7000

2.8000

69

89.0000 101.9000

3.0000

68

78.0000 101.2000

2.0000

69

75.0000 101.8000

3.0000

68

H(%)

P(Kpa)

V(m/s)

Dir

3.0000
26.0000
3.0000
26.0000
11.0000
26.0000
10.0000
26.0000
12.0000
27.0000
13.0000
27.0000
11.0000
27.0000
11.0000
27.0000
10.0000
28.0000
11.0000
28.0000
12.0000
28.0000
11.0000
29.0000
13.0000
29.0000
15.0000
29.0000
14.0000
30.0000
15.0000
30.0000
16.0000
30.0000
13.0000
30.0000
11.0000
31.0000
12.0000
31.0000
7.0000
31.0000
6.0000
32.0000

86.0000 101.7000

2.0000

67

80.0000 101.6000

3.0000

66

76.0000 101.5000

2.0000

65

70.0000 101.8000

3.0000

64

74.0000 101.6000

2.0000

58

70.0000 101.5000

3.0000

57

72.0000 101.4000

2.0000

48

69.0000 101.9000

3.0000

43

70.0000 101.8000

2.0000

45

79.0000 101.2000

3.0000

50

68.0000 101.1000

2.0000

40

79.0000 101.1000

1.0000

51

75.0000 101.1000

2.0000

40

68.0000 101.1000

2.0000

35

70.0000 101.2000 15.0000

43

65.0000 101.1000

3.0000

42

64.0000 101.2000

2.0000

41

63.0000 101.1000

1.0000

40

65.0000 101.1000

2.0000

42

63.0000 101.2000

1.0000

41

53.0000 101.1000

3.0000

45

62.0000 100.9000

2.0000

44

6.0000
32.0000
8.0000
32.0000
7.0000
33.0000
6.0000
34.0000
5.0000
35.0000
5.0000
35.0000
5.0000
35.0000
7.0000
35.0000
7.0000
36.0000
7.0000
36.0000
6.0000
36.0000
5.0000
36.0000
7.0000
37.0000
4.0000
37.0000
3.0000
37.0000
4.0000
37.0000
4.0000
38.0000
3.0000
38.0000
2.0000
38.0000
3.0000
38.0000
2.0000
39.0000
5.0000
39.0000

61.0000 100.8000

3.0000

43

60.0000 100.7000

4.0000

35

59.0000 100.6000

2.0000

34

58.0000 100.5000

3.0000

35

57.0000 100.4000

4.0000

35

48.0000 100.3000

5.0000

32

58.0000 100.2000

4.0000

31

40.0000 100.1000

3.0000

32

49.0000 100.0000

2.0000

38

43.0000 99.9000

5.0000

38

38.0000 99.9000

7.0000

35

36.0000 99.8000

2.0000

34

39.0000 99.7000

5.0000

37

38.0000 99.6000

8.0000

31

32.0000 99.5000

4.0000

32

30.0000 99.4000

6.0000

34

29.0000 99.3000

5.0000

30

28.0000 99.2000

4.0000

29

25.0000 99.1000

6.0000

27

25.0000 98.7000

5.0000

26

27.0000 98.6000

6.0000

25

30.0000 98.5000

7.0000

24

5.0000
39.0000 26.0000
4.0000
40.0000 20.0000
2.0000
40.0000 21.0000
2.0000
40.0000 22.0000
1.0000
40.0000 26.0000
1.0000
41.0000 25.0000
15.0000
41.0000 28.0000
1.0000
41.0000 29.0000
3.0000
41.0000 18.0000
14.0000
Fuente: los autores.

98.4000

8.0000

23

98.1000

3.0000

20

98.1000

5.0000

16

97.9000

6.0000

17

97.6000

4.0000

18

97.5000

3.0000

19

97.4000

5.0000

16

97.3000

6.0000

17

47.7000

4.0000

20

Despus que se tienen los datos esperados se procede a crear la red neuronal en
MATLAB de la siguiente manera:
Los vectores de entradas y objetivos son llamados
p1=entradas
t1=salidas
La funcin newff crea una nueva red neuronal Backpropagation
red1=newff(p1,t1,[4 3]);
Esta expresin crea una red backpropagation de 2 capas con 4 neuronas en la
primera capa y 3 neuronas en la segunda :
Luego de que la red es creada se debe simular, habitualmente cuando se crea una
red esta no entrega directamente los valores esperados por lo tanto se debe
proceder al entrenamiento.
a=sim(red1,p1)
e1=t1-a

El vector a son las salidas de la red respecto a las entradas p1 y e1 es el error


que hay entre los objetivos y las salidas obtenidas:
a = [68.5239 68.0277 68.1330 67.8647 67.4647 67.5942 67.3045 68.5279
68.4649 68.3070 68.6763 69.0493 69.7905 69.5777 69.3555 69.9987
70.4577 69.6922 70.8876 70.9739 70.0891 70.0242 69.7546 70.1991
69.3222 70.2272 69.7380 70.3212 69.5762 69.9116 69.7488 68.2001
69.0523 69.4990 68.2293 69.8436 69.6625 69.3602 69.7087 69.8511
67.4013 68.8900 68.0475 59.8892 66.9126 51.9446 34.1763 25.9211
46.8717 46.7200 55.2730 17.4488 13.2681 37.0911 13.9325 12.2145
14.1253 12.5218 12.5320 12.6985 12.1171 12.5313 12.3273 12.1696
11.8905 12.4058 12.4427 11.9957 11.8506 12.197737.1731 11.9936
12.0124 21.7985]
e1 = 11.4761 13.9723 15.8670 17.1353 17.5353 20.4058
19.4721 16.5351 16.6930 1.3237 0.9507 1.2095 3.4223 0.6445
-1.4577 -1.6922 -1.8876 -2.973 -3.0891 -4.0242 -4.7546 -6.1991
-13.2272 -21.7380 -27.3212 -24.5762 19.9116 -29.7488 -17.2001
-34.4990 -25.2293 -27.8436 -28.6625 -29.3602 -27.7087 -28.8511
-24.8900 -25.0475 -24.8892 -32.9126 -19.9446
3.8237 12.0789
-12.7200 -20.2730 20.5512 20.7319 -0.0911 17.0675 19.7855
17.4782 16.4680 14.3015 13.8829 12.4687 11.6727 10.8304
8.5942 7.5573 4.0043 5.1494 5.8023 -18.1731 4.0064 4.9876

20.6955
-0.9987
-11.3222
-29.0523
-22.4013
-11.8717
19.8747
10.1095
-1.7985

Como se observa los errores son muy altos, se debe proceder a entrenar la red, lo
primero que se debe hacer es inicializar los parmetros de entrenamiento:
red1.trainParam.show =70;
-Visualizar iteraciones
red1.trainParam.lr = 0.599;
- Velocidad
red1.trainParam.mc = 0.95;
-Coeficiente de momentum
red1.trainParam.max_perf_inc =0.1; -Valor mximo entre error
red1.trainParam.epochs =7000;
-Nmero de iteraciones
red1.trainParam.goal = 0.1;
-Error mnimo permitido
red1.trainParam.lr_inc = 1.05;
- Multiplicador de incremento
red1.trainParam.lr_dec= 0.4;
-Multiplicador de decremento

Luego se procede a realizar el entrenamiento e inmediatamente se evala


[red1]= train(red1,p1,t1);
x= sim(red1,p1)

e2=t1-x
Al entrenar la red aparece en pantalla el entrenador de redes neuronales
Figura 4. Neural Network Training

Cuando la herramienta termina de entrenar la red se pueden observar las graficas


de regresin, estado de entrenamiento y desempeo:

La salida que se obtiene de la red entrenada son las siguientes:


x = [81.4965 82.6106 82.2094 83.5953 87.0018 85.2355 87.5433 79.4234
80.8262 80.7058 78.6682 77.4616 70.8392 72.2253 70.8682 69.1521
68.4875 69.6994 66.9188 66.2030 66.2765 67.5554 64.8212 64.0244
54.8656 51.0553 51.8950 47.8629 42.6520 50.7606 42.3762 42.3843
42.6237 41.0567 39.6355 39.7685 39.4515 39.3646 38.9956 38.8018
37.9626 38.1160 37.9324 37.5959 37.8803 37.4530 37.2175 37.1420
37.2602 37.1205 37.0458 35.9278 34.9662 35.9202 33.9071 31.9279
32.2703 30.4851 28.4371 27.8099 25.8242 24.8584 23.3061 23.1353
20.8320 21.3110 18.5922 18.0691 17.0353 17.4716 20.1523 16.0256
16.0805 19.0458]
A simple vista se nota que los valores de las salidas son mucho ms prximos a
los resultados esperados. Luego se analiza el error:

e2 =-1.4965 -0.6106 1.7906 1.4047 -2.0018 2.7645 0.4567 8.5766


4.1738
4.2942
-8.6682 -7.4616
0.1608
0.7747 -0.8682 -0.1521
0.5125 -1.6994 2.0812 1.7970 0.7235 -1.5554 0.1788 -0.0244 3.1344
5.9447 -3.8950 -4.8629 2.3480 -0.7606 -2.3762 8.6157 -2.6237 -6.0567
3.3645 2.2315 1.5485 0.6354 3.0044 2.1982 7.0374 5.8840 5.0676
-2.5959 -3.8803 -5.4530 0.7825 0.8580 -2.2602 -3.1205 -2.0458 2.0722
-0.9662 1.0798 -2.9071 0.0721 1.7297 -0.4851 0.5629 -0.8099 0.1758
0.1416 0.6939 -0.1353 1.1680 -0.3110 1.4078 -2.0691 -0.0353 0.5284
-1.1523 -0.0256 0.9195 0.9542

Los valores del vector de error e2 son mucho menores que los del vector e1 por lo
tanto la nueva red neuronal es mucho ms satisfactoria. Cabe resaltar que para
obtener e valores satisfactorios o aproximados es posible que se necesite varios
intentos variando los parmetros de entrenamiento.
Luego se obtienen las matrices de los pesos y bias de la RNA
w1=red1.IW{1,1}%pesos de entrada (capa oculta 1 con capa entrada)
b1=red1.b{1}
w2=red1.LW{2,1}%pesos de entrada (capa oculta 1 con capa salida 2)
b2=red1.b{2}
w1 = 1.4457
-1.0224

0.8133
0.6283

0.7655 -0.4721
0.9718 -0.1149

1.0276 -1.3054 -0.9752


3.7624 -1.0643

0.3145
0.1718

1.4424 -0.8483

0.3838 -0.2054 -0.1962

b1 =
-1.7842
1.1469
0.1604
1.4183

w2 =-0.4133 -0.7337 -0.6162 -3.6966


-1.6679 -0.2879 -0.6648

2.4004

-0.1161

1.6561

0.0052 -0.4278

b2 =1.9943
1.0783
2.2734

Los datos que se utilizan para la activacin de la red neuronal son los pesos y los
bias.
en e n
t= n n
e +e
n=+b

Esta ecuacin se aplica para cada capa la salida se obtiene


de la ltima capa.
Primera capa
n 1=w1p 1+ b 1

t x=

Segunda capa

en 1e n1
en 1+ en 1

n=w 2tx + b 2

t=

enen
n 1
n
e +e

Vous aimerez peut-être aussi