全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
2987 1
2015-06-07
我用R软件做灰色预测,但是预测的结果不好,下面是程序,哪位大神能帮我修正一下?万分感谢~~#编写应用于R软件的GM(1,1)模型
x0=c(6.76,5.68,5.57,5.50,5.24,5.28,5.17,4.93,4.73,4.59,4.42)
#x0为输入序列,t为预测个数
x1<-cumsum(x0) #一次累加生成序列1-AG0序列
n<-length(x0)
x2=c(0,0,0,0,0,0,0,0,0,0)
for(i in 1:n-1)
{ #生成x1的紧邻均值生成序列
x2[i]<-(x1[i]+x1[i+1])/2}#得序列b,即为x1的紧邻均值生成序列
D<-numeric(length(x0)-1)
D[]<-1
B<-cbind(x2,D)
BT<-t(B)#做转置
M<-solve(BT%*%B)
YN<-x0[2:length(x0)]
alpha=c(0,0)
alpha<-M%*%BT%*%YN
#模型的最小二乘估计参数列满足alpha尖
a<-alpha[1]
u<-alpha[2]
cat("GM(1,1)参数估计值:",'\n',"发展系数-a=",a,"??","灰色作用量u=",u,'\n','\n') #利用最小二乘法求得参数估计值a,u
y<-numeric(length(c(1:15)))
y[1]<-x1[1]
for(w in 1:14){y[w+1]<-(x0[1]-u/a)*exp(-a*w)+u/a}
#将a,u的估计值代入时间响应序列函数计算x1拟合序列y
cat("x(1)的模拟值:",'\n',y,'\n')
xy<-numeric(length(y))
xy[1]<-y[1]
for(m in 2:15){xy[m]=y[m]-y[m-1]}#运用后减运算还原得模型输入序列x0预测序列
cat("x(0)的模拟值:",'\n',xy,'\n')




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-4-5 18:11:55
求,各位大佬有灰色预测残差修正的代码吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群