Aproksymacja 2

Transkrypt

Aproksymacja 2
Aproksymacja danych za pomocą regresji liniowej w dwóch wymiarach
Przykład wyznaczania liniowej zależności rozmiaru buta na podstawie wzrostu i masy ciała.
W wyniku wykonania procedury otrzymuje się wektor parametrów a,b,c równania z=ax+by+c.
Skrypt SciLab:
//Regresja liniowa
//Przyklad wyznaczania zaleznosci rozmiaru obuwia od wzrostu i wagi
wzrost=[170,172,175,166,183,170,173,183,186,165,158,183,178]';
waga=[65,70,65,66,93,72,68,73,80,80,70,77,80]';
obuwie=[42,42,42,37,46,40,43,45,44,38,38,43,45]';
//Przygotowanie wektorow danych do obliczen
X=[ones(wzrost), wzrost, waga];
Y=obuwie;
//Wyznaczenie wektora parametrow rownania plaszczyzny
th=inv(X'*X)*X'*Y;
//Wyzanczenie siatki punktow dziedziny do wizualizacji
wzr1=linspace(150,200,6)';
wag1=linspace(50,100,6);
[X1,Y1]=ndgrid(wzr1,wag1);
matr1=ones(X1);
//Wyznaczenie wartosci dla podanej siatki punktow
plane=th(1)*matr1+th(2)*X1+th(3)*Y1;
//Narysowanie plaszczyzny
plot3d(wzr1,wag1,plane);
Otrzymany wektor parametrów:
th =
- 10.550442
0.2926281
0.0210960
Wizualizacja płaszczyzny
aproksymującej dane pomiarowe:
Wniosek: rozmiar buta zależy przede
wszystkim od wzrostu.