R语言#灰色预测模型

#灰色预测模型GM(1,1)
#数据使用文献数据:基于灰色模型的中国职业性耳鼻喉口腔疾病发病预测研究
#已知2011-2018年全国职业性耳鼻喉口腔疾病发病人数,使用GM(1,1)模型预测发病数
x0<-c(532,639,716,880,1097,1276,1608,1528)#原始发病数
#目前R语言中暂无灰色模型,需手工实现R语言的灰色模型函数
#第一步:建模可行性分析,级比检验
exp(-2/(8+1));exp(2/(8+1))#级比区间(0.80,1.25)
len=length(x0)
a<-as.numeric()#循环前需建立一个目标a空值
for (i in 2:len){
  a[i]<-x0[i-1] / x0[i]
  a}
a#序列所有级比落入(0.80,1.25)区间内,可进行建模

#第二步:GM(1,1)建模
gm<-function(x0,t){    #x0为输入序列,t为预测个数
  x1<-cumsum(x0) #(1)累加生成序列1-AGO序列(累加生成序列)
  b<-numeric(length (x0)-1)#length(x0)计算x0的长度,numeric(x0)生成指定长度的0向量,这里生成比x0长度少1的0向量,记作b
  n<-length(x0)-1    ## n 为length(x0)-1长度,因为需要生成MEAN(紧邻均值)序列,其长度少1
  for(i in 1:n){    #(2)循环语句i从1到n循环,生成x1的紧邻均值序列
    b[i]<--(x1[i] + x1[i+1])/2
    b}#得序列b,即为x1的紧邻

灰色预测模型是一种基于灰色理论的预测方法,其原理是根据系统的发展趋势和特征进行数据处理和分析,从而得出未来的预测结果。R语言是一种开源的编程语言,拥有丰富的数据分析和预测函数库,可以用于实现灰色预测模型。 要编写灰色预测模型的R语言代码,可以按照以下步骤进行: 1. 数据预处理:首先,要将原始数据进行处理,包括去除异常值、平滑数据等。R语言提供了许多函数用于数据处理,如去除异常值的函数(如outliers()),平滑数据的函数(如smooth())等。 2. 数据建模:接下来,根据处理后的数据,建立灰色预测模型。常用的灰色预测模型包括GM(1,1)模型、GM(2,1)模型等。以GM(1,1)模型为例,可以使用R语言中的灰色包forecast来进行建模。使用gm()函数进行GM(1,1)模型建模。 3. 模型评估与优化:完成模型建立后,需要对模型进行评估,包括计算预测精度、预测误差等指标,并对模型进行优化。R语言提供了各种评估模型和优化模型的函数,如accuracy()函数用于计算预测精度,optim()函数用于模型优化。 4. 模型预测与结果展示:最后,使用建立好的模型进行预测,并将预测结果进行展示。R语言提供了预测函数,如predict()函数来进行模型预测,并提供了绘图函数,如plot()函数来展示预测结果。 综上所述,想要编写灰色预测模型的R语言代码,主要涉及数据预处理、模型建立、模型评估与优化、模型预测与结果展示等步骤。R语言提供了丰富的函数和库来实现这些步骤,通过逐步完成这些步骤,可以编写出完整的灰色预测模型的R语言代码
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值