
A cikk célja, hogy támogatást nyújtson a kezdő adatkutatóknak. Ebben három megoldási módszert tártunk fel a lineáris regressziós egyenlethez: analitikai megoldás, gradiens lejtős, és stochasztikus gradiens lejtős. Az analitikai megoldás esetén alkalmaztuk a következő képletet
. Ebben a cikkben, ahogyan a cím is sugallja, megindokoljuk ennek a képletnek a használatát, vagy más szóval, magunk fogjuk levezetni.
Miért érdemes fokozott figyelmet fordítani a képletre
?
A lineáris regresszióval való ismerkedés a legtöbb esetben a mátrix egyenlettel kezdődik. E közben a képlet levezetésének részletes leírása ritkán található.
Például a Yandex gépi tanulási kurzusain, amikor a résztvevőket a regularizációval ismerkednek, javasolják, hogy használják a tensorflow, ennek ellenére egy szót sem említenek az algoritmus mátrixos ábrázolásáról. Ebben a pillanatban néhány résztvevőben felmerülhet a vágy, hogy jobban megértse ezt a kérdést - kódot írni kész funkciók használata nélkül. Ehhez először a regularizálóval ellátott egyenletet mátrixos formában kell bemutatni. Ez a cikk pontosan ezt a tudást kívánja nyújtani. Kezdjünk.
Kezdő feltételek
Célértékek
Van egy sor célértékünk. Például a célérték lehet egy aktíva ára: olaj, arany, búza, dollár stb. Ezen belül a célérték sorozataként a megfigyelések számát értjük. Ezek a megfigyelések például a havi olajárak egy évre vonatkozóan, így összesen 12 célértékünk lesz. Kezdjük megjelölni a jelöléseket. Az egyes célértékeket jelöljük mint
. Összesen
megfigyelésünk van, ezért a megfigyeléseinket úgy lehet bemutatni, mint
.
regresszorok
Tekintsük úgy, hogy léteznek olyan tényezők, amelyek bizonyos mértékben magyarázzák a célmutató értékeit. Például a dollár/rubel árfolyamát erősen befolyásolja a kőolaj ára, a Fed kamatlába és így tovább. Ezeket a tényezőket regresszoroknak nevezzük. Minden célmutató értékének meg kell felelnie egy regresszor értékének, azaz ha 2018-ban 12 célmutatónk van minden hónapra, akkor 12 regresszor értékkel is kell rendelkeznünk ugyanarra az időszakra. Jelöljük meg a regresszorok értékeit a következőképpen
. Tegyük fel, hogy a mi esetünkben van
regresszor (azaz
tényezők, amelyek hatással vannak a célmutató értékeire). Tehát a regresszorainkat a következőképpen írhatjuk le: az 1. regresszor (például a kőolaj ára):
, a 2. regresszor (például a Fed kamatláb):
, a "
-ik" regresszor esetén: 
A célmutatók és a regresszorok közötti kapcsolat
Tegyük fel, hogy a célmutató
a regresszorok "
-ik" megfigyelés esetében kifejezhető egy lineáris regresszió egyenletén keresztül:

, ahol
— «
-ik" regresszor értéke 1-től
,
-ig, regresszorok száma 1-től 
-ig, az emelkedési együtthatók, amelyek azt az értéket képviselik, amellyel a számított célmutató átlagosan megváltozik a regresszor változása esetén.
Más szóval, minden (kivéve
) regresszornál meghatározzuk a "saját" együtthatónkat
, majd a regresszorok "
-ik" megfigyelésének értékeire szorozzuk az együtthatókat, így egy bizonyos megközelítést kapunk a "
-ik" célmutatóra.
Következésképpen olyan együtthatókat kell találni,
, amelyeknél a megközelítő függvényünk
a célmutatók értékeihez a lehető legközelebb helyezkedik el.
A megközelítő függvény minőségi értékelése
A megközelítő függvény minőségi értékelését a legkisebb négyzetek módszerével határozzuk meg. A minőségi értékelés funkció ilyen esetben a következő formát ölti:

Olyan $w$ együttható értékeket kell találnunk, amelyeknél az érték
a lehető legkisebb.
A egyenletet mátrix alakra alakítjuk
Vektoriális reprezentáció
Először is, hogy megkönnyítsük a dolgunkat, figyeljük meg a lineáris regresszió egyenletét, és vegyük észre, hogy az első együttható
nem szorozható meg egy regresszorral sem. Ebből a szempontból, amikor az adatokat mátrix formájába fordítjuk, a fenti körülmény megnehezíti a számításokat. Ennek kapcsán javasolt bevezetni egy új regresszort az első együtthatóhoz.
és egyenlővé tenni egyesével. Pontosabban, ezt a regresszort minden egyes „
-edik” értékét összhangba hozzuk az egyesre – hiszen ha egyesre szorozzuk, az eredményt tekintve nem változik semmi, de a mátrixszorzás szabályai szerint jelentősen csökkenthetjük szenvedéseinket.
Most, egy időre, a matériát egyszerűsítve, feltételezzük, hogy csak egy „
-edik” megfigyelésünk van. Ekkor a „
-edik” megfigyelés regresszorainak értékeit egy vektor formájában képzeljük el.
A vektor
dimenzióval rendelkezik, azaz
sorok és 1 oszlop:
Az igényelt együtthatókat vektor formájában képzeljük el,

ami dimenzióval rendelkezik.
A lineáris regresszió egyenlete az „
:

-edik” megfigyelés számára így néz ki:
A lineáris modell minőségi értékelésének funkciója így alakul:

Figyeljük meg, hogy a mátrixok szorzásának szabályai szerint szükség volt a vektor transzponálására.

Mátrixes ábrázolás
.
A vektorok szorzásának eredményeként számot kapunk:
, ami elvárható volt. Ez a szám a „
-edik” célt mutató érték közelítését jelenti. De nekünk nem egyetlen céleredmény közelítése kell, hanem mind. Ehhez rögzítenünk kell minden „
-edik” regresszort mátrix formátumban.
A kapott mátrix dimenzióval rendelkezik.
Most a lineáris regresszió egyenlete így alakul:
:

Jelöljük a célt mutató értékeket (mind

) vektorral, amely dimenzióval rendelkezik.
Most már a lineáris modell minőségi értékelésének egyenletét felírhatjuk mátrix formában:
Tulajdonképpen ebből a formulából nyerjük az ismert formulát,
:

Hogyan történik ez? Az zárójelek kiértékelése, deriválás, a kapott kifejezések átalakítása, és így tovább, éppen ezeken fogunk most dolgozni.

Mátrixes átalakítások 
Tárjuk fel a zárójeleket.
Készítsük elő az egyenletet a deriváláshoz.
Ehhez néhány átalakítást végezzünk el. A további számításokban kényelmesebb lesz, ha a vektor


minden egyes szorzás elején szerepel az egyenletben.
1. átalakítás
a mű minden részében fel fog bukkanni az egyenletben.
Átalakítás 1

Hogyan történt? A kérdés megválaszolásához elegendő megnézni a megszorozandó mátrixok méretét, és látni, hogy a kimeneten számot kapunk, vagyis
.
Rögzítsük a mátrix kifejezések méreteit.



Átalakítás 2

Hasonlóan az 1. átalakításhoz dolgozzuk ki.


A kimeneten kapott egyenletet kell differenciálnunk:

A modell minőségének értékelési funkcióját differenciáljuk.
Differenciáljunk a vektor szerint.
:




Kérdések, miért
nem merülnek fel, de a két másik kifejezés deriválási műveleteit részletesebben megvizsgáljuk.
Differenciálás 1
Hajtsuk végre a differenciálást: 
Ahhoz, hogy meghatározzuk a mátrix vagy vektor deriváltját, meg kell néznünk, mi van bennük. Nézzük:



Jelöljük a mátrixok szorzatát
a mátrix által.
A mátrix
négyzetes és ráadásul szimmetrikus. Ezek a tulajdonságok később jól jönnek, jegyezzük meg őket. A mátrix
dimenzióval rendelkezik, azaz
:

Most a feladatunk az, hogy helyesen szorozzunk vektorokat a mátrixszal, és ne kapjunk 'kettő szorozva kettő az öt', ezért koncentráljunk és legyünk nagyon figyelmesek.




Azonban, bonyolult kifejezést kaptunk! Valójában számot kaptunk — skalárt. Most pedig, igazán, áttérünk a differenciálásra. Meg kell találni a kapott kifejezés deriváltját minden egyes együtthatóra
és kimenetként egy
dimenziójú vektort kell kapnunk. Minden esetre írom le az eljárásokat:
1) differenciáljunk a
, kapjuk: 
2) differenciáljunk a
, kapjuk: 
3) differenciáljunk a
, kapjuk: 
A kimenet — ígért vektor mérete
:

Ha alaposan megnézzük a vektort, észrevehetjük, hogy a bal és a hozzá tartozó jobb vektor elemeket úgy csoportosíthatjuk, hogy végül a bemutatott vektorból kiemelhetünk egy
méretű vektort
. Például,
(a vektor felső sorának bal oldali eleme)
(a vektor felső sorának jobb oldali eleme) úgy alakítható, mint
, és
— mint
stb. minden sorra. Csoportosítsuk:

Kivesszük a vektort
és kimenetként kapjuk:

Most nézzük meg a kapott mátrixot. A mátrix két mátrix összegét képviseli
:

Emlékezzünk, hogy nemrégiben kiemeltünk egy fontos mátrix-tulajdonságot
— szimmetrikus. E tulajdonság alapján biztosan kijelenthetjük, hogy a kifejezés
egyenlő
Ez könnyen ellenőrizhető, ha elemenként megnyitjuk a mátrixok szorzatát.
Nem fogjuk ezt itt megtenni, aki szeretné, az végezhet önállóan ellenőrzést.
Térjünk vissza a kifejezésünkhöz. A transzformációink után olyan lett, amilyennek szerettük volna látni:

Tehát, az első differenciálás sikerült. Lépjünk a második kifejezésre.
Második differenciálás

Követjük a bevált utat. Sokkal rövidebb lesz, mint az előző, úgyhogy ne távolodjatok el a képernyőtől.
Elemről elemre bővítsük a vektorokat és a mátrixot:



Most egy időre eltávolítjuk a számításokból a kettest — nem játszik olyan nagy szerepet, később visszatesszük. Szorozzuk meg a vektorokat a mátrixszal. Először a mátrixot
a vektorral
, itt nincsenek korlátaink. Olyan vektort kapunk, amelynek mérete
:

Végezzük el a következő lépést — szorozzuk meg a vektort
a kapott vektorral. Az eredményül egy számot kapunk:

Azt fogjuk differenciálni. A kimenet egy bizonyos dimenziójú vektort ad.
:

Valami ismerős? Pontosan! Ez a mátrix szorzata.
a vektorral
.
Így második differenciálásunk sikeresen befejeződött.
Összegzésként
Most már tudjuk, hogyan jött létre az egyenlet.
.
Végül felvázoljuk az alapképletek átalakításának gyors módját.
Értékeljük a modellt a legkisebb négyzetek módszere szerint:


Differenciáljuk a kapott kifejezést:


Irodalom
Internet források:
1)
2)
3)
4)
Tankönyvek, feladatgyűjtemények:
1) Előadások jegyzete a magasabb matematikából: teljes kurzus / D.T. Píszmeni - 4. kiadás - M.: Ajrisz-press, 2006
2) Alkalmazott regresszióelemzés / N. Drejper, G. Smith - 2. kiadás - M.: Pénzügyek és statisztika, 1986 (angolból fordítva)
3) Mátrixegyenletek megoldásának feladatai:
Forrás: habr.com
