Está en la página 1de 18

Análisis de Datos.

Realizado por Laura Camila Pachón Vargas

Tarea 1. Análisis Exploratorio de Datos (Exploratory Data Analysis, EDA).

1. Tenemos la temperatura y el contenido de vapor de agua en la atmósfera para el mes de


diciembre de 2015. Los datos están en orden cronológico: los primeros 4 datos
corresponden al 1 de diciembre, a las 00UTC, 06UTC, 12UTC y 18UTC. Los siguientes 4
datos son para el 2 de diciembre, y así sucesivamente hasta completar un total de 124 datos
para cada archivo.

• Serie de tiempo para la temperatura

Para esta variable se puede observar que en la hora 00UTC la temperatura varía muy poco con los
otros días, en la hora 06UTC y 12UTC pasa lo mismo, para la hora 18 UTC se puede evidenciar
que hay unos días que no varían, pero hay otros que sí. Por ejemplo, en el día 1 y 2 no cambia
mucho, pero ya en el día 3 sí baja 2.812 °K (en comparación con el día 2) y en el día 5 vuelve a
subir 2.853°K (esto comparado con el día anterior). El suceso de que suba y baje la temperatura en
la hora 18UTC pasa mucho en el transcurso del mes. Se puede presenciar que siempre hay
oscilaciones.

• Serie de tiempo para el contenido de vapor de agua


Una gráfica en la que se muestra muchas fluctuaciones significativas, subiendo y bajando de manera
pronunciada, lo que indica que está habiendo cambios en los valores de la variable.

2. En la siguiente tabla se verá reflejado los resultados como valor medio y desviación estándar
que se obtuvieron en los scripts para cada una de las variables.

Temperatura (K) Contenido de vapor de agua (mm)


Loop Función directa Loop Función directa
Valor medio 295.6228145161291 295.6228145161291 35.177563709677415 35.17756370967742
Desviación
3.126497035916672 3.126497035916672 3.01692891157106 3.016928911571059
estándar

Para las anomalías y anomalías estandarizadas se mostrará un pequeño pantallazo debido a que son
muchas. Al final del archivo se dejará el script de cómo se hallaron.

En las primeras imágenes están las anomalías de la temperatura, estas se hallaron usando un loop
(izquierda) y la función directa (derecha).

En las siguientes imágenes están las anomalías de contenido de vapor de agua, estas se hallaron
usando un loop (izquierda) y la función directa (derecha).
La siguiente imagen son las anomalías estandarizadas de la temperatura usando un loop:

La siguiente imagen son las anomalías estandarizadas del contenido de vapor de agua usando un
loop:

3. Las siguientes gráficas son scatter plots de las dos variables (Temperatura vs. Contenido
de vapor de agua).

a). Scatter plot con valores originales

Los diagramas de dispersión permiten ayudar a examinar fácilmente características de los datos como
tendencias, curvatura en la relación, agrupamiento de una o ambas variables. Para este diagrama

Es inmediatamente evidente que los datos de mayor contenido de vapor de agua están asociados con
temperaturas mínimas. Vemos que hay una relación inversa, mientras una aumenta la otra disminuye.
Esto se puede visualizar con los gráficos de anomalías y anomalías estandarizadas. Lo único que van
a cambiar son los índices de cada eje, porque son los valores de las anomalías y que estas me indican
que tan lejos estamos del valor promedio. Además, se ve una agrupación mayor de datos en la parte
izquierda superior, pero no está reflejando ninguna relación lineal.
b) Scatter plot con anomalías

Para el caso de las gráficas de anomalías sucederá lo mismo que la gráfica con los datos originales.

c) Scatter plot con anomalías estandarizadas

Para el caso de las gráficas de anomalías estandarizadas sucederá lo mismo que la gráfica con los
datos originales.

4. Para este punto se halló el coeficiente de correlación de Pearson y el de Spearman para las
dos variables. Para el de Spearman sólo se usó la función del software.
Pearson Spearman
Loop Función Función
-0.3360380864182188 -0.33603809 -0.24633909154832156

Como el coeficiente de correlación de Pearson se obtuvo un valor negativo (cercano a -1), esto
quiere decir que hay una correlación negativa de forma moderada, es decir, mientras una variable
aumenta la otra disminuye, y viceversa. Como este valor es bajo, indica que esta relación no es
muy fuerte. Este tipo de coeficiente mide solamente relaciones líneas y muchas veces no revisa
las no lineales. En conclusión, no se puede decir si el cambio de una variable puede causar el
cambio de la otra.

El coeficiente de correlación de Spearman también permite ver si hay relación entre dos variables,
con la diferencia de el de Pearson es que este no asume una relación lineal. Este verifica si hay
una relación monótona entre estas dos variables, es decir, valida si hay una tendencia de aumento
o disminución en los valores de cada variable. Como pasó en el caso de Pearson, hay una
correlación negativa pero no muy fuerte, no genera causalidad.

5. La siguiente tabla es el valor promedio para cada día (promedio de los valores 00, 06, 12
y 15 UTC contiguos). Lo que genera un conjunto de 31 datos (uno para cada día del mes
de diciembre) para cada variable. A partir de estos datos se crearon dos archivos: uno
para la temperatura y otro para el contenido de vapor de agua, esto con el fin de hallar
los datos anteriores.

Temperatura (K) Cont. Vapor de agua (mm)


296.506 38.92715
296.958 35.3699
295.7495 35.995475
295.0165 37.550425
295.73925 34.487225
295.07575 37.1919
294.44725 35.83055
295.65875 35.19945
295.5345 34.975875
295.30475 36.91475
295.374 34.321575
295.62525 31.18285
295.38075 34.48485
294.68 39.8202
294.11725 39.0855
294.891 37.86105
295.17675 37.487575
294.94475 38.54635
295.0955 37.4196
295.6015 36.7762
295.43575 33.349975
295.7485 31.234625
295.76975 36.0662
295.8345 32.338925
295.7905 28.8001
295.8025 31.098275
296.295 34.633325
296.53375 34.160025
296.8845 32.248775
296.61925 33.84585
296.71675 33.29995

6. Los siguientes resultados son en base con los promedios que se sacaron de la anterior tabla
(punto 5).

• Serie de tiempo para la temperatura

En esta gráfica se observa los promedios de temperatura diaria. Hay días en los que la temperatura
fue muy alta como también muy baja. Pero se visualiza mucho la tendencia a bajar mucho más de
lo que subía. Si se compara con la gráfica de abajo que es el contenido de vapor de agua también
promediados diarios, no es lógico ver que donde mayor es la temperatura hay menor contenido de
vapor de agua, la física dice lo contrario.

• Serie de tiempo para el contenido de vapor de agua


Esta gráfica se observa que el mayor contenido de vapor de agua se dio a mitad del mes y el de menor
contenido se dio cercano al día 25. Con lo que se dijo en la anterior gráfica, no es lógico ver que ese
menor contenido de vapor de agua se presencie una de las mayores temperaturas del mes.

• En la siguiente tabla se verá reflejado los resultados como valor medio y desviación
estándar que se obtuvieron en los scripts para cada una de las variables.

Temperatura (K) Contenido de vapor de agua (mm)


Loop Función directa Loop Función directa
Valor medio 295.62283064516123 295.6228306451613 35.17756370967742 35.17756370967742
Desviación
0.6895780745613294 0.6895780745613294 2.628229582310534 2.628229582310534
estándar

Para las anomalías y anomalías estandarizadas se mostrará un pequeño pantallazo debido a que son
muchas. Al final del archivo se dejará el script de cómo se hallaron.

En las primeras imágenes están las anomalías de la temperatura, estas se hallaron usando un loop
(arriba) y la función directa (abajo).

En las siguientes imágenes están las anomalías de contenido de vapor de agua, estas se hallaron
usando un loop (arriba) y la función directa (abajo).
La siguiente imagen son las anomalías estandarizadas de la temperatura usando un loop:

La siguiente imagen son las anomalías estandarizadas del contenido de vapor de agua usando un
loop:

Las siguientes gráficas son scatter plots de las dos variables (Temperatura vs. Contenido de vapor
de agua).

a). Scatter plot con valores originales


Los datos claramente están totalmente dispersos y no se puede ver ninguna relación lineal. Lo
único es que los datos tienden a hacer una agrupación de la parte izquierda superior y derecha
inferior. Esto mismo sucede con los gráficos de anomalías y anomalías estandarizadas.

b) Scatter plot con anomalías

c) Scatter plot con anomalías estandarizadas

Para este punto se halló el coeficiente de correlación de Pearson y el de Spearman para las dos
variables con los valores promediados. Para el de Spearman sólo se usó la función del software.

Pearson Spearman
Loop Función Función
-0.48823297289586626 -0.48823297 -0.6181451612903227

Como pasó con los datos originales, tanto Pearson como Spearman son negativos, no hay una
correlación lineal y su correlación es negativa de forma moderada, confirma lo que se halló
antes: una variable aumenta mientras la otra disminuye.

Se presentan los scripts:

# -*- coding: utf-8 -*-


"""Tare01.ipynb

Automatically generated by Colaboratory.

Original file is located at


https://colab.research.google.com/drive/1usp1DJb10fUCSvNJ0NPtSCxhbgo1xe6z
"""

import numpy as np
import matplotlib.pyplot as plt
import scipy
import math
from scipy import stats

# Con esta línea leemos datos


datos = np.loadtxt("aave_t2m_syn.txt", skiprows = 0) #Acá están los datos de temperatura
datos1 = np.loadtxt("aave_tcw_syn.txt", skiprows = 0) #Acá están los datos de cantidad de
vapor de agua

print(" ")
print(" ")
print("=======================================")
print("Algunos resultados")

# Ahora graficamos la serie de tiempo para la temperatura.


plt.plot(datos)
plt.title("Serie Tiempo - Temperatura para Diciembre 2015")
plt.xlabel("Índice de tiempo")
plt.ylabel("Temp. (K)")
plt.show()

# Ahora graficamos la serie de tiempo para el contenido de agua en la atm.


plt.plot(datos1)
plt.title("Serie Tiempo - Contenido de Agua para Diciembre 2015")
plt.xlabel("Índice de tiempo")
plt.ylabel("Cont de agua. (mm)")
plt.show()

# Con esta linea vemos que tan largos son los datos de temperatura.
largo = datos.shape[0]
print("largo =",largo)

# Con esta linea vemos que tan largos son los datos de contenido de vapor de agua.
largo2 = datos1.shape[0]
print("largo =",largo2)
#Ahora vamos a hallar el promedio de la temperatura haciendo un loop
t=1
datos = np.loadtxt("aave_t2m_syn.txt", skiprows = 0) #Acá están los datos de temperatura
def t_prom(num):
sum_num = 0
for t in num:
sum_num = sum_num + t
promt = sum_num / len(num)
return promt
print("El promedio es: ", t_prom(datos))

#Ahora vamos a hallar el promedio de la cantidad de vapor de agua haciendo un loop


t=1
datos1 = np.loadtxt("aave_tcw_syn.txt", skiprows = 0) #Acá están los datos de cantidad de
vapor de agua
def cw_prom(num):
sum_num = 0
for t in num:
sum_num = sum_num + t
promcw = sum_num / len(num)
return promcw
print("El promedio es: ", cw_prom(datos1))

#Ahora vamos a hallar el promedio de la temperatura usando la función mean


tprom = np.mean(datos)
print("El promedio es: ", tprom)

#Ahora vamos a hallar el promedio del contenido de agua usando la función mean
cwprom = np.mean(datos1)
print("El promedio es: ", cwprom)

#Ahora vamos a hallar la desviación estándar de la temperatura haciendo un loop


mean = sum(datos)/len(datos)
var = sum((x - mean) ** 2 for x in datos)/len(datos)
desvest = math.sqrt(var)
print("La desviación estándar es: ", desvest)

#Ahora vamos a hallar la desviación estándar del contenido de agua haciendo un loop
mean1 = sum(datos1)/len(datos1)
var1 = sum((x - mean1) ** 2 for x in datos1)/len(datos1)
desvest1 = math.sqrt(var1)
print("La desviación estándar es: ", desvest1)

#Ahora vamos a hallar la desviación estándar de la temperatura haciendo uso de la función


directa
desviesta = np.std(datos)
print("La desviación estándar es: ", desviesta)

#Ahora vamos a hallar la desviación estándar para el cont de agua haciendo uso de la función
directa
desviesta1 = np.std(datos1)
print("La desviación estándar es: ", desviesta1)

#Ahora vamos a hallar las anomalías de la temperatura haciendo un loop


#Para hallar la anomalía se requiere el valor original menos el valor medio
tprom = np.mean(datos)
for temperatura_individual in datos:
anomalia = temperatura_individual - tprom
print("Del valor ti: ", temperatura_individual)
print("Su anomalía es: ", anomalia)
print("")

#Ahora vamos a hallar las anomalías del contenido de agua haciendo un loop
#Para hallar la anomalía se requiere el valor original menos el valor medio
cwprom = np.mean(datos1)
for contenidodeagua_individual in datos1:
anomalia = contenidodeagua_individual - cwprom
print("Del valor ti: ", contenidodeagua_individual)
print("Su anomalía es: ", anomalia)
print("")

#Ahora vamos a hallar las anomalías de la temperatura haciendo uso de la función


tprom = np.mean(datos)
anomalia1 = np.ma.anomalies(datos)
print("Su anomalía es: \n", anomalia1)
print("")

#Ahora vamos a hallar las anomalías de la cantidad de vapor haciendo uso de la función
cwprom = np.mean(datos1)
anomalia = np.ma.anomalies(datos1)
print("Su anomalía es: \n", anomalia)
print("")

#Ahora vamos a hallar las anomalías estandarizadas de la temperatura haciendo uso de un loop
anomalia = np.ma.anomalies(datos)
desviesta = np.std(datos)
anomalia_estandarizada = (anomalia/desviesta)
print("Su anomalía estandarizada: \n", anomalia_estandarizada)

#Ahora vamos a hallar las anomalías estandarizadas del contenido de agua haciendo uso de un
loop
anomalia = np.ma.anomalies(datos1)
desviesta = np.std(datos1)
anomalia_estandarizada = (anomalia/desviesta)
print("Su anomalía estandarizada: \n", anomalia_estandarizada)

#PUNTO 3 NUMERAL (a)


#Vamos a graficar un scatterplot (gráfico de dispersión) de las vbles originales
plt.plot(datos, datos1, color = "b", linewidth = 0, marker = ".")
plt.title("Scatterplot Temperatura vs. Contenido de vapor de agua")
plt.xlabel("Temperatura (K)")
plt.ylabel("Contenido vapor de agua (mm)")
plt.show()

#PUNTO 3 NUMERAL (b)


#Vamos a graficar un scatterplot (gráfico de dispersión) de las anomalías
anomalia = np.ma.anomalies(datos)
anomalia1 = np.ma.anomalies(datos1)
plt.plot(anomalia, anomalia1, color = "r", linewidth = 0, marker = ".")
plt.title("Anomalías de Temperatura vs. Contenido de vapor de agua")
plt.xlabel("Temperatura (K)")
plt.ylabel("Contenido vapor de agua (mm)")
plt.show()

#PUNTO 3 NUMERAL (c)


#Vamos a graficar un scatterplot (gráfico de dispersión) de las anomalías estandarizadas
anomalia = np.ma.anomalies(datos)
desviesta = np.std(datos)
anomalia_estandarizada = (anomalia/desviesta)
anomalia1 = np.ma.anomalies(datos1)
desviesta1 = np.std(datos1)
anomalia_estandarizada1 = (anomalia1/desviesta1)

plt.plot(anomalia_estandarizada, anomalia_estandarizada1, color = "y", linewidth = 0, marker


= ".")
plt.title("Anomalías Estand. de Temperatura vs. Contenido de vapor de agua")
plt.xlabel("Temperatura (K)")
plt.ylabel("Contenido vapor de agua (mm)")
plt.show()

#PUNTO 4 - CORRELACIÓN DE PEARSON


#Ahora vamos a hallar la correlación de pearson de la temperatura y contenido de vapor de
agua haciendo un loop

#Hallamos el numerador que es la covariancia

mean = sum(datos)/len(datos)
mean1 = sum(datos1)/len(datos1)
cov = sum((x - mean)*(y - mean1) for x, y in zip(datos, datos1))

#Vamos a hallar el denominador que son las desviaciones estandar de cada variable

var = sum((x - mean) ** 2 for x in datos) #Acá estamos haciendo la sumatoria de las anomalías
de temperatura
var_1 = sum((y - mean1) ** 2 for y in datos1) #Sumatoria de anomalías de contenido de vapor
de agua
var_ = math.sqrt(var) #hallamos la raíz de la sumatoria de anomalías de temperatura
var_1_ = math.sqrt(var_1) #hallamos la raíz de la sumatoria de anomalías de contenido de
vapor de agua
var_t = var_ * var_1_ #Multiplicamos esos valores que tuvimos de las raíces
pearson = cov/var_t #Hallamos el coef. de correlación de Pearson
print("El coeficiente de correlación de Pearson es: ", pearson)
#PUNTO 4 - CORRELACIÓN DE PEARSON
#Ahora vamos a hallar la correlación de pearson de la temperatura y contenido de vapor de
agua haciendo uso de función

pearson = np.corrcoef(datos, datos1)


print("El coef de correlación de Pearson es: ", pearson)

#PUNTO 4 - CORRELACIÓN DE SPEARMAN


#Ahora vamos a hallar la correlación de spearman de la temperatura y contenido de vapor de
agua haciendo uso de función

spearman = scipy.stats.spearmanr(datos, datos1)[0]


print("El coef de correlación de Spearman es: ", spearman)

###########################################################################
##

#Vamos a empezar a hacer los mismos cálculos anteriores pero ahora con los promedios diarios
de cada variable

#PUNTO #1
# Con esta línea leemos datos
datost = np.loadtxt("aave_promt2m_syn.txt", skiprows = 0) #Acá están los datos de
temperatura promedio diario
datoscw = np.loadtxt("aave_promtcw_syn.txt", skiprows = 0) #Acá están los datos de cantidad
de vapor de agua promedio diario

print(" ")
print(" ")
print("=======================================")
print("Algunos resultados")

#PUNTO 1
# Ahora graficamos la serie de tiempo para la temperatura promedio diario.
plt.plot(datost)
plt.title("Serie Tiempo - Temperatura promedio diaria para Diciembre 2015")
plt.xlabel("índice")
plt.ylabel("Temp. (K)")
plt.show()

#PUNTO 1
# Ahora graficamos la serie de tiempo para el contenido de vapor de agua promedio diario.
plt.plot(datoscw)
plt.title("Serie Tiempo - Cont. Vapor de Agua promedio diario para Diciembre 2015")
plt.xlabel("índice")
plt.ylabel("Cont de agua. (mm)")
plt.show()

#PUNTO 2
#HALLAREMOS LOS VALORES PROMEDIOS
#Ahora vamos a hallar el promedio de la temperatura prom haciendo un loop
t=1
datost = np.loadtxt("aave_promt2m_syn.txt", skiprows = 0) #Acá están los datos de
temperatura
def t_prom(num):
sum_num = 0
for t in num:
sum_num = sum_num + t
promt = sum_num / len(num)
return promt
print("El promedio es: ", t_prom(datost))

#Ahora vamos a hallar el promedio de la temperatura prom usando la función mean


tprom = np.mean(datost)
print("El promedio es: ", tprom)

#Ahora vamos a hallar el promedio de la cantidad de vapor de agua haciendo un loop


t=1
datoscw = np.loadtxt("aave_promtcw_syn.txt", skiprows = 0) #Acá están los datos de cantidad
de vapor de agua
def cw_prom(num):
sum_num = 0
for t in num:
sum_num = sum_num + t
promcw = sum_num / len(num)
return promcw
print("El promedio es: ", cw_prom(datoscw))

#Ahora vamos a hallar el promedio del contenido de agua usando la función mean
cwprom = np.mean(datoscw)
print("El promedio es: ", cwprom)

#VAMOS A HALLAR LAS DESVIACIONES ESTANDAR

#Ahora vamos a hallar la desviación estándar de la temperatura haciendo un loop


mean = sum(datost)/len(datost)
var = sum((x - mean) ** 2 for x in datost)/len(datost)
desvest = math.sqrt(var)
print("La desviación estándar es: ", desvest)

#Ahora vamos a hallar la desviación estándar de la temperatura haciendo uso de la función


directa
desviesta = np.std(datost)
print("La desviación estándar es: ", desviesta)

#Ahora vamos a hallar la desviación estándar del contenido de agua haciendo un loop
mean1 = sum(datoscw)/len(datoscw)
var1 = sum((x - mean1) ** 2 for x in datoscw)/len(datoscw)
desvest1 = math.sqrt(var1)
print("La desviación estándar es: ", desvest1)
#Ahora vamos a hallar la desviación estándar para el cont de agua haciendo uso de la función
directa
desviesta1 = np.std(datoscw)
print("La desviación estándar es: ", desviesta1)

#ANOMALÍAS

#Ahora vamos a hallar las anomalías de la temperatura haciendo un loop


#Para hallar la anomalía se requiere el valor original menos el valor medio
tprom = np.mean(datost)
for temperatura_individual in datost:
anomalia = temperatura_individual - tprom
print("Del valor ti: ", temperatura_individual)
print("Su anomalía es: ", anomalia)
print("")

#Ahora vamos a hallar las anomalías de la temperatura haciendo uso de la función


tprom = np.mean(datost)
anomalia1 = np.ma.anomalies(datost)
print("Su anomalía es: \n", anomalia1)
print("")

#Ahora vamos a hallar las anomalías del contenido de agua haciendo un loop
#Para hallar la anomalía se requiere el valor original menos el valor medio
cwprom = np.mean(datoscw)
for contenidodeagua_individual in datoscw:
anomalia = contenidodeagua_individual - cwprom
print("Del valor ti: ", contenidodeagua_individual)
print("Su anomalía es: ", anomalia)
print("")

#Ahora vamos a hallar las anomalías de la cantidad de vapor haciendo uso de la función
cwprom = np.mean(datoscw)
anomalia = np.ma.anomalies(datoscw)
print("Su anomalía es: \n", anomalia)
print("")

#Ahora vamos a hallar las anomalías estandarizadas de la temperatura haciendo uso de un loop
anomalia = np.ma.anomalies(datost)
desviesta = np.std(datost)
anomalia_estandarizada = (anomalia/desviesta)
print("Su anomalía estandarizada: \n", anomalia_estandarizada)

#Ahora vamos a hallar las anomalías estandarizadas del contenido de vapor de agua haciendo
uso de un loop
anomalia = np.ma.anomalies(datoscw)
desviesta = np.std(datoscw)
anomalia_estandarizada = (anomalia/desviesta)
print("Su anomalía estandarizada: \n", anomalia_estandarizada)

#PUNTO 3 NUMERAL (a)


#Vamos a graficar un scatterplot (gráfico de dispersión) de las vbles originales promedias
plt.plot(datost, datoscw, color = "b", linewidth = 0, marker = ".")
plt.title("Scatterplot Temperatura vs. Contenido de vapor de agua")
plt.xlabel("Temperatura (K)")
plt.ylabel("Contenido vapor de agua (mm)")
plt.show()

#PUNTO 3 NUMERAL (b)


#Vamos a graficar un scatterplot (gráfico de dispersión) de las anomalías
anomalia = np.ma.anomalies(datost)
anomalia1 = np.ma.anomalies(datoscw)
plt.plot(anomalia, anomalia1, color = "r", linewidth = 0, marker = ".")
plt.title("Scatterplot de Anomalías Temperatura vs. Contenido de vapor de agua")
plt.xlabel("Temperatura (K)")
plt.ylabel("Contenido vapor de agua (mm)")
plt.show()

#PUNTO 3 NUMERAL (c)


#Vamos a graficar un scatterplot (gráfico de dispersión) de las anomalías estandarizadas
anomalia = np.ma.anomalies(datost)
desviesta = np.std(datost)
anomalia_estandarizada = (anomalia/desviesta)
anomalia1 = np.ma.anomalies(datoscw)
desviesta1 = np.std(datoscw)
anomalia_estandarizada1 = (anomalia1/desviesta1)

plt.plot(anomalia_estandarizada, anomalia_estandarizada1, color = "g", linewidth = 0, marker


= ".")
plt.title("Scatterplot de Anomalías Estand. Temperatura vs. Contenido de vapor de agua")
plt.xlabel("Temperatura (K)")
plt.ylabel("Contenido vapor de agua (mm)")
plt.show()

#PUNTO 4 - CORRELACIÓN DE PEARSON


#Ahora vamos a hallar la correlación de pearson de la temperatura y contenido de vapor de
agua (con datos promedios) haciendo un loop

#Hallamos el numerador que es la covariancia

tmean = sum(datost)/len(datost)
cwmean = sum(datoscw)/len(datoscw)
cov = sum((x - tmean)*(y - cwmean) for x, y in zip(datost, datoscw))

#Vamos a hallar el denominador que son las desviaciones estandar de cada variable

var = sum((x - tmean) ** 2 for x in datost) #Acá estamos haciendo la sumatoria de las anomalías
de temperatura
var_1 = sum((y - cwmean) ** 2 for y in datoscw) #Sumatoria de anomalías de contenido de
vapor de agua
var_ = math.sqrt(var) #hallamos la raíz de la sumatoria de anomalías de temperatura
var_1_ = math.sqrt(var_1) #hallamos la raíz de la sumatoria de anomalías de contenido de
vapor de agua
var_t = var_ * var_1_ #Multiplicamos esos valores que tuvimos de las raíces
pearson = cov/var_t #Hallamos el coef. de correlación de Pearson
print("El coeficiente de correlación de Pearson es: ", pearson)

#PUNTO 4 - CORRELACIÓN DE PEARSON


#Ahora vamos a hallar la correlación de pearson de la temperatura y contenido de vapor de
agua (promedios) haciendo uso de función

pearson = np.corrcoef(datost, datoscw)


print("El coef de correlación de Pearson es: ", pearson)

#PUNTO 4 - CORRELACIÓN DE SPEARMAN


#Ahora vamos a hallar la correlación de spearman de la temperatura y contenido de vapor de
agua (promedios) haciendo uso de función

spearman = scipy.stats.spearmanr(datost, datoscw)[0]


print("El coef de correlación de Spearman es: ", spearman)

También podría gustarte