Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Мақаланың мақсаты – жаңадан бастаған деректер ғалымдарына қолдау көрсету. IN алдыңғы мақала Біз сызықтық регрессия теңдеуін шешудің үш әдісін атап өттік: аналитикалық шешім, градиенттің түсуі, стохастикалық градиенттің түсуі. Содан кейін аналитикалық шешім үшін формуланы қолдандық Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Бұл мақалада, тақырыбы айтып тұрғандай, біз бұл формуланы қолдануды негіздейтін боламыз немесе басқаша айтқанда, біз оны өзіміз аламыз.

Неліктен формулаға қосымша назар аударудың мағынасы бар Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз?

Матрицалық теңдеумен көп жағдайда сызықтық регрессиямен танысу басталады. Сонымен бірге формуланың қалай алынғаны туралы егжей-тегжейлі есептеулер сирек кездеседі.

Мысалы, Яндекстің машиналық оқыту курстарында студенттер регуляризациямен танысқанда, оларға кітапхананың функцияларын пайдалану ұсынылады. склерн, ал алгоритмнің матрицалық көрінісі туралы бірде-бір сөз айтылмаған. Дәл осы сәтте кейбір тыңдаушылар бұл мәселені толығырақ түсінгісі келуі мүмкін - дайын функцияларды пайдаланбай кодты жазыңыз. Ал ол үшін алдымен регуляризаторы бар теңдеуді матрицалық түрде ұсыну керек. Бұл мақала осындай дағдыларды меңгергісі келетіндерге мүмкіндік береді. Бастайық.

Бастапқы шарттар

Мақсатты индикаторлар

Бізде мақсатты мәндер ауқымы бар. Мысалы, мақсатты индикатор кез келген активтің бағасы болуы мүмкін: мұнай, алтын, бидай, доллар және т.б. Бұл ретте мақсатты индикатор мәндерінің саны арқылы біз бақылаулар санын түсінеміз. Мұндай байқаулар, мысалы, бір жылдағы мұнайдың айлық бағасы болуы мүмкін, яғни бізде 12 мақсатты мән болады. Белгілеуді енгізуді бастайық. Мақсатты индикатордың әрбір мәнін деп белгілейік Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Барлығы бізде Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз бақылаулар, яғни біз өз бақылауларымызды ретінде көрсете аламыз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз.

Регрессорлар

Белгілі бір дәрежеде мақсатты индикатордың мәндерін түсіндіретін факторлар бар деп есептейміз. Мысалы, доллар/рубль бағамына мұнай бағасы, Федералдық резерв мөлшерлемесі және т.б. қатты әсер етеді.Мұндай факторларды регрессорлар деп атайды. Бұл ретте әрбір нысаналы индикатордың мәні регрессорлық мәнге сәйкес келуі керек, яғни 12 жылы әрбір ай үшін бізде 2018 нысаналы индикатор болса, сол кезең үшін бізде де 12 регрессорлық мән болуы керек. Әрбір регрессордың мәндерін былай белгілейік Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Біздің жағдайда бар болсын Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз регрессорлар (яғни. Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз мақсатты индикатор мәндеріне әсер ететін факторлар). Бұл біздің регрессорларды келесідей көрсетуге болатынын білдіреді: 1-регрессор үшін (мысалы, мұнай бағасы): Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, 2-регрессор үшін (мысалы, ФРЖ мөлшерлемесі): Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, Үшін »Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз-th» регрессор: Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Мақсатты индикаторлардың регрессорларға тәуелділігі

Мақсатты индикатордың тәуелділігі деп есептейік Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз регрессорлардан»Сызықтық регрессия теңдеуін матрицалық түрге келтіремізth» бақылауды келесі түрдегі сызықтық регрессия теңдеуі арқылы көрсетуге болады:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

қайда Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз - «Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз-th» регрессор мәні 1-ден Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз,

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз — регрессорлар саны 1-ден Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз — регрессор өзгерген кезде есептелген мақсатты индикатордың орташа өзгеретін мөлшерін көрсететін бұрыштық коэффициенттер.

Басқаша айтқанда, біз барлығы үшін (басқа Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз) регрессордың «біздің» коэффициентін анықтаймыз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, содан кейін коэффициенттерді регрессорлардың мәндеріне көбейтіңіз »Сызықтық регрессия теңдеуін матрицалық түрге келтіремізth" бақылау, нәтижесінде біз белгілі бір жуықтау аламыз "Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз-ыншы» нысаналы индикатор.

Сондықтан біз осындай коэффициенттерді таңдауымыз керек Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, онда біздің жуықтау функциясының мәндері Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз нысаналы индикатор мәндеріне барынша жақын орналасады.

Жақындау функциясының сапасын бағалау

Ең кіші квадраттар әдісі арқылы жуықтау функциясының сапасын бағалауды анықтаймыз. Бұл жағдайда сапаны бағалау функциясы келесі формада болады:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Біз $w$ коэффициенттерінің осындай мәндерін таңдауымыз керек, олар үшін мән Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз ең кішісі болады.

Теңдеуді матрицалық түрге түрлендіру

Векторлық бейнелеу

Бастау үшін өміріңізді жеңілдету үшін сызықтық регрессия теңдеуіне назар аударыңыз және бірінші коэффициентті байқаңыз. Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз ешбір регрессорға көбейтілмейді. Сонымен бірге, деректерді матрицалық түрге түрлендіру кезінде жоғарыда аталған жағдай есептеулерді айтарлықтай қиындатады. Осыған байланысты бірінші коэффициентке тағы бір регрессорды енгізу ұсынылады Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз және оны біреуге теңестіріңіз. Дәлірек айтқанда, әрбір «Сызықтық регрессия теңдеуін матрицалық түрге келтіремізосы регрессордың ші мәнін біреуге теңестіріңіз - түптеп келгенде, бірге көбейткенде, есептеулер нәтижесі тұрғысынан ештеңе өзгермейді, бірақ матрицалардың көбейтіндісінің ережелері тұрғысынан, біздің азап айтарлықтай азаяды.

Енді, материалды жеңілдету үшін, бізде бір ғана бар деп есептейік».Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз-ші» бақылау. Содан кейін регрессорлардың мәндерін елестетіңіз »Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз-th» бақылаулар вектор ретінде Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Вектор Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз өлшемі бар Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, яғни Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз жолдар мен 1 баған:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Қажетті коэффициенттерді вектор ретінде көрсетейік Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, өлшемі бар Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

" үшін сызықтық регрессия теңдеуіСызықтық регрессия теңдеуін матрицалық түрге келтіреміз--ші» байқау мынадай нысанда болады:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық модельдің сапасын бағалау функциясы келесі формада болады:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Матрицаны көбейту ережелеріне сәйкес векторды ауыстыру қажет екенін ескеріңіз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз.

Матрицаны бейнелеу

Векторларды көбейту нәтижесінде мына санды аламыз: Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, бұл күтуге болады. Бұл шамамен алынған сан »Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз-ыншы» нысаналы индикатор. Бірақ бізге бір ғана мақсатты мәннің емес, олардың барлығының жуықтауы қажет. Ол үшін бәрін жазып алайық»Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз-th» регрессорлар матрицалық форматта Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Алынған матрица өлшемге ие Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Енді сызықтық регрессия теңдеуі келесідей болады:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Мақсатты индикаторлардың мәндерін белгілейік (барлығы Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз) векторға Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз өлшем Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Енді матрицалық форматта сызықтық модельдің сапасын бағалау теңдеуін жаза аламыз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Шын мәнінде, осы формуладан біз өзімізге белгілі формуланы аламыз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Қалай жасалды? Жақшалар ашылады, дифференциалдау жүзеге асырылады, алынған өрнектер түрленеді және т.б., және біз дәл осылай жасаймыз.

Матрицалық түрлендірулер

Жақшаларды ашайық

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Дифференциалдау үшін теңдеу дайындаймыз

Ол үшін біз кейбір түрлендірулер жүргіземіз. Келесі есептеулерде вектор болса, бізге ыңғайлы болады Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз теңдеудегі әрбір туындының басында көрсетіледі.

Түрлендіру 1

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Бұл қалай болды? Бұл сұраққа жауап беру үшін, көбейтілетін матрицалардың өлшемдерін қараңыз және нәтижеде біз санды немесе басқа жолмен аламыз. Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз.

Матрицалық өрнектердің өлшемдерін жазып алайық.

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Түрлендіру 2

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Оны 1 түрлендіруге ұқсас етіп жазайық

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Шығаруда біз дифференциалдау керек теңдеуді аламыз:
Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Модель сапасын бағалау функциясын ажыратамыз

Векторға қатысты ажыратып көрейік Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Неге деген сұрақтар Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз болмауы керек, бірақ біз басқа екі өрнектегі туындыларды анықтау операцияларын толығырақ қарастырамыз.

Дифференциация 1

Дифференциацияны кеңейтейік: Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Матрицаның немесе вектордың туындысын анықтау үшін олардың ішінде не бар екенін қарау керек. Қарап көрейік:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Матрицалардың көбейтіндісін белгілейік Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз матрица арқылы Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Матрица Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз шаршы және оның үстіне симметриялы. Бұл қасиеттер бізге кейінірек пайдалы болады, оларды есте сақтайық. Матрица Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз өлшемі бар Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Енді біздің міндетіміз векторларды матрицаға дұрыс көбейту және «екі есе екі бестен» шықпау, сондықтан назарымызды шоғырландырып, өте сақ болайық.

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Дегенмен, біз күрделі өрнекке қол жеткіздік! Шын мәнінде, біз санды алдық - скаляр. Ал енді, шын мәнінде, біз дифференциацияға көшеміз. Әрбір коэффициент үшін алынған өрнектің туындысын табу керек Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз және шығыс ретінде өлшем векторын алыңыз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Кез келген жағдайда мен процедураларды іс-әрекет арқылы жазамын:

1) бойынша ажырату Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, Біз алып жатырмыз: Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

2) бойынша ажырату Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, Біз алып жатырмыз: Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

3) бойынша ажырату Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, Біз алып жатырмыз: Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Шығару - өлшемнің уәде етілген векторы Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Егер сіз векторды мұқият қарастырсаңыз, вектордың сол және сәйкес оң элементтерін, нәтижесінде вектор ұсынылған вектордан оқшауланатындай етіп топтастыруға болатынын байқайсыз. Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз өлшемі Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Мысалы, Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз (вектордың жоғарғы жолының сол жақ элементі) Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз (вектордың жоғарғы сызығының оң жақ элементі) ретінде көрсетуге болады Сызықтық регрессия теңдеуін матрицалық түрге келтіремізмен Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз - ретінде Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз және т.б. әр жолда. Топтасайық:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Векторды шығарайық Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз және шығысында біз мынаны аламыз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Енді алынған матрицаны толығырақ қарастырайық. Матрица екі матрицаның қосындысы Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Еске салайық, сәл бұрын біз матрицаның бір маңызды қасиетін атап өттік Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз - бұл симметриялы. Осы қасиетіне сүйене отырып, өрнек деп сенімді түрде айта аламыз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз тең Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Мұны матрицалар элементінің туындысын элемент бойынша кеңейту арқылы оңай тексеруге болады Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз. Біз бұл жерде мұны істемейміз, қызығушылық танытқандар өздері тексере алады.

Өрнегімізге оралайық. Өзгерістерден кейін біз оны көргіміз келгендей болды:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сонымен, біз бірінші саралауды аяқтадық. Екінші өрнекке көшейік.

Дифференциация 2

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Соғылған жолды ұстанайық. Ол алдыңғысынан әлдеқайда қысқа болады, сондықтан экраннан тым алыс кетпеңіз.

Векторлар мен матрица элементін элемент бойынша кеңейтейік:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Екеуін есептеулерден біраз уақытқа алып тастаймыз - бұл үлкен рөл атқармайды, содан кейін біз оны орнына қоямыз. Векторларды матрицаға көбейтейік. Ең алдымен матрицаны көбейтейік Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз векторға Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз, бізде бұл жерде ешқандай шектеулер жоқ. Біз өлшем векторын аламыз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Келесі әрекетті орындаймыз – векторды көбейтеміз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз алынған векторға. Шығуда бізді нөмір күтеді:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Содан кейін біз оны ажыратамыз. Шығаруда біз өлшем векторын аламыз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз:

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Маған бірдеңені еске түсіреді ме? Барлығы дұрыс! Бұл матрицаның туындысы Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз векторға Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз.

Осылайша, екінші дифференциация сәтті аяқталды.

Орнына жасасу

Енді біз теңдіктің қалай пайда болғанын білеміз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз.

Соңында біз негізгі формулаларды түрлендірудің жылдам әдісін сипаттаймыз.

Модельдің сапасын ең кіші квадраттар әдісіне сәйкес бағалайық:
Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Алынған өрнекті ажыратайық:
Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Сызықтық регрессия теңдеуін матрицалық түрге келтіреміз

Әдебиет

Интернет көздері:

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

Оқулықтар, есептер жинағы:

1) Жоғары математикадан дәріс конспектісі: толық курс / Д.Т. Жазылған – 4-ші басылым. – М.: Ирис-пресс, 2006 ж
2) Қолданбалы регрессиялық талдау / Н.Дрейпер, Г.Смит – 2-бас. – М.: Қаржы және статистика, 1986 (ағылшын тілінен аудармасы)
3) Матрицалық теңдеулерді шешуге арналған есептер:
function-x.ru/matrix_equations.html
mathprofi.ru/deistviya_s_matricami.html


Ақпарат көзі: www.habr.com

пікір қалдыру