GM(1,n)的R语言代码,有会编的给一个!!

Python016

GM(1,n)的R语言代码,有会编的给一个!!,第1张

#灰色预测模型GM(1,1)

#用法:

#假设数列1 2 3 4 5.5 6 7.5 为已知数据,你要预测后面3项,gm11([1 2 3 4 5.5 6 7.5],10) # 10=7+3

# 序列输入格式为:x<-c(1,2,3,4,5.5,6,7.5)

gm11<-function(x,k)

{

#x为行向量数据

#做一次累加

n<-length(x)

x1<-numeric(n)

for(i in 1:n)

{

x1[i]<-sum(x[1:i])

}

#x1的均值数列

z1<-numeric(n)

m<-n-1

for(j in 1:m)

{

z1[j+1]<-(0.5*x1[j+1]+0.5*x1[j])

}

Yn=t(t(x[2:n]))

B<-matrix(1,nrow=n-1,ncol=2)

B[,1]<-t(t(-z1[2:n]))

#solve(M)求M的逆

#最小二乘法求解参数列

u<-solve(t(B)%*%B)%*%t(B)%*%Yn

a<-u[1]

b<-u[2]

#预测

x2<-numeric(k)

x2[1]<-x[1]

for(i in 1:k-1)

{

x2[1+i]=(x[1]-b/a)*exp(-a*i)+b/a

}

x2=c(0,x2)

#还原数据

y=diff(x2)

y

}

#调用函数

x<-c(1,2,3,4,5.5,6,7.5)

gm11(x,10)

这种预测的方法很多,给你一个相当容易的灰色预测代码吧。

y=input('输入数据’)

n=length(y)

yy=ones(n,1)

yy(1)=y(1)

for i=2:n

yy(i)=yy(i-1)+y(i)

end

B=ones(n-1,2)

for =1:(n-1)

B(i,1)=-(yy(i)+yy(i+1))/2

B(i,2)=1

end

BT=B'

for j=1:(n-1)

YN(j)=y(j+1)

end

YN=YN'

A=inv(BT*B)*BT*YN

a=A(1)

u=A(2)

t=u/a

t_test=input('输入要预测的个数')

i=1:t_test+n

yys(i+1)=(y(1)--t).*exp(--a.*i)+t

yys(1)=y(1)

for j=n+t_test:-1:2

ys(j)=yys(j)--yys(j-1)

end

x=1:n

xs=2:n+t_test

yn=ys(2:n+t_test)

plot(x,y,'^r',xs,yn,'*-b')

det=0

for i=2:n

det=det+abs(yn(i)--y(i))

end

det=det/(n-1)

disp(['百分绝对误差为:',num2str(det),'%'])

disp(['预测值为:'num2'str(ys(n+1:n+t_test))])

总体上来讲,数据分析挖掘体系可分为 数据预处理、分析挖掘、数据探索、数据展现和分析工具 。

数据预处理

数据预处理包含 数据清洗、数据集成、数据变换和数据规约 几种方法。

而数据清洗包括缺失值处理和异常值处理;

数据集成包括同名同义、异名同义、单位不统一的实体识别和冗余性识别。数据变化包括函数变换、规范化、连续属性离散化、属性沟通和小波变换。数据规约包括属性规约和数值规约。

分析挖掘

分析挖掘的内容就多了。包括假设检验、方差分析、回归分析、主成分分析、因子分析、典型相关分析、对应分析、多维尺度分析、信度分析、生存分析、分类预测、聚类分析、关联规则、时间序列分析和著名的灰色理论。后几个应用较多。

分类预测的方法包括决策树、神经网络、支持向量机(SVM)、Logistic回归、判别分析和贝叶斯网络。

聚类分析包括K-Means聚类、kohonen网络聚类、两步聚类和层次聚类。

关联规则的算法有Apriori算法、GRI算法和Carma算法。

时间序列分析包括:简单回归分析法。

趋势外推法、指数平滑法、自回归法、ARIMA模型、季节调整法。

灰色理论可分为灰色关联和灰色预测。

数据探索

数据探索主要分为两大类,数据质量分析和数据特征分析。

数据质量分析包括缺失值分析、异常值分析和一致性分析。

数据特征分析包括分布分析、对比分析、统计量分析、周期性分析、贡献度分析和相关性分析。

分析工具

常用的分析工具有Excel、clementine、Eviews、R语言、Matlab、Stata、SAS、Tableau、报表工具FineReport、商业智能FineBI

数据展现

在数据展现方面要做的内容可分为图表制作和数据分析报告的撰写,这两方面之前都写过详细的

文章图表制作可以用柱形图、条形图、折线图、饼图、面积图、雷达图、散点图等等。展现的方式可以是单图,组合图,多图搭配的dashboard或者深入分析的联动钻取等。

整理的思维导图如下(建议收藏):