Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 2.82 KB | None | 0 0
  1. predkosc <- c(61,225,110,51,114,68,24,24,133,83,83,92,93,37,111,172,142,105,143,77,154,108,98,164,124,97,90,87,137,71,73,74,62,88,100,101,126,113,49)
  2. droga <- c(58,149,90,55,91,69,31,35,109,77,78,82,86,44,89,121,106,98,116,65,111,88,86,122,104,85,72,80,105,74,71,66,73,72,72,90,91,98,59);
  3. #Tu są wektory danych wejściowych
  4. auta <- data.frame(predkosc, droga)
  5.  
  6.  
  7. avgPredkosc<-sum(predkosc)/length(predkosc);
  8. avgDroga<-sum(droga)/length(droga);
  9. #Tu liczymy średnie wartości, nie chciało mi się szukać legitnej funkcji wiec dzielę sumę przez ilość
  10.  
  11. plot(auta$predkosc,y=auta$droga);
  12. #Rysujemy wykres
  13.  
  14. points(avgPredkosc,avgDroga,pch="x");
  15. #Dodajemy punkt od średnich danych, jest on oznaczony jako x a nie jako kółko
  16.  
  17. scatter.smooth(x=auta$predkosc, y=auta$droga, main="Droga / Predkosc");
  18. #To robi taką linię trendu, nie wiem jak po polskiemu
  19. points(avgPredkosc,avgDroga,pch="x");
  20.  
  21. modelReg<- lm(droga ~ predkosc, data=auta);
  22. #Tu robimy model regresji liniowej
  23. print(modelReg)
  24. #droga=Intercept+(β∗predkosc)
  25. #β=predkosc wyliczona z regresji
  26.  
  27. summary(modelReg);
  28. #Tu nam wychodzi że p-value jest znacznie mniejsze od 0,05 więc dobry
  29. #model regresji (jest statystycznie znaczący)
  30.  
  31. AIC(modelReg);
  32. BIC(modelReg);
  33.  
  34.  
  35.  
  36.  
  37. #Tu robimy 3 modele:
  38. set.seed(100)  #Ziarno do losowania
  39. daneTreningoweIndex1 <- sample(1:nrow(auta), 0.8*nrow(auta))  #Liczba wierszy do trenowania
  40. daneTreningoweIndex2 <- sample(1:nrow(auta), 0.8*nrow(auta))
  41. daneTreningoweIndex3 <- sample(1:nrow(auta), 0.8*nrow(auta))  
  42.  
  43. daneTreningowe1 <- auta[daneTreningoweIndex1, ]  #dane do trenowania
  44. daneTreningowe2 <- auta[daneTreningoweIndex2, ]  
  45. daneTreningowe3 <- auta[daneTreningoweIndex3, ]  
  46.  
  47. daneTestowe1  <- auta[-daneTreningoweIndex1, ]   #dane testowe
  48. daneTestowe2  <- auta[-daneTreningoweIndex2, ]
  49. daneTestowe3  <- auta[-daneTreningoweIndex3, ]
  50.  
  51. Model1 <- lm(droga ~ predkosc, data=daneTreningowe1) #tworzymy model
  52. Model2 <- lm(droga ~ predkosc, data=daneTreningowe2)
  53. Model3 <- lm(droga ~ predkosc, data=daneTreningowe3)
  54.  
  55. szacowanaDroga1 <- predict(Model1, daneTestowe1) #Oszacuj droge
  56. szacowanaDroga2 <- predict(Model2, daneTestowe2)
  57. szacowanaDroga3 <- predict(Model3, daneTestowe3)
  58.  
  59.  
  60.  
  61. summary (Model1)    #Podsumowanie
  62. summary (Model2)
  63. summary (Model3)
  64.  
  65. wlasciwe1 <- data.frame(cbind(wlasciwe=daneTestowe1$droga, przewidywane=szacowanaDroga1))   #Wyliczamy czy model prawdziwy
  66. wlasciwe2 <- data.frame(cbind(wlasciwe=daneTestowe2$droga, przewidywane=szacowanaDroga2))
  67. wlasciwe3 <- data.frame(cbind(wlasciwe=daneTestowe3$droga, przewidywane=szacowanaDroga3))
  68.  
  69. trafnosc1 <- cor(wlasciwe1)  #Zapisujemy
  70. trafnosc2 <- cor(wlasciwe2)  
  71. trafnosc3 <- cor(wlasciwe3)
  72.  
  73. head(wlasciwe1);
  74. head(wlasciwe2);
  75. head(wlasciwe3);
  76.  
  77. print(trafnosc1);  #wypisujemy poprawnosc modelu
  78. print(trafnosc2);
  79. print(trafnosc3);
  80.  
  81.  
  82.  
  83. #plot(Model1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement