通过R代码实现统计预测与决策方法应用案例
统计预测与决策是统计学中重要的一门课,而在当下,用R来实现该学科的各种方法也变得重要了。以下是几个简单的方法:##一次移动平均法ama<-function(data,n){
if(n<1){return(FALSE)
}else{
forc=rep(NA,length(data)+1)
for(i in n:length(data)+1){
a=i-n;b=i-1;
forc<-mean(data);
}
}
return(forc)
}##一次指数平滑法es<-function(data,a){
forc=rep(NA,length(data)+1)
forc=data
for(i in 2:length(data)+1){
forc=a*data+(1-a)*forc
}
return(forc)
}
x=c(97,95,95,92,95,95,98,97,99,95,95,96,97,98,94,95)
es(x,0.1)
es(x,0.3)
es(x,0.9)##线性二次移动平均法ltma<-function(data,n,T){
s1=rep(NA,length(data))
s2=rep(NA,length(data))
a=rep(NA,length(data))
b=rep(NA,length(data)+T)
proc=rep(NA,length(data))
for(i in n:length(data)){
j=i-n+1;
s1=mean(data)
}
for(p in (2*n-1):length(data)){
q=p-n+1
s2=mean(s1)
}
a=2*s1-s2 ;
b=2*(s1-s2)/(n-1) ;
for(m in (2*n-1):(length(data)+T-1)){
proc=a+b*T;
}
return(proc)
}
x<-c(125,135,195,197.5,186,175,155,190,220,219,226,198,260,245)
ltma(x,3,1)##评价指标MSE平均误差平方mse<-function(x,y){
e=NA;
e=x-y
mse=mean(e^2,na.rm=TRUE)
return(mse)
}
x=c(3,10,10)
y=c(NA,20,20)
mse(x,y) 感觉没有充分发挥R语言向量语言的特征! deideal 发表于 2014-3-27 22:43
感觉没有充分发挥R语言向量语言的特征!
楼主刚刚开始学习R,不太很懂。请问如果要进一步优化的话,该怎么做呢?
非常感谢分享 线性二次移动平均法 中传入的n 和T代表什么 谢谢分享,希望有帮助 谢谢分享,希望有帮助 非常感谢分享
页:
[1]