Celem projektu jest skonstruowanie modelu predykcyjnego przewidującego ceny samochodów z wykorzystaniem dostępnych zmiennych. W tym celu zostanie wykorzystany zbiór danych zawierający informacje na temat konkretnych samochodów.
Projekt został podzieony na 3 etapy: * Zbiór danych * Wykresy * Model * Wynik predykcji * Podsumowanie
W pierwszej kolejności należy
## 'data.frame': 643 obs. of 13 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Price : num 17542 16219 16337 15230 15048 ...
## $ Mileage : int 9135 13196 16342 22576 22964 24021 27325 10237 15066 16633 ...
## $ Make : chr "Buick" "Buick" "Buick" "Buick" ...
## $ Model : chr "Century" "Century" "Century" "Century" ...
## $ Trim : chr "Sedan 4D" "Sedan 4D" "Sedan 4D" "Sedan 4D" ...
## $ Type : chr "Sedan" "Sedan" "Sedan" "Sedan" ...
## $ Cylinder: int 6 6 6 6 6 6 6 6 6 6 ...
## $ Liter : num 3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.6 3.6 3.6 ...
## $ Doors : int 4 4 4 4 4 4 4 4 4 4 ...
## $ Cruise : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Sound : int 1 1 0 1 1 0 1 0 1 1 ...
## $ Leather : int 0 0 0 0 0 1 1 0 0 0 ...
Jak widać w naszym zbiorze danych występuje 13 zmiennych, z czego 7 jest typu int, 4 są typu chr oraz 2 są num. Od razu widać, że pierwsza kolumna X zawiera tylko i wyłącznie numery wiersza, dlatego też jest ona zbędną i nie będzie wykorzystywana w modelu. Reszta zmiennych będzie uwzględniana w teoretycznym modelu ekonometrycznym. Widzimy również, że wszystkie zmienne tekstowe są zmiennymi kategorycznymi dlatego też będziętrzeba zamienić je na tego typu zmienne. Poniżej dodatkowo znajduje się tabela, która zawiera wszystkie zmienne wraz z ich opisem (pogrubiona została zmienna zależna (objaśniana)):
| Zmienna | Opis |
|---|---|
| Price | Cena samochodu w USD |
| Mileage | liczba mil przejechana przez samochód |
| Make | wytwórca samochodu (np. Saturn, Pontiac, Chevrolet) |
| Model | model specyficzny dla każdego wytwórcy (np. Ion, Vibe, Cavalier) |
| Trim | typ modelu samochodu (np. SE Sedan 4D, Quad Coupe 2D) |
| Type | rodzaj nadwozia (np. sedan, coupe, etc.) |
| Cylinder | liczba cylidrów silnika |
| Liter | pojemność silnika |
| Doors | liczba drzwi |
| Cruise | indykator wskazujący czy samochód jest wyposażony w tempomat (1 = tempomat) |
| Sound | indykator wskazujący czy samochód ma ulepszone głośniki (1 = ulepszone) |
| Leather | indykator wskazujący czy samochód ma skórzane siedzenia (1 = skórzane siedzenia) |
train <- subset(train, select = -c(X))
Wszystkie zmienne z wyjątkiem Price, Milage i Liter należy traktować jako zmienne kategoryczne. W tym kroku zostaną wszystkie zamienione na tego typu zmienne.
train$Make <- factor(train$Make)
train$Model <- factor(train$Model)
train$Trim <- factor(train$Trim)
train$Type <- factor(train$Type)
train$Cylinder <- factor(train$Cylinder)
train$Doors <- factor(train$Doors)
train$Cruise <- factor(train$Cruise)
train$Sound <- factor(train$Sound)
train$Leather <- factor(train$Leather)
train <- na.omit(train)
lapply(train, summary)
## $Price
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 8639 14196 18169 21532 27269 69134
##
## $Mileage
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 266 14620 20910 19806 25088 50387
##
## $Make
## Buick Cadillac Chevrolet Pontiac SAAB Saturn
## 61 72 255 115 95 45
##
## $Model
## 9-2X AWD 9_3 9_3 HO 9_5 9_5 HO AVEO
## 2 18 36 20 19 55
## Bonneville Cavalier Century Classic Cobalt Corvette
## 21 51 7 7 37 14
## CST-V CTS Deville G6 Grand Am Grand Prix
## 9 9 28 16 17 22
## GTO Impala Ion L Series Lacrosse Lesabre
## 9 24 38 7 26 13
## Malibu Monte Carlo Park Avenue STS-V6 STS-V8 Sunfire
## 42 25 15 8 10 8
## Vibe XLR-V8
## 22 8
##
## $Trim
## Aero Conv 2D Aero Sedan 4D Aero Wagon 4D Arc Conv 2D
## 10 17 10 9
## Arc Sedan 4D Arc Wagon 4D AWD Sportwagon 4D Conv 2D
## 16 6 9 5
## Coupe 2D Custom Sedan 4D CX Sedan 4D CXL Sedan 4D
## 40 7 9 9
## CXS Sedan 4D DHS Sedan 4D DTS Sedan 4D GT Coupe 2D
## 8 10 9 9
## GT Sedan 4D GT Sportwagon GTP Sedan 4D GXP Sedan 4D
## 17 7 6 6
## Hardtop Conv 2D L300 Sedan 4D Limited Sedan 4D Linear Conv 2D
## 8 7 6 9
## Linear Sedan 4D Linear Wagon 4D LS Coupe 2D LS Hatchback 4D
## 9 9 24 9
## LS MAXX Hback 4D LS Sedan 4D LS Sport Coupe 2D LS Sport Sedan 4D
## 6 41 10 9
## LT Coupe 2D LT Hatchback 4D LT MAXX Hback 4D LT Sedan 4D
## 7 10 7 26
## MAXX Hback 4D Quad Coupe 2D SE Sedan 4D Sedan 4D
## 6 13 17 136
## SLE Sedan 4D Special Ed Ultra 4D Sportwagon 4D SS Coupe 2D
## 6 8 6 9
## SS Sedan 4D SVM Hatchback 4D SVM Sedan 4D
## 8 10 8
##
## $Type
## Convertible Coupe Hatchback Sedan Wagon
## 41 112 48 395 47
##
## $Cylinder
## 4 6 8
## 321 238 84
##
## $Liter
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.600 2.200 2.800 3.021 3.800 6.000
##
## $Doors
## 2 4
## 153 490
##
## $Cruise
## 0 1
## 161 482
##
## $Sound
## 0 1
## 216 427
##
## $Leather
## 0 1
## 180 463
Analiza cen samochodów wykazała, że ceny wahają się od 8639 do 69134. Mediana cen wynosi 18169, a średnia 21532. Przebieg samochodów z kolei zscala się w przedziale 266 do 50387, z medianą 20910 i średnią 19806. Wśród marek samochodów dominują modele Chevrolet, a najczęściej pojawiającym się modelem jest AVEO. Najwięcej samochodów to typ LS Sedan 4D. Typy samochodów to convertible, coupe, hatchback, sedan i wagon, a ilość cylindrów w silniku waha się od 4 do 8, z największą liczbą 4-cylindrowych. Pojemność silników wynosi od 1.6 do 6.0 litrów.
W tym podrozdziale zostaną zaprezentowane wykresy ceny samochodów w zależności od zmiennych objaśniających. Zostaną zaprezentowane różne sposoby wizulaizacji danych, takie jak np. wykres liniowy czy wykres pudełkowy.
W pierwszej kolejności zaprezentowano wykres liniowy przedstawiający zależność pomiędzy przebiegiem samochodu, a jego wyceną. Jak widać na wykresie nie wystęouje żadna znacząca zależność. Widać delikatny ubytek na wartości wraz ze wzrostem przebiegu, co również udowadnia linia regresji liniowej.
ggplot(train, aes(x = Mileage, y = Price)) +
geom_point()+
stat_smooth(method = "lm", se = FALSE)
## `geom_smooth()` using formula = 'y ~ x'
Marka samochodu jak się okazało ma również znaczący wpływ na jego cenę. Według naszych danych, najwyższą średnią cenę mają samochody produkowane przez marki Cadillac i SAAB. Z kolei najniższą ceną charakteryzują się samochody producenta Saturn. W przypadku marki Chevrolet warto zauważyć, że chociaż średnio jest ona wyceniana niżej, to posiada ona kilka samochodów, których ceny znacząco odbiegają od średniej.
ggplot(train, aes(x = Make, y = Price)) +
geom_boxplot()
Wykres ze względu na to, że posiada wiele zmiennych na osi x jest mało czytelny. Możemy natomiast z niego wywnioskować, że cena samochodu rzeczywiście różni się w zależności od modelu samochodu. Najwyższą ceną charakteryzują się model samochodu: R-V8.
ggplot(train, aes(x = Model, y = Price)) +
geom_boxplot()
Tak samo jak w przypadku zmiennej Model wykres jest mało czytelny. Możemy natomiast z niego wywnioskować, że cena samochodu rzeczywiście różni się w zależności typu samochodu.
ggplot(train, aes(x = Trim, y = Price)) +
geom_boxplot()
Przeciętnie najwyższą ceną charakteryzują się samochodu typu Convertible, a więc tak zwane kabriolety. Drugi jest według kolejności jest typ Wagon, następnie Sedan i Coupe. Średnio najniższą cene mają auta typu Hatchback.
ggplot(train, aes(x = Type, y = Price)) +
geom_boxplot()
Jak widać czym większa liczba cylindrów tym cena samochodu jest większa.
ggplot(train, aes(x = Cylinder, y = Price, group = Cylinder)) +
geom_boxplot()
Następnie zostanie przedstawiony proces tworzenia modelu dla naszych zmiennych. W pierwszej kolejności zostanie opracowany model liniowy:
model_1<-lm(Price~.,data = train)
summary(model_1)
##
## Call:
## lm(formula = Price ~ ., data = train)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4944.3 -469.0 23.8 486.9 3921.6
##
## Coefficients: (21 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.628e+04 5.620e+02 46.765 < 2e-16 ***
## Mileage -1.820e-01 4.475e-03 -40.678 < 2e-16 ***
## MakeCadillac 3.976e+04 6.238e+02 63.737 < 2e-16 ***
## MakeChevrolet -6.548e+03 5.282e+02 -12.396 < 2e-16 ***
## MakePontiac -7.997e+03 6.509e+02 -12.285 < 2e-16 ***
## MakeSAAB 4.763e+03 1.021e+03 4.664 3.88e-06 ***
## MakeSaturn -6.893e+03 6.303e+02 -10.935 < 2e-16 ***
## Model9_3 -1.789e+03 9.156e+02 -1.954 0.051242 .
## Model9_3 HO 4.354e+03 8.239e+02 5.285 1.79e-07 ***
## Model9_5 5.454e+03 7.060e+02 7.726 5.05e-14 ***
## Model9_5 HO 6.122e+03 9.265e+02 6.607 9.00e-11 ***
## ModelAVEO -6.642e+03 4.608e+02 -14.413 < 2e-16 ***
## ModelBonneville 5.511e+03 5.080e+02 10.848 < 2e-16 ***
## ModelCavalier -4.549e+03 3.904e+02 -11.652 < 2e-16 ***
## ModelCentury -7.337e+03 4.648e+02 -15.787 < 2e-16 ***
## ModelClassic -3.196e+03 5.360e+02 -5.962 4.37e-09 ***
## ModelCobalt -3.693e+03 4.028e+02 -9.168 < 2e-16 ***
## ModelCorvette 1.951e+04 5.283e+02 36.936 < 2e-16 ***
## ModelCST-V -1.774e+04 6.029e+02 -29.417 < 2e-16 ***
## ModelCTS -3.319e+04 5.999e+02 -55.326 < 2e-16 ***
## ModelDeville -3.013e+04 6.029e+02 -49.969 < 2e-16 ***
## ModelG6 4.161e+03 6.276e+02 6.630 7.79e-11 ***
## ModelGrand Am -4.605e+02 6.596e+02 -0.698 0.485315
## ModelGrand Prix 1.648e+03 6.258e+02 2.633 0.008706 **
## ModelGTO 1.378e+04 6.632e+02 20.774 < 2e-16 ***
## ModelImpala 9.673e+02 4.543e+02 2.129 0.033644 *
## ModelIon -3.096e+03 5.692e+02 -5.439 7.95e-08 ***
## ModelL Series NA NA NA NA
## ModelLacrosse -3.660e+02 6.197e+02 -0.591 0.555045
## ModelLesabre -1.873e+03 6.462e+02 -2.899 0.003891 **
## ModelMalibu -7.924e+02 4.487e+02 -1.766 0.077910 .
## ModelMonte Carlo NA NA NA NA
## ModelPark Avenue NA NA NA NA
## ModelSTS-V6 -2.546e+04 6.109e+02 -41.672 < 2e-16 ***
## ModelSTS-V8 -2.023e+04 5.954e+02 -33.980 < 2e-16 ***
## ModelSunfire -2.665e+03 6.664e+02 -3.999 7.20e-05 ***
## ModelVibe NA NA NA NA
## ModelXLR-V8 NA NA NA NA
## TrimAero Sedan 4D -6.339e+03 4.127e+02 -15.361 < 2e-16 ***
## TrimAero Wagon 4D -4.692e+03 5.749e+02 -8.162 2.13e-15 ***
## TrimArc Conv 2D 3.662e+03 3.993e+02 9.171 < 2e-16 ***
## TrimArc Sedan 4D -3.617e+03 4.032e+02 -8.971 < 2e-16 ***
## TrimArc Wagon 4D -2.536e+03 6.299e+02 -4.026 6.43e-05 ***
## TrimAWD Sportwagon 4D 1.516e+03 4.605e+02 3.293 0.001054 **
## TrimConv 2D 4.728e+03 6.747e+02 7.006 6.94e-12 ***
## TrimCoupe 2D 2.358e+02 4.682e+02 0.504 0.614688
## TrimCustom Sedan 4D -2.548e+03 4.849e+02 -5.255 2.10e-07 ***
## TrimCX Sedan 4D -2.704e+03 4.232e+02 -6.389 3.47e-10 ***
## TrimCXL Sedan 4D -1.328e+03 4.239e+02 -3.132 0.001824 **
## TrimCXS Sedan 4D NA NA NA NA
## TrimDHS Sedan 4D 4.856e+03 5.833e+02 8.326 6.25e-16 ***
## TrimDTS Sedan 4D 5.263e+03 5.906e+02 8.911 < 2e-16 ***
## TrimGT Coupe 2D 4.613e+02 6.242e+02 0.739 0.460154
## TrimGT Sedan 4D 8.108e+02 5.290e+02 1.533 0.125893
## TrimGT Sportwagon 1.368e+03 4.857e+02 2.817 0.005014 **
## TrimGTP Sedan 4D 3.693e+03 6.173e+02 5.982 3.91e-09 ***
## TrimGXP Sedan 4D 2.544e+03 5.030e+02 5.058 5.73e-07 ***
## TrimHardtop Conv 2D NA NA NA NA
## TrimL300 Sedan 4D NA NA NA NA
## TrimLimited Sedan 4D NA NA NA NA
## TrimLinear Conv 2D 6.939e+03 4.104e+02 16.909 < 2e-16 ***
## TrimLinear Sedan 4D NA NA NA NA
## TrimLinear Wagon 4D -3.668e+03 6.150e+02 -5.965 4.31e-09 ***
## TrimLS Coupe 2D 8.298e+02 4.664e+02 1.779 0.075728 .
## TrimLS Hatchback 4D 1.595e+03 4.235e+02 3.765 0.000184 ***
## TrimLS MAXX Hback 4D 1.314e+03 5.504e+02 2.387 0.017290 *
## TrimLS Sedan 4D 1.269e+03 3.890e+02 3.262 0.001174 **
## TrimLS Sport Coupe 2D 6.449e+02 5.113e+02 1.261 0.207739
## TrimLS Sport Sedan 4D 1.397e+03 5.190e+02 2.692 0.007301 **
## TrimLT Coupe 2D 4.154e+03 6.413e+02 6.477 2.02e-10 ***
## TrimLT Hatchback 4D 1.785e+03 4.210e+02 4.240 2.60e-05 ***
## TrimLT MAXX Hback 4D 1.673e+03 5.327e+02 3.142 0.001767 **
## TrimLT Sedan 4D 1.336e+03 3.881e+02 3.441 0.000621 ***
## TrimMAXX Hback 4D 9.535e+02 5.516e+02 1.729 0.084411 .
## TrimQuad Coupe 2D 1.689e+03 5.192e+02 3.254 0.001205 **
## TrimSE Sedan 4D -1.293e+03 4.591e+02 -2.815 0.005042 **
## TrimSedan 4D 5.537e+01 4.263e+02 0.130 0.896704
## TrimSLE Sedan 4D NA NA NA NA
## TrimSpecial Ed Ultra 4D 1.811e+03 6.193e+02 2.924 0.003598 **
## TrimSportwagon 4D NA NA NA NA
## TrimSS Coupe 2D 5.389e+03 6.243e+02 8.633 < 2e-16 ***
## TrimSS Sedan 4D 6.447e+03 5.445e+02 11.841 < 2e-16 ***
## TrimSVM Hatchback 4D -4.862e+02 4.147e+02 -1.172 0.241519
## TrimSVM Sedan 4D NA NA NA NA
## TypeCoupe NA NA NA NA
## TypeHatchback NA NA NA NA
## TypeSedan NA NA NA NA
## TypeWagon NA NA NA NA
## Cylinder6 NA NA NA NA
## Cylinder8 NA NA NA NA
## Liter NA NA NA NA
## Doors4 NA NA NA NA
## Cruise1 3.472e+01 1.100e+02 0.316 0.752380
## Sound1 2.756e+02 8.730e+01 3.157 0.001676 **
## Leather1 2.983e+02 1.015e+02 2.938 0.003442 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 868.9 on 569 degrees of freedom
## Multiple R-squared: 0.9934, Adjusted R-squared: 0.9926
## F-statistic: 1173 on 73 and 569 DF, p-value: < 2.2e-16
Podsumowanie powyższego modelu zawiera wiele nieistotnych zmiennych, w celu się ich pozbycia wykorzystam funkcję stepAIC, która z modelu po kolei wyrzuca najmniej znaczące zmienne tak długo aż wszystkie będą istotne.
stepAIC(model_1,direction = "both")
## Start: AIC=8772.09
## Price ~ Mileage + Make + Model + Trim + Type + Cylinder + Liter +
## Doors + Cruise + Sound + Leather
##
##
## Step: AIC=8772.09
## Price ~ Mileage + Make + Model + Trim + Type + Cylinder + Liter +
## Cruise + Sound + Leather
##
##
## Step: AIC=8772.09
## Price ~ Mileage + Make + Model + Trim + Type + Cylinder + Cruise +
## Sound + Leather
##
##
## Step: AIC=8772.09
## Price ~ Mileage + Make + Model + Trim + Type + Cruise + Sound +
## Leather
##
##
## Step: AIC=8772.09
## Price ~ Mileage + Make + Model + Trim + Cruise + Sound + Leather
##
##
## Step: AIC=8772.09
## Price ~ Mileage + Model + Trim + Cruise + Sound + Leather
##
## Df Sum of Sq RSS AIC
## - Cruise 1 7.5231e+04 4.2970e+08 8770.2
## <none> 4.2962e+08 8772.1
## - Leather 1 6.5154e+06 4.3614e+08 8779.8
## - Sound 1 7.5271e+06 4.3715e+08 8781.3
## - Mileage 1 1.2494e+09 1.6790e+09 9646.5
## - Trim 38 1.5004e+09 1.9301e+09 9662.1
## - Model 23 1.8828e+10 1.9258e+10 11171.3
##
## Step: AIC=8770.2
## Price ~ Mileage + Model + Trim + Sound + Leather
##
## Df Sum of Sq RSS AIC
## <none> 4.2970e+08 8770.2
## + Cruise 1 7.5231e+04 4.2962e+08 8772.1
## - Leather 1 6.4924e+06 4.3619e+08 8777.8
## - Sound 1 7.6081e+06 4.3731e+08 8779.5
## - Mileage 1 1.2496e+09 1.6793e+09 9644.6
## - Trim 38 1.5004e+09 1.9301e+09 9660.2
## - Model 23 2.1377e+10 2.1807e+10 11249.2
##
## Call:
## lm(formula = Price ~ Mileage + Model + Trim + Sound + Leather,
## data = train)
##
## Coefficients:
## (Intercept) Mileage Model9_3
## 31077.495 -0.182 -1788.024
## Model9_3 HO Model9_5 Model9_5 HO
## 4354.943 5455.190 6122.092
## ModelAVEO ModelBonneville ModelCavalier
## -17973.697 -7247.880 -15870.681
## ModelCentury ModelClassic ModelCobalt
## -12094.447 -14515.998 -15016.310
## ModelCorvette ModelCST-V ModelCTS
## 8209.439 17267.360 1813.744
## ModelDeville ModelG6 ModelGrand Am
## 4874.577 -8592.860 -13241.380
## ModelGrand Prix ModelGTO ModelImpala
## -11106.347 1024.394 -10336.625
## ModelIon ModelL Series ModelLacrosse
## -14769.343 -11654.965 -5128.452
## ModelLesabre ModelMalibu ModelMonte Carlo
## -6636.299 -12115.380 -11308.264
## ModelPark Avenue ModelSTS-V6 ModelSTS-V8
## -4757.416 9546.597 14769.778
## ModelSunfire ModelVibe ModelXLR-V8
## -15436.728 -12782.203 34997.080
## TrimAero Sedan 4D TrimAero Wagon 4D TrimArc Conv 2D
## -6338.756 -4691.664 3662.017
## TrimArc Sedan 4D TrimArc Wagon 4D TrimAWD Sportwagon 4D
## -3617.604 -2536.768 1519.956
## TrimConv 2D TrimCoupe 2D TrimCustom Sedan 4D
## 4722.170 230.660 -2548.119
## TrimCX Sedan 4D TrimCXL Sedan 4D TrimCXS Sedan 4D
## -2704.587 -1327.572 NA
## TrimDHS Sedan 4D TrimDTS Sedan 4D TrimGT Coupe 2D
## 4851.459 5258.100 459.461
## TrimGT Sedan 4D TrimGT Sportwagon TrimGTP Sedan 4D
## 805.404 1366.621 3687.285
## TrimGXP Sedan 4D TrimHardtop Conv 2D TrimL300 Sedan 4D
## 2544.783 NA NA
## TrimLimited Sedan 4D TrimLinear Conv 2D TrimLinear Sedan 4D
## NA 6938.564 NA
## TrimLinear Wagon 4D TrimLS Coupe 2D TrimLS Hatchback 4D
## -3668.838 828.002 1589.721
## TrimLS MAXX Hback 4D TrimLS Sedan 4D TrimLS Sport Coupe 2D
## 1297.804 1261.632 645.938
## TrimLS Sport Sedan 4D TrimLT Coupe 2D TrimLT Hatchback 4D
## 1393.322 4152.241 1785.536
## TrimLT MAXX Hback 4D TrimLT Sedan 4D TrimMAXX Hback 4D
## 1661.263 1331.426 937.061
## TrimQuad Coupe 2D TrimSE Sedan 4D TrimSedan 4D
## 1686.265 -1292.965 50.039
## TrimSLE Sedan 4D TrimSpecial Ed Ultra 4D TrimSportwagon 4D
## NA 1805.535 NA
## TrimSS Coupe 2D TrimSS Sedan 4D TrimSVM Hatchback 4D
## 5387.214 6440.968 -478.572
## TrimSVM Sedan 4D Sound1 Leather1
## NA 276.840 297.688
Model końcowy przedstawia się następująco:
model_2<-lm(Price ~ Mileage + Model + Trim + Sound + Leather,data = train)
summary(model_2)
##
## Call:
## lm(formula = Price ~ Mileage + Model + Trim + Sound + Leather,
## data = train)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4943.1 -472.9 25.9 487.2 3921.4
##
## Coefficients: (8 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.108e+04 8.757e+02 35.488 < 2e-16 ***
## Mileage -1.820e-01 4.471e-03 -40.714 < 2e-16 ***
## Model9_3 -1.788e+03 9.148e+02 -1.954 0.051134 .
## Model9_3 HO 4.355e+03 8.232e+02 5.290 1.75e-07 ***
## Model9_5 5.455e+03 7.054e+02 7.734 4.77e-14 ***
## Model9_5 HO 6.122e+03 9.258e+02 6.613 8.67e-11 ***
## ModelAVEO -1.797e+04 9.207e+02 -19.522 < 2e-16 ***
## ModelBonneville -7.248e+03 9.379e+02 -7.728 4.95e-14 ***
## ModelCavalier -1.587e+04 9.688e+02 -16.382 < 2e-16 ***
## ModelCentury -1.209e+04 1.021e+03 -11.849 < 2e-16 ***
## ModelClassic -1.452e+04 1.021e+03 -14.222 < 2e-16 ***
## ModelCobalt -1.502e+04 9.603e+02 -15.637 < 2e-16 ***
## ModelCorvette 8.209e+03 1.030e+03 7.973 8.48e-15 ***
## ModelCST-V 1.727e+04 1.011e+03 17.085 < 2e-16 ***
## ModelCTS 1.814e+03 1.009e+03 1.798 0.072783 .
## ModelDeville 4.875e+03 1.011e+03 4.823 1.82e-06 ***
## ModelG6 -8.593e+03 1.007e+03 -8.530 < 2e-16 ***
## ModelGrand Am -1.324e+04 1.030e+03 -12.852 < 2e-16 ***
## ModelGrand Prix -1.111e+04 1.006e+03 -11.043 < 2e-16 ***
## ModelGTO 1.024e+03 1.029e+03 0.996 0.319706
## ModelImpala -1.034e+04 9.768e+02 -10.582 < 2e-16 ***
## ModelIon -1.477e+04 9.830e+02 -15.025 < 2e-16 ***
## ModelL Series -1.165e+04 9.290e+02 -12.546 < 2e-16 ***
## ModelLacrosse -5.128e+03 9.201e+02 -5.574 3.84e-08 ***
## ModelLesabre -6.636e+03 9.370e+02 -7.082 4.19e-12 ***
## ModelMalibu -1.212e+04 9.631e+02 -12.580 < 2e-16 ***
## ModelMonte Carlo -1.131e+04 1.028e+03 -11.001 < 2e-16 ***
## ModelPark Avenue -4.757e+03 1.020e+03 -4.662 3.89e-06 ***
## ModelSTS-V6 9.547e+03 1.016e+03 9.401 < 2e-16 ***
## ModelSTS-V8 1.477e+04 1.006e+03 14.678 < 2e-16 ***
## ModelSunfire -1.544e+04 1.033e+03 -14.947 < 2e-16 ***
## ModelVibe -1.278e+04 9.381e+02 -13.626 < 2e-16 ***
## ModelXLR-V8 3.500e+04 9.212e+02 37.992 < 2e-16 ***
## TrimAero Sedan 4D -6.339e+03 4.123e+02 -15.373 < 2e-16 ***
## TrimAero Wagon 4D -4.692e+03 5.744e+02 -8.167 2.04e-15 ***
## TrimArc Conv 2D 3.662e+03 3.990e+02 9.178 < 2e-16 ***
## TrimArc Sedan 4D -3.618e+03 4.028e+02 -8.980 < 2e-16 ***
## TrimArc Wagon 4D -2.537e+03 6.294e+02 -4.031 6.32e-05 ***
## TrimAWD Sportwagon 4D 1.520e+03 4.600e+02 3.305 0.001011 **
## TrimConv 2D 4.722e+03 6.740e+02 7.006 6.93e-12 ***
## TrimCoupe 2D 2.307e+02 4.676e+02 0.493 0.621970
## TrimCustom Sedan 4D -2.548e+03 4.845e+02 -5.259 2.05e-07 ***
## TrimCX Sedan 4D -2.705e+03 4.229e+02 -6.395 3.34e-10 ***
## TrimCXL Sedan 4D -1.328e+03 4.236e+02 -3.134 0.001812 **
## TrimCXS Sedan 4D NA NA NA NA
## TrimDHS Sedan 4D 4.851e+03 5.826e+02 8.327 6.18e-16 ***
## TrimDTS Sedan 4D 5.258e+03 5.899e+02 8.913 < 2e-16 ***
## TrimGT Coupe 2D 4.595e+02 6.237e+02 0.737 0.461591
## TrimGT Sedan 4D 8.054e+02 5.283e+02 1.525 0.127936
## TrimGT Sportwagon 1.367e+03 4.853e+02 2.816 0.005031 **
## TrimGTP Sedan 4D 3.687e+03 6.166e+02 5.980 3.94e-09 ***
## TrimGXP Sedan 4D 2.545e+03 5.026e+02 5.063 5.59e-07 ***
## TrimHardtop Conv 2D NA NA NA NA
## TrimL300 Sedan 4D NA NA NA NA
## TrimLimited Sedan 4D NA NA NA NA
## TrimLinear Conv 2D 6.939e+03 4.100e+02 16.922 < 2e-16 ***
## TrimLinear Sedan 4D NA NA NA NA
## TrimLinear Wagon 4D -3.669e+03 6.145e+02 -5.970 4.17e-09 ***
## TrimLS Coupe 2D 8.280e+02 4.660e+02 1.777 0.076124 .
## TrimLS Hatchback 4D 1.590e+03 4.229e+02 3.759 0.000188 ***
## TrimLS MAXX Hback 4D 1.298e+03 5.476e+02 2.370 0.018113 *
## TrimLS Sedan 4D 1.262e+03 3.880e+02 3.251 0.001216 **
## TrimLS Sport Coupe 2D 6.459e+02 5.109e+02 1.264 0.206652
## TrimLS Sport Sedan 4D 1.393e+03 5.184e+02 2.688 0.007403 **
## TrimLT Coupe 2D 4.152e+03 6.408e+02 6.480 1.99e-10 ***
## TrimLT Hatchback 4D 1.786e+03 4.206e+02 4.245 2.55e-05 ***
## TrimLT MAXX Hback 4D 1.661e+03 5.308e+02 3.129 0.001841 **
## TrimLT Sedan 4D 1.331e+03 3.876e+02 3.435 0.000636 ***
## TrimMAXX Hback 4D 9.371e+02 5.487e+02 1.708 0.088205 .
## TrimQuad Coupe 2D 1.686e+03 5.187e+02 3.251 0.001217 **
## TrimSE Sedan 4D -1.293e+03 4.587e+02 -2.818 0.004993 **
## TrimSedan 4D 5.004e+01 4.256e+02 0.118 0.906458
## TrimSLE Sedan 4D NA NA NA NA
## TrimSpecial Ed Ultra 4D 1.806e+03 6.186e+02 2.919 0.003655 **
## TrimSportwagon 4D NA NA NA NA
## TrimSS Coupe 2D 5.387e+03 6.238e+02 8.637 < 2e-16 ***
## TrimSS Sedan 4D 6.441e+03 5.437e+02 11.846 < 2e-16 ***
## TrimSVM Hatchback 4D -4.786e+02 4.137e+02 -1.157 0.247788
## TrimSVM Sedan 4D NA NA NA NA
## Sound1 2.768e+02 8.714e+01 3.177 0.001569 **
## Leather1 2.977e+02 1.014e+02 2.935 0.003473 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 868.2 on 570 degrees of freedom
## Multiple R-squared: 0.9934, Adjusted R-squared: 0.9926
## F-statistic: 1191 on 72 and 570 DF, p-value: < 2.2e-16
Jak widać w modelu tym wszystkie zmienne niezależne spełniają warunek istotności. Dodatkowo współczynnik R-kwadrat jest na bardzo wysokim poziomie 0.9934, co świadczy o bardzo dobrym dopasowaniu modelu. Kolejnym krokiem jest przeds
plot(model_2)
Wykres residualsktóry jest różnicą między wartościami prognozowanymi przez model, a rzeczywistymi wartościami. Ten wykres pokazuje, jak bardzo wartości prognozowane są zbieżne z rzeczywistymi wartościami. Idealnie, punkty na wykresie powinny być wokół zera i powinny być rozproszone w sposób jednostajny. W naszym przypadku występują punkty, które mają duże odchylenia od zera, może to oznaczać, że model nie jest dobrze dopasowany do danych.
Wykres Q-Q (Quantile-Quantile) pokazuje, czy rozkład residuali jest normalny. Punkty powinny być wokół linii prostej, co oznacza, że rozkład jest bliski normalnemu. Również w tym przypadku można zauważyć, że prosta ta jest zdeformowana przez niektóre wartości, co może świadczyć, że nasze reszty nie posiadają rozkładu normlanego.
Wykres Scale-Location pokazuje, czy wariancje reszt są jednakowe w całym zakresie danych. Również ten wykres jest w pewnym stopniu zdeformowany.
Widać, że wszystkie zmienne niezależne w naszym modelu są istotne statystycznie i nasz model jest dobrze dopasowany do danych (wysoka wartość R^2). Wykresy diagnostyczne z kolei wskazywały niespełnienie założeń modelu o normalności rozkładu reszt i stałość wariancji reszt. Dlatego też w kolejnym kroku zostanie zbadany model logarytmiczny.
Aby uzyskać bardziej dokładne i precyzyjne prognozy, zostanie stworzony model logarytmiczny. Ten typ modelu pozwala na lepsze odzwierciedlenie zależności między zmiennymi i zapewnia bardziej zrównoważone prognozy. Poprzez zastosowanie modelu logarytmicznego, będziemy w stanie lepiej zrozumieć nasze dane i uzyskać bardziej wartościowe prognozy.
model_log1 <- lm(log(Price)~., train)
summary(model_log1)
##
## Call:
## lm(formula = log(Price) ~ ., data = train)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.083634 -0.014629 0.000639 0.015543 0.100022
##
## Coefficients: (21 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.012e+01 1.640e-02 616.885 < 2e-16 ***
## Mileage -8.157e-06 1.306e-07 -62.446 < 2e-16 ***
## MakeCadillac 1.054e+00 1.821e-02 57.911 < 2e-16 ***
## MakeChevrolet -3.324e-01 1.542e-02 -21.559 < 2e-16 ***
## MakePontiac -3.354e-01 1.900e-02 -17.655 < 2e-16 ***
## MakeSAAB 2.436e-01 2.981e-02 8.171 2.00e-15 ***
## MakeSaturn -2.867e-01 1.840e-02 -15.584 < 2e-16 ***
## Model9_3 -5.144e-02 2.672e-02 -1.925 0.054769 .
## Model9_3 HO 1.619e-01 2.405e-02 6.734 4.04e-11 ***
## Model9_5 2.076e-01 2.061e-02 10.076 < 2e-16 ***
## Model9_5 HO 2.303e-01 2.704e-02 8.514 < 2e-16 ***
## ModelAVEO -4.643e-01 1.345e-02 -34.513 < 2e-16 ***
## ModelBonneville 2.886e-01 1.483e-02 19.460 < 2e-16 ***
## ModelCavalier -3.072e-01 1.139e-02 -26.961 < 2e-16 ***
## ModelCentury -3.804e-01 1.357e-02 -28.042 < 2e-16 ***
## ModelClassic -1.947e-01 1.565e-02 -12.442 < 2e-16 ***
## ModelCobalt -2.288e-01 1.176e-02 -19.460 < 2e-16 ***
## ModelCorvette 7.859e-01 1.542e-02 50.961 < 2e-16 ***
## ModelCST-V -3.959e-01 1.760e-02 -22.494 < 2e-16 ***
## ModelCTS -8.118e-01 1.751e-02 -46.362 < 2e-16 ***
## ModelDeville -7.126e-01 1.760e-02 -40.491 < 2e-16 ***
## ModelG6 1.581e-01 1.832e-02 8.632 < 2e-16 ***
## ModelGrand Am -3.848e-02 1.925e-02 -1.999 0.046112 *
## ModelGrand Prix 1.173e-02 1.827e-02 0.642 0.520915
## ModelGTO 5.780e-01 1.936e-02 29.858 < 2e-16 ***
## ModelImpala 4.887e-02 1.326e-02 3.686 0.000250 ***
## ModelIon -2.898e-01 1.662e-02 -17.441 < 2e-16 ***
## ModelL Series NA NA NA NA
## ModelLacrosse 5.325e-02 1.809e-02 2.944 0.003374 **
## ModelLesabre -1.730e-02 1.886e-02 -0.917 0.359521
## ModelMalibu -4.449e-02 1.310e-02 -3.397 0.000728 ***
## ModelMonte Carlo NA NA NA NA
## ModelPark Avenue NA NA NA NA
## ModelSTS-V6 -5.882e-01 1.783e-02 -32.987 < 2e-16 ***
## ModelSTS-V8 -4.526e-01 1.738e-02 -26.041 < 2e-16 ***
## ModelSunfire -2.570e-01 1.945e-02 -13.210 < 2e-16 ***
## ModelVibe NA NA NA NA
## ModelXLR-V8 NA NA NA NA
## TrimAero Sedan 4D -2.259e-01 1.204e-02 -18.752 < 2e-16 ***
## TrimAero Wagon 4D -1.642e-01 1.678e-02 -9.785 < 2e-16 ***
## TrimArc Conv 2D 1.095e-01 1.166e-02 9.395 < 2e-16 ***
## TrimArc Sedan 4D -1.254e-01 1.177e-02 -10.660 < 2e-16 ***
## TrimArc Wagon 4D -9.465e-02 1.839e-02 -5.148 3.63e-07 ***
## TrimAWD Sportwagon 4D 6.336e-02 1.344e-02 4.714 3.06e-06 ***
## TrimConv 2D 1.829e-01 1.970e-02 9.289 < 2e-16 ***
## TrimCoupe 2D 5.902e-02 1.367e-02 4.318 1.86e-05 ***
## TrimCustom Sedan 4D -1.257e-01 1.415e-02 -8.878 < 2e-16 ***
## TrimCX Sedan 4D -1.289e-01 1.235e-02 -10.434 < 2e-16 ***
## TrimCXL Sedan 4D -6.099e-02 1.237e-02 -4.929 1.08e-06 ***
## TrimCXS Sedan 4D NA NA NA NA
## TrimDHS Sedan 4D 2.133e-01 1.703e-02 12.528 < 2e-16 ***
## TrimDTS Sedan 4D 2.312e-01 1.724e-02 13.408 < 2e-16 ***
## TrimGT Coupe 2D 3.813e-02 1.822e-02 2.093 0.036810 *
## TrimGT Sedan 4D 1.039e-01 1.544e-02 6.730 4.16e-11 ***
## TrimGT Sportwagon 5.276e-02 1.418e-02 3.721 0.000218 ***
## TrimGTP Sedan 4D 2.696e-01 1.802e-02 14.962 < 2e-16 ***
## TrimGXP Sedan 4D 1.152e-01 1.468e-02 7.845 2.16e-14 ***
## TrimHardtop Conv 2D NA NA NA NA
## TrimL300 Sedan 4D NA NA NA NA
## TrimLimited Sedan 4D NA NA NA NA
## TrimLinear Conv 2D 2.385e-01 1.198e-02 19.908 < 2e-16 ***
## TrimLinear Sedan 4D NA NA NA NA
## TrimLinear Wagon 4D -1.318e-01 1.795e-02 -7.342 7.30e-13 ***
## TrimLS Coupe 2D 1.144e-01 1.361e-02 8.405 3.43e-16 ***
## TrimLS Hatchback 4D 1.502e-01 1.236e-02 12.150 < 2e-16 ***
## TrimLS MAXX Hback 4D 1.543e-01 1.607e-02 9.601 < 2e-16 ***
## TrimLS Sedan 4D 1.443e-01 1.135e-02 12.707 < 2e-16 ***
## TrimLS Sport Coupe 2D 1.342e-01 1.493e-02 8.993 < 2e-16 ***
## TrimLS Sport Sedan 4D 1.746e-01 1.515e-02 11.524 < 2e-16 ***
## TrimLT Coupe 2D 2.890e-01 1.872e-02 15.439 < 2e-16 ***
## TrimLT Hatchback 4D 1.647e-01 1.229e-02 13.407 < 2e-16 ***
## TrimLT MAXX Hback 4D 1.740e-01 1.555e-02 11.194 < 2e-16 ***
## TrimLT Sedan 4D 1.486e-01 1.133e-02 13.120 < 2e-16 ***
## TrimMAXX Hback 4D 1.420e-01 1.610e-02 8.819 < 2e-16 ***
## TrimQuad Coupe 2D 1.845e-01 1.515e-02 12.173 < 2e-16 ***
## TrimSE Sedan 4D -6.398e-02 1.340e-02 -4.774 2.30e-06 ***
## TrimSedan 4D 7.113e-02 1.244e-02 5.716 1.76e-08 ***
## TrimSLE Sedan 4D NA NA NA NA
## TrimSpecial Ed Ultra 4D 1.434e-01 1.808e-02 7.933 1.14e-14 ***
## TrimSportwagon 4D NA NA NA NA
## TrimSS Coupe 2D 3.503e-01 1.822e-02 19.224 < 2e-16 ***
## TrimSS Sedan 4D 3.872e-01 1.589e-02 24.359 < 2e-16 ***
## TrimSVM Hatchback 4D 1.260e-02 1.210e-02 1.041 0.298439
## TrimSVM Sedan 4D NA NA NA NA
## TypeCoupe NA NA NA NA
## TypeHatchback NA NA NA NA
## TypeSedan NA NA NA NA
## TypeWagon NA NA NA NA
## Cylinder6 NA NA NA NA
## Cylinder8 NA NA NA NA
## Liter NA NA NA NA
## Doors4 NA NA NA NA
## Cruise1 3.094e-03 3.211e-03 0.963 0.335716
## Sound1 8.680e-03 2.548e-03 3.406 0.000705 ***
## Leather1 1.643e-02 2.964e-03 5.544 4.53e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02536 on 569 degrees of freedom
## Multiple R-squared: 0.9968, Adjusted R-squared: 0.9963
## F-statistic: 2396 on 73 and 569 DF, p-value: < 2.2e-16
Tak jak przy modelu liniowym podsumowanie to zawiera wiele nieistotnych zmiennych, w celu się ich pozbycia wykorzystam również funkcję stepAIC.
stepAIC(model_log1,direction = "both")
## Start: AIC=-4655.96
## log(Price) ~ Mileage + Make + Model + Trim + Type + Cylinder +
## Liter + Doors + Cruise + Sound + Leather
##
##
## Step: AIC=-4655.96
## log(Price) ~ Mileage + Make + Model + Trim + Type + Cylinder +
## Liter + Cruise + Sound + Leather
##
##
## Step: AIC=-4655.96
## log(Price) ~ Mileage + Make + Model + Trim + Type + Cylinder +
## Cruise + Sound + Leather
##
##
## Step: AIC=-4655.96
## log(Price) ~ Mileage + Make + Model + Trim + Type + Cruise +
## Sound + Leather
##
##
## Step: AIC=-4655.96
## log(Price) ~ Mileage + Make + Model + Trim + Cruise + Sound +
## Leather
##
##
## Step: AIC=-4655.96
## log(Price) ~ Mileage + Model + Trim + Cruise + Sound + Leather
##
## Df Sum of Sq RSS AIC
## - Cruise 1 0.001 0.367 -4656.9
## <none> 0.366 -4656.0
## - Sound 1 0.007 0.374 -4645.0
## - Leather 1 0.020 0.386 -4624.1
## - Trim 38 2.720 3.086 -3361.1
## - Mileage 1 2.509 2.875 -3332.8
## - Model 23 33.065 33.431 -1799.1
##
## Step: AIC=-4656.91
## log(Price) ~ Mileage + Model + Trim + Sound + Leather
##
## Df Sum of Sq RSS AIC
## <none> 0.367 -4656.9
## + Cruise 1 0.001 0.366 -4656.0
## - Sound 1 0.008 0.374 -4645.6
## - Leather 1 0.020 0.386 -4625.3
## - Trim 38 2.720 3.087 -3363.0
## - Mileage 1 2.509 2.876 -3334.5
## - Model 23 38.926 39.293 -1697.2
##
## Call:
## lm(formula = log(Price) ~ Mileage + Model + Trim + Sound + Leather,
## data = train)
##
## Coefficients:
## (Intercept) Mileage Model9_3
## 1.037e+01 -8.158e-06 -5.138e-02
## Model9_3 HO Model9_5 Model9_5 HO
## 1.620e-01 2.077e-01 2.303e-01
## ModelAVEO ModelBonneville ModelCavalier
## -1.042e+00 -2.904e-01 -8.842e-01
## ModelCentury ModelClassic ModelCobalt
## -6.235e-01 -7.715e-01 -8.059e-01
## ModelCorvette ModelCST-V ModelCTS
## 2.104e-01 4.156e-01 -3.969e-04
## ModelDeville ModelG6 ModelGrand Am
## 9.883e-02 -4.204e-01 -6.194e-01
## ModelGrand Prix ModelGTO ModelImpala
## -5.668e-01 -4.883e-04 -5.265e-01
## ModelIon ModelL Series ModelLacrosse
## -8.216e-01 -5.302e-01 -1.903e-01
## ModelLesabre ModelMalibu ModelMonte Carlo
## -2.609e-01 -6.216e-01 -5.758e-01
## ModelPark Avenue ModelSTS-V6 ModelSTS-V8
## -2.431e-01 2.232e-01 3.588e-01
## ModelSunfire ModelVibe ModelXLR-V8
## -8.371e-01 -5.810e-01 8.109e-01
## TrimAero Sedan 4D TrimAero Wagon 4D TrimArc Conv 2D
## -2.259e-01 -1.642e-01 1.095e-01
## TrimArc Sedan 4D TrimArc Wagon 4D TrimAWD Sportwagon 4D
## -1.255e-01 -9.471e-02 6.369e-02
## TrimConv 2D TrimCoupe 2D TrimCustom Sedan 4D
## 1.825e-01 5.856e-02 -1.256e-01
## TrimCX Sedan 4D TrimCXL Sedan 4D TrimCXS Sedan 4D
## -1.289e-01 -6.098e-02 NA
## TrimDHS Sedan 4D TrimDTS Sedan 4D TrimGT Coupe 2D
## 2.129e-01 2.307e-01 3.796e-02
## TrimGT Sedan 4D TrimGT Sportwagon TrimGTP Sedan 4D
## 1.034e-01 5.260e-02 2.691e-01
## TrimGXP Sedan 4D TrimHardtop Conv 2D TrimL300 Sedan 4D
## 1.152e-01 NA NA
## TrimLimited Sedan 4D TrimLinear Conv 2D TrimLinear Sedan 4D
## NA 2.384e-01 NA
## TrimLinear Wagon 4D TrimLS Coupe 2D TrimLS Hatchback 4D
## -1.318e-01 1.143e-01 1.498e-01
## TrimLS MAXX Hback 4D TrimLS Sedan 4D TrimLS Sport Coupe 2D
## 1.528e-01 1.436e-01 1.343e-01
## TrimLS Sport Sedan 4D TrimLT Coupe 2D TrimLT Hatchback 4D
## 1.742e-01 2.889e-01 1.648e-01
## TrimLT MAXX Hback 4D TrimLT Sedan 4D TrimMAXX Hback 4D
## 1.730e-01 1.483e-01 1.405e-01
## TrimQuad Coupe 2D TrimSE Sedan 4D TrimSedan 4D
## 1.842e-01 -6.402e-02 7.066e-02
## TrimSLE Sedan 4D TrimSpecial Ed Ultra 4D TrimSportwagon 4D
## NA 1.429e-01 NA
## TrimSS Coupe 2D TrimSS Sedan 4D TrimSVM Hatchback 4D
## 3.501e-01 3.866e-01 1.328e-02
## TrimSVM Sedan 4D Sound1 Leather1
## NA 8.787e-03 1.638e-02
Poniżej przedstawiam model końcowy, po wyłączeniu zmiennych niezależnych
model_log2 <- lm(log(Price) ~ Mileage + Model + Trim + Sound + Leather, train)
summary(model_log2)
##
## Call:
## lm(formula = log(Price) ~ Mileage + Model + Trim + Sound + Leather,
## data = train)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.084595 -0.014629 0.000718 0.015453 0.099095
##
## Coefficients: (8 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.037e+01 2.558e-02 405.215 < 2e-16 ***
## Mileage -8.158e-06 1.306e-07 -62.459 < 2e-16 ***
## Model9_3 -5.138e-02 2.672e-02 -1.923 0.055001 .
## Model9_3 HO 1.620e-01 2.405e-02 6.737 3.97e-11 ***
## Model9_5 2.077e-01 2.060e-02 10.082 < 2e-16 ***
## Model9_5 HO 2.303e-01 2.704e-02 8.516 < 2e-16 ***
## ModelAVEO -1.042e+00 2.689e-02 -38.748 < 2e-16 ***
## ModelBonneville -2.904e-01 2.740e-02 -10.600 < 2e-16 ***
## ModelCavalier -8.842e-01 2.830e-02 -31.244 < 2e-16 ***
## ModelCentury -6.235e-01 2.982e-02 -20.912 < 2e-16 ***
## ModelClassic -7.715e-01 2.981e-02 -25.877 < 2e-16 ***
## ModelCobalt -8.059e-01 2.805e-02 -28.731 < 2e-16 ***
## ModelCorvette 2.104e-01 3.007e-02 6.997 7.35e-12 ***
## ModelCST-V 4.156e-01 2.952e-02 14.077 < 2e-16 ***
## ModelCTS -3.969e-04 2.947e-02 -0.013 0.989260
## ModelDeville 9.883e-02 2.952e-02 3.348 0.000869 ***
## ModelG6 -4.204e-01 2.942e-02 -14.287 < 2e-16 ***
## ModelGrand Am -6.194e-01 3.009e-02 -20.581 < 2e-16 ***
## ModelGrand Prix -5.668e-01 2.938e-02 -19.293 < 2e-16 ***
## ModelGTO -4.883e-04 3.005e-02 -0.016 0.987039
## ModelImpala -5.265e-01 2.853e-02 -18.453 < 2e-16 ***
## ModelIon -8.216e-01 2.871e-02 -28.615 < 2e-16 ***
## ModelL Series -5.302e-01 2.714e-02 -19.541 < 2e-16 ***
## ModelLacrosse -1.903e-01 2.688e-02 -7.081 4.24e-12 ***
## ModelLesabre -2.609e-01 2.737e-02 -9.531 < 2e-16 ***
## ModelMalibu -6.216e-01 2.813e-02 -22.095 < 2e-16 ***
## ModelMonte Carlo -5.758e-01 3.003e-02 -19.176 < 2e-16 ***
## ModelPark Avenue -2.431e-01 2.980e-02 -8.156 2.22e-15 ***
## ModelSTS-V6 2.232e-01 2.966e-02 7.525 2.06e-13 ***
## ModelSTS-V8 3.588e-01 2.939e-02 12.208 < 2e-16 ***
## ModelSunfire -8.371e-01 3.017e-02 -27.747 < 2e-16 ***
## ModelVibe -5.810e-01 2.740e-02 -21.203 < 2e-16 ***
## ModelXLR-V8 8.109e-01 2.691e-02 30.137 < 2e-16 ***
## TrimAero Sedan 4D -2.259e-01 1.204e-02 -18.753 < 2e-16 ***
## TrimAero Wagon 4D -1.642e-01 1.678e-02 -9.783 < 2e-16 ***
## TrimArc Conv 2D 1.095e-01 1.165e-02 9.396 < 2e-16 ***
## TrimArc Sedan 4D -1.255e-01 1.177e-02 -10.666 < 2e-16 ***
## TrimArc Wagon 4D -9.471e-02 1.838e-02 -5.152 3.57e-07 ***
## TrimAWD Sportwagon 4D 6.369e-02 1.344e-02 4.741 2.69e-06 ***
## TrimConv 2D 1.825e-01 1.969e-02 9.268 < 2e-16 ***
## TrimCoupe 2D 5.856e-02 1.366e-02 4.287 2.12e-05 ***
## TrimCustom Sedan 4D -1.256e-01 1.415e-02 -8.877 < 2e-16 ***
## TrimCX Sedan 4D -1.289e-01 1.235e-02 -10.437 < 2e-16 ***
## TrimCXL Sedan 4D -6.098e-02 1.237e-02 -4.928 1.09e-06 ***
## TrimCXS Sedan 4D NA NA NA NA
## TrimDHS Sedan 4D 2.129e-01 1.702e-02 12.507 < 2e-16 ***
## TrimDTS Sedan 4D 2.307e-01 1.723e-02 13.388 < 2e-16 ***
## TrimGT Coupe 2D 3.796e-02 1.822e-02 2.084 0.037613 *
## TrimGT Sedan 4D 1.034e-01 1.543e-02 6.702 4.94e-11 ***
## TrimGT Sportwagon 5.260e-02 1.418e-02 3.711 0.000227 ***
## TrimGTP Sedan 4D 2.691e-01 1.801e-02 14.942 < 2e-16 ***
## TrimGXP Sedan 4D 1.152e-01 1.468e-02 7.848 2.11e-14 ***
## TrimHardtop Conv 2D NA NA NA NA
## TrimL300 Sedan 4D NA NA NA NA
## TrimLimited Sedan 4D NA NA NA NA
## TrimLinear Conv 2D 2.384e-01 1.198e-02 19.908 < 2e-16 ***
## TrimLinear Sedan 4D NA NA NA NA
## TrimLinear Wagon 4D -1.318e-01 1.795e-02 -7.345 7.14e-13 ***
## TrimLS Coupe 2D 1.143e-01 1.361e-02 8.394 3.72e-16 ***
## TrimLS Hatchback 4D 1.498e-01 1.235e-02 12.123 < 2e-16 ***
## TrimLS MAXX Hback 4D 1.528e-01 1.599e-02 9.553 < 2e-16 ***
## TrimLS Sedan 4D 1.436e-01 1.133e-02 12.673 < 2e-16 ***
## TrimLS Sport Coupe 2D 1.343e-01 1.492e-02 9.000 < 2e-16 ***
## TrimLS Sport Sedan 4D 1.742e-01 1.514e-02 11.505 < 2e-16 ***
## TrimLT Coupe 2D 2.889e-01 1.872e-02 15.432 < 2e-16 ***
## TrimLT Hatchback 4D 1.648e-01 1.229e-02 13.411 < 2e-16 ***
## TrimLT MAXX Hback 4D 1.730e-01 1.551e-02 11.154 < 2e-16 ***
## TrimLT Sedan 4D 1.483e-01 1.132e-02 13.095 < 2e-16 ***
## TrimMAXX Hback 4D 1.405e-01 1.603e-02 8.768 < 2e-16 ***
## TrimQuad Coupe 2D 1.842e-01 1.515e-02 12.158 < 2e-16 ***
## TrimSE Sedan 4D -6.402e-02 1.340e-02 -4.778 2.26e-06 ***
## TrimSedan 4D 7.066e-02 1.243e-02 5.683 2.11e-08 ***
## TrimSLE Sedan 4D NA NA NA NA
## TrimSpecial Ed Ultra 4D 1.429e-01 1.807e-02 7.911 1.34e-14 ***
## TrimSportwagon 4D NA NA NA NA
## TrimSS Coupe 2D 3.501e-01 1.822e-02 19.216 < 2e-16 ***
## TrimSS Sedan 4D 3.866e-01 1.588e-02 24.342 < 2e-16 ***
## TrimSVM Hatchback 4D 1.328e-02 1.208e-02 1.099 0.272347
## TrimSVM Sedan 4D NA NA NA NA
## Sound1 8.787e-03 2.545e-03 3.452 0.000597 ***
## Leather1 1.638e-02 2.963e-03 5.528 4.94e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02536 on 570 degrees of freedom
## Multiple R-squared: 0.9968, Adjusted R-squared: 0.9963
## F-statistic: 2429 on 72 and 570 DF, p-value: < 2.2e-16
Jak widać w modelu tym wszystkie zmienne niezależne spełniają warunek istotności. Dodatkowo współczynnik R-kwadrat jest na bardzo wysokim poziomie 0.9934 i jest wyższy niż w przypadku modelu liniowego.
plot(model_log2)
Jak widać również na podsstawie wykresów diagnostycznych, nasze dane dla modelu logarytmicznego są lepiej dopasowane niż w przypadku liniowego. Nie występuje aż tyle wartości odstających, co może świadczyć o spełnieniu przez nasz model przyjętych założeń. Ostatecznie do predykcji zostanie wykorzystane model logarytmiczny, który był najlepiej dopasowany do naszych danych:
model <- model_log1
Jeden z plików, które należy oddać powinien zawierać końcowy model
wraz z funkcją testującą o nazwie test.function. Funkcja ta
powinna przyjmować jako argument model testowany model, a
jako argument df ramkę danych o takiej samej strukturze jak
dane treningowe i zwracać kolumnę predykcji.
UWAGA jeżeli model przyjmuje dane w postaci przekształconej (np. zostają przekształcone pewne zmienne: np. logartym, to należy uwzględnić to w funkcji testującej).
Proszę rozważyć poniższy przykład
test.function <- function(df, model) {
# Here we can put necessary transformations of the data
exp(predict(model, newdata = df))
}
save(model, test.function, file = 'Hinc.Rdata')
calculate.error <- function(name, data) {
error <- FALSE
content <- load(name)
if(length(content) >= 2) {
model.to.test <- eval(as.name(content[1]))
function.to.test <- eval(as.name(content[2]))
} else {
return("MISSING")
}
tryCatch(suppressWarnings(predictions <- function.to.test(model = model.to.test,
df = data)),
error = function(cond) {
print(cond)
error <- TRUE},
warning = function(cond) print(cond))
if(error){
return("ERROR")
}
rmse(data$Price, predictions)
}
calculate.error('Hinc.Rdata', train)
## [1] 457.0186
Podsumowując, celem projektu było skonstruowanie modelu predykcyjnego przewidującego ceny samochodów z wykorzystaniem dostępnych zmiennych. Model został zbudowany w oparciu o funkcję regresji liniowej. Wynikiem był model predykcyjny, który umożliwiał przewidywanie ceny samochodu na podstawie innych cech samochodu.Ostatecznie do predykcji został wykorzystany model logarytmiczny, dla którego wartość RMSE wyniosła: 457.0186