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.