Download - Tutorial SAMS
-
8/16/2019 Tutorial SAMS
1/24
Tutorial para el uso del programa SAMS 2009 para generación de seriessintéticas
Elaborado por: Raul Tupac Yupanqui Vélez
INTRODUCCION
La simulación estocástica de series de tiempo en recursos hídricos y en particular
en la hidrología ha sido ampliamente utilizada por muchas décadas en diversos
problemas relacionados por la planificación y manejo de los sistemas de recursos
hídricos. Típicos ejemplos son la determinación de la capacidad de un reservorio,
la evaluación de la confiabilidad de un reservorio para una capacidad dada,
evaluación del manejo de estrategias adecuadas de los recursos hídricos bajo
varios escenarios potenciales, evaluación de la performance de un sistema de
irrigación para la incerteza de la disponibilidad hídrica, etc.
Para este propósito se ha desarrollado varios paquetes informáticos que tratan
este tema en particular, uno de ellos es el paquete SAMS, cuya primera versión
(SAMS-96-I) fue liberada en el año 1996. Desde esa fecha, se han realizado
varias correcciones y mejoras asi como desarrollo de nuevas funciones gracias al
apoyo de los usuarios y del equipo de investigación que desarrollo el programa.
La actual versión del SAMS es la del 2009, la cual incluye una nueva modalidad
de aproximaciones y presentaciones de análisis de los datos.
1) PRIMEROS PASOS
Para comenzar a trabajar con el SAMS se debe tener una serie de tiempo
completa, puede ser anuales o estacionales (mensual, estacional, etc), estos
datos se pueden extraer de una tabla en formato EXCEL los cuales deben estar
en una sola fila de la siguiente manera:
mailto:[email protected]:[email protected]:[email protected]
-
8/16/2019 Tutorial SAMS
2/24
Fecha Variable
01/01/1950 0.51
01/02/1950 6.13
01/03/1950 4.96
01/04/1950 10.02
01/05/1950 1.0501/06/1950 0.63
01/07/1950 0.38
El encabezado (fecha y variable) es opcional.
Para importar los datos de la tabla EXCEL se selecciona la siguiente opción:
Formato de la serie de tiempo en
Excel, todos los datos deben estar
en una sola fila.
Pueden ser datos anuales,
mensuales o estacionales, además
la variables puede ser precipitación,
caudal, lluvias máximas, etc
-
8/16/2019 Tutorial SAMS
3/24
En el caso del ejemplo del tutorial se tienen datos de caudales medios mensuales
de una estación hidrológica, la data va desde el año 1950 hasta el año 2000,
entonces se debe establecer lo siguiente:
Se coloca el número de estaciones, en este caso solo es
El número de años será 2000-1950+1=51 años
El año de inicio es 1950 (starting year)
El número de season se refiere en este caso a los meses
cada season viene a ser un mes, se tienen 12 meses.
-
8/16/2019 Tutorial SAMS
4/24
Después de esto se debe guardar el proyecto en el directorio que mejor se
considere:
-
8/16/2019 Tutorial SAMS
5/24
2) ANALISIS DE LOS DATOS
El ploteo de la serie de tiempo puede ayudar a detectar de manera visual las
tendencias, saltos, outliers y errores en la data, para lograr esto se selecciona lo
siguiente:
El ploteo de la serie de tiempo se puede hacer de manera anual o para un mes
especifico, esto se define en la pestaña ANNUAL/SEASONAL, cada “Season”
corresponde a un mes, e.g Season 1= Enero (en este ejemplo)
El ploteo de la serie a nivel anual. Se observa un pico extremo en el año 1998
-
8/16/2019 Tutorial SAMS
6/24
El ploteo de la serie para el mes de enero (Season 1). Se observa un pico extremo
en el año 1998
También se puede realizar un análisis de autocorrelacion, es decir, se verifica laindependencia serial de la serie, esto garantiza que las observaciones siguen un
patrón independiente de otras observaciones para ello se elige la opción ACF:
En la grafica se observa que los valores de autocorrelacion (ACF) están dentro del
intervalo de confianza (las dos líneas paralelas entrecortadas) lo cual garantiza
que este mes (Season 1) tiene observaciones con independencia serial, se debe
realizar el mismo grafico para todos los meses y verificar este comportamiento, encaso de ver que los valores del ACF exceden el intervalo de confianza se debe
revisar los datos, corregirlos y explicar este comportamiento.
-
8/16/2019 Tutorial SAMS
7/24
Los datos de entrada deben ser estacionarios, es decir libres de tendencias, para
garantizar esta característica se debe realizar el proceso de normalización o
estandarización de los datos, para ello se procede asi:
Aparecerá lo siguiente:
-
8/16/2019 Tutorial SAMS
8/24
Como nuestros datos son mensuales se debe seleccionar la opción Seasonal en
el cuadro de la izquieda (Transf. Bar), este proceso se debe hacer para todos los
meses, es decir, se repite 12 veces ya que la generación de series sintéticas a
“seasonal” es decir, a nivel mensual, se genera resultados y datos para cada mes
independientes los unos de los otros. A nivel “seasonal” (mensual) seleccionar las
opciones en la Transf. Bar tal como se muestra en el gráfico:
Se pone best transformation y se
pone CLOSE (no se acepta)
-
8/16/2019 Tutorial SAMS
9/24
Los resultados son los siguientes :
El proceso de estandarización fue correcto, todos los meses pasaron los test de
confiabilidad como se muestra en el gráfico, en caso de tener algún resultado
“reject” se debe analizar la calidad de los datos, caso contrario se pueden buscar
otras opciones de normalización o en su defecto aceptar la normalización pero
explicando los motivos de este resultado y bajo su propio riesgo.
-
8/16/2019 Tutorial SAMS
10/24
Para tener un mejor resumen de los resultados se procede asi:
3) SELECCIONANDO EL MODELO ESTOCASTICO
-
8/16/2019 Tutorial SAMS
11/24
Para proceder a elegir que modelo es el más adecuado para generar las series
sintéticas se debe primero ajustar los datos mensuales a las funciones que hemos
definido previamente, para ello se procede:
Para datos mensuales se elige el modelo PARMA (p.q) mientras que para datos
anuales el modelo a elegir es el ARMA (opcion Ann Univariate).
Primero se debe seleccionar que estación se va utilizar, para ello se procede:
-
8/16/2019 Tutorial SAMS
12/24
En este caso como es una sola estación se selecciona 1 y se coloca Add, luego
Apply.
En la tabla Fit PARMA, se observa que se han elegido el modelo PARMA (1,0)
esto se observa en la opcion “Enter Model Order” cuyos valores son PAR=1,
PMA=0, luego se coloca Fit Model.
Los resultados del ajuste del modelo PARMA (1,0) se muestra a continuación con
las siguientes opciones:
Se observa el modelo actual PARMA(1,0), los resultados son:
-
8/16/2019 Tutorial SAMS
13/24
En la tabla anterior se muestran los resultados del modelo utilizado, sin embargo
los valores más importantes y que deciden la calidad del modelo son los valores
de AICC y SIC, para este modelo PARMA (1,0) se tienen los siguientes valores:
Sin embargo el análisis no termina aquí porque se deben probar otros modelos
PARMA (p,q) es decir, probar ahora el modelo PARMA (1,1), luego el PARMA
(1,2) y asi sucesivamente hasta lograr el menor valor del AICC y SIC para cada
mes, no necesariamente un modelo PARMA es ideal para todos los meses,
generalmente se hacen modelos para cada mes, quiere decir que al final uno debe
hacer tantos modelos PARMA como considere para cada mes y al final se queda
con un modelo PARMA para cada mes con los menores valores de AICC y SIC
para cada mes, este proceso es repetitivo y largo, porque por lo menos se deben
realizar 50 a 100 corridas por mes probando diferentes modelos PARMA (p,q), por
ejemplo, para el mes enero primero se probó con el modelo PARMA (1,0) luego el
PARMA (1,1), PARM A (1,2), PARM (1,3) …..PARMA(1,n) después PARMA (2,1),
-
8/16/2019 Tutorial SAMS
14/24
PARMA (2,2)…PARMA(2,n) y así sucesivamente hasta la cantidad de veces que
el usuario considere pertinente, se recomienda entre 50 a 100 corridas por mes,
los valores del modelo PARMA (p,q) el usuario los elige puede ser p del 1 hasta el
20 y q del 1hasta 20 o como el usuario considere, no hay un límite pero mientras
mas corridas se hagan, se obtendrán resultados más confiables y el trabajo tendrá
la confianza debida.
Para generar otro modelo PARMA (p,q) se procede asi:
Luego se vuelve a generar otro modelo desde Model Fitting:
-
8/16/2019 Tutorial SAMS
15/24
Se observa que ahora se variaron los parámetros PAR y PMA (que ahora ya no es
0 sino 1), luego colocar Fit Model:
-
8/16/2019 Tutorial SAMS
16/24
Se observa que los valores del AICC y SIC son mas altos en este modelo (PARMA
(1,1) que los obtenidos en el modelo PARMA (1,0) por lo que este modelo (solo
para el mes de enero o season 1) NO SE ACEPTA y por el momento se queda
con el PARMA (1,0) hasta se encuentre un modelo que obtenga los menores
valores del AICC y SIC.
4) GENERACIÓN DE SERIES SINTÉTICAS
Se procede primero a seleccionar el modelo más adecuado para el mes elegido, la
generación de series sintéticas se hace por mes de la siguiente manera:
-
8/16/2019 Tutorial SAMS
17/24
Luego se indica cuantos datos se desea generar, se recomienda un numero
menor a la longitud total de los datos, para este caso, como se tienen 51 años, se
deberán generar a lo mucho 51 datos.
En el cuadro que aparece seleccionar las siguientes opciones:
Para ver los resultados se procede:
-
8/16/2019 Tutorial SAMS
18/24
Como este modelo SOLO ES PARA EL MES DE ENERO, se eligen las siguientes
opciones en el cuadro que aparece:
Recordar que season 1 es similar a decir “mes enero” , luego colocar SHOW
-
8/16/2019 Tutorial SAMS
19/24
En la figura anterior, el triangulo negro en cada box plot, representan a los valores
del mes analizado (Season 1 o enero) , si este triangulo este dentro del box plot y
de preferencia en la parte central del mismo, entonces se acepta este modelo para
generar las series sinteticas, caso contrario, se debe buscar otro modelo que
satisfaga los criterios del menor AICC y SIC , en este ejemplo se observa que el
modelo falla para varios indicadores por lo que se debe buscar otro modelo
PARMA (p,q)
Comparacion entre la serie analizada y la generada, criterio de similitud entre
datos observados y generados:
Como se selecciono generar 51 series sinteticas, entonces el usuario debe
analizar cada una de estas series y ver cual de todas se asemeja a la serieobservada, ademas tambien se pueden comparar otros criterios tal como se
muestra en el cuadro que aparece:
-
8/16/2019 Tutorial SAMS
20/24
Recordar que este modelo es SOLO PARA ENERO, asi que seleccionar Season
1, como se va a comparar las series generada y observada se activa la opcion
Time series, en la pestaña inferior se puede seleccionar la serie generada que se
desee (51 series generadas) en este caso se selecciono la serie 1 (Gen Series 1)
luego colorcar SHOW.
A continuacion se muestran las graficas para un numero determinado de series
generadas para el mes de enero:
-
8/16/2019 Tutorial SAMS
21/24
-
8/16/2019 Tutorial SAMS
22/24
Se prueban con todas las series generadas y se selecciona aquella que mejor se
asemeje a la serie observada, este proceso se realiza para cada mes con su
respectivo modeo PARMA seleccionado.
-
8/16/2019 Tutorial SAMS
23/24
5) RESULTADOS
Las series sintéticas generadas (en este caso las 51 series generadas para el mes
de enero usando el modelo PARMA (1,0) se presentan en formato .txt en el
directio de trabajo (en la carpeta donde guardo el proyecto SAMS.
El archivo seas_1 contiene todas las series generadas para el mes seleccionado
(season 1) el usuario debe seleccionar los datos para la series que desee usae,
por ejemplo, en la corrida anterior se vio que la serie Gen 2 tenia mejor similitud
con los datos observados, entonces en el archivo seas_1.txt se busca la serie
“Gen2” denominada “Trace 2”
-
8/16/2019 Tutorial SAMS
24/24
La serie “#Trace 2” contiene los datos generados para el mes de enero que mejor
se ajusto para los datos observados (solo mes de enero).
El procedimiento explicado para el mes de enero, se realiza para todos los meses,
es un proceso largo y se deben hacer varias corridas, pero de esto se trata las
series sintéticas, uno puede generar infinidad de series sintéticas pero se debe
tener un criterio para eso, uno de debe probar la mayor cantidad de modelos
posibles y generar tantas series de datos sea posible para lograr una mejor
confiabilidad de sus resultados.
// fin de documento