Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- setwd("/home/natalya/Документы/R/Labs/1")
- #Считывание данных
- milk <-read.table("milk.csv", header=T, sep = "")
- names(milk)
- #Строим график входного ряда
- plot(milk$milk, type = "l")
- milk.2 = log(milk$milk)
- pred.n <- 11
- n.obs <- length(milk.2)
- plot(1:n.obs, milk.2, type = "l")
- #Создание и заполнение матрицы данных отрезками ряда с добавлением времени (i - месяц)
- size <- 168
- g.2 <- matrix(rep(0, (size - 12)*14), nrow = size - 12, ncol = 14)
- for (i in 1:(size - 12))
- {
- g.2[[i,1]] <- milk.2[i]
- g.2[[i,2]] <- milk.2[i+1]
- g.2[[i,3]] <- milk.2[i+2]
- g.2[[i,4]] <- milk.2[i + 3]
- g.2[[i,5]] <- milk.2[i+4]
- g.2[[i,6]] <- milk.2[i+5]
- g.2[[i,7]] <- milk.2[i+6]
- g.2[[i,8]] <- milk.2[i+7]
- g.2[[i,9]] <- milk.2[i+8]
- g.2[[i,10]] <- milk.2[i+9]
- g.2[[i,11]] <- milk.2[i+10]
- g.2[[i,12]] <- milk.2[i+11]
- g.2[[i,13]] <- i
- }
- i.seed <- 2
- library(nnet)
- set.seed(12345+i.seed)
- g.net <- nnet(g.2[, 1:1], g.2[, 1], size = 6,
- linout = TRUE, rang=0.1, decay=0.001, maxit = 1000)
- plot(1:size, milk.2, type = "l")
- lines(13:size, g.net$fitted.values, col = "red")
- g.forecast <- g.2[nrow(g.2), -1]
- pred.1 <- rep(-9999, pred.n)
- for (i in 1:pred.n)
- {
- pred.1[i] <- predict(g.net, g.forecast, type = "raw")
- g.forecast <- c( g.forecast[-1], pred.1[i])
- }
- plot(1:size, exp(milk.2), type = "l", xlim = c(0, size+pred.n), ylim = c(500, 1000))
- lines(1:(size-12), exp(g.net$fitted.values), col = "red")
- lines((size-10):(size), exp(pred.1), col = "blue")
- exp(pred.1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement