土木在线论坛 \ 施工技术 \ 市政工程施工 \ 灰色模型程序源码

灰色模型程序源码

发布于:2009-02-02 14:10:02 来自:施工技术/市政工程施工 [复制转发]
灰色系统模型

监测灰色系统模型,主要解决少样本情况下的建模和预报问题。

其基本思路为:先将离散的带有随机性的大坝监测数据经“生成”处理后变为随机性被削弱的“生成数”,然后再通过微分方程来建立数学模型,建模后经过“逆生成”还原后得到结构数据。

本文贴出灰色模型实现的程序源码:程序是使用sas统计软件编写的!
DATA a1 ; /* 建立原始数据集a1 */
INPUT t year xt @@; /* 读入原始数据序列*/
yt + xt ;/* 生成一阶累加序列*/
index=1 ;zt =-(yt+ LAG(yt))/2 ; /* 为数据矩阵B 准备数据*/
cards;
1 1990 24395 2 1991 25286
3 1992 26901 4 1993 27339
5 1994 27871 6 1995 28721
7 1996 29728 8 1997 30067
9 1998 30791 10 1999 31284
11 2000 33716 12 2001 34558
;
PROC IML ; /* 调用IML 模块*/
USE a1 ; /* 打开已有的SAS 数据集a1 */
READ ALL VAR{zt index} INTO B WHERE(zt^=.) ; /* 将a1中变量zt 和index 值(不含第读入矩阵B */
READ ALL VAR{xt} INTO Yn WHERE(zt^= .) ; /* 将a1 中变量xt 矩阵Yn */
ahat=INV(B`*B)*B`*Yn; /* 计算参数矩阵^a = [ a , u ] T= [ B TB ] - 1 B T Yn*/
ahatt=ahat`;
na ={a u}; /* 将参数矩阵转置*/
CREATE a2 FROM ahatt[COLNAME=na] ; /* 用转置后的参数矩阵数据建立SAS 数据集a2 */
APPEND FROM ahatt; /* 将数据读入到数据集*/
QUIT ; /* 退出IML 模块*/
DATA a3 ;
SET a2 ;
index=1 ;
DATA a4;
SET a1;
IF _N_=1;
xt0=xt;
KEEP xt0 index ;
DATA a5 ;
MERGE a1 a3 a4 ;
BY index ;
IF _N_= 1 THEN xp=xt; /* ^x (0) (1) = x (0) (1)*/
ELSE DO
  yt1=(xt0-u/a)*EXP(-a*(t-1))+u/a ; /* 计算^x(1)(k)=[x(0)(k)-u/a]*exp(-a(k-1))+u/a */
  yt0=(xt0-u/a)*EXP(-a*(t-2))+u/a ; /* 计算^x(1)(k-1)=[x(0)(k)-u/a]*exp(-a(k-2))+u/a */
  xp=yt1-yt0; /* 计算预测值^x(0)(k)=[^x(1)(k)]-^x(1)(k-1) */
END ;
error=xp- xt; /* 计算绝对误差*/
rerror = error/xt*100 ; /* 计算相对误差*/
DROP yt index zt yt1 yt0 xt0 ;
PROC PRINT DATA = a5 ; /* 输出计算结果*/
RUN ; /* 运行上述程序*/
保护作者权利,转载请注明出处: http://www.jianceren.cn 监测人网站
  • jswjsw110
    jswjsw110 沙发
    和季节波动性的二重趋势,这使得负荷的变化呈现出复杂的非线性组合特征。对于这种具有复杂的非线性组合特征的序列,使用某一种模型进行预测,结果往往不理想。为了提高短期电力负荷的预测精度,提出了具有季节型特点的电力负荷灰色组合预测模型。在此模型中,灰色模型处理非线性问题具有一定的优势,它可以很好地反映电力负荷的增长性特点。季节变动指数(SVI)用来
    2009-10-04 03:40:04

    回复 举报
    赞同0
这个家伙什么也没有留下。。。

市政工程施工

返回版块

15.09 万条内容 · 373 人订阅

猜你喜欢

阅读下一篇

求县级小型水库除险加固工程项目建设管理实施细则

谁有县级小型水库除险加固工程项目建设管理实施细则

回帖成功

经验值 +10