Introducció

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. En MATLAB, hi ha diverses funcions i eines que faciliten la realització d'anàlisis de regressió, tant lineals com no lineals.

Objectius

En aquest tema, aprendràs a:

  1. Comprendre els conceptes bàsics de la regressió.
  2. Realitzar una regressió lineal simple i múltiple en MATLAB.
  3. Interpretar els resultats de la regressió.
  4. Visualitzar els resultats de la regressió.
  5. Realitzar una regressió no lineal.

Conceptes Bàsics de Regressió

Regressió Lineal Simple

La regressió lineal simple modela la relació entre una variable dependent \( y \) i una variable independent \( x \) mitjançant una línia recta: \[ y = \beta_0 + \beta_1 x + \epsilon \] on:

  • \( \beta_0 \) és la intersecció (intercept).
  • \( \beta_1 \) és la pendent (slope).
  • \( \epsilon \) és l'error residual.

Regressió Lineal Múltiple

La regressió lineal múltiple estén la regressió lineal simple per incloure múltiples variables independents: \[ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_n x_n + \epsilon \]

Realització de Regressió Lineal en MATLAB

Exemple Pràctic: Regressió Lineal Simple

Pas 1: Preparació de les Dades

% Dades d'exemple
x = [1, 2, 3, 4, 5];
y = [2, 4, 5, 4, 5];

Pas 2: Ajustar el Model de Regressió

% Ajustar el model de regressió lineal
p = polyfit(x, y, 1);

Pas 3: Visualitzar els Resultats

% Generar valors predits
y_fit = polyval(p, x);

% Visualitzar les dades i la línia de regressió
figure;
plot(x, y, 'o'); % Dades originals
hold on;
plot(x, y_fit, '-'); % Línia de regressió
xlabel('Variable Independent (x)');
ylabel('Variable Dependent (y)');
title('Regressió Lineal Simple');
legend('Dades', 'Línia de Regressió');
hold off;

Exemple Pràctic: Regressió Lineal Múltiple

Pas 1: Preparació de les Dades

% Dades d'exemple
X = [1, 2; 2, 3; 3, 4; 4, 5; 5, 6];
y = [2, 3, 5, 4, 6];

Pas 2: Ajustar el Model de Regressió

% Ajustar el model de regressió lineal múltiple
b = regress(y', [ones(size(X,1),1) X]);

Pas 3: Interpretar els Resultats

% Coeficients del model
intercept = b(1);
coefficients = b(2:end);
disp(['Intersecció: ', num2str(intercept)]);
disp(['Coeficients: ', num2str(coefficients')]);

Regressió No Lineal

Exemple Pràctic: Regressió No Lineal

Pas 1: Preparació de les Dades

% Dades d'exemple
x = [1, 2, 3, 4, 5];
y = [2.2, 2.8, 3.6, 4.5, 5.1];

Pas 2: Definir el Model No Lineal

% Definir el model no lineal
model = @(b,x) b(1) * exp(b(2) * x);

Pas 3: Ajustar el Model No Lineal

% Ajustar el model no lineal
beta0 = [1, 0.1]; % Valors inicials
beta = nlinfit(x, y, model, beta0);

Pas 4: Visualitzar els Resultats

% Generar valors predits
y_fit = model(beta, x);

% Visualitzar les dades i la corba de regressió
figure;
plot(x, y, 'o'); % Dades originals
hold on;
plot(x, y_fit, '-'); % Corba de regressió
xlabel('Variable Independent (x)');
ylabel('Variable Dependent (y)');
title('Regressió No Lineal');
legend('Dades', 'Corba de Regressió');
hold off;

Exercicis Pràctics

Exercici 1: Regressió Lineal Simple

Dades:

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
y = [2.3, 2.9, 3.1, 3.8, 4.2, 4.8, 5.1, 5.5, 6.0, 6.3];

Tasques:

  1. Ajusta un model de regressió lineal simple a les dades.
  2. Visualitza les dades i la línia de regressió.
  3. Interpreta els coeficients del model.

Solució:

% Ajustar el model de regressió lineal
p = polyfit(x, y, 1);

% Generar valors predits
y_fit = polyval(p, x);

% Visualitzar les dades i la línia de regressió
figure;
plot(x, y, 'o'); % Dades originals
hold on;
plot(x, y_fit, '-'); % Línia de regressió
xlabel('Variable Independent (x)');
ylabel('Variable Dependent (y)');
title('Regressió Lineal Simple');
legend('Dades', 'Línia de Regressió');
hold off;

% Interpreta els coeficients del model
intercept = p(2);
slope = p(1);
disp(['Intersecció: ', num2str(intercept)]);
disp(['Pendent: ', num2str(slope)]);

Exercici 2: Regressió Lineal Múltiple

Dades:

X = [1, 2; 2, 3; 3, 4; 4, 5; 5, 6; 6, 7; 7, 8; 8, 9; 9, 10; 10, 11];
y = [2.3, 2.9, 3.1, 3.8, 4.2, 4.8, 5.1, 5.5, 6.0, 6.3];

Tasques:

  1. Ajusta un model de regressió lineal múltiple a les dades.
  2. Interpreta els coeficients del model.

Solució:

% Ajustar el model de regressió lineal múltiple
b = regress(y', [ones(size(X,1),1) X]);

% Coeficients del model
intercept = b(1);
coefficients = b(2:end);
disp(['Intersecció: ', num2str(intercept)]);
disp(['Coeficients: ', num2str(coefficients')]);

Resum

En aquesta secció, hem après els conceptes bàsics de la regressió, com realitzar una regressió lineal simple i múltiple en MATLAB, interpretar els resultats i visualitzar-los. També hem explorat la regressió no lineal. Aquestes tècniques són fonamentals per a l'anàlisi de dades i la modelització en diverses aplicacions científiques i d'enginyeria.

© Copyright 2024. Tots els drets reservats