Advertisement
annstasi

Untitled

May 12th, 2022 (edited)
108
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. setwd("D:/e6/ ")
  2. # Прочитать данные из файла в таблицу M
  3. M<-read.csv2("Milk09-12.csv", header=FALSE, sep=";", dec = ",", col.names =
  4. c("Month","Price1","Price2"))
  5. # Построить график временного ряда для Price1
  6. plot(M$Price1, main="Цена на молоко", ylab="цена, руб.", xlab="месяц, номер", type="o")
  7. # Временной ряд имеет линейную возрастающую тенденцию.
  8. plot(M$Price1, main="Цена на молоко", ylab="цена, руб.", xlab="месяц, номер", type="o")
  9. x<-seq(from=1, to=length(M$Price1))
  10. reg1<-lm(M$Price1~x)
  11. abline(reg1)
  12. # Построить график временного ряда для Price2
  13. plot(M$Price2, main="Цена на молоко", ylab="цена, руб.", xlab="месяц, номер", type="o")
  14. # Временной ряд имеет возрастающую нелинейную тенденцию.
  15. plot(M$Price2, main="Цена на молоко", ylab="цена, руб.", xlab="месяц, номер", type="o")
  16. reg2<-lm(M$Price2~x)
  17. abline(reg2)
  18. # Построить уравнение нелинейного тренда временного ряда.
  19. plot(M$Price2, main="Цена на молоко", ylab="цена, руб.", xlab="месяц, номер", type="o")
  20. reg2<-nls(M$Price2~p3 + p2*x + p1*(x)^2, data=M, start=list(p1=1, p2=1, p3=1))
  21. P<-coef(reg2)
  22. curve(P[1] *x*x + P[2]*x + P[3], add=TRUE, col="blue")
  23. plot(reg2$m$resid(),main="График остатков", xlab="Наблюдение", ylab="Остатки")
  24. abline(h=0, col="red")
  25. summary(reg2)
  26. # Y = 0.0264933 * x^2 - 0.4940429 * x + 20.2514416 + eps
  27. sum(abs(M$Price2 - (coef(reg2)[1]*x*x+coef(reg2)[2]*x+coef(reg2)[3]))/M$Price2)/length(M$Price2)*100 # рассчитать MAPE
  28.  
Advertisement
RAW Paste Data Copied
Advertisement