我正在尝试对海平面高度(Enso上的3D(t,x,y)进行回归(海面温度异常为1d(t))。我想要所有网格点的回归系数。为了优化我的解决方案(例如单个网格点),它需要2秒钟,并且具有1080x1440网格点。请帮助我。我正在尝试回归到气候数据(SSH和SST)
代码:
%%time
lon= var_trend.xt_ocean
lat=var_trend.yt_ocean
results = np.zeros([1080,1440])
results[:,:] = nan;
for i in range(len(lat)-1):
for j in range(len(lon)-1):
result =stats.linregress(a[:,i,j], SSTa[:])
results[i,j] = result.rvalue
print(result)
因此,在上方,var_trend
是整个地球与t=36
的SSH方差,而'a'是var_trend的掩码数组。SSTa
是温度异常。这段代码可以正常工作,但是要花很多时间,因为它循环了每个网格点。有什么有效的方法吗?