Siguin X i Y dues variables aleatòries de les quals sabem que X=a*X+b i per a les quals tenim parelles de mostres {xi, yi} i = 1,..., n. Volem determinar els valors dels coeficients a i b mitjançant el mètode de la regressió lineal o mínims quadrats.
Com es fa:
polyfit(x, y, n)
que retorna els coeficients d'un polinomi de grau n
que fa l'ajust de dades (en el nostre cas, n=1
en ser una recta).corr(x, y)
i l'elevem al quadrat.Anem a fer un exemple concret per entendre-ho. Suposem que volem estudiar la posició d'un mòbil que es mou segons un moviment rectilini uniforme (MRU). En aquest cas el model lineal és x = x0 + v*t. Imaginem que hem recollit la posició x en els temps 0, 1, 2,... 10.
Introduïm-ho a Octave:
t=[0:1:10]
x=[3.5, 6.3, 8.4, 9.9, 12.0, 14.7, 15.4, 18.4, 19.7, 22.8, 23.5];
ajust = polyfit(t, x, 1)
ajust =
2.0027 4.0409
Això s'ha d'interpretar com que el terme v0=2.0027 i x0=4.0409. És a dir: x=4.0409+2.0027*t.
Fem ara les gràfiques dels punts i de la recta de regressió:
plot(t, x, 'r +');
hold on;
valorsX = polyval(ajust, t);
plot(t, valorsX ,b','LineWidth',2)
Podem fer que Octave ens presenti de forma elegant informació sobre la correlació:
R2=corr(t, x)^2 %El valor del coeficient de determinació o R^2
["Equació: " polyout(ajust, "t")] %L'equació de la recta de regressió en funció de t