install.packages("xlsx") install.packages("nnet") library(xlsx) library(nnet) data<-read.xlsx2(file.choose(),1) data plot(df$ÀÏÀÚ,df$ÇöÀçÁö¼ö) grid() data$ÇöÀçÁö¼ö<-gsub(",","",data$ÇöÀçÁö¼ö) data$ÇöÀçÁö¼ö<-as.numeric(data$ÇöÀçÁö¼ö) df<-data.frame(ÀÏÀÚ=data$³â.¿ù.ÀÏ,ÇöÀçÁö¼ö=data$ÇöÀçÁö¼ö) df plot(df$ÀÏÀÚ,df$ÇöÀçÁö¼ö,xlab="ÀÏÀÚ",ylab="Á¾°¡",type="o") getDataSet<-function(item,from,to,size){ dataframe<-NULL to<-to-size+1 for(i in from:to) { start<-i end<-start+size-1 temp<-item[c(start:end)] dataframe<-rbind(dataframe,t(temp)) } return(dataframe) } INPUT_NODES<-10 HIDDEN_NODES<-INPUT_NODES*2 OUTPUT_NODES<-5 ITERATION<-500 in_learning<-getDataSet(df$ÇöÀçÁö¼ö,1,102,INPUT_NODES) in_learning out_learning<-getDataSet(df$ÇöÀçÁö¼ö,11,107,OUTPUT_NODES) out_learning model<-nnet(in_learning,out_learning,size=HIDDEN_NODES,linout = TRUE,rang = 0.1,skip=TRUE,maxit = ITERATION) in_forecasting<-getDataSet(df$ÇöÀçÁö¼ö,98,107,INPUT_NODES) in_forecasting predicted_values<-predict(model,in_forecasting,type="raw") predicted_values real<-getDataSet(df$ÇöÀçÁö¼ö,108,112,OUTPUT_NODES) real ERR<-abs(real-predicted_values) MAPE<-mean(ERR/real)*100 MAPE plot(c(1:5),real, type="o", col="blue") lines(c(1:5),predicted_values, type="o", col="red") ## ¿¹ÃøÇϱâ in_learning<-getDataSet(df$ÇöÀçÁö¼ö,1,107,INPUT_NODES) in_learning out_learning<-getDataSet(df$ÇöÀçÁö¼ö,11,112,OUTPUT_NODES) out_learning model<-nnet(in_learning,out_learning,size=HIDDEN_NODES,linout = TRUE,rang = 0.1,skip=TRUE,maxit = ITERATION) in_forecasting<-getDataSet(df$ÇöÀçÁö¼ö,103,112,INPUT_NODES) in_forecasting predicted_values<-predict(model,in_forecasting,type="raw") predicted_values real<-df$ÇöÀçÁö¼ö[103:112] real plot(1:10,real,xlab="±â°£",ylab="Á¾°¡",xlim=c(0,15),ylim=c(2300,2400),type="o") lines(11:15,predicted_values,type="o",col="red") grid() plot(df$ÀÏÀÚ,df$ÇöÀçÁö¼ö) lines(df$ÀÏÀÚ[113:117],predicted_values,type="o",col="red")