En aquest tema, explorarem dos dels models estadístics més utilitzats en l'anàlisi de dades: la regressió lineal i la regressió logística. Aquests models són fonamentals per a la predicció i la classificació, respectivament, i són àmpliament utilitzats en diverses aplicacions del món real.
- Regressió Lineal
1.1. Conceptes Bàsics
La regressió lineal és una tècnica estadística que s'utilitza per modelar la relació entre una variable dependent (Y) i una o més variables independents (X). L'objectiu és trobar la línia que millor s'ajusti a les dades.
Fórmula de la Regressió Lineal Simple
\[ Y = \beta_0 + \beta_1X + \epsilon \]
On:
- \( Y \) és la variable dependent.
- \( X \) és la variable independent.
- \( \beta_0 \) és la intersecció (el valor de Y quan X és 0).
- \( \beta_1 \) és la pendent de la línia (el canvi en Y per unitat de canvi en X).
- \( \epsilon \) és l'error residual.
1.2. Exemple Pràctic
Suposem que volem predir el preu d'una casa en funció de la seva mida (en peus quadrats).
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression # Dades d'exemple X = np.array([1500, 1600, 1700, 1800, 1900]).reshape(-1, 1) Y = np.array([300000, 320000, 340000, 360000, 380000]) # Crear el model de regressió lineal model = LinearRegression() model.fit(X, Y) # Prediccions Y_pred = model.predict(X) # Visualització plt.scatter(X, Y, color='blue') plt.plot(X, Y_pred, color='red') plt.xlabel('Mida (peus quadrats)') plt.ylabel('Preu ($)') plt.title('Regressió Lineal: Preu vs Mida') plt.show()
1.3. Interpretació dels Resultats
- Intersecció (\(\beta_0\)): El valor predit del preu de la casa quan la mida és 0 (no té sentit pràctic en aquest cas, però és part del model).
- Pendent (\(\beta_1\)): El canvi en el preu de la casa per cada unitat addicional de mida.
1.4. Mètriques d'Avaluació
- Coeficient de Determinació (R²): Mesura la proporció de la variació en la variable dependent que és predita per les variables independents.
- Regressió Logística
2.1. Conceptes Bàsics
La regressió logística s'utilitza per modelar la probabilitat d'un esdeveniment binari (per exemple, èxit/fallida, sí/no). La sortida del model és una probabilitat que es pot convertir en una classificació binària.
Fórmula de la Regressió Logística
\[ P(Y=1|X) = \frac{1}{1 + e^{-(\beta_0 + \beta_1X)}} \]
On:
- \( P(Y=1|X) \) és la probabilitat que l'esdeveniment Y ocorri donat X.
- \( \beta_0 \) és la intersecció.
- \( \beta_1 \) és el coeficient de la variable independent.
2.2. Exemple Pràctic
Suposem que volem predir si un estudiant passarà o no un examen en funció de les hores d'estudi.
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LogisticRegression # Dades d'exemple X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1) Y = np.array([0, 0, 0, 1, 1]) # Crear el model de regressió logística model = LogisticRegression() model.fit(X, Y) # Prediccions Y_pred = model.predict(X) Y_prob = model.predict_proba(X)[:, 1] # Visualització plt.scatter(X, Y, color='blue') plt.plot(X, Y_prob, color='red') plt.xlabel('Hores d\'estudi') plt.ylabel('Probabilitat de passar') plt.title('Regressió Logística: Passar vs Hores d\'estudi') plt.show()
2.3. Interpretació dels Resultats
- Intersecció (\(\beta_0\)): El valor log-odds de passar l'examen quan les hores d'estudi són 0.
- Coeficient (\(\beta_1\)): El canvi en els log-odds de passar l'examen per cada hora addicional d'estudi.
2.4. Mètriques d'Avaluació
- Precisió: Proporció de prediccions correctes.
- Matriu de Confusió: Taula que descriu el rendiment del model de classificació.
from sklearn.metrics import accuracy_score, confusion_matrix accuracy = accuracy_score(Y, Y_pred) conf_matrix = confusion_matrix(Y, Y_pred) print(f'Precisió: {accuracy}') print(f'Matriu de Confusió:\n{conf_matrix}')
Exercicis Pràctics
Exercici 1: Regressió Lineal
Utilitza el conjunt de dades Boston Housing
de la biblioteca sklearn
per construir un model de regressió lineal que prediu el preu de les cases basat en les característiques disponibles.
Exercici 2: Regressió Logística
Utilitza el conjunt de dades Iris
de la biblioteca sklearn
per construir un model de regressió logística que classifiqui si una flor és de la classe Iris-Virginica
o no basat en les característiques disponibles.
Conclusió
En aquesta secció, hem après els conceptes bàsics de la regressió lineal i logística, hem vist exemples pràctics de com implementar aquests models utilitzant Python i hem explorat les mètriques d'avaluació per avaluar el rendiment dels models. Aquestes tècniques són fonamentals en l'anàlisi de dades i proporcionen una base sòlida per a la predicció i la classificació.
En el següent tema, explorarem altres models com els arbres de decisió i els boscos aleatoris, que són tècniques més avançades per a la modelització de dades.
Curs d'Anàlisi de Dades
Mòdul 1: Introducció a l'Anàlisi de Dades
- Conceptes Bàsics d'Anàlisi de Dades
- Importància de l'Anàlisi de Dades en la Presa de Decisions
- Eines i Programari Comunament Utilitzats
Mòdul 2: Recol·lecció i Preparació de Dades
- Fonts de Dades i Mètodes de Recol·lecció
- Neteja de Dades: Identificació i Gestió de Dades Faltants
- Transformació i Normalització de Dades
Mòdul 3: Exploració de Dades
- Anàlisi Exploratori de Dades (EDA)
- Visualització de Dades: Gràfics i Taules
- Detecció de Patrons i Tendències
Mòdul 4: Modelatge de Dades
- Introducció als Models Estadístics
- Regressió Lineal i Logística
- Arbres de Decisió i Boscos Aleatoris
Mòdul 5: Avaluació i Validació de Models
- Mètriques d'Avaluació de Models
- Validació Creuada i Tècniques de Validació
- Ajust i Optimització de Models
Mòdul 6: Implementació i Comunicació de Resultats
- Implementació de Models en Producció
- Comunicació de Resultats a Parts Interessades
- Documentació i Informes