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:
- Comprendre els conceptes bàsics de la regressió.
- Realitzar una regressió lineal simple i múltiple en MATLAB.
- Interpretar els resultats de la regressió.
- Visualitzar els resultats de la regressió.
- 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
Pas 2: Ajustar el Model de Regressió
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
Pas 2: Ajustar el Model de Regressió
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
Pas 2: Definir el Model No Lineal
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:
Tasques:
- Ajusta un model de regressió lineal simple a les dades.
- Visualitza les dades i la línia de regressió.
- 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:
- Ajusta un model de regressió lineal múltiple a les dades.
- 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.
Curs de Programació en MATLAB
Mòdul 1: Introducció a MATLAB
- Començant amb MATLAB
- Interfície i Entorn de MATLAB
- Comandes i Sintaxi Bàsiques
- Variables i Tipus de Dades
- Operacions i Funcions Bàsiques
Mòdul 2: Vectors i Matrius
- Creació de Vectors i Matrius
- Operacions amb Matrius
- Indexació i Segmentació
- Funcions de Matrius
- Àlgebra Lineal en MATLAB
Mòdul 3: Estructures de Programació
- Flux de Control: if, else, switch
- Bucles: for, while
- Funcions: Definició i Abast
- Scripts vs. Funcions
- Depuració i Gestió d'Errors
Mòdul 4: Visualització de Dades
- Conceptes Bàsics de Gràfics
- Gràfics 2D
- Gràfics 3D
- Personalització de Gràfics
- Tècniques Avançades de Gràfics
Mòdul 5: Anàlisi de Dades i Estadística
- Importació i Exportació de Dades
- Estadístiques Descriptives
- Preprocessament de Dades
- Anàlisi de Regressió
- Proves Estadístiques
Mòdul 6: Temes Avançats
- Entrada/Sortida de Fitxers
- Gestió de Grans Conjunts de Dades
- Tècniques d'Optimització
- Conceptes Bàsics de Simulink
- Computació Paral·lela