рд╣рдо рдШрд░ рдЦрд░реАрджрдиреЗ рдХреЗ рд╢рд╛рдВрддрд┐рдкреВрд░реНрдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ

рдХреБрдЫ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдмреЗрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдХреБрдЫ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЦрд░реАрджрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреИрд╕рд╛ рдирд╣реАрдВ рд╣реИред
- рдкреНрд░реЛрд╕реНрдЯреЛрдХрд╡рд╛рд╢рд┐рдиреЛ рд╕реЗ рддреАрди

рдкрд░рд┐рдЪрдп


рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдореИрдВ рдореЙрдиреНрдЯреНрд░рд┐рдпрд▓ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ (рдпрд╛ рд╕реНрдерд╛рдиреАрдп рдХреЛрдВрдбреЛ) рдореЗрдВ рд░рд╣рддрд╛ рд╣реВрдВред рдФрд░ рдПрдХ рдмрд╛рд░, рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рджреМрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдШрд░ рдореЗрдВ рдЬрд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡рд╛рд╕ рдЦрд░реАрджрдиреЗ рдФрд░ рдмреЗрдЪрдиреЗ рдХрд╛ рдХреБрдЫ рдЕрдиреБрднрд╡ рдерд╛ рдФрд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдмрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдерд╛рдиреАрдп рдирд┐рд╡рд╛рд╕реА рдХрд░рддреЗ рд╣реИрдВ: рдПрдХ рд░рд┐рдпрд╛рд▓реНрдЯрд╛рд░ рдХреЛ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдВ рдФрд░ рдЙрд╕реЗ рд╕рднреА рдореБрджреНрджреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рджреЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдмрд╛рдК рдФрд░ рдирд┐рд░реНрдмрд╛рдз рд╣реЛрдЧрд╛ред


рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдПрдХ рдХрд╛рд░реНрдп рд╣реИ: рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХрд┐рддрдирд╛ рдореВрд▓реНрдп рд╣реИ, рдФрд░ рд╡рд╣ рд╣реИ рдЬреЛ рдореИрдВ рд╡рд╣рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЦреИрд░, рдПрдХ рдЧреБрдЬрд░ рд╕рд╡рд╛рд▓ - рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рд╣рд╡рд╛ рдЪрд▓ рд░рд╣реА рд╣реИред рдФрд░ рдЖрд░ рдореЗрдВ рднреВ-рд╕реНрдерд╛рдирд┐рдХ рдЧрдгрдирд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ ред


рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдПрдХ рд╕рднреНрдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рджреИрдирд┐рдХ рдмрд╛рдЗрдХ рдХреА рд╕рд╡рд╛рд░реА рдХреЗ рд╕рд╛рде рдЧреНрд▓реЛрдмрд▓ рд╡рд╛рд░реНрдорд┐рдВрдЧ рдХреЛ рдорд╛рд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рд╡рд╛рд░ (рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ) рдирд╣реАрдВ рдЦреАрдВрдЪреВрдВрдЧрд╛ред рдПрдХ рдФрд░ рдЖрдо рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд▓реНрдк рджреНрд╡реИрдз рдпрд╛ рдЯреНрд░рд┐рдкрд▓ рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЕрд░реНрдерд╛рддред рдЬрд┐рди рдШрд░реЛрдВ рдореЗрдВ рджреЛ рдпрд╛ рддреАрди рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рд╣реИрдВ: рдЖрдк рдПрдХ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ,рдмрд╛рдХреА рдореЗрдВ рдЖрдк рдЦрд░рдЧреЛрд╢реЛрдВ рдХрд╛ рдкреНрд░рдЬрдирди рдХрд░рддреЗ рд╣реИрдВрдмрд╛рдХреА рдХрд┐рд░рд╛рдпреЗрджрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдЖрддреНрдорд╕рдорд░реНрдкрдг рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдПрдХ рдФрд░ рдЕрдЬреНрдЮрд╛рдд рдорд╛рддреНрд░рд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ - рдХрд┐рд░рд╛рдпреЗ рдХреА рдЖрдпред


рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдмрд┐рдХреНрд░реА, рдХрд┐рд░рд╛рдпреЗ рдХреА рдХреАрдорддреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╛рд╕ рдХреА рдХреАрдорддреЛрдВ рдХреЗ рд╕рд╛рде рд╢рд╣рд░ рдХрд╛ рдирдХреНрд╢рд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдпрд╣ рднреА рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдХрд┐ рдпрд╣ рд╕рдордп рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдмрджрд▓рддрд╛ рд╣реИред


zillow, , , , , , : https://apciq.ca/en/real-estate-market/. , , .


, , , , , , : https://github.com/Froren/realtorca


тАФ , , - requests beatifulsoap, .


тАФ , , , , , ; , .


, openstreet map, .



тАФ , , sqlite , , . , , , , ..


R, tidy-verse, Simple Features for R, тАФ - Geocomputation with R, ggplot2 ( tidyverse), tmap.


, , (join?) .



, , dplyr , :


R , :


library(tidyverse)
library(sf)

property<-read_csv("....") %>% 
 st_as_sf(coords=c("lng","lat"), crs=4326) %>% 
 st_transform(crs=32188)

:


neighbourhood<-geojson_sf("quartierreferencehabitation.geojson") %>%
 st_transform(32188) %>% 
 filter(nom_qr %in% c("Saint-Louis", "Milton-Parc")) %>% 
 summarize() %>% 
 st_buffer(dist=0)

:


neighbors <- st_join(property, neighbourhood, left=F)

openstreetmap :


osm_neighbourhood<-read_osm(st_bbox(neighbourhood%>%st_transform(4326)), ext=1.5, type="esri")

tmap :


library(tmap)
library(tmaptools)

tm_shape(osm_neighbourhood) + tm_rgb(alpha=0.7)+
  tm_shape(neighbourhood) + tm_borders(col='red',alpha=0.8)  + 
  tm_shape(neighbors) + tm_symbols(shape=3,size=0.2,alpha=0.8) +
  tm_shape(ref_home) + tm_symbols(col='red',shape=4,size=0.5,alpha=0.8)+
  tm_compass(position=c("right", "bottom"))+
  tm_scale_bar(position=c("right", "bottom"))

рдЫрд╡рд┐
, :


рдЫрд╡рд┐


( ):


lm(price ~ parking:area_interior)

:


## Coefficients:
##                            Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                33776.10   22175.97   1.523    0.129    
## parkingFALSE:area_interior   444.28      23.54  18.876   <2e-16 ***
## parkingTRUE:area_interior    523.01      19.65  26.614   <2e-16 ***

.. 444$ 33, +523$.


, 443k$, [433k$ тАФ 453k$]


, , :


рдЫрд╡рд┐


.. , .. . , . , , , generalized linear model inverse Gaussian distribution , - , :


рдЫрд╡рд┐


: 435k$, 95% [419k$ тАФ 450k$] тАФ , .


, , , тАФ .
, , тАФ .. , , ( X X ) .


, () , ( , ).


рдЫрд╡рд┐


generalized linear model inverse Gaussian distribution :


glm(price_sqft ~ parking + bedrooms,family=inverse.gaussian(link="log")

:


## (Intercept)    parkingTRUE   bedrooms2   bedrooms3   bedrooms4 
## 503.1981961   1.1215828   0.9720589   0.9662187   0.8325715

.. , 503$, 12% , тАФ 2.8%, 3 тАФ 3.3%, 4 17%, .
430k$ [ 413k$ тАФ 448k$]



. .
- , - , тАФ - , ?
, loess.
рдЫрд╡рд┐


, тАФ - .
рдЫрд╡рд┐


, . , ( ) .


тАЬ тАЭ Generalized additive model


, . R mgcv gam:


gam(price_sqft ~ parking + bedrooms + s(start_date, k=24), family=inverse.gaussian(link="log"))

, , inverse Gaussian distribution, , , 24 . gam тАФ , k .


( 2 ):


рдЫрд╡рд┐


, : 429k [413k-447k], . . , .



, , .
рдЫрд╡рд┐


, 60 . , .



, , . , 1, - :


#     
selected_mls=17758383 
#    2
max_distance=2000  
#       
plex_pe<-prop_geo_p %>% filter(type!='Apartment', type!='House')
ref<-plex_pe%>%filter(mls==selected_mls) 

#     
search_roi <- st_buffer(ref, max_distance) 
#      ,    -  
result <- st_intersection(plex_pe %>% filter(mls!=selected_mls), search_roi) %>% 
filter(area_interior<10000, area_interior>100,area_land>0,price<1e7,price>100 ) 

:


рдЫрд╡рд┐


:


рдЫрд╡рд┐


, , , - тАФ , ( XX ), ..
, 523k$, [ 570k$ тАФ 620k$]



, . , . sf :


, (), , :


aggregate(filter(kijiji_geo_p,bedrooms==2)%>%dplyr::select(price), mtl_p, median, join = st_contains)

рдЫрд╡рд┐


, . . .
, :


gam(price_sqft ~ type + bedrooms + parking + s(x,y,k=100), family=inverse.gaussian(link="log"))

, 100:


pred_rent_whole <- raster(extent(mtl_land),res=100)
crs(pred_rent_whole)<-crs(mtl_land)
my_predict<-function(...) predict(...,type="response")
pred_rent_whole<- raster::interpolate(pred_rent_whole, model_rent_geo_whole, fun=my_predict, xyOnly=T,const=data.frame(bedrooms=2))

#      
pred_rent_whole <- mask(pred_rent_whole, mtl_land)

tmap:


tm_shape(osm_mtl)+tm_rgb(alpha=0.6)+
  tm_shape(mtl_arr) + tm_borders(alpha=0.8, col='black')+
  tm_shape(pred_rent_whole)+tm_raster(style="cont",alpha=0.7, title='$')+  tm_shape(subway_stop_p%>%dplyr::select(stop_name))+tm_symbols(col='blue',alpha=0.2,size=0.03)+
  tm_shape(subway_p)+tm_lines(col='blue',alpha=0.2)+
  tm_compass(position=c("right", "bottom"))+
  tm_scale_bar(position=c("left", "bottom"))+
  tm_layout(scale=1.5)

рдЫрд╡рд┐
тАФ .


, .
рдЫрд╡рд┐


, .
рдЫрд╡рд┐


, ( /( * ).
.


рдЫрд╡рд┐


( / ).
рдЫрд╡рд┐


, , ( ).


рдЫрд╡рд┐



, R рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛, рдХрдм рдФрд░ рдХрд╣рд╛рдВ рдЦрд░реАрджрдирд╛ рдпрд╛ рдмреЗрдЪрдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬреАрд╡рди рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЪреАрдЬ рд╣реИ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд┐рдХреНрд░реА рдореВрд▓реНрдп рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЬреНрдЮрд╛рди рдирд╣реАрдВ рд╣реИ (рд╣рдорд╛рд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рдкрдВрдЬреАрдХреГрдд рд░рд┐рдпрд▓реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ)ред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рд╛рдкреНрдд рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди 100% рддрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рдПрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬрд┐рд╕рдиреЗ рднреА рдирд╣реАрдВ рдЫрд┐рдкрд╛рдпрд╛ рд╡рд╣ рдореЗрд░реА рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИред


рд╕реНрд░реЛрдд


рд╕рднреА рдбреЗрдЯрд╛ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИрдВ ред рд╣рдорд╛рд░реЗ рд╣рд╛рдереА рдЦрд░реАрджреЗрдВ!


рдЕрдВрдд рддрдХ рдкрдврд╝реЗ рд╣реБрдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЛрдирд╕


рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдирдХреНрд╢рд╛: http://www.ilmarin.info/re_mtl/


All Articles