R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Including Plots

You can also embed plots, for example:

dati <- read.csv(“realestate_texas.csv”,sep=“,”,encoding = “utf-8”) str(dati) install.packages(“moments”) library(moments) install.packages(“ggplot2”) library(ggplot2) library(dplyr)

#ANALISI DELLE VARIABILI

#il file di partenza presenta 8 diverse variabili:

Identificazione delle variabili:

#Variabili qualitativse: la variabile city identifica l’area geografica #e permette segmentazioni territoriali.

#Variabili quantitative discrete: le variabili year, month, sales e #listings rappresentano rispettivamente #la dimensione temporale e dati numerici discreti relativi al #numero di vendite e inserzioni attive.

#Variabili quantitative continue: le variabili volume, median_price #e months_inventory misurano #rispettivamente il valore complessivo delle operazioni, il prezzo mediano e #il tempo medio di permanenza delle proprietà sul mercato.

#Gestione delle variabili temporali:

#La dimensione temporale è rappresentata dalle variabili year e month, #fondamentali per l’analisi delle dinamiche di mercato.

#year consente di studiare l’andamento pluriennale di vendite e prezzi, #fornendo informazioni sui trend a lungo termine.

#month consente invece un’analisi più dettagliata a livello mensile, #utile per identificare stagionalità e fluttuazioni periodiche.

#La variabile months_inventory è particolarmente rilevante se #analizzata nel tempo e insieme a listings, #in quanto riflette l’equilibrio tra domanda e offerta.

#Tipi di analisi e visualizzazione:

#Le analisi svolte includono:

#city: analisi di segmentazione territoriale e confronto tra aree geografiche.

#year e month: analisi di trend pluriennali e stagionalità mensile, #con possibile uso di modelli di serie temporali.

#sales e listings: analisi della dinamica di mercato in termini #di domanda e offerta, confronto tra periodi.

#median_price: analisi dei prezzi medi immobiliari, variazioni #spaziali e temporali.

#months_inventory: valutazione della liquidità del mercato, #tempi medi di vendita e equilibrio domanda-offerta.

#L’utilizzo di grafici a linee per rappresentare l’andamento #temporale di variabili come months_inventory e listings, #consentendo il confronto diretto tramite doppie serie.

#L’applicazione del line chart anche ad altre variabili temporali #come year, median_price e sales per evidenziare trend o cambiamenti.

#L’eventuale calcolo di misure di correlazione per quantificare #le relazioni tra variabili.

#INDICI DI POSIZIONE, VARIABILITAì E FORMA attach(dati) #Per le variabili quantitative discrete sales e listings ha senso #calcolare gli indici di posizione, la variabilità e le misure sulla forma.

mean_sales<-mean(sales) median_sales<-median(sales) var_sales<-var(sales) sd_sales<-sd(sales) skewness_sales<-skewness(sales) curtosi_sales<-kurtosis(sales)-3 #essendo la media maggiore della mediana si può ipotizzare una distribuzione #asimmentrica positiva della variabiale sales #la deviazione è abbastanza elevata rispetto alla media, si può segnalare una #variabilità significativa delle vendite #una skewness positiva conferma una distribuzione asimmetrca positiva #un coefficiente di curtosi negativo suggerisce una distribuzione Platicurtica

mean_listings<-mean(listings) median_listings<-median(listings) var_listings<-var(listings) sd_listings<-sd(listings) skewness_listings<-skewness(listings) curtosi_listings<-kurtosis(listings)-3 #essendo la media maggiore della mediana si può ipotizzare una distribuzione #asimmentrica positiva della variabiale listings #la deviazione è abbastanza elevata rispetto alla media, si può segnalare una #variabilità significativa del numero totale di annunci attivi ogni mese #una skewness positiva conferma una distribuzione asimmetrca positiva #un coefficiente di curtosi negativo suggerisce una distribuzione Platicurtica

#per le variabili year e month non ha senso calcolare indici di forma e #variabilità table(month) table(year) #ossevando i valori ottenuti per ogni mese e anno è stato considerato #lo stesso numero di osservazioni

#per le variabili quantitative continue

#volume: mean_volume<-mean(volume) median_volume<-median(volume) var_volume<-var(volume) sd_volume<-sd(volume) skewness_volume<-skewness(volume) curtosi_volume<-kurtosis(volume)-3 #essendo skewness positiva la distribuzione è asimmetrica positiva #mentre la curtosi positiva suggerisce una distribuzione leptocurtica

#months_inventory mean_months_inventory<-mean(months_inventory) median_months_inventory<-median(months_inventory) var_months_inventory<-var(months_inventory) sd_months_inventory<-sd(months_inventory) skewness_months_inventory<-skewness(months_inventory) curtosi_months_inventory<-kurtosis(months_inventory)-3 #essendo skewness positiva la distribuzione è asimmetrica positiva #mentre la curtosi negativa suggerisce una distribuzione platicurtica

#median_price: mean_median_price<-mean(median_price) median_median_price<-median(median_price) var_median_price<-var(median_price) sd_median_price<-sd(median_price) skewness_median_price<-skewness(median_price) curtosi_median_price<-kurtosis(median_price)-3 #essendo skewness negativa la distribuzione è asimmetrica negativa #mentre la curtosi negativa suggerisce una distribuzione platicurtica

table(city) #nel databese sono state prese lo tsesso numeor di osservazioni #per ogni città

#IDENTIFICAZIONE DELLE VARIABILI CON MAGGIORE VARIABILITA’ E ASIMMETRIA

#calcolo coefficiente di variazione cv_listings<-sd_listings/mean_listings cv_median_price<-sd_median_price/mean_median_price cv_months_inventory<-sd_months_inventory/mean_months_inventory cv_sales<-sd_sales/mean_sales cv_volume<-sd_volume/mean_volume

#La variabile volume presenta la più alta variabilità relativa, #come evidenziato dal coefficiente di variazione elevato. #Questo indica che i valori di volume sono molto dispersi rispetto #alla loro media, suggerendo una grande variabilità nella dimensione #finanziaria delle operazioni immobiliari nel dataset.

#La stessa variabile volume mostra anche la distribuzione più asimmetrica, #con la skewness positiva più alta in valore assoluto. #Ciò indica che i dati sono inclinati verso valori elevati (coda a destra), #il che potrebbe riflettere la presenza di alcune transazioni immobiliari #particolarmente rilevanti che influenzano la distribuzione complessiva.

#In sintesi, volume ha sia alta variabilità che una forte asimmetria positiva, #elementi che indicano una distribuzione non simmetrica e molto dispersa. #Questi risultati suggeriscono la necessità di ulteriori analisi, #come la considerazione di trasformazioni o l’analisi di eventuali outlier, #per meglio comprendere la natura della variabilità.

#CREAZIONE DI CLASSI PER UNA VARIABILE QUANTITATIVA #suddivisione in intervalli della variabile median_price max_median_price<-max(median_price) min_median_price<-min(median_price)

breaks <- seq(min(median_price), max(median_price), length.out=6) # 5 classi median_price_class <- cut(median_price, breaks=breaks, include.lowest=TRUE, right=FALSE)

N <- nrow(dati) # numero osservazioni ni <- table(median_price_class) # frequenza assoluta fi <- ni / N # frequenza relativa Ni <- cumsum(ni) # frequenza assoluta cumulata Fi <- Ni / N # frequenza relativa cumulata

distr_freq<-as.data.frame(cbind(ni,fi,Ni,Fi))

ggplot(data = distr_freq) + geom_col(aes(x=rownames(distr_freq), y=fi), col=“red”, fill=“darkblue”) + labs(x=“Classi di median_price”, y=“Frequenze relative”, title=“Distribuzione di frequenze di median_price”) + theme_bw() + theme(axis.text.x = element_text(angle=45, hjust=1)) + scale_y_continuous(breaks = seq(0,1,0.1)) #Questo andamento delineato dalle frequenze relative rivela una #distribuzione di median_price piuttosto sbilanciata: #la maggior parte delle case si concentra nelle prime due classi #mentre le altre classi hanno frequenze inferiori,con una risalita #moderata nell’ultima classe.

#indice di Gini per la variabile median_price G_medina_price<-(1-sum((fi)^2))/((5-1)/5) #l’indice di Gini conferma una distribuzione non uniforme.I prezzi mediani #si concentrano prevalentemente nei primi due intervalli.

#Questa suddivisione suggerisce che il mercato offre prevalentemente immobili #a prezzi contenuti,forse associati a una domanda maggiore per quelle fasce.

#un aumento della frequenza per la quinta classe, rispetto alla terza e #alla quarta può dimostrare una nicchia di mercato caratterizzata #da clienti con capacità di spesa elevata.

#CALCOLO DELLA PROBRAILITA’ cont_Beaumont <- sum(city == “Beaumont”) cont_july <- sum(month == 7) cont_december_2012 <- sum(month==12 & year==2012)

probability_beaumont <- cont_Beaumont / N probability_july <- cont_july/N probability_december_2012 <- cont_december_2012/N

#CREAZIONE DI NUOVE VARIABILI dati_nuovo <- dati %>% mutate( prezzo_medio = (volume * 10^6) / sales, efficacia_annunci = sales / listings )

attach(dati_nuovo) mean_prezzo_medio <- mean(prezzo_medio) mean_efficacia_anunci <- mean(efficacia_annunci)

#alla base dei risultati ottenuti, confrontando il valore medio della mediana #dei prezzi e il valore medio appena calcolato, poso suggerire che ci sono #prezzi di immobili che fanno scostare il valore della media dei prezzi, #dimontrando che la mediana è più robusta in presenza di valori alti.

#Mentre un valore dello 0.11 della media della variabile efficacia_annunci, #mostra che circa il 10% degli annunci viene tradotto in vendite

#ANALISI CONDIZIONATA

summary_stats <- dati_nuovo %>% group_by(city, year, month) %>% # step 1: raggruppa dati per city, year, month summarise( media_prezzo = mean(prezzo_medio, na.rm = TRUE),# calcola media prezzo medio ponderato per gruppo sd_prezzo = sd(prezzo_medio, na.rm = TRUE),# calcola deviazione standard del prezzo media_efficacia = mean(efficacia_annunci, na.rm = TRUE),# media efficacia annunci per gruppo sd_efficacia = sd(efficacia_annunci, na.rm = TRUE)# deviazione standard efficacia annunci ) %>% ungroup()

ggplot(data=summary_stats) + geom_line(aes(x = month, y = media_prezzo, color = city, group = city)) + facet_wrap(~ year) + labs(title = “Andamento del prezzo medio per città e mese”, x = “Mese”, y = “Prezzo medio”) + theme_minimal() + scale_x_continuous(breaks = seq(0,12,1))

#Obiettivo del grafico: #L’obiettivo del grafico è mostrare l’andamento della media del prezzo degli immobili per città #e mese nell’arco degli anni considerati.

#Variabili utilizzate: #Sono state considerate come variabili la media del prezzo, la suddivisione per città, anno e mese. Al fine di #cercare di osservare dei trand o dei pattern ricorrenti

#Trend generale della media prezzo: #La media del prezzo degli immobili mostra un andamento altalenante nel corso degli anni, #con fasi di crescita e fasi di diminuzione che si alternano. Alcuni anni evidenziano aumenti più marcati, #mentre in altri la variazione risulta più contenuta.

#Differenze tra le città: #In tutti gli anni, i valori medi degli immobili a Bryan-College Station risultano i più elevati, #seguiti in ordine decrescente da Tyler, Beaumont e infine Wichita Falls, che presenta i valori medi più bassi. #Per la prima città, si osserva un trend generalmente positivo ogni anno, sebbene caratterizzato #da fluttuazioni periodiche. In particolare, tra il 2011 e il 2014 si registra una diminuzione dei #prezzi all’inizio di ogni anno, seguita da un incremento nei mesi successivi. #Per la seconda città (Tyler), non emerge un trend chiaro nei primi quattro anni, in quanto #i prezzi mostrano continui sali e scendi senza una direzione definita. #La terza città (Beaumont) presenta un prezzo mediamente costante nel tempo, pur con oscillazioni periodiche; si segnala #però un picco significativo nel 2011, tra agosto e settembre, seguito da un calo. #Infine, per l’ultima città (Wichita Falls) il trend è prevalentemente stabile, con picchi ricorrenti che si #manifestano intorno a giugno o luglio di ogni anno.

#Distribuzione stagionale: #Nell’analisi mensile, per tutte le città e in ciascun anno, si osservano valori massimi e minimi #nella media del prezzo, sebbene questi picchi si verifichino in mesi differenti a seconda della città. #Questo evidenzia una certa stagionalità nel mercato immobiliare, che può variare territorialmente.

#Osservazioni particolari: #Nel solo anno 2014 si nota un trend positivo del valore medio degli immobili per tutte le città, #ad eccezione di Wichita Falls, dove i prezzi medi rimangono pressoché costanti. #È possibile osservare che la variabilità della media prezzo tende a differire tra anni e città; in #alcuni periodi si verificano oscillazioni più accentuate, mentre in altri i valori risultano più stabili. #Questi elementi possono indicare dinamiche di mercato o influenze esterne variabili nel tempo.

ggplot(data=summary_stats) + geom_line(aes(x = month, y = media_efficacia, color = city, group = city)) + facet_wrap(~ year) + labs(title = “Andamento del’efficacia degli annunci per città e mese”, x = “Mese”, y = “media efficacia”) + theme_minimal() + scale_x_continuous(breaks = seq(0,12,1))

#Obiettivo del grafico: #L’obiettivo del grafico è mostrare l’andamento dell’efficacia media degli annunci calcolata come sales/listings, #verificare quali politiche di publicità sono state più efficaci

#Variabili utilizzate: #Come variabile principale è stata considerata la media del valore che sintetizza l’efficacia degli annunci #immobiliari, suddivisa per città, anno e mese, al fine di individuare trend o pattern ricorrenti.

#Trend generale della media dell’eficacia: #I grafici mostrano un andamento altalenante nel corso degli anni, con fasi di crescita e #di diminuzione che si alternano. In alcuni anni si evidenziano aumenti più marcati, #mentre in altri le variazioni risultano più contenute. Complessivamente, il valore medio dell’efficacia #si mantiene abbastanza costante nel tempo, ad eccezione degli annunci per gli immobili di #Bryan-College Station, dove si osserva un significativo incremento con un picco raggiunto nel 2014.

#Differenze tra le città: #Si può osservare che per la città di Bryan-College Station l’efficacia degli annunci immobiliari #cresce con un trend nettamente positivo. Partendo dal 2010, il valore dell’efficacia degli annunci #era in linea con quello delle altre città. Con l’avanzare degli anni, si possono osservare valori #sempre più elevati, con un picco nel mese di luglio del 2014. Un’altra informazione interessante è che, #in tutti gli anni considerati, il grafico mostra un massimo ricorrente intorno al mese di luglio. #Per la città di Tyler, il valore medio dell’efficacia è generalmente costante nel tempo e risulta #più basso rispetto alle altre città. Tuttavia, si evidenzia un incremento nel 2014, quando l’efficacia #raggiunge livelli simili a quelli delle altre città, fatta eccezione per Bryan-College Station. #Per la città di Beaumont, il valore medio dell’efficacia degli annunci rimane costante e piuttosto basso #nel corso degli anni, senza evidenziare particolari variazioni o picchi. Questo livello di stabilità #contrasta con le dinamiche osservate in altre città, dove si registrano fluttuazioni più marcate. #Infine, Wichita Falls mostra valori mediamente più elevati nei primi tre anni rispetto alle altre città. #Successivamente, questi valori si mantengono costanti senza aumenti significativi, ad eccezione del 2014, #quando si registra un leggero calo. Si osserva un picco interessante ad Aprile 2010 allo stesso #livello del massimo raggiunto da Bryan-College Station nel 2010.

#Distribuzione stagionale: #Analizzando la distribuzione stagionale dell’efficacia degli annunci immobiliari, si osservano #comportamenti differenti tra le città. In particolare, Bryan-College Station presenta picchi #ricorrenti intorno al mese di luglio in ogni anno considerato, evidenziando una stagionalità molto #marcata. Wichita Falls mostra una certa variabilità con sali e scendi nell’efficacia nel corso dell’anno, #soprattutto negli anni 2010, 2013 e 2014, sebbene meno pronunciati rispetto a Bryan-College Station, #fatta eccezione per il 2010. Le altre città, invece, presentano una tendenza più stabile, senza evidenti #picchi stagionali.

#Osservazioni particolari: #Le analisi evidenziano differenze significative tra le città prese in esame. #Bryan-College Station mostra un trend di crescita dell’efficacia degli annunci con un picco ricorrente #nel mese di luglio, segno di una forte stagionalità. Tyler e Beaumont presentano invece una maggiore #stabilità dei valori nel tempo, anche se nel 2014 Tyler registra un aumento che porta i suoi valori vicino a #quelli delle altre città. Wichita Falls si caratterizza per valori elevati nei primi anni, seguiti #da una stabilità con un lieve calo nel 2014. Complessivamente, le differenze osservate riflettono dinamiche #di mercato diverse con stagionalità e tendenze temporali differenti.

#CREAZIONE DI VISUALIZZAZIONOI CON GGPLOT2 ggplot(data = dati, aes(x = city, y = median_price)) + geom_boxplot(fill = “lightblue”, color = “darkblue”) + labs(title = “Distribuzione del prezzo mediano per città”, x = “Città”, y = “Prezzo Mediano”) + theme_minimal() #Il boxplot confronta la distribuzione del prezzo mediano degli immobili nelle diverse città considerate. #Bryan-College Station presenta la mediana più alta, seguita da Tyler, Beaumont e Wichita Falls. #La dispersione dei prezzi è maggiore a Wichita Falls, evidenziata da una scatola più ampia e dalla presenza #di alcuni outlier, mentre Bryan-College Station mostra una distribuzione più compatta e omogenea. #Queste differenze probabilmente riflettono diversi mercati immobiliari e differenti livelli socio-economici #tra le città.

dati\(month <- factor(dati\)month, levels = c(1:12), labels = c(“gen”,“feb”,“mar”,“apr”,“may”,“jun”,“jul”,“aug”,“sep”,“oct”,“nov”,“dec”)) ggplot(dati, aes(x = city, y = sales, fill = factor(month))) + geom_bar(stat = “identity”, position = “dodge”) + labs(title = “Valore totale delle vendite per città e mese”, x = “Città”, y = “Valore Totale Vendite”, fill = “Mese”) + theme_minimal() #Il grafico a barre mostra il valore totale delle vendite immobiliari distribuito per città e mese. #Tyler presenta globalmente vendite più elevate rispetto alle altre città. In tutte le città si osserva #un picco nelle vendite durante i mesi estivi, in particolare a luglio. #Bryan-College Station è la città con maggiore variabilità, mostrando un picco nei mesi estivi e #una diminuzione nei mesi invernali. Le altre città mostrano una distribuzione di vendite più costante #nel corso dell’anno, con differenze meno marcate tra stagioni. Questi dati evidenziano una stagionalità #marcata nelle vendite immobiliari, con differenze territoriali che possono riflettere dinamiche di mercato #locali.

ggplot(data = dati, aes(x = city, y = volume,fill = factor(year))) + geom_boxplot() + labs(title = “Distribuzione del valore totale delle vendite per città e anno”, x = “Città”, y = “Valore Totale Vendite”, fill=“Anno”) + theme_minimal() #Il boxplot confronta la distribuzione del valore totale delle vendite, degli immobili #nelle diverse città considerate. #Tyler presenta la mediana più alta per tutti gli anni presi in considerazione, seguita da Bryan-College Station, #Beaumont e Wichita Falls. La dispersione dei valori è maggiore a Bryan-College Station, evidenziata da una #scatola più ampia e dalla presenza di alcuni outlier, mentre Wichita Falls mostra una distribuzione più #compatta e omogenea. #Analizzando le città di Beaumont, Bryan-College Station e Tyler, si nota che dal 2013 il valore totale #delle vendite è aumentato progressivamente ogni anno. In particolare, Tyler ha mostrato una crescita #costante dal 2011, raggiungendo il massimo valore mediano nel 2014. #Al contrario, Wichita Falls ha avuto un comportamento diverso, con il valore mediano relativamente #costante negli anni e i livelli più bassi rispetto alle altre città.

ggplot(dati, aes(x = month, y = sales, fill = city)) + geom_bar(stat = “identity”, position = “stack”) + labs(title = “Totale vendite per mese e città”, x = “Mese”, y = “Valore totale vendite”, fill = “Città”) + theme_minimal()

ggplot(dati, aes(x = month, y = sales, fill = city)) + geom_bar(stat = “identity”, position = “fill”) + labs(title = “Composizione percentuale delle vendite per mese e città”, x = “Mese”, y = “Proporzione vendite”, fill = “Città”) + theme_minimal() #Tyler presenta complessivamente vendite più elevate rispetto alle altre città. #n tutte le località si osserva un picco nelle vendite durante i mesi estivi. Bryan-College Station #mostra la maggiore variabilità, con un picco pronunciato nei mesi estivi e un calo nei mesi invernali. #Le altre città invece presentano una distribuzione delle vendite più uniforme nel corso dell’anno, con #differenze stagionali meno marcate. #Questi dati evidenziano una stagionalità ben definita nelle transazioni immobiliari, #accompagnata da differenze territoriali che possono riflettere le dinamiche specifiche del mercato locale.

ggplot(dati, aes(x = month, y = sales, fill = city)) + geom_bar(stat = “identity”, position = “stack”) + facet_wrap(~ year) + labs(title = “Totale vendite per mese e città, diviso per anno”, x = “Mese”, y = “Valore totale vendite”, fill = “Città”) + theme_minimal() #confrontando le vendite totali in ogni citta di ogni anno si può osservare un trend complpessivo per ogni città #crescente. L’andamento dell’altezza delle barre nell’anno è a campana, con picco nei mesi estivi, solo nel 2010 #il picco delle vendite è arrivato nei mesi di aprile e maggio.

ggplot(dati, aes(x = month, y = sales, color = city, group = city)) + geom_line() + facet_wrap(~ year) + labs(title = “Totale vendite per mese, città e anno”, x = “Mese”, y = “Valore totale vendite”, color = “Città”) + theme_minimal()

#CONCLUSIONI

1) Il mercato immobiliare presenta una distribuzione dei prezzi mediani non uniforme, con una concentrazione prevalente

#nelle fasce di prezzo più basse e una nicchia di mercato ad alta capacità di spesa.

2) La mediana si conferma una misura più robusta rispetto alla media per descrivere i prezzi, dato l’effetto degli outlier sui valori medi.

#3)L’andamento medio del prezzo immobiliare e l’efficacia degli annunci variano significativamente nel tempo e tra le diverse città, mostrando trend specifici e stagionalità marcate.

#4)Bryan-College Station si distingue con i prezzi più alti, una crescita positiva dell’efficacia degli annunci e una stagionalità evidente nei mesi estivi, in particolare luglio.

#5)Tyler evidenzia vendite totali più elevate e una crescita costante del valore delle vendite nel tempo.

#6)Le altre città mostrano trend più stabili o variabili localmente, con differenze territoriali legate a mercati e dinamiche socio-economiche distinte.

#7) La stagionalità delle vendite immobiliari è consolidata, con picchi nei mesi estivi generalizzati, ma si manifestano anche variazioni specifiche per singole città e anni.

#RACCOMANDAZIONI

#1)Sfruttare l’analisi della stagionalità per ottimizzare le campagne di marketing e le strategie di vendita, adattandole alle dinamiche temporali e territoriali.

#2)Investire in strategie pubblicitarie mirate, in particolare nelle città con efficacia degli annunci in crescita come Bryan-College Station.

#3)Tenere conto delle differenze di mercato tra città, personalizzando offerte e promozioni in base al contesto locale.

```

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.