02:06:02 Christian Barreto: # almacenamos en netcdfs data_set = xr.Dataset( coords={"lon": (["lon"],sst_trop_jan_anom.lon), "lat": (["lat"], sst_trop_jan_anom.lat)}) data_set["corr_pearson"] = (["lat", "lon"], m_corr_pearson) data_set["corr_pearson_inf"] = (["lat", "lon"], m_corr_pearson_inf) data_set["corr_pearson_sup"] = (["lat", "lon"], m_corr_pearson_sup) data_set.to_netcdf("umbrales_de_corr.nc",mode="w") 02:24:48 Christian Barreto: import numpy as np import pandas as pd import matplotlib.pyplot as plt file="nino.xlsx" nino=pd.read_excel(file,"NINO") nino 02:30:05 Christian Barreto: from statsmodels.graphics.tsaplots import plot_acf fig1 = plt.figure() plot_acf(nino12,lags=10) plt.savefig("autocorr_nino12.png",dpi=300) 02:32:56 Christian Barreto: fig1 = plt.figure() plot_acf(nino34,lags=10) plt.savefig("autocorr_nino34.png",dpi=300). 02:32:58 Christian Barreto: fig1 = plt.figure() plot_acf(nino34,lags=10) plt.savefig("autocorr_nino34.png",dpi=300) 02:44:14 Christian Barreto: ########### con pandas from pandas.plotting import autocorrelation_plot autocorrelation_plot(nino34,label="nino34").set_xlim([0, 15]) autocorrelation_plot(nino12,label="nino12").set_xlim([0, 15]) plt.grid() plt.legend() 02:50:36 Christian Barreto: ################################### 02:50:36 Christian Barreto: import numpy as np import pandas as pd import matplotlib.pyplot as plt import xarray as xr dset = xr.open_dataset("sst.mnmean.nc") sst=dset.sst #seleccionamos tropicos sst_trop=sst.sel(lat=slice(10,-10),lon=slice(0,360),time=slice("1981-01-01","2010-12-01")) sst_trop.sel(time="2010-01-01").plot(robust=True,figsize=(10,3)) sst_trop 02:54:07 Christian Barreto: ############################ 02:58:01 Christian Barreto: m_autocorr_pearson = np.zeros((sst_trop.shape[1],sst_trop.shape[2]),dtype=float) lagtime=3 def autocrr(x, t=lagtime): return np.corrcoef(np.array([x[:-t], x[t:]]))[0,1] 02:58:04 Christian Barreto: m_autocorr_pearson = np.zeros((sst_trop.shape[1],sst_trop.shape[2]),dtype=float) lagtime=3 def autocrr(x, t=lagtime): return np.corrcoef(np.array([x[:-t], x[t:]]))[0,1] for ni in range(0,sst_trop.shape[2]): #long for nj in range(0,sst_trop.shape[1]): # loop lat sst_info=sst_trop.isel(lat=nj,lon=ni).values array_has_nan = np.isnan(np.sum(sst_info)) if array_has_nan == True: m_autocorr_pearson[nj,ni]=np.nan else: m_autocorr_pearson[nj,ni] = autocrr(sst_info) 03:02:49 Christian Barreto: https://wetransfer.com/downloads/b27b58b19cbe4817cf168f5cef25abf920210805233510/ef025d17513f774b8d3d46836b46c76320210805233529/5be287 03:08:16 Christian Barreto: data_set2 = xr.Dataset( coords={'lon': ([ 'lon'], sst_trop.lon), 'lat': (['lat',], sst_trop.lat)}) data_set2["corr_pearson"] = (["lat", "lon"], m_autocorr_pearson) corr=data_set2.corr_pearson corr.plot.contourf(robust=True,vmin=0.3,figsize=(10,3)) 03:08:20 Lia Nicolle: si ya descargó 03:08:57 ALANIA SUMARAN JOEL YOEL DZ02: la mía falta aún :-( 03:10:56 Christian Barreto: dset2 = xr.open_dataset("hgt.mon.mean.nc") hgt=dset2.hgt #seleccionamos tropicos hgt_trop=hgt.sel(lat=slice(10,-10),lon=slice(0,360),time=slice("1981-01-01","2010-12-01"),level=200) hgt_trop.sel(time="2010-01-01").plot(robust=True,figsize=(10,3)) hgt_trop 03:14:11 Christian Barreto: m_autocorr_pearson = np.zeros((hgt_trop.shape[1],hgt_trop.shape[2]),dtype=float) lagtime=3 def autocrr(x, t=lagtime): return np.corrcoef(np.array([x[:-t], x[t:]]))[0,1] for ni in range(0,hgt_trop.shape[2]): #long for nj in range(0,hgt_trop.shape[1]): # loop lat hgt_info=hgt_trop.isel(lat=nj,lon=ni).values array_has_nan = np.isnan(np.sum(hgt_info)) if array_has_nan == True: m_autocorr_pearson[nj,ni]=np.nan else: m_autocorr_pearson[nj,ni] = autocrr(hgt_info) 03:19:55 Christian Barreto: data_set3 = xr.Dataset( coords={'lon': ([ 'lon'], hgt_trop.lon), 'lat': (['lat',], hgt_trop.lat)}) data_set3["corr_pearson"] = (["lat", "lon"], m_autocorr_pearson) corr2=data_set3.corr_pearson corr2.plot.contourf(robust=True,vmin=0.3,figsize=(10,3)) 03:23:54 Christian Barreto: data_set3 = xr.Dataset( coords={'lon': ([ 'lon'], hgt_trop.lon), 'lat': (['lat',], hgt_trop.lat)}) data_set3["corr_pearson"] = (["lat", "lon"], m_autocorr_pearson) corr2=data_set3.corr_pearson corr2.plot.contourf(robust=True,vmin=0.3,figsize=(10,3)) 03:43:29 Christian Barreto: https://we.tl/t-Kwoyu9bmid 03:47:33 Christian Barreto: ############################## 03:47:38 Christian Barreto: import numpy as np import pandas as pd import matplotlib.pyplot as plt file="datos_reg_lineal_esta.xlsx" data=pd.read_excel(file) data 03:49:09 Christian Barreto: y=data["chuqui_jja"] x=data["chuqui_mam"] plt.scatter(x,y) 03:54:44 Lia Nicolle: disculpe, podría aumentar un poco la letra por favor ? 03:55:49 Christian Barreto: #create pandas para acumular datos df= pd.DataFrame({"x":x,"y": y}) #calculamos la media de x e y xmean= np.mean(x) ymean= np.mean(y) #calculamos los terminos que necesitamos en el numerador y denominador de beta df["xycov"] = (df["x"] - xmean) * (df["y"] - ymean) df["xvar"] = (df["x"] - xmean)**2 #calculamos a y b b=df["xycov"].sum()/ df["xvar"].sum() a= ymean-(b*xmean) print("a:",a) print("b:",b) 03:55:52 Christian Barreto: ############## 03:55:57 Christian Barreto: ypred = a + b*x plt.plot(y) plt.plot(ypred)