爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 9224|回复: 16

[源代码] 回归程序

[复制链接]

新浪微博达人勋

发表于 2011-9-20 14:29:56 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
别人写好的,我改进了一下,可以求回归,超前滞后回归。
cz---整型变量,输入参数。超前滞后参数
n——整型变量,输入参数。观测数列长度
x——长度为n的一维实型数组,输入参数。存放自变量x的n个值。
y——长度为n的一维实型数组,输入参数。存放与自变量x相对应的n个y观测值。
a——实型变量,输出参数。回归系数,即线性回归方程的一次项系数。
b——实型变量,输出参数。回归系数,即线性回归方程的常数项。
q——实型变量,输出参数。偏差平方和。
s——实型变量,输出参数。平均标准偏差。
p——实型变量,输出参数。回归平方和。
umax——实型变量,输出参数。最大偏差。
umin——实型变量,输出参数。最小偏差。
u——实型变量,输出参数。偏差的平均值。
!*****************************
! 回归子程序
   subroutine yxhg(cz,n,x,y,a,b,q,s,p,umax,umin,u)
    implicit none
    integer n,i,j,k
    integer nn
    real xv,yv,a,b,s,q,p,umax,umin,u,dxy,dxx,dx
    integer cz
real(4),dimension(n)::x,y
real,dimension(n-abs(cz))::xx,yy
if(cz>=0) then
do i=1,n-cz
    xx(i)=x(i)
    yy(i)=y(i+cz)
end do
else
do i=1,n+cz
    xx(i)=x(i+abs(cz))
    yy(i)=y(i)
end do
end if
nn=n-abs(cz)
xv=0         
yv=0         
do i=1,nn
  xv=xv+xx(i)
  yv=yv+yy(i)
end do
xv=xv/n
yv=yv/n
dxx=0.0
dxy=0.0
do i=1,nn
  q=xx(i)-xv
  dxx=dxx+q*q
  dxy=dxy+q*(yy(i)-yv)
end do
a=dxy/dxx
b=yv-a*xv
q=0
u=0
p=0
umax=-1.0e10
umin=1.0e20
do i=1,nn
  s=a*xx(i)+b
  q=q+(yy(i)-s)**2
  p=p+(s-yv)**2
  dx=abs(yy(i)-s)
  if(dx.gt.umax)then
  umax=dx
  endif
  if(dx.lt.umin)then
  umin=dx
  endif
  u=u+dx/n
end do
s=sqrt(q/n)
end
!*****************************************

评分

参与人数 1金钱 +10 贡献 +3 收起 理由
mofangbao + 10 + 3 编辑缩进很不容易,楼主好习惯!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-9-20 14:48:03 | 显示全部楼层
有说明看起来会轻松不少 谢谢楼主共享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-10-19 21:25:47 | 显示全部楼层
谢谢楼主分享!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-12-1 22:10:26 | 显示全部楼层
多谢楼主,辛苦了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-20 11:12:14 | 显示全部楼层
谢谢了~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-20 15:29:40 | 显示全部楼层
楼主给力,谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-1 21:25:00 | 显示全部楼层
学习学习~~~~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-1 21:26:19 | 显示全部楼层
学习学习~~~!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-17 15:34:10 | 显示全部楼层
学习学习
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-6-19 21:02:01 | 显示全部楼层
谢谢
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表