- 7
- 0
- 约1.93万字
- 约 31页
- 2018-11-16 发布于天津
- 举报
自适应统计天气预报方法
PAGE
PAGE 174
自适应统计天气预报方法
自适应线性最小二乘回归算法
功能
自适应线性最小二乘回归算法是线性最小二乘回归算法的递推跟踪算法,它比线性最小二乘回归算法增加了跟踪新数据修改模型参数的功能。
子程序语句
subroutine LRR(cn,bn,x,y,yf,m,n,ll,bs0)
哑元说明
将每一个哑元说明清楚。
cn 为mm维矩阵,由历史样本矩阵xo(no,m)和其自身的转置相乘得到,即cn=xo(no,m)xo(no,m),其作用是用于计算回归系数bn,其中no为历史样本数。通常情况下,在上一次计算完成后记录在文件中。通常情况下,在上一次计算完成后记录在文件中。
bn 为m维回归系数矩阵,通常情况下,在上一次计算完成后记录在文件中。
x 为参与自适应学习的因子nm维矩阵。
y 为参与自适应学习的预报量实测值,是个n维矩阵。
yf 为用自适应学习后的参数计算的预报量值,是个n维矩阵。
m,n 为参与自适应学习样本的因子数和样本数,m为因子数,其中包括了第0号因子,n为样本数,如果n=1,那么同时有一个样本参与自适应学习,如果n=k,那么同时有k个样本参与自适应学习。
ll 线性回归函数与logit回归函数选择参数,ll=1为线性回归函数,ll=0 为logit回归函数。
bs0 Beris 评分输出结果。
子程序
C_______________________________________________________________
c this program is logit.3 LRR(the Logit Regression Recurrence)
c Cn=1/(XnT*Wn-1*Xn)
c wn+1=y1n+1*(1-y1n+1)
c dn+1=(wn+1+Xn+1*Cn*Xn+1)
c Cn+1=Cn-Cn*Xn+1T*Xn+1*Cn/dn+1
c bn+1=bn+Cn*Xn+1*dn+1*wn+1*(yn+1-y1n+1)
c yn+1 -obtation
c y1n+1 -estimator
c y1n+1=xn+1T*bn+1
c++++++++++++++++++++++++++++++++++++++++++++++++++++++++
subroutine LRR(cn,bn,x,y,yf,m,n,ll,bs0)
C (M1=M)
PARAMETER(M1=12)
real cn(m,m),x(n,m),bn(m),yf(n),y(n)
REAL x1(m1),x2(m1),cc(m1,m1),b1(m1),xn(m1)
bs=0.0
do 100 k=1,n
do j=1,m
xn(j)=x(k,j)
enddo
yn=y(k)
c==
y1=0.0
do i=1,m
y1=y1+xn(i)*bn(i)
enddo
c===
do i=1,m
x1(i)=0.0
do j=1,m
x1(i)=x1(i)+cn(i,j)*xn(j)
enddo
enddo
c===
dn=0.0
do i=1,m
dn=dn+xn(i)*x1(i)
enddo
if(ll.eq.0)then
y1=1.0/(1.0+exp(-y1))
wn=y1*(1.0-y1)
else
wn=1.0
endif
dn1=wn/(dn*wn+1.0)
dn2=1.0/(dn*wn+1.0)
c write(*,(2e12.3))dn1,dn2
c===
do i=1,m
x2(i)=0.0
do j=1,m
x2(i)=x2(i)+cn(j,i)*xn(j)
enddo
enddo
c===
do i=1,m
do j=1,m
cc(i,j)=x1(i)*dn1*x2(j)
enddo
enddo
do i=1,m
b1(i)=x1(i)*dn2*(yn-y1)
enddo
c===
do i=1,m
bn(i)=bn(i)+b1(i)
enddo
c===
do i=1,m
do j=1,m
cn(i,j)=cn(i,j)-cc(i,j)
enddo
enddo
c===
y1=0.0
do i=1,m
y1=y1+xn(i)*bn(i)
enddo
y1=1.0/(1.0+exp(-y1))
dy=yn-y1
yf(k)=y1
bs=bs+dy*dy
100 continue
bs=bs/n
bs0=bs
write(*,(f8.6))bs0
return
end
举例
(给出利用上述子程序的例子,包括输入
原创力文档

文档评论(0)