Projekt z przedmiotu Analiza danych
Model predykcji cen domów jednorodzinnych sprzedanych na Miami.
Wprowadzenie
Raport został stworzony na podstawie danych pobranych ze strony Kaggle.com, jest to strona tworzona przez społeczność zajmująca się danymi i zagadnieniami z nimi związanymi takimi jak modelowanie. Strona ta pozwala na publikacje jak i pobieranie najróżniejszych zestawów danych takich jak niniejszy zbiór danych z cenami domów jednorodzinnych sprzedanych na Miami wraz z innymi zmiennymi, które zostały odnotowane.
(https://www.kaggle.com/deepcontractor/miami-housing-dataset)
Pytanie badawcze
Jakie czynniki wpływaja na ceny domów jednorodzinnych w Miami oraz oszacowanie modelu, który będzie z jak największą dokładnością na podstawie zmiennych wchodzących do modelu przewidywał ceny tych domów.
Opis Danych
# funkcja str pokazuje jakie kolumny sa w data frame oraz jakiego typu wartosci sie w nich znajduja
str((plik))
## 'data.frame': 13932 obs. of 17 variables:
## $ LATITUDE : num 25.9 25.9 25.9 25.9 25.9 ...
## $ LONGITUDE : num -80.2 -80.2 -80.2 -80.2 -80.2 ...
## $ PARCELNO : num 622280070620 622280100460 622280100470 622280100530 622280100200 ...
## $ SALE_PRC : num 440000 349000 800000 988000 755000 630000 1020000 850000 250000 1220000 ...
## $ LND_SQFOOT : int 9375 9375 9375 12450 12800 9900 10387 10272 9375 13803 ...
## $ TOT_LVG_AREA : int 1753 1715 2276 2058 1684 1531 1753 1663 1493 3077 ...
## $ SPEC_FEAT_VAL : int 0 0 49206 10033 16681 2978 23116 34933 11668 34580 ...
## $ RAIL_DIST : num 2816 4359 4413 4585 4063 ...
## $ OCEAN_DIST : num 12811 10648 10574 10156 10837 ...
## $ WATER_DIST : num 348 338 297 0 327 ...
## $ CNTR_DIST : num 42815 43505 43530 43798 43600 ...
## $ SUBCNTR_DI : num 37742 37341 37329 37423 37551 ...
## $ HWY_DIST : num 15955 18125 18201 18514 17903 ...
## $ age : int 67 63 61 63 42 41 63 21 56 63 ...
## $ avno60plus : int 0 0 0 0 0 0 0 0 0 0 ...
## $ month_sold : int 8 9 2 9 7 2 2 9 3 11 ...
## $ structure_quality: int 4 4 4 4 4 4 5 4 4 5 ...
Zbiór danych zawiera 13,932 obserwacji oraz 17 zmiennych:
- LATITUDE - szerokość geograficzna,
- LONGITUDE - długość geograficzna,
- PARCELNO - unikalny identyfikator,
- SALE_PRC - cena po jakiej mieszkanie zostało sprzedane w $ (zmienna celu),
- LND_SQFOOT - powierzchnia terenu w stopach kwadratowych,
- TOT_LVG_AREA - metraż domu w stopach kwadratowych,
- SPEC_FEAT_VAL - wartość dodatkowych funkcji w $ np. basen,
- RAIL_DIST - odległość do najbliższej stacji kolejowej w stopach (wskaźnik hałasu),
- OCEAN_DIST - odległość do oceanu w stopach,
- WATER_DIST - odległość do najbliższego zbiornika wodnego,
- CNTR_DIST - odległość do centrum Miami w stopach,
- SUBCNTR_DI - odległość do najbliższego subcentrum w stopach,
- HWY_DIST - odległość do najbliższej autostrady w stopach (wskaźnik hałasu),
- AGE - wiek domu/ konstrukcji,
- AVNO60PLUS - zmienna binarna dla halasu samolotu przekraczajacego dopuszczalny poziom,
- MONTH_SOLD - miesiac sprzedazy,
- STRUCTURE_QUALITY - jakość domu/ konstrukcji.
Analiza braków danych
Na tym etapie projektow powinna być przeprowadzona analiza braków niestety w zbiorze wykorzystanym do stworzenia sprawozdania nie pojawiły się żadne braki danych. Co za tym idzie, powinno zostać sprawdzone ile jest braków zmiennych i w jakich zmiennych one wystepują. Nastepnie powinna zostać podjęta decyzja o przeprowadzeniu imputacji tych braków. Podstawowymi metodami jest uzupełnianie braków średnia, mediana bądź dominanta. Bardziej rozwinięte metody zakładają imputacje za pomocą rozkładu innych zmiennych co oznacza, że badamy jak wygladają wartości zmiennej, której brakuje dla obserwacji o podobnych wartościach innych zmiennych. Jeszcze inna metoda jest stworzenie sztucznej zmiennej zero-jedynkowej gdzie 1 oznacza brak danych a 0 wręcz przeciwnie co może być wykorzystane w momencie, kiedy chcemy uzyć braków danych jako informacji. Bardziej drastycznymi metodami sa usuwanie obserwacji z brakami danych czy też całych zmiennych, gdzie tych braków wystepuje zbyt dużo np. ponad 20% czy ponad 50%.
# sprawdzenie czy wystepuja jakies braki danych w naszym zbiorze
any(is.na(plik))
## [1] FALSE
Identyfikacja Wartości odstających
W tym kroku będziemy identyfikować wartości odstające, których często nie da się wyjaśnić. Są niespójne z innymi obserwacjami oraz zaburzają szacowanie modelu.
Na rozkładzie zmiennej objaśnianej można zaobserwować fakt, iż ogromna większość obserwacji znajduje się w przedziale cenowym poniżej 500,000 USD. Reszta obserwacji znajduje się powyżej tej kwoty jednak ta liczebność jest znikoma. W celu wygładzenia rozkładu zostanie zastosowane logarytmowanie zmiennej co pozwoli na znormalizowanie zmiennej oraz wartości jakie przyjmuje oraz lepszego szacowania modelu co zostanie zaprezentowane poprzez porównanie modelu w którym zmienna celu zostanie zlogarytmizowana z modelem gdzie taka transformacja nie nastąpi.
Pierwsza rzeczą jaka rzuca się w oczy to zbliżony rozkład powierzchni terenu do rozkładu cen mieszkań, nie jest to nic nadzwyczajnego, ponieważ nasuwa się logiczny wniosek: im większa działka na której leży dom tym większa cena takiego budynku. Dodatkowo można zauważyć na wykresie boxplot dużo wartości odstających.
Rozkład powierzchni domu już nieco odbiega od rozkładu cen domów jednak nadal delikatnie jest zbliżony. Rozkład powierzchni użytkowej danej nieruchomości również posiada wartości odstające jednak na pierwszy rzut oka jest to mniej liczna grupa niż w przypadku powierzchni całkowitej nieruchomości.
Rozkład wartości dodatkowych funkcji wchodzących w skład nieruchomości pokazuje, ze wśród nich większość obserwacji miała dodatkowe funkcje o wartości poniżej 1000 USD co przyczyniło się do identyfikacji pokaźnej grupy outsiderów.
Rozkład odległości od najbliższej stacji kolejowej pokazuje iż sprzedane nieruchomości w większości znajdowały się dosyć blisko stacji kolejowej. Dla tej zmiennej obserwacji odstających jest już znacznie mniej.
Odległości od oceanu mierzona w stopach nie posiada zmiennych odstających co jest spowodowane lokalizacja miasta przy samym oceanie.
Jak można zauważyć na poniższym wykresie rozkład odległości do najbliższego zbiornika wodnego rożni się znacznie od rozkładu odległości od oceanu. Większość obserwacji znajduje się bliżej niż 10,000 stop od zbiornika wodnego. Dla tej zmiennej występują wartości odstające.
Rozkład odległości od centrum Miami jest niedaleki od rozkładu normalnego co oznacza, że obserwacje rozkładają się po równo do okoła średniej. Dla tej zmiennej występuje tylko jedna obserwacja odstająca.
Rozkład odległości od najbliższego subcentrum Miami pokazuje zróżnicowane położenie oraz na wykresie pudełkowym widać grupę wartości odstających znajdujących się powyżej 3 kwartyla + 1.5 rozstępu między kwartylowego.
Rozkład odległości od najbliżej autostrady przedstawia fakt, iż znaczna większość nieruchomości znajduje się w odległości mniejszej niż 10,000 stop od autostrady. Dodatkowo dla tej zmiennej również występują outliersy.
Rozkład zmiennej wieku konstrukcji nie pokazał nic nadzwyczajnego 50% domów jest młodszych niż 25 lat, dodatkowo występuje tylko jedna wartość odstająca.
Dla poniższych zmiennych: szerokość geograficzna, długość geograficzna, hałas przekraczający dopuszczalny poziom, miesiąc sprzedaży oraz rodzaj konstrukcji nie będzie wykresów pudełkowych przedstawiających obserwacje odstające, ponieważ koordynaty geograficzne są bardzo zbliżone dla jednej lokalizacji i nie różnią się znacznie, a pozostałe zmienne przyjmują wartości określone kategoriami. Prawie wszystkie obserwacje znajdują się w lokalizacji, gdzie dopuszczany poziom hałasu nie jest przekraczany. Rozkład miesiąca sprzedaży nieruchomości dla każdego miesiąca przyjmuje identyczne liczebności poza styczniem, gdzie doszło do największej liczby sprzedaży. Jeśli chodzi o jakość konstrukcji to przeważna większość przyjmuje wartości 4 i 5 dobra i bardzo dobra jakość konstrukcji.
Z wartościami odstajacymi mozna sobie poradzić na wiele sposobow analogicznie do braków danych mozemy je zamienić na mediane czy średnia lub usunac. Innymi metodami jest log logarytmizacja zmiennej i jest to wykorzystane dla zmiennej objasnianej lub mozna zastosowac metody imputacji 95 percentylem dla wartosci odstających z góry i 5 percentylem dla wartości odstających z dołu, co zostanie zastosowane dla wszystkich zmiennych z wartościami odstającymi. Kolejnym ciekawym sposobem jest użycie rozstępu miedzy kwartylowego i transformacja górnych outliersow według wzoru (Q3+IQRx1.5) gdzie Q3 oznacza kwartyl trzeci a IQR różnice miedzy kwartylem 3 a 1, dolne outliersy są transformowane według wzoru (Q1-IQRx1.5) gdzie Q1 oznacza kwartyl 1.
Przykładowa linijka z kodem imputate_outlier(plik, LND_SQFOOT, “capping”)
Eksploracja zmiennych
Zmienna objaśniana przed logarytmizacja osiągała wartości z zakresu od 72,000 USD do 2,650,000 USD przy średniej wynoszącej 399,942 USD i medianie 310,00 USD.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 72000 235000 310000 399942 428000 2650000
po logarytmizacji zmiennej wartości już plasowały się między 11.18 a 14.79 co znacznie zawęziło rozkład zmiennej.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.18 12.37 12.64 12.71 12.97 14.79
Wszystkie sprzedane nieruchomości mieściły się na szerokości geograficznej od 25.41 do 25.97 North przy średniej 25.73 N.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 25.43 25.62 25.73 25.73 25.85 25.97
Wszystkie sprzedane domy leżały na długości geograficznej od 80.12 do 80.54 West przy średniej długości 80.34 W.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -80.54 -80.40 -80.34 -80.33 -80.26 -80.12
####Przeciętnie struktura nieruchomości była oceniana na 3.51 a środkowa wartość wyniosła 4.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 2.000 4.000 3.514 4.000 5.000
Nieruchomość znajdująca się najbliżej oceanu była oddalona o 236.1 stop a dom znajdujący się najdalej oceanu był oddalony o 75,744.9 stop, przy czym przeciętnie nieruchomości były oddalone o 31,691 stop.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 236.1 18079.3 28541.8 31691.0 44310.7 75744.9
Przed poradzeniem sobie ze zmiennymi odstającymi powierzchnia terenu, na którym znajduje się nieruchomość zawierała się pomiędzy 1,248 a 57,064 stop kwadratowych po imputacji maksymalna wartość została zredukowana do 17,400 stop kwadratowych. Przeciętna powierzchnia wyrażona w stopach kwadratowych z 8,6200.88 stop kwadratowych spadla do 8,110.61 stop kwadratowych.
## Impute outliers with capping
##
## * Information of Imputation (before vs after)
## Original Imputation
## n 13932.000000 13932.000000
## na 0.000000 0.000000
## mean 8620.879917 8110.614987
## sd 6070.088742 3789.398200
## se_mean 51.426659 32.104323
## IQR 3726.250000 3726.250000
## skewness 3.830115 1.279125
## kurtosis 19.076805 1.006327
## p00 1248.000000 1248.000000
## p01 2794.480000 2794.480000
## p05 3761.650000 3761.650000
## p10 4439.100000 4439.100000
## p20 5050.000000 5050.000000
## p25 5400.000000 5400.000000
## p30 5850.000000 5850.000000
## p40 6634.000000 6634.000000
## p50 7500.000000 7500.000000
## p60 7875.000000 7875.000000
## p70 8512.700000 8512.700000
## p75 9126.250000 9126.250000
## p80 10000.000000 10000.000000
## p90 14499.000000 14499.000000
## p95 17400.000000 17400.000000
## p99 39640.000000 17400.000000
## p100 57064.000000 17400.000000
Całkowitą powierzchnia użytkowa nieruchomości przed zmiana wartości odstających wynosiła od 854 stop kwadratowych do 6,287 stop kwadratowych ze średnia w wysokości 2,058 stop kwadratowych po imputacji było to już od 854 stop kwadratowych do 3,971 stop kwadratowych z przeciętna wartości w wysokości 718 stop kwadratowych.
## Impute outliers with capping
##
## * Information of Imputation (before vs after)
## Original Imputation
## n 13932.000000 13932.0000000
## na 0.000000 0.0000000
## mean 2058.044574 2025.5628768
## sd 813.538535 718.1800865
## se_mean 6.892415 6.0845242
## IQR 1001.000000 1001.0000000
## skewness 1.346930 0.7115608
## kurtosis 2.487290 -0.2380715
## p00 854.000000 854.0000000
## p01 927.000000 927.0000000
## p05 1087.000000 1087.0000000
## p10 1205.000000 1205.0000000
## p20 1392.000000 1392.0000000
## p25 1470.000000 1470.0000000
## p30 1546.000000 1546.0000000
## p40 1706.000000 1706.0000000
## p50 1877.500000 1877.5000000
## p60 2093.600000 2093.6000000
## p70 2319.000000 2319.0000000
## p75 2471.000000 2471.0000000
## p80 2612.800000 2612.8000000
## p90 3115.000000 3115.0000000
## p95 3630.000000 3630.0000000
## p99 4850.660000 3755.0700000
## p100 6287.000000 3971.0000000
Wartości dodatków w nieruchomościach przed imputacja zawierały się miedzy 0 USD a 175,025 USD po imputacji największa wartością było już tylko 38,452 USD przeciętna wartość przed imputacja wynosiła 9,564 USD a po zastosowaniu imputacji było to 9,424 USD.
## Impute outliers with capping
##
## * Information of Imputation (before vs after)
## Original Imputation
## n 13932.000000 13932.000000
## na 0.000000 0.000000
## mean 9564.382372 9424.986664
## sd 13894.299546 13076.750949
## se_mean 117.714490 110.788101
## IQR 11542.250000 11542.250000
## skewness 1.901757 1.370669
## kurtosis 4.661942 0.309750
## p00 0.000000 0.000000
## p01 0.000000 0.000000
## p05 0.000000 0.000000
## p10 0.000000 0.000000
## p20 439.200000 439.200000
## p25 810.000000 810.000000
## p30 1185.300000 1185.300000
## p40 1904.800000 1904.800000
## p50 2765.500000 2765.500000
## p60 4085.600000 4085.600000
## p70 7016.000000 7016.000000
## p75 12352.250000 12352.250000
## p80 21968.000000 21968.000000
## p90 31916.900000 38452.400000
## p95 38460.320000 38452.400000
## p99 53921.670000 38452.400000
## p100 175020.000000 38452.400000
Najmniejsza odległości od najbliższej stacji kolejowej w badanym zbiorze wyniosła 10.5 stopy, największa odległość wyniosła 29,621 przed imputacja i 25,298 po imputacji przeciętna wartości wynosiły 8,348 i 8,285 odpowiednio przed imputacja i po imputacji.
## Impute outliers with capping
##
## * Information of Imputation (before vs after)
## Original Imputation
## n 13932.00000000 13932.0000000
## na 0.00000000 0.0000000
## mean 8348.18522143 8285.9205057
## sd 6177.17835323 6021.7575862
## se_mean 52.33393709 51.0171902
## IQR 8803.15000000 8803.1500000
## skewness 0.82382585 0.7192548
## kurtosis -0.01392866 -0.3652482
## p00 10.50000000 10.5000000
## p01 216.29900000 216.2990000
## p05 760.28000000 760.2800000
## p10 1426.35000000 1426.3500000
## p20 2692.68000000 2692.6800000
## p25 3299.45000000 3299.4500000
## p30 3946.77000000 3946.7700000
## p40 5442.54000000 5442.5400000
## p50 7106.30000000 7106.3000000
## p60 8688.78000000 8688.7800000
## p70 10848.12000000 10848.1200000
## p75 12102.60000000 12102.6000000
## p80 13671.78000000 13671.7800000
## p90 17726.49000000 17726.4900000
## p95 20242.49225000 20242.4922500
## p99 25238.29300000 23883.9190000
## p100 29621.50000000 25298.3000000
Najmniejsza odległość od zbiornika wodnego wyniosła 401.5 stopy a największa odległość to 50,400 stop co po obcięciu wartości odstających wyniosło 43,985 stop. wartości średnie wyniosły odpowiednio 11,960 stop przed i 11,800 stop po.
## Impute outliers with capping
##
## * Information of Imputation (before vs after)
## Original Imputation
## n 13932.000000 13932.00000000
## na 0.000000 0.00000000
## mean 11959.781804 11799.62801105
## sd 11931.789024 11525.01771113
## se_mean 101.087820 97.64159578
## IQR 16524.150000 16524.15000000
## skewness 1.137793 1.02466835
## kurtosis 0.328186 -0.09963465
## p00 0.000000 0.00000000
## p01 7.431000 7.43100000
## p05 401.470000 401.47000000
## p10 873.060000 873.06000000
## p20 2050.280000 2050.28000000
## p25 2675.850000 2675.85000000
## p30 3344.200000 3344.20000000
## p40 4963.380000 4963.38000000
## p50 6922.600000 6922.60000000
## p60 10193.160000 10193.16000000
## p70 16196.820000 16196.82000000
## p75 19200.000000 19200.00000000
## p80 22368.700000 22368.70000000
## p90 31485.510000 31485.51000000
## p95 36969.870500 36969.87050000
## p99 45713.074000 41253.94400000
## p100 50399.800000 43984.80000000
Odległość od centrum Miami przeciętnie wynosiła około 68,500 stop z minimalna wartością 3,825 stóp i maksimum wynoszącym ponad 15,900 stóp.
## Impute outliers with capping
##
## * Information of Imputation (before vs after)
## Original Imputation
## n 13932.0000000 13932.0000000
## na 0.0000000 0.0000000
## mean 68488.3884281 68484.4358771
## sd 32003.8002255 31994.2348693
## se_mean 271.1407655 271.0597265
## IQR 46535.2250000 46535.2250000
## skewness 0.4268998 0.4254593
## kurtosis -0.3157679 -0.3195756
## p00 3825.6000000 3825.6000000
## p01 12231.4260000 12231.4260000
## p05 21199.5750000 21199.5750000
## p10 28572.6500000 28572.6500000
## p20 37590.8600000 37590.8600000
## p25 42823.1000000 42823.1000000
## p30 48196.3400000 48196.3400000
## p40 58856.3800000 58856.3800000
## p50 65852.4000000 65852.4000000
## p60 75421.1600000 75421.1600000
## p70 84317.4300000 84317.4300000
## p75 89358.3250000 89358.3250000
## p80 94324.0000000 94324.0000000
## p90 110372.2400000 110372.2400000
## p95 132150.0960000 132150.0960000
## p99 145484.1900000 145406.9060000
## p100 159976.5000000 159017.5000000
Przeciętna odległość do najbliższego scentruj Miami wynosiła 22,161 i 21,767 przed oraz po imputacji. Minimalna odległość wyniosła 1,462 stopy a maksymalna przed imputacja 110,554 stopy a po imputacji to było 98,739 stopy.
## Impute outliers with capping
##
## * Information of Imputation (before vs after)
## Original Imputation
## n 13932.0000000 13932.0000000
## na 0.0000000 0.0000000
## mean 41115.0472653 40949.8078452
## sd 22161.8259350 21767.7346460
## se_mean 187.7581539 184.4193563
## IQR 29953.1250000 29953.1250000
## skewness 0.4541499 0.3688204
## kurtosis -0.2112611 -0.4310498
## p00 1462.8000000 1462.8000000
## p01 4294.5550000 4294.5550000
## p05 8912.2550000 8912.2550000
## p10 11971.0600000 11971.0600000
## p20 19779.1400000 19779.1400000
## p25 23996.2500000 23996.2500000
## p30 27731.7700000 27731.7700000
## p40 34734.9200000 34734.9200000
## p50 41109.9000000 41109.9000000
## p60 45579.9800000 45579.9800000
## p70 50394.8700000 50394.8700000
## p75 53949.3750000 53949.3750000
## p80 58732.7800000 58732.7800000
## p90 70831.7400000 70831.7400000
## p95 83551.6100000 83551.1645000
## p99 96787.2770000 92914.5490000
## p100 110553.8000000 98738.8000000
Odległość do najbliższej autostrady przeciętnie wynosiła 7,724 stopy razem z obserwacjami odstającymi po ich wygładzeniu było to 7,611 stop. Minimalna odległość od autostrady wyniosła 90.2 stopy a maksymalna w przypadku wartości odstających wyniosła 48,167 stop po zmianie ich na 95 percentyl to było już tylko 22,627 stóp.
## Impute outliers with capping
##
## * Information of Imputation (before vs after)
## Original Imputation
## n 13932.000000 13932.0000000
## na 0.000000 0.0000000
## mean 7723.770693 7610.9003682
## sd 6068.936108 5750.0840769
## se_mean 51.416893 48.7155334
## IQR 7856.075000 7856.0750000
## skewness 1.116250 0.8417494
## kurtosis 1.102694 -0.2454321
## p00 90.200000 90.2000000
## p01 266.072000 266.0720000
## p05 759.460000 759.4600000
## p10 1354.130000 1354.1300000
## p20 2459.780000 2459.7800000
## p25 2998.125000 2998.1250000
## p30 3548.020000 3548.0200000
## p40 4800.640000 4800.6400000
## p50 6159.750000 6159.7500000
## p60 7652.540000 7652.5400000
## p70 9617.870000 9617.8700000
## p75 10854.200000 10854.2000000
## p80 12631.160000 12631.1600000
## p90 17014.370000 17014.3700000
## p95 20068.930000 20068.0885000
## p99 24101.683000 21779.0830000
## p100 48167.300000 22626.7000000
Przeciętny wiek konstrukcji w badanej populacji wyniósł 31 lat. Najmłodsza konstrukcja była sprzedana odrazu po jej powstaniu (udostepnieniu do sprzedaży). Najstarsza konstrukcja miała 96 lat po wygładzeniu były to 94 lata.
## Impute outliers with capping
##
## * Information of Imputation (before vs after)
## Original Imputation
## n 13932.0000000 13932.0000000
## na 0.0000000 0.0000000
## mean 30.6692506 30.6630060
## sd 21.1530682 21.1380551
## se_mean 0.1792118 0.1790846
## IQR 32.0000000 32.0000000
## skewness 0.5050145 0.5017126
## kurtosis -0.6531312 -0.6636402
## p00 0.0000000 0.0000000
## p01 0.0000000 0.0000000
## p05 0.0000000 0.0000000
## p10 4.0000000 4.0000000
## p20 12.0000000 12.0000000
## p25 14.0000000 14.0000000
## p30 16.0000000 16.0000000
## p40 21.0000000 21.0000000
## p50 26.0000000 26.0000000
## p60 32.0000000 32.0000000
## p70 40.0000000 40.0000000
## p75 46.0000000 46.0000000
## p80 54.0000000 54.0000000
## p90 62.0000000 62.0000000
## p95 67.0000000 67.0000000
## p99 79.0000000 79.0000000
## p100 96.0000000 94.0000000
Rozkłady zmiennych względem zmiennej celu (logarytm z ceny nieruchomości) przed i po usunięciu zmiennych odstających
Na większość wykresów została nałożona niebieska linia trendu pokazująca jak bardzo wzrost danej zmiennej wpływa na wzrost ceny nieruchomości i czy jest to wpływ dodani lub ujemny.
Pierwszy wykres zawiera rozkład szerokości geograficznej względem logarytmu z cen nieruchomości. Drugi wykres zawiera rozkład długości geograficznej również względem logarytmu cen nieruchomości. Obie zmienne nie miały obserwacji odstających.
Rozkład powierzchni terenu według logarytmu z wartości nieruchomości przed i po imputacji.
Rozkład powierzchni użytkowej nieruchomości według jej wartości przed i po imputacji
Rozkład wartości dodatkowych funkcji w nieruchomości według logarytmu wartości nieruchomości.
Rozkład odległości do najbliższej stacji kolejowej według logarytmu z ceny nieruchomości przed i po usunięciu obserwacji odstających.
Rozkład wieku konstrukcji oraz odległości od oceanu względem logarytmu z wartości nieruchomości.
Rozkład odległości od najbliższego zbiornika wodnego według logarytmu z ceny, po której nieruchomość została sprzedana przed oraz po imputacji wartości odstających.
Rozkład odległości od centrum przed usunięciem outliersow oraz po ich usunięciu według zmiennej celu.
Rozkład odległości od najbliższego subcentrum według logarytmu wartości po jakiej dana nieruchomość została sprzedana przed oraz po poradzeniu sobie z wartościami odstającymi.
Rozkład odległości od najbliższej autostrady przed i po imputacji obserwacji odstających względem logarytmu z wartości nieruchomości.
Na pierwszym wykresie od lewej znajduje się rozkład nieprzekroczenia dopuszczalnego poziomu hałasu (0) lub jego przekroczenia (1) pod względem logarytmu z ceny danej nieruchomości. Drugi wykres zawiera rozkład miesięcy, w których dane nieruchomości zostały sprzedane względem logarytmu z ich cen. Ostatni wykres zawiera rozkład jakości konstrukcji względem zmiennej celu.
Modelowanie
W tym kroku zostało wykonane modelowanie wykonane zostaną 4 modele regresji logistycznej w celu pokazania, które kroki polepszają jakość modelu oraz opisywana przez niego rzeczywistość. Dla wszystkich modeli została zastosowana metoda krokowa polegająca na zaczęciu od pustego modelu gdzie zmienna objaśniana jest szacowana w pełni za pomocą parametru stałego a następnie krok po kroku są dodawane zmienne z największym wpływem do momentu, aż takiej zmiennej nie będzie. Czasem mogą wystąpić sytuacje, że na skutek dodawania zmiennych istotność statystyczna jednej zmiennej spadnie co spowodowuje wyrzucenie jej z modelu. Dodatkowo dla każdego z modeli użyto opcji trace=0 w celu zbędnego niewydłużania raportu. Opcja ta spowodowała, ze nie wyświetli się w raporcie krok po korku jak metoda została przeprowadzona.
Pierwszy model jest modelem podstawowym w którym zmienna celu są ceny nieruchomości oraz nie zostały zastąpione wartości odstające. Ten model ma na celu zobrazowanie tego jak bardzo poprawi się model, jeśli zlogarytmizujemy zmienna celu.
Drugi model uwzględnia zlogarytmizowana zmienna celu jednak zmienne objaśniające nadal nie są poddane imputacji.
Trzeci model uwzględnia również zlogarytmizowana zmienna celu oraz usunięte wartości odstające ze zmiennych objaśniających.
Ostatni model przedstawia trzeci model jednak został na nim obliczony wskaźnik inflacji wariancji (VIF), gdzie otrzymanie wartości powyżej 5 jednostek wskazuje na istotny problem ze współliniowością
Na końcu zostanie zinterpretowany model z największym R-kwadrat.
W poniższej tabeli otrzymujemy oszacowane 3 pierwsze modele (4 się nie mieścił i tabela wyglądała brzydko). Na ten moment pominiemy analizę parametrów przy zmiennych i skupimy się na samym współczynniku determinacji (R-kwadrat), określającym w jakim stopniu dane są tłumaczone przez model.
W pierwszym modelu otrzymujemy R-kwadrat na poziomie 0.71 co oznacza, ze dane są objaśniane przez model w 71. Po logarytmizacji zmiennej objaśnianej wytłumaczalność dany przez model wzrasta do 79% co jest znaczna poprawa modelu. Dla trzeciego modelu w którym pokusiliśmy się o imputacje obserwacji odstających współczynnik determinacji wzrost o 0.01 co znaczy, ze dane są o 1 punkt procentowy bardziej wytłumaczalne przez model z przeprowadzona imputacja niż bez jej przeprowadzania. Zmiana ta jest niewielka jednak pokazuje, ze gdyby posłużyć się innymi metodami takimi jak logarytmizacja niektórych zmiennych z duża liczba obserwacji odstających, zastosowanie innej metody imputacji lub użycie obcięcia mogłoby przynieść lepsze rezultaty niż standardowa metoda polegająca na zamienieniu wartości odstających na 95 percentyl.
##
## ==========================================================================================================
## Modele liniowe
## --------------------------------------------------------------------------------------
## SALE_PRC log(SALE_PRC) SALE_PRC_LOG
## (1) (2) (3)
## ----------------------------------------------------------------------------------------------------------
## TOT_LVG_AREA 190.75*** 0.0003*** 0.0004***
## (2.44) (0.0000) (0.0000)
##
## CNTR_DIST 1.04*** 0.0000*** 0.0000***
## (0.31) (0.0000) (0.0000)
##
## OCEAN_DIST 1.15*** -0.0000*** -0.0000***
## (0.38) (0.0000) (0.0000)
##
## structure_quality 73,077.69*** 0.15*** 0.15***
## (1,668.21) (0.003) (0.002)
##
## PARCELNO -0.0000*** -0.00*** -0.00***
## (0.00) (0.00) (0.00)
##
## SPEC_FEAT_VAL 2.97*** 0.0000*** 0.0000***
## (0.13) (0.0000) (0.0000)
##
## age -2,056.30*** -0.005*** -0.01***
## (91.22) (0.0001) (0.0001)
##
## RAIL_DIST 4.93*** 0.0000*** 0.0000***
## (0.28) (0.0000) (0.0000)
##
## HWY_DIST 3.91*** 0.0000*** 0.0000***
## (0.28) (0.0000) (0.0000)
##
## LND_SQFOOT 3.48*** 0.0000*** 0.0000***
## (0.30) (0.0000) (0.0000)
##
## avno60plus -118,451.00*** -0.14*** -0.15***
## (12,353.78) (0.02) (0.02)
##
## month_sold 0.004*** 0.004***
## (0.001) (0.001)
##
## SUBCNTR_DI -4.19*** -0.0000*** -0.0000***
## (0.31) (0.0000) (0.0000)
##
## LONGITUDE 1,416,650.00*** -0.52*** -0.50***
## (113,779.60) (0.17) (0.16)
##
## LATITUDE -441,927.80*** 0.95*** 0.96***
## (53,128.42) (0.08) (0.08)
##
## WATER_DIST -1.03*** -0.0000*** -0.0000***
## (0.24) (0.0000) (0.0000)
##
## Constant 125,043,615.00*** -54.24*** -53.13***
## (10,202,036.00) (15.45) (14.56)
##
## ----------------------------------------------------------------------------------------------------------
## Observations 13,932 13,932 13,932
## R2 0.71 0.80 0.80
## Adjusted R2 0.71 0.79 0.80
## Residual Std. Error 169,779.80 (df = 13916) 0.26 (df = 13915) 0.25 (df = 13915)
## F Statistic 2,314.36*** (df = 15; 13916) 3,374.95*** (df = 16; 13915) 3,572.63*** (df = 16; 13915)
## ==========================================================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Jak już wcześniej zostało wspomniane w modelu został użyty wskaźnik inflacji wariancji zaprezentowany w trakcie zajęć. Funkcja ta została użyta tylko na modelu trzecim, który osiągnął największy współczynnik determinacji ze wszystkich prostych modeli..
# uzycie wskaznika vif poruszanego na zajeciach
::vif(najlepszy_model_log_o) car
## TOT_LVG_AREA SUBCNTR_DI structure_quality PARCELNO
## 1.877119 21.469623 1.617441 1.904653
## age LND_SQFOOT SPEC_FEAT_VAL RAIL_DIST
## 1.859584 1.797134 1.457794 1.410113
## OCEAN_DIST HWY_DIST LATITUDE CNTR_DIST
## 19.961389 1.363132 26.763777 45.325045
## WATER_DIST avno60plus month_sold LONGITUDE
## 3.724886 1.088449 1.003436 46.065886
Z ostatecznego modelu zostały wyrzucone zmienne ze wskaźnikiem VIF powyżej 5 i były to długość geograficzna, szerokość geograficzna, odległość od najbliższego subcentrum, odległość od oceanu oraz odległość od centrum.
W tym etapie zostało przedstawione porównanie dwóch modeli: modelu trzeciego z najwyższym R-kwadrat oraz model na jego bazie z którego wyrzucono na podstawie wskaźnika VIF. Po porównaniu tych dwóch modeli okazało się, ze wyrzucenie tych zmiennych sprawiło obniżenie się współczynnika determinacji z wartości 0.8 do 0.69 co było dość niespodziewanym zjawiskiem.
##
## =============================================================================
## Modele liniowe
## ---------------------------------------------------------
## SALE_PRC_LOG
## (1) (2)
## -----------------------------------------------------------------------------
## TOT_LVG_AREA 0.0004*** 0.0004***
## (0.0000) (0.0000)
##
## SUBCNTR_DI -0.0000***
## (0.0000)
##
## structure_quality 0.15*** 0.16***
## (0.002) (0.003)
##
## PARCELNO -0.00***
## (0.00)
##
## age -0.01*** -0.002***
## (0.0001) (0.0002)
##
## LND_SQFOOT 0.0000*** 0.0000***
## (0.0000) (0.0000)
##
## SPEC_FEAT_VAL 0.0000*** 0.0000***
## (0.0000) (0.0000)
##
## RAIL_DIST 0.0000*** -0.0000***
## (0.0000) (0.0000)
##
## OCEAN_DIST -0.0000***
## (0.0000)
##
## HWY_DIST 0.0000*** 0.0000***
## (0.0000) (0.0000)
##
## LATITUDE 0.96***
## (0.08)
##
## CNTR_DIST 0.0000***
## (0.0000)
##
## WATER_DIST -0.0000*** -0.0000***
## (0.0000) (0.0000)
##
## avno60plus -0.15*** -0.13***
## (0.02) (0.02)
##
## month_sold 0.004*** 0.004***
## (0.001) (0.001)
##
## LONGITUDE -0.50***
## (0.16)
##
## Constant -53.13*** 11.17***
## (14.56) (0.02)
##
## -----------------------------------------------------------------------------
## Observations 13,932 13,932
## R2 0.80 0.69
## Adjusted R2 0.80 0.69
## Residual Std. Error 0.25 (df = 13915) 0.32 (df = 13921)
## F Statistic 3,572.63*** (df = 16; 13915) 3,040.74*** (df = 10; 13921)
## =============================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Interpretacja modelu
W modelu wszystkie zmienne są istotne statystycznie:
- Wraz ze wzrostem Powierzchni terenu na której znajduje się nieruchomość o jedna stopę kwadratowa cena tej nieruchomości zwiększy się o 0.03% (+/- 0.0004 punkta procentowego) przy założeniu niezmienności pozostałych czynników,
- Wraz ze wzrostem odległości od najbliższego subcentrum o jedna stopę cena mieszkania spadnie o 0.0012% z przeciętnym bledem estymacji na poziomie plus/ minu 0.00004 punkta procentowego,
- Wzrost jakości struktury o jedna jednostkę na skali 5 punktowej powoduje wzrost ceny o 15.11% z przeciętnym bledem oszacowania 0.24 punkta procentowego,
- Wraz ze wzrostem wieku konstrukcji o rok jego cena spada o 0.52% (+/- 0.014 punkta procentowego),
- Wraz ze wzrostem powierzchni użytkowej nieruchomości o jedna stopę kwadratowa jej cena wzrośnie o 0.0015% USD (+/- 0.00008 punkta procentowego),
- Wraz ze wzrostem wartości dodatkowych funkcji o 1 USD cena nieruchomości wzrośnie o 0.0004% ze średnim bledem +/- 0.00002 punkta procentowego,
- Wraz ze wzrostem odległości od najbliższej stacji kolejowej o 1 stopę wartość nieruchomości wzrośnie o 0.00096% +/- 0000042 punkta procentowego,
- Wraz ze wzrostem odległości od oceanu o 1 stopę wartość nieruchomości maleje o 0.00044% +/- 0.000054 punktu procentowego,
- Wraz ze wzrostem odległości od najbliższej autostrady o 1 stopę cena domu wzrasta o 0.00069% z przeciętnym bledem estymacji +/- 0.00004 punktu procentowego,
- Wraz ze wzrostem szerokości geograficznej o 1 stopień wartość nieruchomości zwiększa się o 95.68% z bledem standardowym plus/ minus 7.83 punkta procentowego,
- Wraz ze wzrostem odległości od centrum Miami cena nieruchomości wzrasta o 0.00048% +/- 0.00045 punkta procentowego,
- Wraz ze wzrostem odległości od najbliższego zbiornika wodnego cena nieruchomości spada 0.00044% z przeciętnym błędem plus/ minus 0.00036 punkta procentowego,
- Wraz z przekroczeniem dopuszczalnego poziomu hałasu (przejście z 0 na 1), cena nieruchomości spada o 15.48% z przeciętnym bledem 1.83 punkta procentowego,
- Wraz ze wzrostem o jeden miesiąc miesiąca sprzedaży cena nieruchomości wrasta o 0.4% +/- 0.064 punkta procentowego,
- Wraz ze wzrostem długości geograficznej o 1 stopień wartość nieruchomości spada o 50.24% z bledem standardowym plus/ minus 16.21%.
Dane są opisywane przez model w 80.4% co znaczy, że model nie opisuje rzeczywistości w 19.6%.
##
## Call:
## lm(formula = SALE_PRC_LOG ~ TOT_LVG_AREA + SUBCNTR_DI + structure_quality +
## PARCELNO + age + LND_SQFOOT + SPEC_FEAT_VAL + RAIL_DIST +
## OCEAN_DIST + HWY_DIST + LATITUDE + CNTR_DIST + WATER_DIST +
## avno60plus + month_sold + LONGITUDE, data = plik2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.17354 -0.14865 -0.00746 0.13844 1.89930
##
## Coefficients:
## Estimate Std. Error t value
## (Intercept) -53.130294689889716153 14.563870699873668002 -3.648
## TOT_LVG_AREA 0.000388893770376423 0.000004063048674189 95.715
## SUBCNTR_DI -0.000012064700378049 0.000000453355086439 -26.612
## structure_quality 0.151162027012444244 0.002468148823437173 61.245
## PARCELNO -0.000000000000108756 0.000000000000002451 -44.374
## age -0.005200307674799565 0.000137398615546210 -37.848
## LND_SQFOOT 0.000015312722604581 0.000000753458800514 20.323
## SPEC_FEAT_VAL 0.000004019085251359 0.000000196647183475 20.438
## RAIL_DIST 0.000009589520356024 0.000000419994173045 22.833
## OCEAN_DIST -0.000004444179435305 0.000000540808690750 -8.218
## HWY_DIST 0.000006899172404654 0.000000432448449891 15.954
## LATITUDE 0.956899756025369808 0.078347490712210130 12.214
## CNTR_DIST 0.000004751411884209 0.000000448163937081 10.602
## WATER_DIST -0.000004359298233687 0.000000356660005586 -12.223
## avno60plus -0.154830914965603555 0.018321854935370464 -8.451
## month_sold 0.004083796174192351 0.000646204550566268 6.320
## LONGITUDE -0.502446161158508375 0.162057409307450689 -3.100
## Pr(>|t|)
## (Intercept) 0.000265 ***
## TOT_LVG_AREA < 0.0000000000000002 ***
## SUBCNTR_DI < 0.0000000000000002 ***
## structure_quality < 0.0000000000000002 ***
## PARCELNO < 0.0000000000000002 ***
## age < 0.0000000000000002 ***
## LND_SQFOOT < 0.0000000000000002 ***
## SPEC_FEAT_VAL < 0.0000000000000002 ***
## RAIL_DIST < 0.0000000000000002 ***
## OCEAN_DIST 0.000000000000000226 ***
## HWY_DIST < 0.0000000000000002 ***
## LATITUDE < 0.0000000000000002 ***
## CNTR_DIST < 0.0000000000000002 ***
## WATER_DIST < 0.0000000000000002 ***
## avno60plus < 0.0000000000000002 ***
## month_sold 0.000000000270119832 ***
## LONGITUDE 0.001936 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2514 on 13915 degrees of freedom
## Multiple R-squared: 0.8042, Adjusted R-squared: 0.804
## F-statistic: 3573 on 16 and 13915 DF, p-value: < 0.00000000000000022