We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

Het doel van het artikel is om ondersteuning te bieden aan beginnende datawetenschappers. IN vorige artikel We hebben drie manieren geschetst om een ​​lineaire regressievergelijking op te lossen: analytische oplossing, gradiëntdaling, stochastische gradiëntdaling. Vervolgens hebben we voor de analytische oplossing de formule toegepast We brengen de lineaire regressievergelijking in matrixvorm. In dit artikel zullen we, zoals de titel suggereert, het gebruik van deze formule rechtvaardigen, of met andere woorden, we zullen deze zelf afleiden.

Waarom het zinvol is om extra aandacht te besteden aan de formule We brengen de lineaire regressievergelijking in matrixvorm?

Het is met de matrixvergelijking dat men in de meeste gevallen kennis begint te maken met lineaire regressie. Tegelijkertijd zijn gedetailleerde berekeningen over hoe de formule is afgeleid zeldzaam.

Wanneer studenten in machine learning-cursussen van Yandex bijvoorbeeld kennis maken met regularisatie, wordt hen aangeboden functies uit de bibliotheek te gebruiken sluw, terwijl er geen woord wordt gezegd over de matrixrepresentatie van het algoritme. Het is op dit moment dat sommige luisteraars dit probleem misschien meer in detail willen begrijpen: code schrijven zonder gebruik te maken van kant-en-klare functies. En om dit te doen, moet je de vergelijking eerst in matrixvorm presenteren met een regularisator. Dit artikel zal degenen die dergelijke vaardigheden willen beheersen, in staat stellen. Laten we beginnen.

Begincondities

Doelindicatoren

Wij hebben een aantal streefwaarden. De doelindicator kan bijvoorbeeld de prijs van elk actief zijn: olie, goud, tarwe, dollar, enz. Tegelijkertijd bedoelen we met een aantal streefindicatorwaarden het aantal waarnemingen. Dergelijke observaties zouden bijvoorbeeld de maandelijkse olieprijzen voor het jaar kunnen zijn, dat wil zeggen dat we twaalf streefwaarden zullen hebben. Laten we beginnen met het introduceren van de notatie. Laten we elke waarde van de doelindicator aanduiden als We brengen de lineaire regressievergelijking in matrixvorm. In totaal hebben we We brengen de lineaire regressievergelijking in matrixvorm waarnemingen, wat betekent dat we onze waarnemingen kunnen weergeven als We brengen de lineaire regressievergelijking in matrixvorm.

Regressoren

We gaan ervan uit dat er factoren zijn die tot op zekere hoogte de waarden van de doelindicator verklaren. De wisselkoers tussen de dollar en de roebel wordt bijvoorbeeld sterk beïnvloed door de olieprijs, de rente van de Federal Reserve, enz. Dergelijke factoren worden regressoren genoemd. Tegelijkertijd moet elke doelindicatorwaarde overeenkomen met een regressorwaarde, dat wil zeggen: als we 12 doelindicatoren hebben voor elke maand in 2018, dan zouden we ook 12 regressorwaarden moeten hebben voor dezelfde periode. Laten we de waarden van elke regressor aangeven met We brengen de lineaire regressievergelijking in matrixvorm. Laat dat in ons geval zo zijn We brengen de lineaire regressievergelijking in matrixvorm regressoren (bijv. We brengen de lineaire regressievergelijking in matrixvorm factoren die de streefindicatorwaarden beïnvloeden). Dit betekent dat onze regressoren als volgt kunnen worden weergegeven: voor de eerste regressor (bijvoorbeeld de olieprijs): We brengen de lineaire regressievergelijking in matrixvorm, voor de tweede regressor (bijvoorbeeld de Fed-rente): We brengen de lineaire regressievergelijking in matrixvorm, voor "We brengen de lineaire regressievergelijking in matrixvorm-de" regressor: We brengen de lineaire regressievergelijking in matrixvorm

Afhankelijkheid van doelindicatoren van regressoren

Laten we aannemen dat de afhankelijkheid van de doelindicator We brengen de lineaire regressievergelijking in matrixvorm van regressoren "We brengen de lineaire regressievergelijking in matrixvormDeze waarneming kan worden uitgedrukt door middel van een lineaire regressievergelijking in de vorm:

We brengen de lineaire regressievergelijking in matrixvorm

Waar We brengen de lineaire regressievergelijking in matrixvorm - "We brengen de lineaire regressievergelijking in matrixvorm-th" regressorwaarde van 1 tot We brengen de lineaire regressievergelijking in matrixvorm,

We brengen de lineaire regressievergelijking in matrixvorm — aantal regressors van 1 tot We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm — hoekcoëfficiënten, die de hoeveelheid weergeven waarmee de berekende doelindicator gemiddeld zal veranderen wanneer de regressor verandert.

Met andere woorden, wij zijn er voor iedereen (behalve We brengen de lineaire regressievergelijking in matrixvorm) van de regressor bepalen we “onze” coëfficiënt We brengen de lineaire regressievergelijking in matrixvormen vermenigvuldig vervolgens de coëfficiënten met de waarden van de regressoren "We brengen de lineaire regressievergelijking in matrixvorme" observatie, als resultaat verkrijgen we een bepaalde benadering "We brengen de lineaire regressievergelijking in matrixvorm-de" doelindicator.

Daarom moeten we dergelijke coëfficiënten selecteren We brengen de lineaire regressievergelijking in matrixvorm, waarbij de waarden van onze benaderende functie We brengen de lineaire regressievergelijking in matrixvorm zullen zo dicht mogelijk bij de streefindicatorwaarden worden geplaatst.

Beoordelen van de kwaliteit van de benaderende functie

We zullen de kwaliteitsbeoordeling van de benaderende functie bepalen met behulp van de kleinste kwadratenmethode. De kwaliteitsbeoordelingsfunctie zal in dit geval de volgende vorm aannemen:

We brengen de lineaire regressievergelijking in matrixvorm

We moeten dergelijke waarden selecteren van de coëfficiënten $w$ waarvoor de waarde We brengen de lineaire regressievergelijking in matrixvorm zal de kleinste zijn.

De vergelijking omzetten in matrixvorm

Vectorweergave

Om uw leven gemakkelijker te maken, moet u om te beginnen aandacht besteden aan de lineaire regressievergelijking en de eerste coëfficiënt opmerken We brengen de lineaire regressievergelijking in matrixvorm wordt door geen enkele regressor vermenigvuldigd. Tegelijkertijd zal, wanneer we de gegevens in matrixvorm omzetten, de bovengenoemde omstandigheid de berekeningen ernstig bemoeilijken. In dit verband wordt voorgesteld om voor de eerste coëfficiënt een andere regressor in te voeren We brengen de lineaire regressievergelijking in matrixvorm en vergelijk het met één. Of beter gezegd, elke "We brengen de lineaire regressievergelijking in matrixvormstel de e-waarde van deze regressor gelijk aan één - wanneer vermenigvuldigd met één zal er immers niets veranderen vanuit het oogpunt van het resultaat van de berekeningen, maar vanuit het oogpunt van de regels voor het product van matrices, onze kwelling zal aanzienlijk worden verminderd.

Laten we nu, om het materiaal te vereenvoudigen, voorlopig aannemen dat we er maar één hebben "We brengen de lineaire regressievergelijking in matrixvorm-de" waarneming. Stel je dan de waarden van de regressoren voor "We brengen de lineaire regressievergelijking in matrixvorm-th" waarnemingen als een vector We brengen de lineaire regressievergelijking in matrixvorm. Vector We brengen de lineaire regressievergelijking in matrixvorm heeft dimensie We brengen de lineaire regressievergelijking in matrixvormDat wil zeggen, We brengen de lineaire regressievergelijking in matrixvorm rijen en 1 kolom:

We brengen de lineaire regressievergelijking in matrixvorm

Laten we de vereiste coëfficiënten als een vector weergeven We brengen de lineaire regressievergelijking in matrixvorm, met dimensie We brengen de lineaire regressievergelijking in matrixvorm:

We brengen de lineaire regressievergelijking in matrixvorm

Lineaire regressievergelijking voor "We brengen de lineaire regressievergelijking in matrixvorm-de" waarneming zal de vorm aannemen:

We brengen de lineaire regressievergelijking in matrixvorm

De functie voor het beoordelen van de kwaliteit van een lineair model zal de vorm aannemen:

We brengen de lineaire regressievergelijking in matrixvorm

Houd er rekening mee dat we, in overeenstemming met de regels van matrixvermenigvuldiging, de vector moesten transponeren We brengen de lineaire regressievergelijking in matrixvorm.

Matrixweergave

Als resultaat van het vermenigvuldigen van vectoren krijgen we het getal: We brengen de lineaire regressievergelijking in matrixvorm, wat te verwachten is. Dit getal is de benadering "We brengen de lineaire regressievergelijking in matrixvorm-de" doelindicator. Maar we hebben niet slechts één streefwaarde, maar alle streefwaarden bij elkaar moeten brengen. Om dit te doen, laten we alles opschrijven “We brengen de lineaire regressievergelijking in matrixvorm-th" regressoren in matrixformaat We brengen de lineaire regressievergelijking in matrixvorm. De resulterende matrix heeft de dimensie We brengen de lineaire regressievergelijking in matrixvorm:

We brengen de lineaire regressievergelijking in matrixvorm

Nu zal de lineaire regressievergelijking de vorm aannemen:

We brengen de lineaire regressievergelijking in matrixvorm

Laten we de waarden van doelindicatoren aangeven (allemaal We brengen de lineaire regressievergelijking in matrixvorm) per vector We brengen de lineaire regressievergelijking in matrixvorm dimensie We brengen de lineaire regressievergelijking in matrixvorm:

We brengen de lineaire regressievergelijking in matrixvorm

Nu kunnen we de vergelijking voor het beoordelen van de kwaliteit van een lineair model in matrixformaat schrijven:

We brengen de lineaire regressievergelijking in matrixvorm

Eigenlijk verkrijgen we uit deze formule verder de ons bekende formule We brengen de lineaire regressievergelijking in matrixvorm

Hoe het gedaan wordt? De haakjes worden geopend, differentiatie wordt uitgevoerd, de resulterende uitdrukkingen worden getransformeerd, enz., en dit is precies wat we nu gaan doen.

Matrixtransformaties

Laten we de haakjes openen

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

Laten we een vergelijking voorbereiden voor differentiatie

Om dit te doen, zullen we enkele transformaties uitvoeren. Bij volgende berekeningen zal het voor ons handiger zijn als de vector We brengen de lineaire regressievergelijking in matrixvorm wordt weergegeven aan het begin van elk product in de vergelijking.

Conversie 1

We brengen de lineaire regressievergelijking in matrixvorm

Hoe is het gebeurd? Om deze vraag te beantwoorden, kijk je gewoon naar de afmetingen van de matrices die worden vermenigvuldigd en zie je dat we bij de uitvoer een getal of iets anders krijgen We brengen de lineaire regressievergelijking in matrixvorm.

Laten we de grootte van matrixuitdrukkingen opschrijven.

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

Conversie 2

We brengen de lineaire regressievergelijking in matrixvorm

Laten we het op dezelfde manier schrijven als transformatie 1

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

Aan de uitgang krijgen we een vergelijking die we moeten differentiëren:
We brengen de lineaire regressievergelijking in matrixvorm

We differentiëren de modelkwaliteitsbeoordelingsfunctie

Laten we differentiëren met betrekking tot de vector We brengen de lineaire regressievergelijking in matrixvorm:

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

Vragen waarom We brengen de lineaire regressievergelijking in matrixvorm Dat zou niet zo moeten zijn, maar we zullen de bewerkingen voor het bepalen van afgeleiden in de andere twee uitdrukkingen in meer detail onderzoeken.

Differentiatie 1

Laten we de differentiatie uitbreiden: We brengen de lineaire regressievergelijking in matrixvorm

Om de afgeleide van een matrix of vector te bepalen, moet je kijken naar wat erin zit. Laten we kijken:

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm We brengen de lineaire regressievergelijking in matrixvorm

Laten we het product van matrices aanduiden We brengen de lineaire regressievergelijking in matrixvorm via de matrix We brengen de lineaire regressievergelijking in matrixvorm. de matrix We brengen de lineaire regressievergelijking in matrixvorm vierkant en bovendien symmetrisch. Deze eigenschappen zullen later nuttig voor ons zijn, laten we ze onthouden. Matrix We brengen de lineaire regressievergelijking in matrixvorm heeft dimensie We brengen de lineaire regressievergelijking in matrixvorm:

We brengen de lineaire regressievergelijking in matrixvorm

Nu is het onze taak om de vectoren correct te vermenigvuldigen met de matrix en niet 'tweemaal twee is vijf' te krijgen, dus laten we ons concentreren en uiterst voorzichtig zijn.

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

We hebben echter een ingewikkelde uitdrukking bereikt! In feite hebben we een getal: een scalair. En nu gaan we echt verder met differentiatie. Het is noodzakelijk om voor elke coëfficiënt de afgeleide van de resulterende uitdrukking te vinden We brengen de lineaire regressievergelijking in matrixvorm en krijg de dimensievector als uitvoer We brengen de lineaire regressievergelijking in matrixvorm. Voor het geval dat, zal ik de procedures per actie opschrijven:

1) onderscheid maken door We brengen de lineaire regressievergelijking in matrixvorm, we krijgen: We brengen de lineaire regressievergelijking in matrixvorm

2) onderscheid maken door We brengen de lineaire regressievergelijking in matrixvorm, we krijgen: We brengen de lineaire regressievergelijking in matrixvorm

3) onderscheid maken door We brengen de lineaire regressievergelijking in matrixvorm, we krijgen: We brengen de lineaire regressievergelijking in matrixvorm

De uitvoer is de beloofde vector van grootte We brengen de lineaire regressievergelijking in matrixvorm:

We brengen de lineaire regressievergelijking in matrixvorm

Als je de vector beter bekijkt, zul je merken dat de linker- en corresponderende rechterelementen van de vector zo kunnen worden gegroepeerd dat als resultaat een vector kan worden geïsoleerd van de gepresenteerde vector We brengen de lineaire regressievergelijking in matrixvorm afmeting We brengen de lineaire regressievergelijking in matrixvorm. Bijvoorbeeld We brengen de lineaire regressievergelijking in matrixvorm (linkerelement van de bovenste regel van de vector) We brengen de lineaire regressievergelijking in matrixvorm (het rechterelement van de bovenste regel van de vector) kan worden weergegeven als We brengen de lineaire regressievergelijking in matrixvormEn We brengen de lineaire regressievergelijking in matrixvorm - net zo We brengen de lineaire regressievergelijking in matrixvorm enz. op elke lijn. Laten we groeperen:

We brengen de lineaire regressievergelijking in matrixvorm

Laten we de vector eruit halen We brengen de lineaire regressievergelijking in matrixvorm en bij de uitvoer krijgen we:

We brengen de lineaire regressievergelijking in matrixvorm

Laten we nu de resulterende matrix eens nader bekijken. De matrix is ​​de som van twee matrices We brengen de lineaire regressievergelijking in matrixvorm:

We brengen de lineaire regressievergelijking in matrixvorm

Laten we ons herinneren dat we iets eerder een belangrijke eigenschap van de matrix hebben opgemerkt We brengen de lineaire regressievergelijking in matrixvorm - het is symmetrisch. Op basis van deze eigenschap kunnen we vol vertrouwen zeggen dat de uitdrukking We brengen de lineaire regressievergelijking in matrixvorm is gelijk aan We brengen de lineaire regressievergelijking in matrixvorm. Dit kan eenvoudig worden geverifieerd door het product van matrices element voor element uit te breiden We brengen de lineaire regressievergelijking in matrixvorm. Dat doen we hier niet, geïnteresseerden kunnen het zelf nagaan.

Laten we terugkeren naar onze uitdrukking. Na onze transformaties is het geworden zoals wij het graag wilden zien:

We brengen de lineaire regressievergelijking in matrixvorm

We hebben dus de eerste differentiatie voltooid. Laten we verder gaan met de tweede uitdrukking.

Differentiatie 2

We brengen de lineaire regressievergelijking in matrixvorm

Laten we de gebaande paden volgen. Het zal veel korter zijn dan de vorige, dus ga niet te ver van het scherm af.

Laten we de vectoren en de matrix element voor element uitbreiden:

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

Laten we de twee een tijdje uit de berekeningen verwijderen - het speelt geen grote rol, en dan zetten we het weer op zijn plaats. Laten we de vectoren vermenigvuldigen met de matrix. Laten we eerst de matrix vermenigvuldigen We brengen de lineaire regressievergelijking in matrixvorm naar vector We brengen de lineaire regressievergelijking in matrixvorm, we hebben hier geen beperkingen. We krijgen de groottevector We brengen de lineaire regressievergelijking in matrixvorm:

We brengen de lineaire regressievergelijking in matrixvorm

Laten we de volgende actie uitvoeren: vermenigvuldig de vector We brengen de lineaire regressievergelijking in matrixvorm naar de resulterende vector. Bij de uitgang wacht het nummer op ons:

We brengen de lineaire regressievergelijking in matrixvorm

Dan gaan we het differentiëren. Aan de uitgang krijgen we een dimensievector We brengen de lineaire regressievergelijking in matrixvorm:

We brengen de lineaire regressievergelijking in matrixvorm

Doet me ergens aan denken? Dat is juist! Dit is het product van de matrix We brengen de lineaire regressievergelijking in matrixvorm naar vector We brengen de lineaire regressievergelijking in matrixvorm.

Zo is de tweede differentiatie met succes voltooid.

In plaats Output

Nu weten we hoe de gelijkheid tot stand kwam We brengen de lineaire regressievergelijking in matrixvorm.

Ten slotte zullen we een snelle manier beschrijven om basisformules te transformeren.

Laten we de kwaliteit van het model evalueren volgens de kleinste kwadratenmethode:
We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

Laten we de resulterende uitdrukking differentiëren:
We brengen de lineaire regressievergelijking in matrixvorm We brengen de lineaire regressievergelijking in matrixvorm

We brengen de lineaire regressievergelijking in matrixvorm

Literatuur

Internetbronnen:

1) habr.com/en/post/278513
2) habr.com/ru/company/ods/blog/322076
3) habr.com/en/post/307004
4) nabatchikov.com/blog/view/matrix_der

Leerboeken, verzamelingen van problemen:

1) Collegenota's over hogere wiskunde: volledige cursus / D.T. Geschreven – 4e druk. – M.: Irispers, 2006
2) Toegepaste regressieanalyse / N. Draper, G. Smith - 2e ed. – M.: Financiën en Statistiek, 1986 (vertaling uit het Engels)
3) Problemen bij het oplossen van matrixvergelijkingen:
functie-x.ru/matrix_equations.html
mathprofi.ru/deistviya_s_matricami.html


Bron: www.habr.com

Voeg een reactie