实习三 一元线性回归分析
- 资料介绍
现有全球海平面气压场资料,文件名NCEP_slp_30y_Wt.dat,时段:冬季1978~2007年共30年。水平分辨率:7.5*7.5(具体参考NCEP_slp_30y_Wt.ctl文件),格点数:48*24。
另有热带太平洋海温场资料,文件名NCEP_TPSST_30y_Wt.dat,范围:120~300E,20S~20N. 时段:冬季1978~2007年共30年。水平分辨率:不等距(具体参考NCEP_TPSST_30y_Wt.ctl文件),格点数:32*7。
要求:(只做1)
- 利用回归方法,分析Nino3.4区海温与全球海平面气压场之间的关系(给出b系数的空间分布图)。
- 比较合成方法、相关方法及回归方法分析Nino3.4区海温与全球海平面气压场之间的关系,它们之间有什么联系和差别?
2.程序
1)计算思路
2.)程序
program main
implicit none
integer,parameter::nx=48,ny=24,nt=30
real sst(nt),slp(nx,ny,nt)
real a(nx,ny),b(nx,ny)
real ix,iy,it
open(1,file='D:\2021tj\practice2\N-original.grd',form='binary')
read(1)(sst(it),it=1,nt)
close(1)
open(2,file='D:\2021tj\NCEP_slp_30y_Wt.dat',form='binary')
read(2)(((slp(ix,iy,it),ix=1,nx),iy=1,ny),it=1,nt)
close(2)
call huigui(sst,slp,nx,ny,nt,a,b)
write(*,*)b
open(3,file='D:\2021tj\practice3\b.grd',form='binary')
write(3)((b(ix,iy),ix=1,nx),iy=1,ny)
close(3)
end program
subroutine huigui(x,y,nx,ny,nt,a,b)
implicit none
integer nx,ny,nt
real x(nt),y(nx,ny,nt),a(nx,ny),b(nx,ny) !x,y为需要做回归分析的变量,a,b为系数
real:: xave=0.0,yave(nx,ny)
real k(nx,ny),q(nx,ny),m(nx,ny) !k为b的分子,q为分母
integer ix,iy,it
yave(nx,ny)=0.0
!write(*,*)x**2
do it=1,nt
xave=xave+x(it)/nt
do ix=1,nx
do iy=1,ny
yave(ix,iy)=yave(ix,iy)+y(ix,iy,it)/nt
enddo
enddo
enddo
! write(*,*)xave
k(nx,ny)=0.0
do ix=1,nx
do iy=1,ny
q(ix,iy)=0.0
m(ix,iy)=0.0
do it=1,nt
k(ix,iy)=k(ix,iy)+x(it)*y(ix,iy,it)
q(ix,iy)=q(ix,iy)+x(it)**2
!write(*,*)q(ix,iy)
enddo
k(ix,iy)=k(ix,iy)-nt*xave*yave(ix,iy)
q(ix,iy)=q(ix,iy)-nt*(xave**2)
b(ix,iy)=k(ix,iy)/q(ix,iy)
a(ix,iy)=yave(ix,iy)-b(ix,iy)*xave
enddo
enddo
!write(*,*)q
end subroutine huigui
3.ctl和gs文件
1.b.ctl
dset D:\2021tj\practice3\b.grd
undef 1.0E+20
xdef 48 levels 5 12.5 20 27.5 35 42.5 50 57.5 65 72.5 80 87.5 95 102.5 110 117.5 125 132.5 140 147.5 155 162.5 170 177.5 185 192.5 200 207.5 215 222.5 230 237.5 245 252.5 260 267.5 275 282.5 290 297.5 305 312.5 320 327.5 335 342.5 350 356.25
ydef 24 levels -87.5 -80 -72.5 -65 -57.5 -50 -42.5 -35 -27.5 -20 -12.5 -5 2.5 10 17.5 25 32.5 40 47.5 55 62.5 70 77.5 85
zdef 1 levels 1000
tdef 1 linear 0z01Jan1978 1yr
vars 1
b 0 99
endvars
2.b.gs
'reinit'
'open D:\2021tj\practice3\b.ctl'
'set lon 5 356.5'
'set lat -87.5 87.5'
'set lev 1000'
'set t 1'
'd b'
'draw title b spatial map'
'gxprint D:\2021tj\practice3\b.png white'
;
4.图像及分析
由图可知,图中存在b的负值区和正值区,b的负值表明Nino3.4区海温指数与全球海平面气压呈负相关,正值表明Nino3.4区海温指数与全球海平面气压呈正相关,且绝对值越大,表明相关性越强。