Advertisement
annstasi

lab4ind

Apr 5th, 2022
1,267
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # данные за 2010 год
  2. T<-read.table("data.txt", header=TRUE, sep="\t", dec = ",", encoding = "UTF-8")
  3. T
  4. plot(T$salary, y=T$milk, xlab="средняя зарплата", ylab="цена на молоко")
  5. T<-T[-which(T$milk>50 & T$salary <30000),c(1:3)]
  6. T<-T[-which(T$milk>40 & T$salary <20000),c(1:3)]
  7. # T<-T[-which(T$salary >40000),c(1:3)] при этом корреляция уменьшается
  8. plot(T$salary, y=T$milk, xlab="средняя зарплата", ylab="цена на молоко")
  9. cor(T$milk, T$salary) # Корреляция Пиросона средняя
  10. cor(T$milk, T$salary, method = "spearman") # Спирмена ещё меньше
  11. cor(T$milk, T$salary, method = "kendall") # Кендалла
  12. cor.test(T$milk, T$salary) # Проверить значимость коэффициента корреляции
  13. # p-value < 0,1 значим, средняя зависимость между зарплатами и ценами на молоко
  14. # Построим линейную регрессию
  15. regMS<-lm(formula=T$milk ~T$salary)
  16. summary(regMS)
  17. # Оба коэффициента значимы
  18. format(coef(regMS), digits =5)
  19. # y = 1.7835e+01 + 7.0874e-04*x + eps
  20. # с удалением выбросов y = 1.6569e+01 + 7.6062e-04*x + eps
  21. abline(regMS, col="red")
  22.  
  23. # Анализ остатков
  24. mean(regMS$residuals) # Мат. ожидание = 0
  25. plot(regMS$residuals, main="График остатков", xlab="Номер наблюдения",
  26.      ylab="Остатки")
  27. abline(h=0) # изначально /\/\ , после удаления выбросов зависимость осталась
  28. # но выражена меньше
  29. library("forecast") # подключить библиотеку forecast
  30. accuracy(regMS) # вывод оценок качества регрессии, в том числе MAPE
  31. # MAPE 11.7 %
  32.  
  33. # Из-за зависимости графика остатков регрессию
  34. # нельзя использовать для прогнозирования
  35. # Зависимость линейная
  36.  
  37.  
Advertisement
RAW Paste Data Copied
Advertisement