Skilaverkefni 1 Hagrannsókn Óskar Steinn Birgisson
output: html_document
#1 (a)hvað eru mörg hverfi Það eru 506 hverfi # Nota dplyr til að telja einstök hverfi með crime, radial og dist library(dplyr)
num_hverfi <- communityprices %>% distinct(crime, dist, radial ) %>% # Velur einstaka samsetningar þessara dálka nrow() # Telja fjölda þeirra
num_hverfi
#fjöldi hverfa með radial = 5 num_radial_5 <- sum(communityprices$radial == 5, na.rm = TRUE)
#fjöldi hverfa með radial = 8 num_radial_8 <- sum(communityprices$radial == 8, na.rm = TRUE)
#birta niðurstöður num_radial_8 num_radial_5
#meðatal fyrir rooms mean_rooms <- mean(communityprices$rooms, na.rm = TRUE)
#staðalfrávik fyrir rooms sd_rooms <- sd(communityprices$rooms, na.rm = TRUE)
mean_rooms sd_rooms
#meðatal fyrir price mean_price <- mean(communityprices$price, na.rm = TRUE)
#staðalfrávik fyrir price sd_price <- sd(communityprices$price, na.rm = TRUE)
Rooms liggur á bilinu 3,56-8,78 Það eru 491 hverfi með meira en 5 herbergi að meðaltali í úrtakinu
#bil fyrir rooms range_rooms <- range(communityprices$rooms, na.rm = TRUE)
#fjöldi hverfa með rooms > 5 num_rooms_above_5 <- sum(communityprices$rooms > 5, na.rm = TRUE)
#birta niðurstöðr range_rooms num_rooms_above_5
Breytan liggur milli 3-22 það eru 3 hverfi með lægsta gildið sem er 3
#bil fyrir stratio range_stratio <- range(communityprices$stratio, na.rm = TRUE)
#finna lægsta gildi f. stratio min_stratio <- min(communityprices$stratio, na.rm =TRUE)
#fjöldi hverfa með lægsta gildi stratio num_min_stratio <- sum(communityprices$stratio == min_stratio, na.rm = TRUE)
#birta niðurstöður range_stratio min_stratio num_min_stratio
Það er jákvætt samband milli herbergja og meðalhúsnæðisverðs. Þetta þýðir að húsnæðisverð hækkar almennt eftir því sem fjöldi herbergja eykst Það er þó ekki beint línulegt samband, þannig það virðist vera sterkara þegar fjöldi herbergja fer yfir 6.
#teikna scatter plot fyrir price og rooms ggplot(communityprices, aes(x = rooms, y = price))+ geom_point(color= “blue”)+ labs(title = “Samband milli fjölda herbergja og húsnæðisverðs”, x = “meðalfjöldi herbergja”, y = “meðalhúsnæðisverðs”)+ theme_minimal()
(b)Metið einfalda línulega líkanið: pricei = β0 + β1roomsi + ui Skrið niðurstöðuna á jöfnuformi, teiknið línuna inn á myndina úr (a) og túlkið stuðlamatið fyrir β0 og β1. (4)
pricei = −34796.2 + 9119.5 ⋅ roomsi + ui
Túlkun: Þetta þýðir að grunnverðið (rooms = 0) er neikvætt, sem er ekki hægt, en lýsir skurðpunktinum við y ásinn. Meðalhúsnæðisverðið hækkar að jafnaði um 9119.5$ fyrir hvert herbergi í viðbót
#teikna scatter plot með líkanslínunni ggplot(communityprices, aes(x=rooms, y = price))+ geom_point(color = “blue”)+ geom_smooth(method = “lm”, color= “red”, se = FALSE)+ labs(title = “línulegt líkan af sambandi milli fjölda herbergja og húsnæðisverðs”,x = “meðalfjöldi herbergja”, y = “meðalhúsnæðisverð”)+ theme_minimal()
model <- lm(price ~ rooms, data = communityprices) summary(model)
(c)Hver er útskýringarmáttur líkansins og hvað segir sú tala okkur? (2) úskýringamáttur líkansins er R^2 = 0.4841, sem þýðir að 48.41% af breytileikanum í meðalhúsnæðsverði er útskýrður með meðalfjölda herbergja. Þetta segir okkur það að fjöldi herbergja sé mikilvægur þáttur í að ákvarða húsnæðisverð, en aðrir þættir útskýra enn 51,59% af breytileikanum. Þetta bendir til þess að aðrir þættir, eins og staðsetning eða gæði húsnæðisins, hafi einnig áhrif á verðið
Stuðullin við rooms er marktækt frábrugðin núlli, þar sem p-gildið er <2e-16, sem er langt undir öllum hefðbundnum marktæknistigum (5%, 1% og 0.1%). Þetta þýðir að við getum hafnað núlltilgátunni og ályktað að fjöldi herbergja hafi marktæk áhrif á meðalhúsnæðisverð.
T- gildið var t= -2,1 og p- gildið var p=0.036. Þar sem p-gildið er minni en 0.05, getum við hafnað núlltilgátunni á 5% marktæknistigi og ályktað að stuðulinn sé marktækt frábrugðinn 10.000\(. Þetta bendir til þess að áhrif fjölda herbergja á meðalhúsnæðisverð séu lítillega minni en 10.000\) á herbergi.
#gögn úr niðurstöðunum beta1_hat <- 9119.5 # stuðlumat fyrir rooms beta1_0 <- 10000 # núllilgátan se_beta1 <- 419.3 # staðalvilla stuðulsins
#reikna t- gildið t_value <- (beta1_hat - beta1_0) / se_beta1 t_value
#fjöldi frígráða df <- 504 # Degrees of Freedom
p_value <- 2 * pt(abs(t_value), df = df, lower.tail = FALSE) p_value
samkvæmt línulega líkaninu er spáð meðalhúsnæðisverð fyrir hverfi með meðalherbergisfjölda 6 er 19920.8$. Þessi spá byggit á jákvæðu sambanid milli fjölda herbergja og meðalhúsnæðisverðs og gefur til kynna að fleiri herbergi leiði að jafnaði til hærra verðs.
#gögn ú niðurstöðum beta0 <- -34796.2 #intercept beta1 <- 9119.5 #stuðull við rooms rooms_value <- 6 #fjöldi herbergja fyrir spánna
#reikna predicted_price <- beta0 + beta1 * rooms_value predicted_price
#reikna leifaliðina og spágildin úr líkaninu residuals <- residuals(model) fitted_values <- fitted(model)
(g)Teiknið upp mynd með leifaliðina (e. residuals) á lóðrétta ásinum og spágildin (e. tted values) á lárétta ásinum og útskýrið með hjálp myndarinnar hvað leifaliðir eru. Útskýrið einnig muninn á leifaliðum og villuliðum
Leifaliðirnir dreifast í kringum núll línuna, en það er óstöðug dreifing(heteroskedasticity) þar sem dreifingin eykst með hærra spágildi.
#teikna scatter plot af leifaliðum vs spágildum library(ggplot2)
ggplot(data= NULL, aes(x= fitted_values, y= residuals))+ geom_point(color = “blue”)+ geom_hline(yintercept = 0, color = “red”, linetype = “dashed”)+ labs(title = “leifaliðir vs spágildi”, x= “spágildi”, y = “leifaliðir”)+ theme_minimal()
3.Skoðum næst líkan með eiri skýribreytum.
Metum fjölbreytulíkan þar sem Price er háða breytan og rooms, crime og nox eru skýribreyturnar.
Pricei = B0 + B1 * rooms + B2 * crimei + B3 * noxi + ui
Rooms hefur jákvæð og marktæk áhrif, sem bendir til þess að fleiri herbergi auki verðið
Crime hefur neikvæð og marktæk áhrif, sem bendir til þess að hærri glæpatíðni lækki verðið
Nox hefur neikvæð og marktæk áhrif, sem gefur til kynna að meiri mengun lækki verðið
Útskýringarmáttur líkansins er hærri en í fyrra líkaninu sem þýðir að þetta líkan útskýrir breytileikann í meðalhúsnæðisverði betur.
#meta fjölbreytnilíkan með rooms, crome og nex sem skýribreytum model_multi <- lm(price ~ rooms + crime + nox, data = communityprices )
#birta niðurstöður summary(model_multi)
summary(model_multi)
Núlltilgátan var að allir stuðlarnir væri núll, sem þýðir að engin af breytunum hefði áhrif á meðalhúsnæðisverð. Gagntilgátan var að minnsta kosti einn stuðull væri ekki núll. Niðurstöðurnar voru : F = 215.9, df = 3 og 502, og p- gildi <2.2e-16. Þar sem p- gildið er langt undir 0.05 getum við hafnað núlltilgátunni og ályktað það að minnsta kosti ein breytan hafi marktæk áhrif á meðalhúsnæðisverð. Þetta þýðir að líkanið með þessum þremur breytum útskýrir verðið marktækt betur en líkan án þeirra.
Takmarkaða líkanið ( án nox og dist) Pricei = B0 + B1 * rooms + rooms + B2 * crimei + ui
Ótakmarkaða líkanið (með nox og dist) Pricei = B0+ B1 * roomsi + B2 * crime + b3 * noxi + B4 * dist + ui
Núlltilgátan var að hvorug breytan hafði áhrif á price, sem þýðir að takmarkaða líkanið með bara rooms og crime væri fullnægjandi. Gagntilgátan var að minnsta kosti ein breyta (nox eða dist) hefði áhrif á price Niðurstöðurnar voru F = 20.081, df = 2 og 501, og p-gildið = 4.08e-09. Þar sem p-gildið er langt undir 0.05, getum við hafnað núllgátunni og ályktað það að minnsta kosti ein breyta (nox eða dist) hafi marktæk áhrif á meðalhúsnæðisverð. Þetta þýðir að ótakmarkaða líkanið útskýrir verðið marktækt betur en takmarkaða líkanið, og að þessar breytur ættu að vera með í líkaninu
#ótakmarkaða líkanið (með nox og dist) model_unrestricted <- lm(price ~ rooms + crime + nox + dist, data = communityprices )
#takmarkaða líkanið (án) model_restricted <- lm(price ~ rooms + crime , data = communityprices)
#framkvæma F-próf með ANOVa anova(model_restricted, model_unrestricted)
log(pricei) = B0 + B1 * rooms + B2 * log(noxi) + B3 * log(dist) + B4 *stratioi + ui
= 11.083861 + 0.254527 * roomsi – 0.953539 * log(noxi) – 0.134339 * log(disti) – 0.052451 * stratio +ui
Rooms (0.254527) : fyrir hvert herbergi í viðbót hækkar meðlhúsnæðisverðið um 25.45% að meðaltali, allt annað óbreytt
Log(nox) (-0.953539) : fyrir 1% aukningu í mengun (nox) lækkar meðalhúsnæðisverðið um 0.95% allt annað óbreytt
Þetta sýnir að bæði fjöldi herbergja og mengun hafa marktæk áhrif á meðalhúsnæðisverð í þessu log líkani. Að auki gefur fjarlægð frá atvinnukjarna og hlutfall nemanda á hvern kennara einnig neikvæð áhrif á verðið
Pricei = 120386.8 – 24993.1 * roomsi + 2477.3 * rooms^2 – 3086.5 * noxi – 723.5 * disti – 1082.9 * stratioi + ui
Til að meta áhrifin af því að auka meðalherbergjafjöldan um einn notum við jaðarbreytinguna
dpricei / droomsi = -24993.1 + 2 * 2477.3 * roomsi
Þetta sýnir að áhrifin af því að bæta við einu herbergi eru ólínuleg og háð fjölda herbergja
Fyrir 6 herbergi hækkar verðið um 4734.5$ Fyrir 8 herbergi hækkar verðið um 14643.7$
Þetta bendir til hnignandi jaðarhagnaðar þar sem fleiri herbergi auka verðið, en jaðarhagnaðurinn eykst þegar fjöldinn verður meiri. Þetta þýðir að stærri húsnæði verða að jafnaði meira virði en minni húsnæði, sérstaklega þegar fjöldinn fer yfir ákveðið stig.
meðalhúsnlæðisverðið sem er spáð er 7033.9. Þetta gildi sýnir veðalverðið samkvæmt líkaninu og gefur til kynna áætlað verð fyrir hverfi með þessum aðstæðum. Þetta er byggt á þeim tenglsum sem líkanið finnur milli þessara breytna og meðalhúsnæðisverðs