L'anàlisi de regressió és una tècnica estadística utilitzada per modelar i analitzar la relació entre una variable dependent i una o més variables independents. Aquesta tècnica permet predir el valor de la variable dependent basant-se en els valors de les variables independents.
Objectius de l'Anàlisi de Regressió
- Comprendre la relació entre variables: Identificar com una o més variables independents afecten la variable dependent.
- Predicció: Utilitzar el model de regressió per predir valors futurs de la variable dependent.
- Control de factors: Aïllar l'efecte d'una variable independent mentre es controlen altres variables.
Tipus de Regressió
- Regressió Lineal Simple: Modela la relació entre una variable dependent i una sola variable independent.
- Regressió Lineal Múltiple: Modela la relació entre una variable dependent i múltiples variables independents.
- Regressió Logística: Utilitzada quan la variable dependent és categòrica.
- Regressió Polinòmica: Modela relacions no lineals entre la variable dependent i les variables independents.
Regressió Lineal Simple
Fórmula Bàsica
La fórmula de la regressió lineal simple és: \[ Y = \beta_0 + \beta_1X + \epsilon \]
On:
- \( Y \) és la variable dependent.
- \( X \) és la variable independent.
- \( \beta_0 \) és la intersecció (constant).
- \( \beta_1 \) és la pendent (coeficient de regressió).
- \( \epsilon \) és l'error residual.
Exemple Pràctic
Suposem que volem predir el pes d'una persona basant-nos en la seva alçada. Tenim les següents dades:
Alçada (cm) | Pes (kg) |
---|---|
150 | 50 |
160 | 55 |
170 | 65 |
180 | 70 |
190 | 80 |
Podem utilitzar la regressió lineal per trobar la relació entre l'alçada i el pes.
Codi en Python
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression # Dades alçada = np.array([150, 160, 170, 180, 190]).reshape(-1, 1) pes = np.array([50, 55, 65, 70, 80]) # Crear el model de regressió lineal model = LinearRegression() model.fit(alçada, pes) # Prediccions pes_pred = model.predict(alçada) # Visualització plt.scatter(alçada, pes, color='blue', label='Dades Reals') plt.plot(alçada, pes_pred, color='red', label='Línia de Regressió') plt.xlabel('Alçada (cm)') plt.ylabel('Pes (kg)') plt.legend() plt.show() # Coeficients print(f'Intersecció (β0): {model.intercept_}') print(f'Pendent (β1): {model.coef_[0]}')
Explicació del Codi
- Importació de Llibreries: Importem les llibreries necessàries per a la regressió lineal i la visualització.
- Dades: Definim les dades d'alçada i pes.
- Model de Regressió: Creem un model de regressió lineal i l'ajustem a les dades.
- Prediccions: Utilitzem el model per predir els valors de pes basant-nos en les alçades.
- Visualització: Plotejem les dades reals i la línia de regressió.
- Coeficients: Imprimim els coeficients de la regressió (intersecció i pendent).
Exercici Pràctic
Exercici
Utilitza la regressió lineal per predir el preu d'una casa basant-te en la seva superfície. Utilitza les següents dades:
Superfície (m²) | Preu (milers €) |
---|---|
50 | 150 |
60 | 160 |
70 | 180 |
80 | 200 |
90 | 220 |
Solució
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression # Dades superficie = np.array([50, 60, 70, 80, 90]).reshape(-1, 1) preu = np.array([150, 160, 180, 200, 220]) # Crear el model de regressió lineal model = LinearRegression() model.fit(superficie, preu) # Prediccions preu_pred = model.predict(superficie) # Visualització plt.scatter(superficie, preu, color='blue', label='Dades Reals') plt.plot(superficie, preu_pred, color='red', label='Línia de Regressió') plt.xlabel('Superfície (m²)') plt.ylabel('Preu (milers €)') plt.legend() plt.show() # Coeficients print(f'Intersecció (β0): {model.intercept_}') print(f'Pendent (β1): {model.coef_[0]}')
Explicació de la Solució
- Dades: Definim les dades de superfície i preu.
- Model de Regressió: Creem un model de regressió lineal i l'ajustem a les dades.
- Prediccions: Utilitzem el model per predir els valors de preu basant-nos en les superfícies.
- Visualització: Plotejem les dades reals i la línia de regressió.
- Coeficients: Imprimim els coeficients de la regressió (intersecció i pendent).
Errors Comuns i Consells
- Multicolinealitat: En la regressió múltiple, assegura't que les variables independents no estiguin altament correlacionades entre elles.
- Outliers: Els valors atípics poden distorsionar el model de regressió. Considera eliminar o tractar aquests valors.
- Assumpcions del Model: Verifica que les assumpcions de la regressió lineal (linealitat, independència, homocedasticitat, normalitat dels errors) es compleixin.
Conclusió
L'anàlisi de regressió és una eina poderosa per comprendre i predir relacions entre variables. Amb la pràctica i la comprensió de les seves assumpcions i limitacions, es pot utilitzar eficaçment en una àmplia varietat de camps.