La pregunta principal plantejada en aquesta part del treball és:
“S’associa el rating dels vins amb el seu preu, i de manera separada, amb el seu any d’elaboració?”
En general ens interessa saber si el preu i l’any d’elaboració influeixen, separadament i conjuntament, en el rating dels vins espanyols i, en cas afirmatiu, en quina mesura.
Inicialment creiem que el preu i l’any d’elaboració sí que influeixen al rating dels vins.
Per respondre a la pregunta hem plantejat el contrast d’hipòtesis: H0: El preu i l’any d’elaboració no influeixen en el rating dels vins. H1: El preu i l’any d’elaboració influeixen en el rating dels vins.
Per treballar-hi hem utilitzat el conjunt de dades wines.RData extret de la pàgina kaggle. El conjunt de dades té com a variables: “winery”,“wine”,“year”,“rating”,“num_reviews”,“country”,“region”,“price”,“type”,“body”,“acidity”
A més, vam agrupar els diversos vins per any d’elaboració per a poder veure de forma més clara la influència sobre la seva valoració. Els vam separar en quatre grups:
Vins elaborats entre 2016 i 2021 (els més recents en les dades, 5 anys)
Vins elaborats entre 2001 i 2016 (15 anys)
Vins elaborats entre 1980 i 2001 (21 anys)
Vins elaborats abans del 1980 (70 anys, el primer és del 1910)
Hem dividit l’estudi en 3 parts:
-Estudi del rating segons el preu.
-Estudi del rating segons l’any d’elaboració.
-Estudi del rating segons el preu i segons l’any d’elaboració.
En les dues primeres parts hem dividit les mostres en 4 intervals i hem observat, mitjançant dos diagrames de caixes, la mitjana i la desviació típica de cada interval.
Això ens ha permès visualment si el rating incrementa a mesura que aquestes dues variables incrementen i, més importantment, amb quina consistència.
Amb la intenció de poder negar la hipòtesi nul·la hem fet una regressió lineal múltiple que, gràcies al p valor, podem amb major certesa respondre a la pregunta inicialment plantejada.
Regressio:
mis_datos <- read.csv("wines_SPA.csv")
save(mis_datos, file = "wines.RData")
m.rw = lm(rating~price+as.numeric(year), data=mis_datos)
## Warning in eval(predvars, data, env): NAs introduced by coercion
m.rw
##
## Call:
## lm(formula = rating ~ price + as.numeric(year), data = mis_datos)
##
## Coefficients:
## (Intercept) price as.numeric(year)
## 7.8628571 0.0003908 -0.0018036
summary(m.rw)
##
## Call:
## lm(formula = rating ~ price + as.numeric(year), data = mis_datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.85660 -0.04596 -0.03464 -0.02428 0.55426
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.863e+00 3.666e-01 21.447 <2e-16 ***
## price 3.908e-04 8.264e-06 47.290 <2e-16 ***
## as.numeric(year) -1.804e-03 1.820e-04 -9.911 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.09882 on 7207 degrees of freedom
## (290 observations deleted due to missingness)
## Multiple R-squared: 0.306, Adjusted R-squared: 0.3058
## F-statistic: 1589 on 2 and 7207 DF, p-value: < 2.2e-16
Diagrama de caixa preu-rating:
library(ggplot2)
library(dplyr)
mis_datos %>%
# Filtrem per assegurar que tenim preu i rating
filter(!is.na(price) & !is.na(rating)) %>%
ggplot(aes(x = cut_number(price, n = 4), y = rating)) +
geom_boxplot(fill = "orange", alpha = 0.7) +
labs(title = "Relació Preu - Rating",
subtitle = "Distribució del Rating segons el rang de preu del vi",
x = "Intervals de Preu (EUR) - (4 grups de mida igual)",
y = "Rating (Puntuació)") +
theme_minimal()
Diagrama de caixa antiguitat-rating:
library(dplyr)
any_actual <- 2025
mis_datos$year_numeric <- as.numeric(mis_datos$year)
## Warning: NAs introduced by coercion
mis_datos$antiguitat <- any_actual - mis_datos$year_numeric
mis_datos$grup_edat <- cut(mis_datos$antiguitat,
breaks = c(0, 25, 50, 75, Inf),
labels = c("0-25 anys", "25-50 anys", "50-75 anys", "+75 anys"),
include.lowest = TRUE)
mis_datos %>%
filter(!is.na(grup_edat)) %>%
ggplot(aes(x = grup_edat, y = rating)) +
geom_boxplot(fill = "steelblue", alpha = 0.7) +
labs(title = "Relació Antiguitat - Rating",
subtitle = "Classificació per rangs d'edat del vi",
x = "Anys d'antiguitat del vi",
y = "Rating") +
theme_minimal()
Com es pot veure a cada diagrama, la relació inicialment suposada sembla certa. La mitjana de rating va incrementant a mesura que incrementa l’edat del vi i el preu, i els valors en general son força consistents amb la mitjana (no gaire dispersió).
Amb un estudi més precís mitjançant la regressió lineal múltiple podem veure que, a partir dels p-valors tan petits (i molt per sota el llindar 0,5), la relació entre el rating i les variables estudiades es clara.
El coeficient de l’any (-1.804e-03) ens indica que a mesura que l’any disminueix (el vi és més vell), el rating augmenta; mentre que el coeficient del preu (3.908e-04) ens indica que a mesura que augmenta el preu, el rating també augmenta. Veiem, però que aquests coeficients són molt petits i, per tant, és una relació clara però lleugera.
Agrupar els vins per any ha permès fer més evident aquesta relació. Els valors de la regressió lineal feta amb aquest cas són molt més clars i mostren molt bé que, a mesura que augmenta l’antiguitat del vi, la seva qualitat augmenta.
En conclusió, es pot respondre afirmativament a la pregunta plantejada. Els diversos models que s’han utilitzat per a demostrar la hipòtesi sempre s’han mostrat favorables i, per tant, sembla que hi ha una relació molt propera entre l’edat del vi, el preu, i la seva valoració.