Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Implementacjaregresjiliniowej
21
2.4.Implementacjaregresjiliniowej
WMatlabieorazPythoniesąfunkcjewyspecjalizowanedorozwiązaniazada-
niaregresjiliniowej[2,49].JednąznichjestfunkcjaregresswMatlabieimple-
m
mentującaklasycznąmetodęnajmniejszychkwadratów
min
a
E
±
Σ
i
±
1
(
d
i
-
y
i
())
a
2
,
wktórejkażdypunktdanychwnosiswójwkładdominimalizowanejfunkcjicelu
zjednakowąwagą.JejodpowiednikwPythonieprzedstawionyjestponiżej.
MATLAB
regress.mfunkcjadokonującaregresjiliniowej
metodąLSnajmniejszychkwadratów
Python
sklearn.linear_model.LinearRegression()
zpakietuscikit-learnmodeldokonujący
regresjiliniowej:
DrugąjestfunkcjarobustfitwMatlabieorazHuberRegressorwPythonie.
Obieimplementująkrzepkąmetodęnajmniejszychkwadratów.
MATLAB
robustfit.mfunkcjastosującakrzepkąmetodę
wagowąnajmniejszychkwadratów
Python
sklearn.linear_model.HuberRegressorfunk-
cjastosującakrzepkąmetodęwagowąnajm-
niejszychkwadratów
Krzepkaimplementacjaregresjiliniowejjestodpornanadaneodstające.De-
finiujeproblemregresjijakominimalizacjęspecjalniezmodyfikowanejfunkcji
celu,uwzględniającąposzczególnepunktydanychzwagąuzależnionaodbłędu
waktualnejobserwacji
min
a
E
±
Σ
i
m
±
1
wd
i
(
i
-
y
i
()
a
)
2
(2.13)
Wzależnościtejd
iodpowiadawartościzadanejwi-tejobserwacji(i=1,2,...,m)
ay
iaktualnejwartościestymowanejy
i=X(i,:)a.Sumowaniebłędówdopaso-
waniadlakażdejobserwacjiodbywasięzwagąw
izmienianąiteracyjniewkażdej
iteracjiwtakisposób,abytłumićwpływwartościodstającychnawynikestyma-
cji.Dobórtychwagjestprzeprowadzanywtensposób,żewartościomodstającym
(owiększymaktualniebłędziedopasowania)przypisujesięmniejsząwagę.Typo-
wymprzykłademwagijestfunkcjaHubera
w
i
±
d
i
1
-
y
i
[49].
Typowewywołaniazwykłejfunkcjiregresjidlarównaniamacierzowe-
goXa=d.WMatlabieiPythoniemająpostaćjakponiżej