• No results found

Korelaˇcn´ı mapa atribut˚ u

Nyn´ı se zamˇeˇr´ım na rozbor kvantitativn´ıch atribut˚u. Prvn´ım je c´ılov´y atribut SalePrice, kter´y ud´av´a v´yslednou cenu nemovitosti v dolarech. Statistick´e informace ud´av´a tabulka 4.3 a obr´azek 4.3 zobrazuje histogram rozloˇzen´ı hodnot. Na jeho z´akladˇe usuzuji, ˇze ceny nemovitost´ı jsou ve v´ybˇerov´em soubor rozloˇzeny rovnomˇernˇe.

N´azev Hodnota

Validn´ı hodnoty 1460 Chybˇej´ıc´ı hodnoty 0

Pr˚umˇer 180921.195891

Smˇerodatn´a odchylka 79442.502883

Kvartil 25% 129950

Medi´an 163000

Kvartil 75% 214000

Tabulka 4.3: Statistick´e ´udaje SalePrice

Obr´azek 4.3: Histogram promˇenn´e SalePrice

Z d˚uvodu velk´eho poˇctu atribut˚u v modelu zde provedu rozbor tˇech, kter´e maj´ı na c´ılovou promˇennou nejvˇetˇs´ı vliv. Patˇr´ı mezi nˇe GrLivArea, 1stFlrSF, TotalBsmtSF a GarageArea. Z´avislost tˇechto atribut˚u na c´ılov´e promˇenn´e zobra-zuje soubor bodov´ych graf˚u na obr´azku 4.4. Ukazuje, ˇze vˇsechny maj´ı pozitivn´ı vliv na cenu nemovitosti a odpov´ıdaj´ı vypoˇcten´ym korelac´ım.

(a) GrLivArea (b) 1stFlrSF

(c) TotalBsmtSF (d) GarageArea

Obr´azek 4.4: Bodov´y graf z´avislost´ı

Nyn´ı zpracuji kvalitativn´ı atributy. Nejvˇetˇs´ı vliv na v´yslednou cenu m´a atri-but OverallQual a YearBuilt. Parametr OverallQual popisuje celkovou kvalitu nemovitosti. Nab´yv´a hodnoty 1 − 10. Nejniˇzˇs´ı hodnota odpov´ıd´a nejhorˇs´ı kvalitˇe.

Z´avislost tˇechto atribut˚u na v´ysledn´e cenˇe zobrazuj´ı krabicov´e grafy na obr´azku 4.5.

Z krabicov´ych graf˚u 5.6a vid´ım, ˇze ve v´ybˇerov´em souboru je vˇetˇsina nemovitost´ı s vyˇsˇs´ı kvalitou. D´ale, ˇze menˇsina nemovitost´ı z niˇzˇs´ı kvalitou m´a znaˇcnˇe niˇzˇs´ı cenu.

(a) OverallQual (b) YearBuilt (c) YearBuiltAdd

Obr´azek 4.5: Krabicov´e grafy

V´ybˇerov´y soubor d´ale obsahuje tˇri atributy pod´avaj´ıc´ı ˇcasovou informaci o roku v´ystavby nemovitosti, jej´ı renovaci a v´ystavby gar´aˇze. Provedu kontrolu, zda jsou tyto hodnoty dostateˇcnˇe unik´atn´ı. Napˇr´ıklad by se mohlo st´at, ˇze vˇsechny nemovitosti budou m´ıt tyto ˇcasov´e ´udaje stejn´e. Pˇri jejich srovn´an´ı jsem zjistil, ˇze pro 572 z´aznam˚u nab´yvaj´ı stejn´ych hodnoty. Tento poˇcet nen´ı pˇr´ıliˇs vysok´y a z toho d˚uvodu v regresn´ım modelu pouˇziji vˇsechny tˇri atributy.

4.3.4 Tvorba modelu

Nyn´ı pˇristoup´ım k odhadu line´arn´ıho regresn´ıho modelu pro v´ybˇerov´y soubor. V pro-gramu Modeler jsem pouˇzil blok Regression, kter´y zaˇrad´ım za blok Type. V tomto bloku jsem definoval typy pouˇzit´ych promˇenn´ych a nastavil jsem c´ılovou promˇennou, kterou je SalePrice. Cel´y proud spust´ım. Vytvoˇren´y model se zobraz´ı na pracovn´ı ploˇse jako ikona ˇzlut´eho diamantu. Po jeho otevˇren´ı vid´ıme v´ysledn´y regresn´ı mo-del. V´ystup obsahuje nˇekolik tabulek, ve kter´ych najdeme informace o hodnot´ach vypoˇcten´ych koeficient˚u a o celkov´em testov´an´ı modelu. V´ysledn´y proud vytvoˇren´y v Modeleru zobrazuje obr´azek 4.6. D´ale v kapitole testov´an´ı modelu rozeberu v´ystupn´ı informace, kter´e n´am podal vytvoˇren´y model.

Obr´azek 4.6: Proud v aplikace Modeler

4.3.5 Testov´ an´ı modelu

V´ystupn´ı tabulky a grafy lze rozdˇelit do tˇr´ı z´akladn´ıch blok˚u:

• shrnut´ı z´akladn´ıch regresn´ıch statistik o vytvoˇren´em modelu (tabulka Model Summary - Tab. 4.4),

• v´ysledky anal´yzy rozptylu ANOVA (tabulka ANOVA - Tab. 4.5),

• odhady regresn´ıch parametr˚u (tabulka Coefficients - Tab. 4.6).

Prvn´ı tabulka Model Summary shrnuje pro kaˇzd´y odhadnut´y model informace o koeficientu v´ıcen´asobn´e korelace, determinace a korigovan´y koeficient determinace.

V posledn´ım sloupci je d´ale standardn´ı chyba odhadu regrese.

Model Summary

Model R R Square Adjusted R Square Std. Error of the Estimate

1 .888a .788 .785 36802.995

a. Predictors: (Constant), OpenPorchSF, WoodDeckSF, ...

Tabulka 4.4: Regresn´ı statistika

V´ysledky v tabulce 4.4 dokumentuj´ı, ˇze odhadnut´a cena nemovitosti je vyrovn´ana v´ybˇerov´ym souborem dat velmi dobˇre, tj. podle koeficientu determinace (RSquare = 0, 785) je pod´ıl vysvˇetlen´e regrese na celkov´em souˇctu 78.5%. V pˇr´ıpadˇe porovn´av´an´ı v´ıce model˚u s r˚uzn´ymi rozsahy v´ybˇerov´ych soubor˚u pouˇziji vyrovnan´y koeficient determinace. Jeho v´yhody jsou pops´any v kapitole 2.2.4.

N´asleduje tabulka 4.5 anal´yza rozptylu (ANylysis Of VAriance). V t´eto tabulce jsou ve druh´em sloupci zachyceny jednotliv´e souˇcty ˇctverc˚u, kter´e jsou pops´any v 2.2.4, dalˇs´ı sloupec je poˇcet stupˇn˚u volnosti, ˇctvrt´y je pod´ılem souˇctu ˇctverc˚u a stupˇn˚u volnosti. Dalˇs´ı sloupce slouˇz´ı k testov´an´ı statistick´e v´yznamnosti cel´eho regresn´ıho modelu.

ANOVAa

Model Sum of Squares df Mean Square F Sig.

1

Regression 7.255E+12 17 4.268E+11 315.071 .000b

Residual 1.953E+12 1442 1.35E+09

Total 9.208E+12 1459

a. Dependent Variable: SalePrice

b. Predictors: (Constant), OpenPorchSF, WoodDeckSF, ...

Tabulka 4.5: V´ysledky anal´yzy ANOVA

F-test je testem v´yznamnosti koeficientu determinace R2. Pro jej´ı testov´an´ı pˇristoup´ım k formulaci nulov´e a alternativn´ı hypot´ezy:

H0 : β2 = β3 = · · · = βk = 0, (4.1) HA: β2 6= 0 ∨ β3 6= 0 ∨ · · · ∨ βk 6= 0.

Nulov´a hypot´eza H0uv´ad´ı, ˇze vˇsechny regresn´ı parametry spojen´e s c´ılovou promˇennou β2, β3, . . . , βk jsou souˇcasnˇe rovny nule s v´yjimkou ´urovˇnov´e konstanty β1. Alterna-tivn´ı hypot´eza HA znamen´a, ˇze bude alespoˇn jedna vysvˇetluj´ıc´ı promˇenn´a statisticky vyznan´ym nenulov´ym regresn´ım koeficientem. Pro rozhodnut´ı o zam´ıtnut´ı nebo pˇrijet´ı nulov´e hypot´ezy nejdˇr´ıve stanov´ıme hladinu v´yznamnosti α = 0.05 tj 5%. Pro tuto hladinu v´yznamnosti testuji platnost nulov´e hypot´ezy. Podle vypoˇcten´e hodnoty F-testu (porovn´am s tabulkovou kritickou hodnotou) zam´ıt´am nulovou hypot´ezu a odhadnut´y regresn´ı model je statisticky v´yznamn´y na zvolen´e hladinˇe v´yznamnosti α. Tot´eˇz by platilo na 1% hladinˇe v´yznamnosti.

Posledn´ı ˇc´ast´ı v´ystupu je tabulka Coefficient obsahuj´ıc´ı v´ysledky a statistiky pro odhadnut´e regresn´ı parametry (viz. Tab 4.6). Pro n´aˇs model tato tabulka zahrnuje nˇekolik ˇr´adk˚u, kter´e odpov´ıdaj´ı odhadnut´ym regresn´ım parametr˚um. Prvn´ı dva sloupce zaznamen´avaj´ı nestandardizovan´e odhady regresn´ıch parametr˚u β a jejich smˇerodatn´e odchylky. Tyto odhady jsou obt´ıˇznˇe porovnateln´e, proto jsou ve ˇctvrt´em sloupci s oznaˇcen´ım Stand. Coef. Beta uloˇzeny standardizovan´e regresn´ı parame-try. Posledn´ı dva sloupce v tabulce jsou opˇet urˇceny ke statistick´e v´yznamnosti jednotliv´ych regresn´ıch koeficient˚u (viz kapitola 2.2.5).

Coefficients

Model Atribute Unstand. Coef. Stand. Coef. t statistika Sig.

Beta Std. Error Beta

1 (Constant) -1245621.962 134183.623 -9.283 .000

LotFrontage 13.953 50.940 .004 .274 .784

LotArea .528 .107 .066 4.938 .000

OverallQual 19220.507 1178.162 .335 16.314 .000

YearBuilt 225.045 59.716 .086 3.769 .000

YearRemodAdd 357.732 64.767 .093 5.523 .000

MasVnrArea 32.400 6.197 .074 5.228 .000

TotalBsmtSF 16.379 4.209 .090 3.891 .000

1stFlrSF 31.432 21.373 .153 1.471 .142

2ndFlrSF 22.992 21.023 .126 1.094 .274

GrLivArea 16.421 20.865 .109 .787 .431

FullBath -3726.450 2638.392 -.026 -1.412 .158

TotRmsAbvGrd 1084.673 1091.050 .022 .994 .320

Fireplaces 8113.577 1814.274 .066 4.472 .000

GarageArea 38.015 6.196 .102 6.136 .000

GarageYrBlt 15.940 72.058 .005 .221 .825

WoodDeckSF 32.132 8.253 .051 3.893 .000

OpenPorchSF 5.820 15.830 .005 .368 .713

Tabulka 4.6: Odhady regresn´ıch parametr˚u

V´ysledky dokumentuj´ı, ˇze za pˇredpokladu nulovosti vˇsech koeficient˚u beta je cena nemovitosti -1245621.962 $. Podle standardizovan´ych koeficient˚u se potvrdilo, ˇze nejvˇetˇs´ı vliv na v´yslednou cenu nemovitosti maj´ı atributy OverallQual, celkov´e oby-vateln´a plocha a ploˇsn´e v´ymˇery prvn´ıho a druh´eho patra. Naopak velice n´ızk´eho vlivu dosahuje atribut FullBath. D´ale v tabulce 4.6 je v posledn´ım sloupci oznaˇcen´em Sig.

vypoˇcten´a p-hodnota, tj. sanovan´a hladina v´yznamnosti, kter´a odpov´ıd´a vypoˇcten´e t-statistice. Podrobnˇejˇs´ı informace ke statistick´e teorii testov´an´ı hypot´ez lze naj´ıt v publikaci [11]. U vˇetˇsiny byla tato vypoˇcten´a hodnota t´emˇeˇr nulov´a.

4.3.6 Zhodnocen´ı pˇr´ıpadov´ e studie

V pˇr´ıpadov´e studii jsem se zab´yval odhadem ceny nemovitosti na z´akladˇe nˇekolik zn´am´ych skuteˇcn´ı o n´ı. Pomoc´ı nˇekolika technik jsem provedl anal´yzu dat o nemovi-tostech a na jeho z´akladˇe jsem vybral nˇekolik atribut˚u, kter´e jsem n´aslednˇe pouˇzil pro tvorbu regresn´ıho modelu. Vytvoˇren´y regresn´ı model je na z´akladˇe jeho statistik pˇresn´y a m˚uˇze b´yt pouˇzit k dalˇs´ı anal´yze nebo k predikci.

5 Vytvoˇren´ı nez´ avisl´ eho modelu

V t´eto ˇc´asti pr´ace se budu zab´yvat tvorbou vlastn´ıho regresn´ıho modelu prostˇrednictv´ım nez´avisl´e platformy. Pro jeho tvorbu pouˇziji prostˇred´ı Octave. ˇRad´ı se mezi svobodn´y software a je ˇs´ıˇren´y pod licenc´ı GPL. Toto jsou hlavn´ı d˚uvody, kv˚uli kter´ym jsem ho zvolil jako nejvhodnˇejˇs´ı variantu, protoˇze vytvoˇren´y program bude pouˇzit pro studijn´ı ´uˇcely a proto by prostˇred´ı, kde p˚ujde spustit, mˇelo b´yt snadno dostupn´e a bez potˇreby poˇr´ızen´ı licence.

5.1 Struktura programu

Program je rozdˇelen na nˇekolik ˇc´ast´ı, podle toho jakou funkci prov´adˇej´ı. Vstupem do programu je soubor main.m. Strukturu rozloˇzen´ı programu zobrazuje obr´azek 5.1.

V n´asleduj´ıc´ıch kapitol´ach pop´ıˇsi jeho jednotliv´e ˇc´asti.

Obr´azek 5.1: Diagram funkc´ı

5.2 Cten´ı dat ˇ

Program pˇreˇcte datov´y soubor, kde na kaˇzd´em ˇr´adku bude jednotliv´y z´aznam a hod-noty budou oddˇeleny libovoln´ym oddˇelovaˇcem. Je tˇreba, aby na prvn´ım ˇr´adku byl uve-den seznam vˇsech atribut˚u a dalˇs´ı ˇr´adky odpov´ıdaly poˇrad´ım tomuto seznamu. Jm´eno souboru spoleˇcnˇe s oddˇelovaˇcem zad´a uˇzivatel pˇri vstupu do programu. V pˇr´ıpadˇe neuveden´ı souboru se pouˇzije defaultn´ı soubor s nemovitostmi a jako oddˇelovaˇc ˇc´arka. V tomto pˇr´ıpadˇe budou data naˇc´ıt´any z datov´eho souboru finalData.csv.

Prvn´ı ˇr´adek obsahuje textov´y popis atribut˚u a na dalˇs´ıch jsou jednotliv´e z´aznamy o nemovitostech. Hodnoty na ˇr´adku jsou oddˇeleny ˇc´arkami. Vzorek souboru zobrazuje

zdrojov´y k´od 5.1. Na tˇechto datech budu prezentovat funkˇcnost programu.

6 5 , 8 4 5 0 , 7 , 2 0 0 3 , 2 0 0 3 , 1 9 6 , 8 5 6 , 8 5 6 , 8 5 4 , 1 7 1 0 , 2 , 8 , 0 , 5 4 8 , 2 0 0 3 , 0 , 6 1 , 2 0 8 5 0 0 8 0 , 9 6 0 0 , 6 , 1 9 7 6 , 1 9 7 6 , 0 , 1 2 6 2 , 1 2 6 2 , 0 , 1 2 6 2 , 2 , 6 , 1 , 4 6 0 , 1 9 7 6 , 2 9 8 , 0 , 1 8 1 5 0 0 6 8 , 1 1 2 5 0 , 7 , 2 0 0 1 , 2 0 0 2 , 1 6 2 , 9 2 0 , 9 2 0 , 8 6 6 , 1 7 8 6 , 2 , 6 , 1 , 6 0 8 , 2 0 0 1 , 0 , 4 2 , 2 2 3 5 0 0 6 0 , 9 5 5 0 , 7 , 1 9 1 5 , 1 9 7 0 , 0 , 7 5 6 , 9 6 1 , 7 5 6 , 1 7 1 7 , 1 , 7 , 1 , 6 4 2 , 1 9 9 8 , 0 , 3 5 , 1 4 0 0 0 0

Zdrojov´y k´od 5.1: Vzorek dat

Pro naˇcten´ı souboru pouˇziji funkci input(). Jako vstupn´ı parametry pˇreb´ır´a jeho jm´eno a oddˇelovaˇc hodnot. V t´eto funkci naˇctu datov´y soubor a kaˇzd´y ˇr´adek rozdˇeluji podle zadan´eho oddˇelovaˇce. Na v´ystupu funkce vrac´ı dvourozmˇern´e pole data s jed-notliv´ymi hodnotami o velikosti poˇcet z´aznam˚u × poˇcet atribut˚u a oddˇelenou hlaviˇcku h z n´azvy atribut˚u.

f u n c t i o n [ data , h ] = i n p u t( f i l e N a m e , d e l i m e t e r )

Zdrojov´y k´od 5.2: Funkce pˇro ˇcten´ı

Kromˇe tohoto zp˚usobu jsem otestoval tak´e funkci csvRead(), kter´a je souˇc´ast´ı standardn´ı instalace Octave. Tato funkce umoˇzˇnuje naˇc´ıst soubor typu .csv, ale ˇcte pouze ˇc´ıseln´e hodnoty, tud´ıˇz jsem od jej´ıho pouˇzit´ı upustil i za cenu znaˇcn´eho zv´yˇsen´ı doby ˇcten´ı a parsov´an´ı souboru. ˇCas v´ypoˇctu jednotliv´ych funkc´ı zobrazuje tabulka 5.1. K n´ar˚ustu doˇslo zejm´ena z d˚uvodu parsov´an´ı a konverze hodnot do vhodn´e datov´e struktury.

funkce ˇcas[s]

input() 2.443 csvRead() 0.249

Tabulka 5.1: Porovn´an´ı ˇcasu v´ypoˇctu funkc´ı pro ˇcten´ı

N´aslednˇe rozdˇel´ım atributy mezi z´avisl´e a nez´avisl´e promˇenn´e podle v´ybˇeru uˇzivatele. Z´avislou promˇennou zde pˇredstavuje cena nemovitosti, kterou uloˇz´ım do promˇenn´e y a ostatn´ı nez´avisl´e atributy do dvourozmˇern´eho pole X.

5.3 Normalizace

Pˇred v´ypoˇctem odhad˚u parametr˚u regresn´ıho modelu se m˚uˇze prov´est normalizace dat.

D˚uvodem normalizace atribut˚u je, ˇze odhadnut´e koeficienty regresn´ıho modelu budou standardizovan´e. D˚uvody popisuji v kapitole testov´an´ı 4.3.5. Normalizace prov´ad´ım ve funkci normalize(). Jako vstup funkce pˇreb´ır´a datovou matici X s nez´avisl´ymi promˇenn´ymi. N´a v´ystupu vrac´ı pole hodnot, kde prvn´ı parametr je normalizovan´a datov´a matice, druh´y a tˇret´ı parametr jsou stˇredn´ı hodnoty a smˇerodatn´e odchylky pro jednotliv´e atributy.

f u n c t i o n [ X norm , mu, sigma ] = n o r m a l i z e (X)

Ve funkci nejprve urˇc´ım stˇredn´ı hodnoty mu a smˇerodatn´e odchylky sigma pro jednotliv´e atributy. Pot´e provedu normalizace hodnot. Od hodnot matice X na inde-xech i,j, kde j odpov´ıd´a j-t´emu atributy a i i-t´e hodnotˇe v atributu odeˇctu stˇredn´ı hodnotu a tento rozd´ıl dˇel´ım smˇerodatnou odchylkou. Algoritmus v´ypoˇctu zobrazuje zdrojov´y k´od 5.3. Celkov´a doba v´ypoˇctu funkce normalize() na datov´em souboru s nemovitostmi odpov´ıd´a pˇribliˇznˇe 1.038s.

Zdrojov´y k´od 5.3: Normalizace hodnot

5.4 Odhad parametr˚ u regresn´ıho modelu

Odhady koeficient˚u regresn´ıho modelu urˇcuji pomoc´ı metody nejmenˇs´ıch ˇctverc˚u. Pro v´ypoˇcet parametr˚u uˇz´ıv´am dvˇe metody. Prvn´ı je analytick´e ˇreˇsen´ı pomoc´ı standardn´ı rovnice popsan´e v kapitole 2.4.1. Nev´yhodu t´eto metody m˚uˇze b´yt pouˇzitelnost pouze do urˇcit´eho poˇctu atribut˚u (pˇribliˇznˇe 1000). Jak je vidˇet v rovnici 2.59, v´ypoˇcet inverzn´ı matice m˚uˇze b´yt pˇri vˇetˇs´ım poˇctu atribut˚u n´aroˇcnˇejˇs´ı. Proto jako druhou uˇz´ıv´am gradientn´ı metodu naz´yvanou tak´e gradient descent. V´ypoˇcet touto metodou n´am umoˇzˇnuje zadat stupeˇn uˇcen´ı a poˇcet iterac´ı. V n´asleduj´ıc´ıch kapitol´ach provedu rozbor obou metod a doby ˇcau v´ypoˇctu.

5.4.1 Standardn´ı rovnice

Analytick´y v´ypoˇcet regresn´ıch koeficient˚u metodou nejmenˇs´ıch ˇctverc˚u provede funkce normalEqn(). Na vstupu funkce pˇreb´ır´a dva parametry, dvourozmˇern´e pole nez´avisl´ych promˇenn´ych X a vybran´y c´ılov´y atribut y. Pˇred v´ypoˇctem je tˇreba vloˇzit jednotkov´y vektor na poˇc´atek matice X. Form´at matice X zobrazuje rovnice 2.52. V´ypoˇcet regresn´ıch parametr˚u provedu zad´an´ım parametr˚u do rovnice 2.59.

Algoritmus v´ypoˇctu zobrazuje zdrojov´y k´od 5.4.

f u n c t i o n [b e t a] = normalEqn (X, y )

Zdrojov´y k´od 5.4: Standartn´ı rovnice

Funkce nejprve inicializuje promˇennou beta, kter´a odpov´ıd´a poˇctu nez´avisl´ych atribut˚u plus jednotkov´y vektor pro konstantn´ı koeficient. Pot´e vektorovˇe vypoˇc´ıt´am jednotliv´e koeficienty beta, kter´e vrac´ım jako v´ystup. Doba pr˚ubˇehu funkce nad testovac´ımi daty je v pr˚umˇeru 0.002s.

5.4.2 Gradientn´ı metoda

Dalˇs´ım pˇr´ıkladem v´ypoˇctu koeficient˚u regresn´ı modelu pomoc´ı nejmenˇs´ıch ˇctverc˚u je gradientn´ı metoda. ˇRad´ıme ji mezi iteraˇcn´ı metody, kter´e definujeme jako proces opakovan´eho pouˇzit´ı funkce s c´ılem pˇribl´ıˇzit se s urˇcitou d´elkou kroku a poˇctu iterac´ı co nejv´ıce k v´ysledku. Pouˇziji funkci viz rovnice 2.58. Pˇri v´ypoˇctu touto metodou nemus´ıme dos´ahnout v´ysledku, protoˇze se m˚uˇze st´at, ˇze metoda bude divergovat. Je tedy tˇreba ovˇeˇrit jej´ı konvergenci. Postaˇcuj´ıc´ı podm´ınku konvergence pro gradientn´ı metodu je symetriˇcnost matice XTX[12]. Staˇc´ı ovˇeˇrit, ˇze matice je pozitivnˇe definitn´ı, tedy ˇze vˇsechny jej´ı hlavn´ı minory jsou kladn´e. Pro n´asobek matic (XT × X) tato podm´ınka je splnˇena a lze tedy konstatovat, ˇze gradientn´ı metodu lze pro danou soustavu pouˇz´ıt.

V´ypoˇcet gradientn´ı metodou provedu zavol´an´ım funkce gradientDescent(). Jako vstupn´ı parametry jsou c´ılov´a promˇenn´a y, nez´avisl´e atributy X, stupeˇn uˇcen´ı a poˇcet iterac´ı. Na poˇc´atku inicializujeme promˇennou m, kter´a odpov´ıd´a rozsahu v´ybˇerov´eho souboru, d´ale pole koeficient˚u beta. V promˇenn´e J history ukl´ad´am hodnoty funkce po kaˇzd´e iteraci a pozdˇeji mi umoˇzn´ı vykreslit kˇrivku pr˚ubˇehu uˇcen´ı. V kaˇzd´e kroku cyklu vypoˇctu nov´e hodnoty funkce gradJ s aktu´aln´ımi hodnotami koeficient˚u beta.

D´ale podle nastaven´eho stupnˇe uˇcen´ı urˇc´ım jejich nov´e hodnoty. Do promˇenn´e J history zap´ıˇsu hodnotu funkce computCost(). Pˇresnost a doba v´ypoˇctu metody bude z´aviset na dan´em stupni uˇcen´ı, tj. d´elka kroku a na poˇctu iterac´ı. V pˇr´ıpadˇe volby pˇr´ıliˇs vysok´e d´elky kroku se m˚uˇze st´at, ˇze metoda bude divergovat. Touto vlastnost´ı se budu v dalˇs´ıch ˇc´astech t´eto kapitoly zab´yvat. Zdrojov´y k´od funkce zobrazuje 5.5.

Zdrojov´y k´od 5.5: Gradientn´ı metoda

Provedu porovn´an´ı nˇekolik nastaven´ı gradientn´ı metody. Jako referenˇcn´ı hodnotu pˇreb´ır´am hodnotu koeficientu determinace modelu urˇcen´e pomoc´ı analytick´e formy

v´ypoˇctu, kter´y odpov´ıd´a R ∼= 0.787885. Tabulka 5.2 ud´av´a z´avislost poˇctu krok˚u na dobˇe pr˚ubˇehu v´ypoˇctu a pˇresnosti urˇcen´ych koeficient˚u. Vid´ıme, ˇze ˇcas roste line´arnˇe s poˇctem proveden´ych krok˚u a ze zvyˇsuj´ıc´ım se poˇctem iterac´ı hodnota koeficientu determinace konverguje k referenˇcn´ı hodnotˇe.

Poˇcet krok˚u Stupeˇn uˇcen´ı ˇcas[s] Koeficient determinace

50 0.1 =.022 =.780244

100 0.1 =.041 =.786300

1000 0.1 =.368 =.787869

10000 0.1 =3.632 =.787884

100000 0.1 =36.297 =.787885

Tabulka 5.2: Z´avislost poˇctu krok˚u na dobˇe pr˚ubˇehu a pˇresnosti modelu

Stupeˇn uˇcen´ı bude ovlivˇnovat rychlost konvergence k referenˇcn´ı hodnotˇe. Pr˚ubˇeh odhadu gradientn´ı metodou pro koeficienty β1 a β2 (jednoduch´y line´arn´ı regresn´ı model) zobrazuje obr´azek 5.2.

Obr´azek 5.2: Gradientn´ı metoda

Za pˇredpokladu volby pˇr´ıliˇs velk´e d´elky kroku metoda nezachyt´ı glob´aln´ı minimum a zaˇcne divergovat, naopak pokud je krok pˇr´ıliˇs mal´y, vykon´av´an´ı metody skonˇc´ı pˇred t´ım, neˇz nalezne glob´aln´ı minimum. Oba tyto pˇr´ıpady pro odhad jednoho koeficientu β zobrazuje obr´azek 5.3, nalevo je nastaven stupeˇn pˇr´ıliˇs n´ızk´y a naopak na prav´em vysok´y.

Obr´azek 5.3: Nastaven´ı stupnˇe uˇcen´ı (d´elky kroku)

V´ystupem proveden´e funkce jsou dvˇe pole, odhadnut´e regresn´ı koeficienty a pr˚ubˇeh uˇcen´ı. Jeho hodnoty jsem zanesl do graf˚u a zobrazuje je soubor obr´azk˚u 5.4. Obsahuje pr˚ubˇehy kˇrivky uˇcen´ı pro r˚uzn´a nastaven´ı gradientn´ı metody. Nejoptim´alnˇejˇs´ı jsou na obr´azc´ıch 5.4b a 5.4c. Na tomto z´akladˇe usuzuji, ˇze nejlepˇs´ımi nastaven´ımi metody pro testovac´ı data bude 50 aˇz 100 iterac´ı a stupeˇn uˇcen´ı 0, 1 nebo 0, 3.

(a) 100 iterac´ı, stupeˇn uˇcen´ı 0,01

(b) 100 iterac´ı, stupeˇn uˇcen´ı 0,1

(c) 100 iterac´ı, stupeˇn uˇcen´ı 0,3

(d) 1000 iterac´ı, stupeˇn uˇcen´ı 0,01

(e) 1000 iterac´ı, stupeˇn uˇcen´ı 0,1

(f) 1000 iterac´ı, stupeˇn uˇcen´ı 0,3

Obr´azek 5.4: Kˇrivky uˇcen´ı

V pˇr´ıpadˇe nastaven´ı kroku vˇetˇs´ıho, jak 0.33 doˇslo k divergov´an´ı metody. Abych mohl vykreslit poˇzadovan´y graf, nastavil jsem poˇcet iterac´ı na 20 a jeho pr˚ubˇeh zobrazuje obr´azek 5.5. Z grafu vid´ıme, ˇze hodnota funkce roste exponenci´alnˇe do nekoneˇcna.

(a) 20 iterac´ı, stupeˇn uˇcen´ı 0,34

(b) 20 iterac´ı, stupeˇn uˇcen´ı 0,4

(c) 20 iterac´ı, stupeˇn uˇcen´ı 1

Obr´azek 5.5: Divergov´an´ı gradientn´ı metody

5.5 Testov´ an´ı modelu

Nyn´ı pˇristoup´ım k testov´an´ı sestaven´eho regresn´ıho modelu. Provedu nˇekolik test˚u, kter´e budou vypov´ıdat o kvalitˇe vytvoˇren´eho regresn´ıho modelu a d´ale otestuji vˇsechny

atributy. Jednotliv´e testy prov´ad´ım ve funkci testing(). Jako vstupn´ı parametry pˇreb´ır´a hodnoty nez´avisl´ych atribut˚u, c´ılovou promˇennou, odhad c´ılov´e promˇenn´e na z´akladˇe sestaven´eho modelu a jeho koeficienty. Celkov´a doba v´ypoˇctu testov´an´ı pro v´ybˇerov´y soubor s nemovitostmi se pohybovala okolo 0.005912s. V n´asleduj´ıc´ıch kapitol´ach se budu zab´yvat v´ypoˇctem jednotliv´ych test˚u regresn´ıho modelu.

f u n c t i o n [ F , PvalF , R2 , R2adj , RCor , t , Pval , Sy , Se , St ] = t e s t i n g ( y , yOdhad ,beta,X)

5.5.1 Koeficient determinace

Zaˇcnu shrnut´ım z´akladn´ıch regresn´ıch statistik o odhadnut´em regresn´ım modelu, mezi neˇz patˇr´ı koeficient v´ıcen´asobn´e korelace, determinace a jeho korigovan´a varianta. Pro tyto v´ypoˇcty uˇziji poznatky z´ıskan´e v kapitole 2.2.4. Nejdˇr´ıve urˇc´ım celkov´y, rezidu´aln´ı a vysvˇetlen´y (regresn´ı) souˇcet ˇctverc˚u. D´ale vypoˇc´ıt´am koeficient determinace jako pod´ıl vysvˇetlovan´eho a celkov´eho souˇctu ˇctverc˚u. V´ıcen´asobnou korelaci urˇc´ım jako jeho odmocninu. Vzhledem k tomu, ˇze s koeficientem determinace je spojeno nˇekolik probl´em˚u (viz 2.2.4) spoˇc´ıt´am tak´e jeho korigovanou variantu. Pro tuto variantu je tˇreba zjistit poˇcet stupˇn˚u volnosti pro jednotliv´e ˇc´asti modelu. Jejich hodnoty urˇc´ım n´asleduj´ıc´ım zp˚usobem:

• regresn´ı ˇc´ast: DF M = p − 1,

• rezidu´aln´ı ˇc´ast: DF E = n − p,

• celkov´y souˇcet: DF T = n − 1,

kde n odpov´ıd´a rozsahu v´ybˇerov´eho souboru a p je poˇcet odhadnut´ych koeficient˚u β.

Korigovan´y koeficient determinace odpov´ıd´a:

R2adjust= 1 − (1 − R2) ∗ DF T

DF E , (5.1)

kde R2 je rovno jeho nekorigovan´e variantˇe. ˇC´ast zdrojov´eho k´odu viz 5.6.

%s o u c t y c t v e r c u

Zdrojov´y k´od 5.6: Koeficient determinace

Jednotliv´e vypoˇcten´e koeficienty pro model vytvoˇren´y nad testovac´ımi daty z nemo-vitosti jsou shrnuty v tabulce 5.3.

R R2 R2adjust

.88763 .78789 .78538

Tabulka 5.3: Regresn´ı statistiky pro odhad ceny nemovitosti

5.5.2 Anal´ yza rozptylu - ANOVA

Nyn´ı n´asleduje anal´yza rozptylu (Analysis Of Variance). Pro v´ypoˇcet pouˇziji souˇcty ˇctverc˚u jednotliv´ych ˇc´ast´ı regresn´ıho modelu a jejich stupnˇe volnosti urˇcen´ych pˇri v´ypoˇctu korigovan´eho koeficientu determinace. Urˇc´ım stˇredn´ı hodnotu jednotliv´ych souˇctu ˇctverc˚u vydˇelen´ım odpov´ıdaj´ıc´ım stupnˇem volnosti. F-statistiku urˇc´ım jako pod´ıl stˇredn´ıch hodnot regresn´ı a rezidu´aln´ı ˇc´asti. V´ysledky anal´yzy rozptylu pro model vytvoˇren´y nad testovac´ımi daty jsou uvedeny v tabulce 5.4.

Model Souˇcet ˇctverc˚u Stupeˇn volnosti F statistika Regresn´ı 7.2548e + 012 17

315.071380 Rezidu´aln´ı 1.9531e + 012 1442

Celkov´a 9.2079e + 012 1459

Tabulka 5.4: Anal´yza rozptylu

5.5.3 T-testy atribut˚ u

Dalˇs´ı ˇc´ast´ı je testov´an´ı odhadnut´ych regresn´ıch parametr˚u. Pro tento v´ypoˇcet urˇc´ım inverzn´ı matici k (X∗X) a d´ale rozptyl rozd´ılu p˚uvodn´ı a odhadnut´e c´ılov´e promˇenn´e.

D´ale v cyklu pro kaˇzd´y odhadnut´y regresn´ı parametr urˇcuji hodnotu t-testu. Konkr´etn´ı v´ypoˇcet ud´av´am v rovnici 5.2. Nejˇcastˇejˇs´ı zp˚usob formulace hodnoty t-testu je prostˇrednictv´ım p-hodnoty. Definujeme ji jako nejmenˇs´ı hladinu v´yznamnosti testu, pˇri n´ıˇz na dan´ych datech jeˇstˇe zam´ıtneme nulovou hypot´ezu [14]. Postup v´ypoˇctu obou hodnot zobrazuje zdrojov´y k´od 5.7.

t(i) = β(i)

Zdrojov´y k´od 5.7: T-test a p-hodnota

Tabulku regresn´ıch koeficient˚u s jejich statistikami pro jednotliv´e atributy uv´ad´ım vzhledem k jejich obs´ahlosti pˇr´ıloze D.

5.6 Ovl´ ad´ an´ı programu

Program s uˇzivatelem komunikuje formou dialogov´ych oken. Prostˇred´ı Octave umoˇzˇnuje pouˇz´ıt nˇekolik grafick´ych oken [7]. Ve sv´em programu uˇz´ıv´am informaˇcn´ı okna, dialogy s tlaˇc´ıtky a moˇznost´ı v´ybˇeru v´ıce poloˇzek ze seznamu a dalˇs´ı.

Vstupem do programu je soubor main.m. Po jeho spuˇstˇen´ı je uˇzivatel vyzv´an k zad´an´ı vstupn´ıho souboru. Tak´e m´a moˇznost pouˇz´ıt jiˇz pˇred-pˇripraven´a data z nemovitostmi, na kter´ych je prezentov´ana funkˇcnost programu. Po naˇcten´ı souboru je uˇzivatel vyzv´an k ovˇeˇren´ı jejich korektnosti. V pˇr´ıpadˇe chyby program uˇzivateli umoˇzn´ı opˇetovn´e naˇcten´ı. Po korektn´ım naˇcten´ım dat je uˇzivatel vyzv´an k v´ybˇeru c´ılov´eho atributu a nez´avisl´ych promˇenn´ych. V´ybˇerov´e dialogy zobrazuje obr´azek 5.6.

(a) V´ybˇer c´ılov´eho atributu (b) V´ybˇer nez´avisl´ych atribut˚u

Obr´azek 5.6: V´ybˇer atribut˚u

Po v´ybˇeru je uˇzivateli umoˇznˇen n´ahled na statistick´e ´udaje ke vˇsem vybran´ych

Po v´ybˇeru je uˇzivateli umoˇznˇen n´ahled na statistick´e ´udaje ke vˇsem vybran´ych

Related documents