不多说,直接上R语言代码

以后有时间再继续更新

第一个先计算关联度和关联系数

#定义成函数-------------------------------------------hsyc <- function(y, ro) {#这个函数是计算关联度和关联度系数#初始化(x <- y / y[ ,1])#求绝对差序列x0 <- x[1, ]theta <- t(abs(apply(as.matrix(x[-1, ]), 1, function(t) {t - x0})))#相关系数nieta <- (apply(theta, 1, min) + ro * rep(max(theta), each = nrow(y)-1)) / (theta + ro * rep(max(theta), each = nrow(y)-1))#关联度xgd <- apply(nieta, 1, mean)#传到listresult <- list("xgxs" = nieta, 'xgd' = xgd)print(result)}f <- hsyc(y, 0.5)
f$xgxs
f$xgd#测试方程--------------------------------------------
(y <- matrix(c(c(8, 8.8, 16, 18, 24, 32), c(10, 12.12, 19.28, 20.25, 23.4, 30.69)), byrow = TRUE, nrow = 2))
f <- hsyc(y, 0.5)(y <- matrix(c(c(8, 8.8, 16, 18, 24, 32), c(10, 12.12, 19.28, 20.25, 23.4, 30.69), c(6, 6.35, 6.57, 6.98, 8.35, 8.75)), byrow = TRUE, nrow = 3))
f <- hsyc(y, 0.5)
f$xgxs
f$xgd(y <- matrix(c(c(8, 8.8, 16, 18, 24, 32), c(10, 12.12, 19.28, 20.25, 23.4, 30.69), c(6, 6.35, 6.57, 6.98, 8.35, 8.75),c(1, 2, 3, 4, 5, 6),c(4, 5, 6, 7, 8, 9)),byrow = TRUE, nrow = 6))
f <- hsyc(y, 0.5)

第二个是写gmm11函数:这个函数还是有缺陷,以后更新

gmm11 <- function(x) {x1 <- cumsum(x)x0 <- x(b <- matrix(1, ncol = 2, nrow = length(x1)-1))for (i in seq_along(x1)-1) {b[i, 1] <- -(x1[i] + x1[i+1])/2}b(y <- x0[-1])(b_t_b <- t(b) %*% b)(b_t_b_1 <- solve(b_t_b))(b_t_y <- t(b) %*% matrix(y))(alpha_j <- b_t_b_1 %*% b_t_y)#得出预测模型(a <- alpha_j[1])(nu <- alpha_j[2])#第五步 残差检验#1 计算(x_j_1 <- (x0[1] - nu / a) * exp(- a * c(0:(length(x0)-1))) + nu / a)#---#打印公式cat("公式为:\n", "x(k+1) =", x0[1] - alpha_j[2] / alpha_j[1], "* exp(", alpha_j[1] , "* k)", alpha_j[2]/alpha_j[1], "\n")#---#2 累减lj <- function(x) {out <- array(dim = length(x))x_temp <- c(0, x)for(i in seq_along(x)) {out[i] <- x_temp[i+1] - x_temp[i]}as.numeric(out)}(x_j_0 <- lj(x_j_1))#3 计算绝对误差序列和相对误差序列(theta <- round(abs(x_j_0 - x0), 6))#保留小数点后6位(big_theta <- round(theta / x_j_0, 8))#第六步 进行关联度检验(nitheta <- (min(theta) + 0.5 * max(theta)) / (theta + 0.5 *max(theta)))# 2 关联度(r <- mean(nitheta))# 第七步 后验差检验# 1原始序列标准差(s1 <- sd(x0))# 2残差标准差(s2 <- sd(theta))# 3 计算C(c <- s2 / s1)# 4 计算小误差概率#s0没计算出来(ei <- abs(theta - mean(theta)))#第八步 预测值x_next <- (x0[1] - nu / a) * (exp(- a * (length(x0)+1)) - exp(- a * length(x0)))list(a=a, mu=nu, jdwc=theta,# 绝对误差glxs = nitheta, #关联系数r=r, #关联度c = round(c, 6), #ei = ei, #小误差概率x_next = x_next #预测值)
}#-------------------------------------------------------
#测试函数
x0 <- c(26.7, 31.5, 32.8, 34.1, 35.8, 37.5)
x0 <- runif(100)
gmm11(x0)

R语言实现灰色预测模型gm11相关推荐

  1. R语言用灰色模型 GM (1,1)、神经网络预测房价数据和可视化

    全文链接:http://tecdat.cn/?p=31938 以苏州商品房房价为研究对象,帮助客户建立了灰色预测模型 GM (1,1). BP神经网络房价预测模型,利用R语言分别实现了 GM (1,1 ...

  2. 灰色预测模型python_python实现灰色预测模型(GM11)——以预测股票收盘价为例

    [TOC] 程序简介 利用灰色预测GM11模型预测股票收盘价,由于灰色预测模型适合短期预测和小样本,所以程序输入数据为5个,输出为1个,进行动态建模 程序输入:原序列.需要往后预测的个数 程序输出:预 ...

  3. 通过R语言做灰色预测

    通过R语言做灰色预测 GM(1,1)模型的定义 数据的检验与处理 数据的生成 级比检验 GM(1,1)建模 生成累加数据和均值数据 构造矩阵BBB及数据向量YYY,有 计算: 建立模型,求解,并还原数 ...

  4. python灰色预测_python实现灰色预测模型(GM11)——以预测股票收盘价为例

    目录 程序简述 利用灰色预测GM11模型预测股票收盘价,由于灰色预测模型适合短期预测和小样本,所以程序输入数据为5个,输出为1个,进行动态建模 程序输入:原序列.需要往后预测的个数 程序输出:预测值. ...

  5. python财务报表预测股票价格_python实现灰色预测模型(GM11)——以预测股票收盘价为例...

    原博文 2020-02-26 18:56 − [TOC] # 程序简介 利用灰色预测GM11模型预测股票收盘价,由于灰色预测模型适合短期预测和小样本,所以程序输入数据为5个,输出为1个,进行动态建模 ...

  6. R语言怎么比较两个模型C指数,手把手教你用R语言评价临床预测模型,一文就够(附代码)...

    (三)Logistic回归模型评价: 在常用的临床模型构建中,主要分为两种,包括临床预测模型(Cox回归模型)和临床诊断模型(Logstic回归模型).在之前的内容中,阿琛给大家介绍了如何使用Nomo ...

  7. R语言ggplot2可视化分面图(facet_wrap)、使用size参数自定义设置分面图标签栏(灰色标签栏)中的标签文本的字体大小

    R语言ggplot2可视化分面图(facet_wrap).使用size参数自定义设置分面图标签栏(灰色标签栏)中的标签文本的字体大小 目录

  8. R语言ggplot2可视化分面图(facet_grid)、自定义设置分面图标签栏的背景色(默认背景色为灰色)

    R语言ggplot2可视化分面图(facet_grid).自定义设置分面图标签栏的背景色(默认背景色为灰色) 目录

  9. R语言使用caretEnsemble包的caretStack函数把多个机器学习模型融合成一个模型、构建融合(集成)预测模型、使用融合模型进行预测推理

    R语言使用caretEnsemble包的caretStack函数把多个机器学习模型融合成一个模型.构建融合(集成)预测模型.自定义融合模型的trainControl参数.method参数.评估指标参数 ...

最新文章

  1. 超融合服务器虚拟化优缺点,超融合是什么 意思?为什么必须是软硬件一体?...
  2. 什么是防火墙,真正意义上的防火墙
  3. 框架:Spring事务的隔离级别
  4. python怎么打印出文件的内容_Python---进阶---文件操作---按需求打印文件的内容
  5. Dubbo原理与框架设计
  6. java 递归函数_浅谈java递归函数
  7. 海量数据寻找最频繁的数据_在数据中寻找什么
  8. Mybatis高级-resultMap之collection聚集
  9. FirstStep(洛谷P3654题题解,Java语言描述)
  10. Android 系统(115)---死机问题分析
  11. 常用库函数_跑马灯实验和我为什么使用库函数?
  12. 职责链模式在开发中的应用
  13. STM32:GPIO四种输入输出模式。
  14. Matlab中添加LibPLS安装包
  15. arcgis之建模实现矢量图层批量按属性分割导出Kmz文件
  16. PDF文字识别三步搞定,这样的方法你该知道
  17. python抓取网站数据并图形化显示(二)
  18. java BigDecimal
  19. Python:代码覆盖率工具coverage
  20. 需要在计算机安装msxml版本,安装Office2010提示需要MSXML版本6.10.1129.0的解决方法...

热门文章

  1. 福建农林大学计算机科学专硕,2020年福建农林大学计算机与信息学院招收攻读硕士学位研究生第一批调剂复试名单公示...
  2. 我国工业软件行业发展现状及未来发展方向的探究
  3. 赛门铁克、VERITAS中国区高管首谈分拆后公司发展
  4. 赛门铁克爆料:中国产App可DIY勒索软件
  5. Intel Xeon Platinum 8269CY(Cascade Lake)处理器性能评测
  6. Struts的学习方法
  7. proteus中 基于STC89C51的ADC0809模数转换仿真
  8. 【精品,你所不知道的IT高薪】【转贴】清华生7天猎头生活的发现!
  9. android mac软件,Android 开发中我 Mac的软件
  10. 【重磅】全球AI芯片排行榜发布 解读入围的七家中国公司