Artículo Original

http://opn.to/a/7yoWk

TrendSoft: Software para el análisis de tendencia y puntos de cambio de variables climatológicas

TrendSoft: Software to analyze turning points and tendencies on climate variables


RESUMEN

Ante las evidencias de un cambio climático a escala global, los análisis de tendencia de variación climática se han convertido en un tema de gran interés para la mayoría de los países del mundo. Los expertos en la materia han señalado que para evidenciar la existencia de un cambio climático es necesario analizar las tendencias de variables climáticas, considerando diferentes escalas de tiempo y espacio. Resulta importante para el Instituto de Meteorología el análisis de la tendencia de las variables climatológicas por lo que se desarrolló un software con el objetivo de determinar la existencia o no de tendencia y punto de cambio de variables meteorológicas, a través de diferentes pruebas no paramétricas. Para el análisis de correlación serial se utilizó la dócima de Wald-Wolfowitz, mientras las dócimas del coeficiente de correlación de Spearman, Kendall-Mann y Pettitt se emplearon para la tendencia y punto de cambio. La herramienta computacional que se presenta es una aplicación de nombre TrendSoft.exe, desarrollada como una aplicación web usando Angular 7 para el frontend y ASP.NET Core 2.1 para desarrollar la API del backend, y usando Electron para empaquetar dicha implementación web como una aplicación de escritorio. Se describe una metodología para evaluar la sensibilidad del análisis de tendencia sobre distintos períodos de variables meteorológicas. Mediante su utilización se pudo observar que, en la estación meteorológica de Casablanca durante el período 1988-2018, la temperatura superficial del aire en la estación de Casablanca ha manifestado un incremento significativo de 1.2°C. En la escala mensual se obtuvo que no pudo determinarse la existencia de tendencia ni la ubicación de algún punto de cambio, mientras que en la escala anual se determinó la existencia de tendencia al 2.6% y la ubicación de un punto de cambio al 4.5% en el año 2012.

Palabras clave: 

tendencia; punto de cambio; pruebas no paramétricas; software; temperatura media.

ABSTRACT

Taking into account the evidence of global scale climate change, the analysis of climate variation tendencies, have become a topic of great interest for most countries in the world. The experts on such topics, have pointed out that to evidence the climate change existence is necessary to analyze the climate variable tendencies, considering different time and space scales. It is important for the Meteorology Institute to analyze the tendency of climate variables that is the main razon to develop a software with the goal to determine the existence or not of a tendency and turning point of meteorological variables, using non parametric tests. For the serial correlation test we used Wald-Wolfowitz test, and the Spearman, Kendall-Mann and Pettitt correlation test for the tendency and turning point. The computational tool is a web application named TrendSoft.exe it was developed using Angular 7 for the user frontend portion and ASP.NET Core 2.1 to develop the backend API, it was also used Electron to make a pack this web application into a desktop application. We also describe a methodology to evaluate the sensitivity of the analysis of tendencies on different periods of meteorological variables. Using the by 1.2software, we can observe that, on the meteorological station of Casablanca during 1988 - 2018, the superficial temperature of the air has increased on 1.2°C. On the monthly scale we could not determine the existence of tendency or location of any turning point, meanwhile the annual scale it was determined by the existence of tendency at 2.6% and the location off a turning point at 4.5% on the year 2012.

Key words: 

tendency; turning point; non-parametric tests; software; mean temperature.


INTRODUCCIÓN

La sociedad humana es altamente dependiente del clima terrestre. Los patrones climáticos y el poder de adaptación humano determinan la disponibilidad de alimentos, agua y otros recursos indispensables para la vida. A estas variaciones se encuentran asociados eventos extremos, como las sequías y lluvias excesivas. La perspectiva de que ocurran cambios climáticos como resultado de la acción del hombre, ha incrementado el interés sobre este tema; por lo cual el estudio del clima ha adquirido una connotación especial.

La variabilidad climática y el cambio climático cada día afectan de manera más evidente el clima actual y futuro. El primero de estos se define como aquellos cambios sobre el clima que dependen de condiciones atmosféricas extremas que exceden en mucho a los promedios estándares; y el segundo como una modificación del clima duradera y significativa con respecto a un historial climático, tanto a escala regional como global y sobre variados parámetros meteorológicos (Serrano et al., 2012). En los últimos años se ha evidenciado en nuestro país y en el mundo un aumento significativo de la temperatura, así como otros efectos atribuidos a dicho cambio que afectan a distintos sectores (Castro & Carvajal, 2010; Castro, 2013; Ruíz et al., 2016; Escalante & Amores, 2014). Por esto se hace importante el análisis de tendencias en series de datos sobre variables climatológicas, para comprobar su comportamiento o la existencia de puntos de cambio en la tendencia de las mismas (puntos en que ocurre un cambio significativo sobre el comportamiento de la variable). El análisis de tendencia puede ser realizado sobre cualquiera de estas variables: temperatura, viento, precipitaciones, etc.

Una serie temporal es un grupo de datos observados de una variable, ordenada según transcurre el tiempo. Estas series permiten el análisis de patrones de comportamiento, secuencia de eventos en el tiempo y permite estimar su evolución en el futuro cercano. La tendencia es un efecto prolongado del comportamiento general de una serie en el tiempo. La forma de la línea general de tendencia puede ajustarse a una recta o a una curva y puede ser ascendente (creciente), estacionaria (sin variación significativa) o descendente (decreciente). Los cambios de una serie de tiempo se pueden producir gradualmente (una tendencia), bruscamente (un cambio radical) o en una forma más compleja. Puede afectar a la media, mediana, varianza u otros parámetros estadísticos de los datos.

El análisis de tendencia servirá para evaluar el cambio en el comportamiento de una variable meteorológica sobre períodos largos (Vega et al., 1994). Sobre series temporales o cronológicas de precipitaciones, temperaturas medias, temperaturas máximas y mínimas extremas, se analiza la tendencia aplicando técnicas estadísticas, denominadas test paramétricos y no paramétricos.

Es necesario indicar que la posible tendencia identificada en series temporales de datos de una variable climática puede deberse a diferentes causas: cambio climático global, consecuencia del aumento de las concentraciones de gases de efecto invernadero (efecto urbano y grandes metrópolis), cambio de uso de la tierra (deforestación, urbanización, reforestación, etc.). El análisis de tendencia, por sí solo, no permite identificar las causas.

El análisis de tendencia de una variable meteorológica es un procedimiento estadístico que mediante pruebas de hipótesis explica el cambio de la variable, arroja la tasa de cambio respecto al tiempo, ayuda a identificar regiones y épocas vulnerables a dichos cambios; y ayuda a conocer si el clima está cambiando o se mantiene estable (Ruíz et al., 2016). En dicho análisis son comúnmente utilizadas pruebas paramétricas y no paramétricas. Las hipótesis de las pruebas paramétricas clásicas incluyen linealidad, independencia y normalidad, por lo que se hace más limitado su uso. Las pruebas no paramétricas son más flexibles e incluyen pocas hipótesis sobre la estructura de los datos (Gómez & Cristina, 2011). Entre estas pruebas no paramétricas se encuentran las dócimas de Kendall-Mann, Pettitt, Spearman, entre otros métodos menos usados.

Dada la relativa complejidad del procesamiento de gran cantidad de datos y lo engorroso de trabajar con los mismos, se han desarrollado distintos softwares para el análisis de tendencia, con el objetivo de facilitar el trabajo de los investigadores entre los que destaca el software Moclic.

El software “Sistema de análisis de datos para el monitoreo regional y local del cambio climático con índices agroclimáticos” o Moclic fue diseñado utilizando la arquitectura .NET, usando Visual Basic 2005 y .NET framework 2.0, desarrollado por la Universidad Autónoma de México (Bautista et al., 2013). Fue diseñado para el análisis de tendencias sobre variables agroclimáticas y, actualmente, se está adaptando para seguir ampliando su rango de uso en la predicción del comportamiento del clima a nivel local en distintas regiones.

Por la complejidad del análisis de tendencia y las herramientas necesarias, normalmente los investigadores deben usar más de uno de estos softwares para realizar distintas tareas y lograr los resultados deseados. Además, estos softwares no son libres y son de difícil adquisición, por lo que una aplicación desarrollada dentro de nuestro país se vuelve una alternativa necesaria.

En este trabajo se presentará la versión 1.0 del software TrendSoft para el análisis de tendencia y punto de cambio de dichas variables utilizando diferentes métodos no paramétricos que pretende agrupar las herramientas indispensables para brindar la mayor cantidad de facilidades al usuario en cuestión, utilizando tecnologías más modernas. Para ayudar a su confección y desarrollo existe una metodología de trabajo detallada usada actualmente en el INSMET. Esta comprende los aspectos matemáticos necesarios para realizar el análisis primario de datos junto a otras pruebas diseñadas para la homogeneización de dicha información. Este software facilitará en gran medida el conocimiento de tendencias progresivas y puntos de cambios relacionados con el cambio climático que se refleja a través de las pruebas estadísticas no paramétricas antes mencionadas y que avalan en gran medida la existencia, por ejemplo, de un aumento significativo en la temperatura del aire en Cuba.

MATERIALES Y MÉTODOS

En este epígrafe presentaremos los distintos métodos estadísticos usados en el desarrollo del software, así como una breve reseña de la base teórica de algunos de los gráficos utilizados, y del origen y formato de los datos utilizados para la validación de la aplicación presentados posteriormente en este informe.

Recopilación y preparación de la información

La primera tarea en un estudio climático-meteorológico, implica la recopilación de la información registrada u observada en estaciones meteorológicas, de manera que la red de observación posibilite realizar la evaluación y estimación de la distribución espacial y temporal de variables climáticas. La investigación climática requiere del conocimiento inicial de las condiciones físico-geográficas, datos puntuales medidos-observados, procesamiento, tratamiento y análisis de variables meteorológicas a los diferentes niveles: diario, mensual y anual como es el caso de las temperaturas mínimas, medias y máximas. La elaboración de estudios meteorológicos sólo podrá ser efectuada cuando se tenga una base de datos consistente, completa, continua y extensa de las variables climáticas de interés.

Es importante destacar que, para realizar el estudio de los test estadísticos sobre series temporales de datos meteorológicos, estos deben ser continuos, es decir, no deben existir vacíos, huecos o lagunas de datos en la serie. En la mayoría de los registros de variables meteorológicas en estaciones, la información presenta vacíos en las diferentes escalas en los datos disponibles. Para estudiar períodos lo más extensos posible y para no perder información de algunos períodos debido a estos vacíos, se ha definido por conveniencia aplicar dos metodologías para el relleno, completamiento o en algún caso para la reconstrucción de las distintas variables estudiadas. Estas metodologías se describen a continuación:

Para las temperaturas máximas y mínimas, se completa el valor mensual faltante con el valor que corresponde a la media de la serie histórica del mes en cuestión. Para la temperatura media ambiente, se completa el valor mensual faltante utilizando el cálculo del mismo por correlación múltiple lineal entre estaciones que en lo posible, pertenecen al mismo grupo regional climático. Por consideraciones prácticas, el relleno de una serie de datos de una estación cualquiera se realiza tomando en cuenta a las estaciones geográficamente más cercanas, siempre y cuando esas estaciones tengan consistencia aceptable. Dentro de los criterios de rellenado tenemos el que se realiza entre estaciones cercanas que pertenezcan al mismo grupo regional climático. En caso de que esto no sea posible, se deberá realizar un cuidadoso análisis para usar estaciones de otros grupos.

Tener en cuenta que las series se rellenan, siempre que los datos faltantes no superen un período continuo de vacíos de tres temporadas o años. Recordar que las nuevas series rellenadas y/o ampliadas deberán seguir el comportamiento original, lo cual se puede comprobar mediante la teoría de decisiones y/o el vector regional. Para los datos termométricos, por conveniencia para una mejor aplicación del método, se realizan las correlaciones mes a mes, es decir, se obtienen 12 matrices para el relleno mensual de temperaturas medias, mientras que para los datos pluviométricos se utiliza mucho dividir el año de acuerdo al comportamiento estacional de las lluvias en la región de estudio: época húmeda, época seca y época de transición.

Varios programas estadísticos incluyen a la regresión múltiple entre sus herramientas y tienen además diversos parámetros que permiten evaluar la bondad de ajuste, como el coeficiente de regresión r2 , de regresión corregida r2 correg , error típico de la estimación y el estadístico F , que indica si existe relación lineal significativa entre la variable dependiente y el conjunto de variables independientes. El valor 0.00 indica un máximo nivel significativo de una serie de datos (de una estación) en la regresión. Para el presente estudio se utilizó el módulo de regresión múltiple del programa SPSS-Statistical Product and Service Solutions. Por criterio y experiencia, se recomienda aplicar la regresión lineal con imposición, es decir, que la ecuación no tiene término independiente:

Para la realización de esta investigación se utilizaron los datos de la estación meteorológica de Casablanca. Para el procesamiento de los datos se utilizarán métodos estadísticos conocidos.

Pruebas de hipótesis

La aplicación de un test de significación a una serie de observaciones surge de la necesidad de responder dos tipos de pregunta: ¿Cuándo deseamos asegurar que la ley de distribución de los datos posee propiedades bien determinadas para poder realizar ciertas estimaciones o predicciones estadísticas?, o ¿Cuándo se desea mostrar cómo se ve afectado el proceso que producen dichas observaciones por ciertas acciones? (Sneyers, 1990).

En ambos casos, el test se reduce a la comparación de dos hipótesis: la primera, la hipótesis nula, que asume que la función de distribución para las observaciones cumple ciertas condiciones bien definidas; y la otra, la hipótesis alternativa, que plantea que todas o una de esas condiciones difieren de las planteadas en la hipótesis nula. La técnica usada para separar estas dos hipótesis consiste en calcular una función estadística a partir de las observaciones y, a partir de si el valor obtenido en la misma se encuentra o no dentro de una región crítica (región de rechazo), aceptar o rechazar la hipótesis nula.

La aplicación de este tipo de test puede llevar a dos tipos de errores. El primero consiste en rechazar la hipótesis nula cuando se supone que es cierta (Error de tipo 1). Esto ocurre cuando la hipótesis nula se supone cierta pero el valor resultante de la función estadística se encuentra en la zona de rechazo. Este evento posee una cierta probabilidad que puede ser calculado en ciertos casos o limitado de forma que no exceda un valor α0 elegido con anterioridad. Este valor representa el nivel de significación del test. El segundo error ocurre cuando la hipótesis nula es aceptada y esta es falsa (Error de Tipo 2). Esto ocurre cuando el valor resultante de la función estadística no se encuentra en la zona de rechazo cuando la hipótesis alternativa es cierta. Si β es la probabilidad de un error de tipo 2, la probabilidad de aceptar la hipótesis alternativa cuando es verdadera es de 1  β , esta es llamada la potencia del test relativo a la hipótesis alternativa.

Como regla general, un buen test es aquel que hace mínima la probabilidad de ocurrencia de ambos tipos de errores. Uno de los niveles de significación más usados es α0=0.05  . El nivel de significación es una manera de medir si la prueba estadística es muy diferente de los valores que normalmente se producen bajo H0 . Es la probabilidad de que un valor de la prueba estadística sea extremo, o más extremo que el valor observado suponiendo que no hay tendencia o cambio ( H0 ). Por ejemplo, para α=0.05 , el valor crítico de la prueba estadística es el que supera el 5% del valor de la prueba estadística obtenida a partir de datos generados aleatoriamente. Si el valor de la prueba estadística es mayor que el valor crítico de la prueba estadística, se rechaza H0 . El nivel de significación es por tanto la probabilidad de que una prueba detecta una tendencia o cambio (rechazar H0 ) y cuando no está presente (error tipo I). Una posible interpretación del nivel de significación podría ser: Si α>0.10 , entonces existe poca evidencia en contra de H0 . Si 0.05 <α<0.10 , entonces existe posible evidencia en contra de H0 . Si 0.01 <α<0.05 , entonces existe fuerte evidencia en contra de H0 . Si α<0.01 , entonces existe muy fuerte evidencia en contra de H0 .

Existe una gran variedad de test de hipótesis precisamente por la gran diversidad de hipótesis que pueden ser consideradas. Se pueden clasificar en paramétricas o no paramétricas basándonos en si la función de probabilidad del análisis estadístico del test depende o no de la distribución que rige a las observaciones (Sneyers, 1990). La metodología usada en este trabajo se encuentra descrita en (Sneyers, 1992; Vega et al., 1994; WMO, 2019).

Una prueba no paramétrica responde a un modelo matemático de distribución libre, que no condiciona la muestra investigada y su población a parámetros estadísticos. La significación de resultados de este tipo de test depende de algunas suposiciones o condiciones estadísticas asociadas a este tipo de test, con menor grado de condicionamiento respecto a las pruebas paramétricas: datos de series temporales independientes y variables de continuidad básica. Estos test no requieren de mediciones fuertes y gran parte de estos se aplican a datos de escala ordinal o escala nominal. Estas pruebas detectan tendencia o cambio, pero no cuantifican la magnitud. Son muy útiles porque la mayoría de las series temporales de datos meteorológicos no se distribuyen normalmente.

El método de Wald-Wolfowitz es no paramétrico y es usado para comprobar la independencia y aleatoriedad de los valores de la serie (Wald & Wolfowitz, 1944), aunque se puede usar para el análisis de correlación serial (Haktanir & Citakoglu, 2014; Sneyers, 1990), ya que está basado en la misma. En este caso la hipótesis nula consiste en asumir que todas las series de observaciones provienen de la misma población y que son independientes entre sí. Está claro que el dominio de la hipótesis alternativa, al ser opuesto al de la hipótesis nula, es bastante amplio ya que contiene todas las relaciones que puedan ser imaginadas entre cualquier par de términos de la serie. Sean x1,x2, ,xn los valores de la serie siendo considerada alguna transformación sobre ellos de forma tal que:

Y agregamos que:

Entonces el test estadístico tiene la fórmula:

Cuya distribución bajo la hipótesis nula es aproximadamente la normal para valores elevados de n . La esperanza y la varianza de W1  se define de la siguiente forma:

Donde:

La dócima se reduce al cálculo de:

Y el valor de α1 , determinado a partir de la distribución normal estándar es:

Si α0 es el nivel de significación del test, la hipótesis nula se acepta o se rechaza a partir de que α1> α0 o α1< α0 .

Para este test, las observaciones originales xi , son reemplazados por el rango yi que está dado por la magnitud de la posición que ocupan los valores originales en la serie ordenada de forma creciente y el test estadístico es el coeficiente de correlación de Spearman entre la posición i y los valores correspondientes de yi , puede ser calculado mediante la fórmula:

Usando la hipótesis nula, la distribución es asintóticamente como la normal con:

Es evidente que, en la esencia de cualquier premisa sobre la existencia de tendencia en alguna dirección dada, el test solamente es válido cuando es analizado en ambas direcciones, para asegurar que la hipótesis nula sea rechazada para valores elevados de Sp1 . En estas condiciones, luego de haber calculado el coeficiente, es necesario determinar la probabilidad α1 usando la distribución normal estándar. Obtenemos entonces:

Determinando así la región crítica, que sería:

Y la hipótesis nula se acepta o se rechaza a partir de que α1> α0 o α1< α0 . En el caso de valores significativos de Sp1 es observada una tendencia creciente o decreciente dependiendo de si Sp1>0 o Sp1<0 respectivamente.

Método estadístico basado en el ranking (número de orden) de dos variables, ampliamente usado en estudios de identificación de tendencias en series de variables meteorológicas en cuanto a si son ascendentes o descendentes, pero no cuantifican estas (Vega et al., 1994). Además de tendencias detecta saltos. Como antecedente, se puede señalar que ha sido recomendada por la Organización Meteorológica Mundial para su aplicación en series de variables meteorológicas e hidrológicas (Suriano & Seoane, 2013).

Al igual que en el cálculo del coeficiente de correlación de Spearman, las observaciones originales xi , son reemplazados por el rango yi que está dado por la magnitud de la posición que ocupan los valores originales en la serie ordenada de forma creciente. Por cada elemento yi , se calcula el número de elementos ni que lo preceden  (i>j) y que cumplan la condición  yi> yj . El test estadístico tiene la forma:

Y su función de distribución, bajo la hipótesis nula, es asintóticamente normal con:

Es evidente que, al igual que en el cálculo del coeficiente de Spearman y en la esencia de cualquier premisa sobre la existencia de tendencia en alguna dirección dada, el test solamente es válido cuando es analizado en ambas direcciones. Es necesario determinar la probabilidad α1 usando la distribución normal estándar. Obtenemos entonces:

Determinando así la región crítica, que sería:

La hipótesis nula se acepta o se rechaza a partir de que α1> α0 o α1< α0 . En el caso de valores significativos de KM es observada una tendencia creciente o decreciente dependiendo de si KM>0 o KM<0 respectivamente.

Se debe decir que ambos test son eficientes y, en particular, tienen la misma eficiencia asintótica relativa al test paramétrico más potente en el caso de regresiones lineales. Cuando una serie muestra una tendencia significativa y deseamos localizar el período en que se aprecia dicha tendencia, la dócima de Kendall-Mann se ajusta mejor a los cálculos secuenciales necesarios para este propósito (Sneyers, 1990).

Esta dócima es la más común para la detección de puntos de cambio simples en series hidrológicas o de variables climáticas con datos continuos (Pettitt, 1979; Pohlert, 2018). En este caso la hipótesis nula plantea que la serie sigue una o más distribuciones que tienen el mismo parámetro o sea que no existe cambio, contra la hipótesis alternativa que plantea la existencia de un punto de cambio. El test estadístico no paramétrico se define como:

Donde:

Con:

En caso de existir punto de cambio, este se encuentra en KT . La probabilidad de significación de KT está dado por α1 , que se calcula como (Pettitt, 1979):

La hipótesis nula se acepta o se rechaza a partir de que α1> α0 o α1< α0 .

Implementación y metodología

Con el objetivo de facilitar el trabajo del investigador, acelerar el procesado de gran cantidad de datos y eliminar los errores de cálculo, se desarrolló una aplicación donde el usuario podrá cargar los datos de ficheros eligiendo las variables a las que se desea aplicar los distintos métodos, brindando además su comportamiento en gráficos y tablas de resultados. La herramienta computacional que se presenta en este documento es una aplicación de nombre TrendSoft.exe, desarrollada como una aplicación web usando Angular 7 para el frontend y ASP.NET Core 2.1 para desarrollar la API del backend, y usando Electron para empaquetar dicha implementación web como una aplicación de escritorio. En este epígrafe presentaremos la metodología utilizada en el software y una breve reseña de las herramientas utilizadas para su desarrollo.

Usando Angular, ASP.NET Core y Electron se desarrolló una aplicación de escritorio con herramientas para el desarrollo web, una práctica que se extiende cada vez más por el mundo dada la potencia de dichos instrumentos a la hora del manejo de información e interacción con el usuario. En esta sección se dará una introducción a todas estas herramientas.

ASP.NET Core es un framework multiplataforma de alto rendimiento y de código abierto para el desarrollo de aplicaciones web modernas con facilidades en la nube desarrollado por Microsoft. Es de código abierto bajo la licencia de Apache 2.0, lo que significa que el código fuente es de libre acceso, y la comunidad de desarrolladores es animada a contribuir a la búsqueda y solución de errores y de nuevas características (Barbettini, 2018). Con ASP.NET Core podemos:

  • Construir aplicaciones web y servicios, y backends para aplicaciones móviles.

  • Usar distintas herramientas de desarrollo en Windows, macOS y Linux.

  • Desplegar hacia la nube.

  • Funcionar sobre .NET Core o .NET Framework.

Millones de desarrolladores han usado ASP.NET para crear aplicaciones web. ASP.NET Core toma como base ASP.NET 4.x y lo rediseña, realizando cambios en la arquitectura que conllevan a un framework más ligero y modular.

Entre los beneficios que ofrece el uso de ASP.NET Core se encuentran:

  • Una herramienta unificada para construir interfaces web y web APIs.

  • Una arquitectura desarrollada para las pruebas.

  • Páginas Razor permitiendo un código orientado a páginas más sencillo y productivo.

  • Facilidades para el desarrollo y la ejecución sobre Windows, macOS y Linux.

  • Código abierto y enfocado en la comunidad de desarrolladores.

  • La integración de modernos frameworks para el desarrollo del lado del cliente y flujos de trabajo.

  • Un sistema de configuración basado en ambientes preparado para la nube.

  • Inyección de dependencias.

  • Un ligero, modular y de alto rendimiento conducto para los pedidos HTTP.

  • Capacidad de integración del host con IIS, Nginx, Apache, Docker, o con él mismo en su propio proceso.

  • Herramientas que facilitan el desarrollo web actual.

  • Control de versiones constante cuando se está usando .NET Core.

Se pueden usar diversos lenguajes para construir aplicaciones usando ASP.NET Core entre los que se encuentran C#, Visual Basic y F#; siendo C# la elección más popular. Trabajar con este framework es recomendable por su velocidad, ecosistema de herramientas compatibles existentes y la seguridad del mismo (Barbettini, 2018). Distintas versiones de este framework han salido a la luz, siendo la más reciente la 2.2, aunque ya se encuentra en desarrollo la versión 3.0.

El nombre C# viene del inglés “C Sharp”, fue en su día el nuevo lenguaje diseñado por Microsoft para su plataforma .NET. Es un lenguaje de programación que toma las mejores características de lenguajes preexistentes como Visual Basic, Java y C++ y las combina en uno solo. El hecho de ser relativamente reciente no implica que sea inmaduro, pues Microsoft ha escrito la mayor parte del FCL usándolo, por lo que su compilador es el más depurado y optimizado de los incluidos en el .NET Framework (González, 2012).

Algunas de las características de este lenguaje son:

  • Sencillez: Elimina muchos elementos que otros lenguajes incluyen y que son innecesarios en .NET.

  • Orientación a Objetos: Como la mayoría de los lenguajes de programación de propósito general, C# es un lenguaje orientado a objetos. La diferencia de este enfoque orientado a objetos respecto al de otros lenguajes como C++ es que el de C# es más puro en tanto que no admiten ni funciones ni variables globales, sino que todo el código y datos han de definirse dentro de definiciones de tipos de datos, lo que reduce problemas por conflictos de nombres y facilita la legibilidad del código.

  • Gestión automática de memoria: Todo lenguaje de .NET tiene a su disposición el recolector de basura del CLR, el cual libera automáticamente las zonas de memoria que no son utilizadas. Esto tiene el efecto en el lenguaje de que no es necesario incluir instrucciones de destrucción de objetos.

  • Angular es una plataforma para facilitar el desarrollo de aplicaciones web multiplataforma, es de código abierto y es mantenido por Google. Angular combina características como plantillas declarativas, inyección de dependencias, e integra buenas prácticas para resolver desafíos de desarrollo. Angular incita a los desarrolladores a construir aplicaciones para su uso web, móvil o de escritorio.

  • Angular es un framework para construir aplicaciones del lado del cliente usando TypeScript, HTML y CSS. Está escrito en TypeScript. Las aplicaciones de Angular implementan un núcleo y otras funcionalidades como un conjunto de librerías de TypeScript que son importadas a las aplicaciones. Los módulos básicos de desarrollo de una aplicación de Angular son NgModules que proveen un contexto de compilación para las componentes. NgModules recolecta código en conjuntos funcionales, y una aplicación desarrollada en este framework puede ser definida como un conjunto de NgModules.

  • Una componente está definida como un conjunto de elementos en pantalla entre los que Angular pueda elegir y modificar dependiendo de la lógica del programa y la información. Las componentes usan servicios, que proveen funcionalidades específicas no relacionadas directamente con las vistas. Los proveedores de servicios son inyectados a las componentes como dependencias, haciendo el código modular, reusable y eficiente.

  • Ambos, componentes y servicios, son clases simples con decoradores que enmarcan su tipo y proveen metadato, para que Angular interprete como usarlos. Una componente de una aplicación de angular está definida típicamente por algunas vistas ordenadas jerárquicamente. Angular provee a los desarrolladores de un servicio de enrutamiento para poder comunicarse entre las distintas vistas y componentes.

  • Angular es un descendiente, de un framework llamado AngularJS que poseía una lógica similar a la de Angular, pero estaba desarrollado usando JavaScript. Como Angular usa como lenguaje principal TypeScript (en lugar de JavaScript, aunque este puede seguir siendo usado) como lenguaje primario, el sufijo ´JS´ fue eliminado de su nombre. Por un largo tiempo la única forma de distinguir ambos frameworks fue refiriéndose al nuevo Angular, como Angular 2.

  • De todas maneras, el equipo desarrollador de Angular decidió, en 2017, cambiar la semántica de las versiones, con una mejor versión cada 6 meses. En vez de seguir llamando a Angular como Angular 2, Angular 4, Angular 5, y las siguientes versiones, el número de la versión también fue totalmente eliminado siendo conocido simplemente como Angular (Murray et al., 2018).

  • Electron es un framework de código abierto mantenido por GitHub que permite a los desarrolladores usar tecnologías web para construir aplicaciones de escritorio. Su desarrollo inicial comenzó en 2013, y se convirtió en el proyecto de código abierto más grande de GitHub hasta la fecha (Rieseberg, 2017). En su núcleo, Electron consiste en tres componentes principales. Está unido a la librería de renderizado de Chromium, que es la fundación de código abierto de Google para su navegador Chrome.

  • La segunda componente es Node.js, el popular framework para JavaScript en ejecución. Esto trae un gigantesco ecosistema de código abierto con incontables módulos con soluciones testeadas para necesidades en desarrollo y una sencilla integración. Node.js afirma, correctamente, ser uno de los ecosistemas de librerías de código abierto más grandes del mundo, un beneficio que puede reducir drásticamente el tiempo necesitado para solucionar problemas de implementación.

  • La tercera componente es una fina capa de C++, extendiendo el conjunto usual de APIs disponibles con implementaciones nativas para las operaciones del sistema operativo más comunes, como enviar notificaciones, acceder a las preferencias del sistema y crear modales nativos. En adición, Node.js permite usar módulos nativos escritos en gran cantidad de lenguajes, asegurando que el desarrollador nunca esté limitado a JavaScript para un problema complicado que requiera lenguajes de bajo nivel.

  • Combinando Chromium y Node.js, y uniendo un inmenso número de APIs nativas, Electron permite a los desarrolladores crear poderosas aplicaciones de escritorio con un poco de comodidad. Las tres tecnologías son multiplataformas, soportando Windows, macOS y Linux (Rieseberg, 2017). Un gran número de aplicaciones de escritorio son desarrolladas usando Electron, entre estas aplicaciones reconocidas y de gran nivel, demostrando la calidad de este framework entre las que se encuentran las versiones de escritorio de: Visual Studio Code, Slack, GitHub, WebTorrent, WhatsApp, Skype, WordPress, Insomnia, GitKraken, Discord y Atom (Rieseberg, 2017).

Se puede afirmar que TrendSoft es un software intuitivo y fácil de usar por los especialistas a los que está destinado. A continuación, se brinda una descripción de las distintas características y herramientas que se colocan a la disposición de los usuarios.

El software depende totalmente de los datos introducidos por el especialista en ficheros “.csv”, usados por el INSMET para almacenar toda la información que se vaya registrando. Existen tres tipos de fichero: diario, mensual y anual. En cada tipo existen columnas que deberán estar presentes para el funcionamiento del software. Como lo indican los tipos de ficheros, la columna indispensable en cada uno de ellos será la de la escala de tiempo pertinente, es decir, en el caso de los ficheros anuales, mensuales y diarios deberán ser encontradas las columnas “Año”, “Mes” y “Día” respectivamente.

Se brindan al usuario un conjunto de variables comunes para el análisis que pueden contener dichos ficheros como columnas del mismo y, además, tienen la opción de seleccionar y deseleccionar las mismas, así como agregar sus propias variables para ser analizadas. En caso de ser escogidas, para su estudio, columnas que no se encuentren dentro del fichero, se continuará el flujo de la aplicación con las variables coincidentes mostrando al especialista un aviso sobre las cabeceras que no fueron encontradas.

El software está diseñado para trabajar con tres tipos de ficheros: diario, mensual y anual. Como bien indican sus nombres, esto representará la unidad de tiempo en que fueron registrados los datos de las variables que se desean analizar en la aplicación.

Se muestran los datos obtenidos del fichero cargado y las variables que no fueron encontradas. Se da la opción de observar los datos como mismo se cargaron o sus promedios, dependiendo de la escala utilizada. También se brinda la opción de mostrar gráficos para facilitar el trabajo del investigador estando a su alcance opciones que modifiquen los mismos como el mínimo, el máximo, el paso y la variable que se desea analizar.

Se muestran los principales estadígrafos de los datos, agrupados por filas que representan las distintas variables que se estén trabajando, los cuales pueden ser de interés, entre los que se encuentran: coeficientes de asimetría y de curtosis, media, mediana, varianza simple o poblacional, desviación simple o poblacional, suma, coeficientes de variación simple y poblacional, valores mínimo y máximo, error estándar y los distintos momentos de muestreo.

Se ofrece una leyenda que abarca todas las variables y notaciones usadas en el software para una mejor interpretación de la información brindada y mejorar la experiencia del usuario durante el uso de la aplicación.

El software contará con distintos gráficos para el muestreo de series temporales y de los estadígrafos de los distintos métodos explicados anteriormente para facilitar el análisis de los investigadores. Donde se aprecia la mayor variedad de gráficos es en la pestaña “Mostrar”, donde se permite escoger qué gráfico se desea usar para el muestreo de cada serie temporal analizada, ya que, a distintas variables climatológicas, distintos gráficos se ajustan mejor a su estudio. Con este objetivo se brindan gráficos lineales y de barras para el muestreo y un gráfico para mostrar las medias móviles con un parámetro extra para que el especialista escoja el rango en el que desean agrupar los datos para el cálculo del mismo. En todos los gráficos se da la opción de calcular la regresión lineal asociada al mismo, mostrando resultados de interés como la representación gráfica y la ecuación obtenida de dicha regresión.

La metodología propuesta en el software para el análisis de la tendencia de variables climatológicas tendrá en cuenta los siguientes pasos:

  • PASO 1: Cargar los datos desde un fichero .csv, especificando su tipo y las variables que se desean extraer del mismo.

  • PASO 2: Muestreo de la información cargada y sus respectivos promedios, junto con las variables no encontradas.

  • PASO 3: Funcionalidades del software.

    1. Análisis gráfico. Selección de parámetros para mostrar gráficamente los datos cargados: elección de la variable deseada, tipo de gráfico, valores máximo y mínimo, rango que se desea mostrar y amplitud de paso en los ejes del gráfico.

    2. Se muestran los principales estadígrafos de interés para el análisis de la variable de estudio.

    3. Aplicación de métodos estadísticos para el análisis de correlación serial y tendencia.

  • PASO 4: Métodos estadísticos.

    1. Análisis de correlación serial.

      1. Wald-Wolfowitz: prueba de hipótesis destinada al análisis de correlación serial. Seleccionar la variable de estudio y el nivel de significación del test escogido. Obtención y análisis de los resultados.

      2. Spearman: prueba de hipótesis para el análisis de tendencia, obteniéndose el coeficiente de correlación de la serie en el proceso. Seleccionar la variable de estudio y el nivel de significación del test escogido. Obtención y análisis de los resultados.

    2. Análisis de tendencia.

      1. Kendall-Mann: Selección de la variable de estudio y el nivel de significación del test y de otros parámetros para el muestreo gráfico de la serie temporal de la variable en cuestión: valores máximo y mínimo, rango que se desea mostrar y amplitud de paso en los ejes del gráfico. Muestreo gráfico individual y conjunto de las series directa y retrógrada. Obtención y análisis de los resultados de la dócima para ambas series. Obtención del gráfico del estadígrafo con respecto a otro conjunto de parámetros escogidos y la serie en cuestión.

      2. Pettitt: Selección de la variable de estudio y el nivel de significación del test y de otros parámetros para el muestreo gráfico del estadígrafo resultante. Obtención y análisis de los resultados de la dócima. Detección de punto de cambio singular en caso de existir.

  • PASO 5: Exportar resultados de los distintos métodos para la variable de estudio con los resultados obtenidos a un fichero .xls.

  • PASO 6: Análisis final por parte del investigador, usando las conclusiones y resultados parciales obtenidos en cada método aplicado.

Como resumen se ilustra gráficamente la metodología utilizada en el software TrendSoft (Figura 1).

Figura 1. 

Metodología del software TrendSoft para análisis de tendencia y puntos de cambio

ANÁLISIS Y DISCUSIÓN DE LOS RESULTADOS

El Instituto de Meteorología tiene interés en el desarrollo de esta aplicación con el objetivo de facilitar entre otras cosas el análisis y la caracterización de las variables climatológicas. El régimen térmico es uno de los indicadores fundamentales del clima. Sus características están determinadas, en gran medida, por el régimen de radiación solar. La temperatura del aire desempeña un papel determinante en numerosos procesos de la vida. Los seres humanos y la vegetación son muy sensibles al régimen de temperatura. El hombre necesita protegerse del exceso de frío o de calor, lo cual requiere de sistemas de climatización, muy costosos por el elevado gasto energético. Las plantas también son muy sensibles a los cambios térmicos, por lo que los cambios de temperatura en sus diferentes escalas temporales tienen un impacto grande en el buen desenvolvimiento de los cultivos.

En particular las temperaturas mínimas, medias y máximas ya sean diarias, mensuales y anuales. La temperatura máxima es la mayor temperatura registrada en el período dado. La temperatura mínima es la menor temperatura registrada en un periodo dado. A continuación, analizarán tres casos utilizando las distintas escalas, de las variables temperatura mínima, temperatura máxima y temperatura media de la estación meteorológica de Casablanca en el período 1988-2018.

Para el procesamiento de los datos se utilizaron métodos estadísticos conocidos. Para el cálculo de los valores medios y la desviación estándar se utilizó el período 1981-2010. El estudio de tendencia se realizó a través del estadígrafo no paramétrico de Kendall-Mann y el punto de cambio se puede ver mediante Pettitt, todo a través del uso del software TrendSoft.

Análisis de la temperatura media anual, Casablanca (1988-2018)

Se muestra la marcha anual de la temperatura del aire en la estación meteorológica de Casablanca en el período 1988-2018 (Figura 2). Siguiendo la marcha del sol, con un máximo estival de la radiación solar global, la temperatura media del aire (estimada como la media de las observaciones trihorarios) alcanza su máximo anual en los meses de julio y agosto ambos con 26.6°C . Las diferencias entre junio y julio, así como la de agosto y septiembre, no exceden las 6 décimas. La oscilación anual es de 5.8°C (diferencia entre el mes más frío y el más cálido), siendo el mes de enero el más frío, con un valor medio de 20.8°C , seguido por febrero con 21.3°C .

Figura 2. 

Marcha anual de la temperatura del aire, Casablanca (1988-2018)

El análisis de la temperatura media anual, basada en el valor medio entre la temperatura máxima y la mínima, permitió conocer que la temperatura media anual de esta estación ha aumentado significativamente cerca de 1.2°C (Figura 3), para el período 1988-2018. Se destaca la existencia de un período multianual de calentamiento en los años 1989 al 1991, 1997, 1998, 2013, 2015 hasta 2018, y un relativo enfriamiento en el período 1999 hasta el 2012 y en 2014.

Figura 3. 

Tendencia de la temperatura media anual, Casablanca (1988-2018)

Figura 4. 

Temperatura media anual, Casablanca (1988-2018). Estadígrafo Kendall-Mann

Se muestran las series directa y retrógrada luego de la aplicación de la dócima de Kendall-Mann (Figura 4). La representación gráfica simultánea de estos estadígrafos sobre ambas series en las formas de curvas poligonales, las cuales se utilizan para ubicar aproximadamente un punto de cambio que se corresponde cronológicamente con el punto de intersección único de ambos gráficos bajo la existencia de una tendencia global significativa. El gráfico muestra la existencia de un posible punto de cambio entre los años 2012 y 2013. Para ubicar el punto de cambio aplicamos la dócima de Pettitt (Figura 5). Como resultado obtenemos que dicho punto se localiza en el año 2012 demostrando así la existencia de un punto de cambio en la serie de la temperatura media anual.

Figura 5. 

Temperatura media anual, Casablanca (1988-2018). Estadígrafo de Pettitt

Tabla 1. 

Resultados obtenidos con el software TrendSoft para el análisis de la temperatura media mensual y anual, Casablanca (1988-2018)

Variable Temperatura media
FicheroMensualAnual
Período de tiempo1988-2018
Cantidad de datos37231
Media24.124.1
Mínimo17.023.1
Máximo28.626.0
α0
0.05
Prueba de Wald-WolfowitzWW3.13520.9961
α1
0.00090.1596
Resultado
α1<α0
Existe correlación
α1>α0
No existe correlación
Prueba de SpearmanSp1.13072.1699
α1
0.25820.03
Resultado
α1> α0
No existe Tendencia
α1<α0
Existe tendencia
Prueba de Kendall-MannKM1.172.23
α1
0.2420.0257
Resultado
α1> α0
No existe tendencia
α1<α0
Existe tendencia
Prueba de Pettitt
α1
0.11460.0452
Resultado
α1> α0
No existe punto de cambio
α1<α0
Existe punto de cambio
Valor extremo-26-126
Punto de cambio-
x=2012
Índice del punto -
i=25

Se muestran los resultados obtenidos de la aplicación TrendSoft al analizar la temperatura media mensual y anual (Tabla 1). En el caso del mensual se obtuvo que los datos de la serie temporal están correlacionados al aceptarse la hipótesis nula de la dócima de Wald-Wolfowitz. Esto conlleva a la no existencia de tendencia y puntos de cambio, como se puede observar por los resultados obtenidos al aplicar los métodos de Spearman, Kendall-Mann y Pettitt, donde se rechaza la hipótesis nula para todos los valores predeterminados de α0 . Por otra parte, el anual mostró un resultado totalmente diferente, se rechazó la hipótesis nula en el método de Wald-Wolfowitz, mientras las dócimas de Spearman, Kendall-Mann y Pettitt son aceptadas. Se puede concluir que no existe correlación serial, hay presencia de tendencia y de un punto de cambio que es alcanzado en el año 2012.

CONCLUSIONES

  • Se desarrolló un software para el análisis de tendencia de variables meteorológicas en las diferentes escalas, el cual resulta ser una herramienta muy útil para el Instituto de Meteorología.

  • La marcha anual de la temperatura media mensual en la estación meteorológica de Casablanca en el período 1988-2018, alcanza su máximo anual en los meses de julio y agosto ambos con 26.6°C .

  • La oscilación anual de la temperatura media es de 5.8°C (diferencia entre el mes más frío y el más cálido), siendo el mes de enero el más frío, con un valor medio de 20.8°C .

  • Las evidencias observacionales muestran que desde finales de los años 80, la temperatura superficial del aire en la estación de Casablanca ha manifestado un incremento significativo de 1.2°C .

  • Se realizó el análisis de la temperatura media en la estación meteorológica de Casablanca durante el período 1988-2018, donde:

    • En la escala mensual se obtuvo que existe correlación serial al 0.1% con la dócima de Wald-Wolfowitz, no se pudo determinar la existencia de tendencia en la serie cronológica mediante la dócima de Spearman, por lo que la dócima de Kendall-Mann no pudo determinar la existencia de tendencia y no se pudo determinar la ubicación de algún punto de cambio con la dócima de Pettitt.

    • En la escala anual se obtuvo que no existe correlación serial al 16.0% con la dócima de Wald-Wolfowitz, se pudo determinar la existencia de tendencia en la serie cronológica mediante la dócima de Spearman al 3.0% , por lo que la dócima de Kendall-Mann pudo determinar la existencia de tendencia al 2.6% y se pudo determinar la ubicación de un punto de cambio con la dócima de Pettitt al 4.5% en el año 2012.

RECOMENDACIONES

  • Utilizar el software para estudios de tendencia de otras variables climatológicas que puedan ser de interés como es el caso de la precipitación, la humedad relativa y el viento, entre otras.

  • Utilizar el software en todos los Centros Meteorológicos Provinciales (CMP) del país para el análisis de existencia o no de tendencia de las diferentes variables climatológicas.

  • Para el análisis de tendencia, ampliar en la medida de lo posible la longitud temporal de la serie de datos disponibles, para obtener un mejor resultado.

 

REFERENCIAS

Barbettini, N. 2018. The Little ASP.NET Core book. ISBN: 978-1-387-75615-5.

Bautista, F.; Bautista, D.A.; Álvarez, O.; Romero, M. & de la Rosa, D. 2013. Software para identificar las tendencias de cambio climático a nivel local: un estudio de caso en Yucatán, México. Nota técnica. Revista Chapingo Serie Ciencias Forestales y del Ambiente.

Cantor, G. & Diana, C. 2011. Maestría en Ingeniería - Recursos Hidráulicos. Universidad Nacional de Colombia.

Castro, L.M. & Carvajal, Y. 2010. Análisis de tendencia y homogeneidad de series climatológicas. Ingeniería de Recursos Naturales y del Ambiente, núm. 9, enero-diciembre, pp. 15-25. Universidad del Valle. Cali, Colombia.

Castro, D.A. & Carvajal, Y. 2013. Análisis de tendencia en la precipitación pluvial anual y mensual en el departamento del Valle del Cauca. Memorias, 11(20), 9-18.

Escalante, C. & Amores, L. 2014. Análisis de tendencia de las variables hidroclimáticas de la Costa de Chiapas. Revista Mexicana de Ciencias Agrícolas vol.5 no.1 Texcoco ene. /feb.

González, J. A. 2012. El lenguaje de programación C#.

Haktanir, T. & Citakoglu, H. 2014. Trend, Independence, Stationarity, and Homogeneity Tests on Maximum Rainfall Series of Standard Durations Recorded in Turkey. Journal of Hydrologic Engineering. September. DOI: 10.1061/(ASCE)HE.1943-5584.0000973.

Murray, N.; Coury, F.; Lerner, A. & Taborda, C. 2018. Ng-book The Complete Book of Angular 5. Fullstack.io.

Pettitt, A. N. 1979. A Non-Parametric Approach to the Change-Point Problem. University of Technology, Loughborough, Leics., England.

Pohlert, T. 2018. Non-Parametric Trend Tests and Change-Point Detection.

Rieseberg, F. 2017. Introducing Electron. O'Reilly Media, Inc. ISBN: 9781491996041.

Ruíz, O.; Espejel, D.; Ontiveros, R.E.; Enciso, J.M.; Galindo, M.A.; Quesada, M.L.; Grageda, J.; Ramos, R. & Ruíz, J.A. 2016. Tendencia de temperaturas máximas y mínimas mensuales en Aguascalientes, México. Revista Mexicana de Ciencias Agrícolas , núm. 13, enero-febrero, pp. 2535-2549, Instituto Nacional de Investigaciones Forestales, Agrícolas y Pecuarias, Estado de México, México.

Serrano, S.; Zuleta, D.; Moscoso, V.; Jácome, P.; Palacios, E. & Villacís, M. 2012. Análisis estadístico de datos meteorológicos mensuales y diarios para la determinación de variabilidad climática y cambio climático en el Distrito Metropolitano de Quito. La Granja. Vol.16 (2): 23-47. ISSN: 1390-3799.

Sneyers, R. 1990. Technical Note No.143 on the Statistical Analysis of Series of Observations. WMO, no. 415, 189 p. ISBN: 92-63-10415-8.

Sneyers, R. 1992. On the use of statistical analysis for the objective determination of climate change. Meteorol. Zeitschrift, N.F. 1, 247-256.

Suriano, M. & Seoane, R. 2013. No estacionariedad y estimación bivariada: evaluación en los parámetros de diseño.

Vega, R. et al. 1994. Resultados preliminares sobre variabilidad, tendencias y fenomenología de los datos de una estación meteorológica con un largo período observacional (Observatorio de Belén en La Habana Vieja). Informe científico técnico, Departamento de Climatología, Instituto de Meteorología, Ministerio de Ciencia, Tecnología y Medio Ambiente de la República de Cuba, pp. 69.

Wald, A. & Wolfowitz, J. 1944. An exact test for randomness in the non-parametric case based on serial correlation. Columbia University.

World Meteorological Organization, 2019. Guide to Hydrological Practices. Volume II: Management of Water Resources and Application of Hydrological Practices. WMO-No. 168. Sixth edition. ISBN 978-92-63-10168-6.

 

 

 

 

Los autores de este trabajo declaran no presentar conflicto de intereses.

Los autores de este trabajo declaran presentar una participación igualitaria en la concepción, ejecución y escritura de la investigación.

Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons