2. seminarski rad - linearna regresija

46
1 Univerzitet u Beogradu Matematički fakultet Seminarski rad iz Statističkog Softvera 3 tema: Regresija – Linearni model Student: Asistent: Dina Janković Marija Radičević 3/2011 Beograd, decembar 2014.

Upload: dina-jankovic

Post on 17-Feb-2016

551 views

Category:

Documents


52 download

DESCRIPTION

linear regression in Serbian

TRANSCRIPT

Page 1: 2. Seminarski Rad - Linearna Regresija

1

Univerzitet u Beogradu

Matematički fakultet

Seminarski rad iz Statističkog Softvera 3

tema:

Regresija – Linearni model

Student: Asistent:

Dina Janković Marija Radičević

3/2011

Beograd, decembar 2014.

Page 2: 2. Seminarski Rad - Linearna Regresija

2

Sadržaj

1. Uvod.................................................................................................................................str.3

2. Teorijski aspekt linearne regresije...................................................................................str.6

3. Linearna regresija u R okruženju....................................................................................str.17

4. Literatura.........................................................................................................................str.46

Page 3: 2. Seminarski Rad - Linearna Regresija

3

Uvod

U svakoj naučnoj disciplini osnovni problem je utvrđivanje veza između promenljivih veličina. Te veze mogu

biti potpuno određene. Na primer, u fizici se može utvrditi tačna funkcionalna zavisnost između

udaljenosti objekata od zemlje i gravitacione sile, ili između gasa u zatvorenoj posudi i temperature. Međutim,

u biološkim i društvenim naukama suočavamo se sa mnogo komplikovanijom situacijom. Ovde imamo

daleko manje razloga da očekujemo otkrivanje tačno određene veze između promenljivih veličina. Zato su se

u ovim naučnim disciplinama morala da koriste statistička izučavanja koja mere prosečne promene jedne

veličine izazvane promenama druge veličine. Regresiona analiza upravo ima za cilj da utvrđuje i meri

veze takvog tipa, a jačina te veze se procenjuje korelacionom analizom.

U medicinskim istraživanjima često se interes istraživača usmerava prema problemu povezanosti među

varijablama. Pri tom je od posebnog interesa mogućnost prognoziranja ili predviđanja vrednosti (ili

varijabilnosti) jedne varijable na osnovu drugih varijabli. Prvi tako formulisani problem potiče od engleskog

antropologa Frensisa Galtona. On je studirajući zajedno sa Pirsonom nasleđivanje u biologiji, mereći visine

očeva i njihovih sinova, ustanovio neku vrstu paradoksa, odnosno, da visoki očevi imaju visoke sinove ali u

proseku ne tako visoke kao što su oni sami, i slično, da niski očevi imaju niske sinove ali opet u proseku ne

tako niske kao što su oni. Ovu tendenciju proseka neke karakteristike (u ovom slučaju visine) odabrane grupe

da u sledećoj generaciji sinova teži ka proseku populacije a ne proseku njihovih očeva, Galton je

nazvao regresijom, tačnije, regresijom prema proseku. Da bi dobio informaciju zavisnosti visine sinova od

visine njihovih očeva, Pirson je pretpostavio da se ta zavisnost može izraziti kao funkcija, ( ), pri

čemu je zavisna varijabla, odnosno varijabla koju želimo da objasnimo ili predvidimo (u Galtonovom

primeru to je visina sinova), a nezavisna varijabla, odnosno varijabla koju koristimo da objasnimo zavisnu

varijablu (visina očeva).

Osnovna svrha primene regresione analize je da se na osnovu jedne, poznate promenljive može predvideti

vrednost druge, nepoznate promenljive i to iz jednačine koja pokazuje njihovu zavisnost. Zavisnost može biti

linearna i u tom slučaju se izražava jednačinom prave linije ili može biti drugačija (logaritamska,

eksponencijalna), pa se izražava odgovarajućim matematičkim izrazima.

Dakle, u statistici, linearna regresija predstavlja pristup modeliranju odnosa između zavisno promenljive i

jedne ili više nezavisno promenljivih . U slučaju jedne nezavisno promenljive, reč je o običnoj (jednostavnoj)

linearnoj regresiji, a ako je više nezavisno promenljiviih, reč je o višestrukoj linearnoj regresiji. Ovaj termin

treba razlikovati od multivarijantne linearne regresije, gde se koristi više korelisanih zavisno promenljivih

umesto jedne.

U linearnoj regresiji se podaci modeliraju koristeći linearne funkcije predviđanja i nepoznati parametri modela

se ocenjuju na osnovu tih podataka. Takvi modeli se nazivaju linearnim modelima. Linearna regresija se

najčešće odnosi na model u kome je uslovna sredina od , uz datu vrednost , afina funkcija od . Mnogo

ređe, linearna regresija se može odnositi na model u kojem se medijana, ili neki drugi kvantil, uslovne

raspodele od za dato izražava kao linearna funkcija od . Kao i svi drugi oblici regresione

Page 4: 2. Seminarski Rad - Linearna Regresija

4

analize, linearna regresija se fokusira na uslovnu raspodelu verovatnoća od za dato , a ne na zajedničku

raspodelu verovatnoća od i , što je domen multivarijantne analize.

Linearna regresija je bila prvi tip regresione analize koja je detaljno proučavana i koja se intenzivno koristila u

praktičnim primenama. To je zbog toga što se modeli koji linerano zavise od svojih nepoznatih parametara

lakše modeliraju nego modeli sa nelinearnom zavisnošću od parametara. Takođe, statistička svojstva

rezultujućih ocena se lakše određuju.

Linearna regresija ima mnogo praktičnih primena. Većina tih primena spada u jednu od sledeće dve široke

kategorije:

Ako je cilj predviđanje, prognoza ili redukcija, linearna regresija se može koristiti za fitovanje

predvidljivog modela prema posmatranom skupu podataka vrednosti i . Nakon razvoja ovakvog

modela, ako je data vrednost za bez pripadajuće vrednosti , fitovani model se može koristiti za

predviđanje vrednosti .

Ako imamo promenljivu i veći broj promenljivih koje mogu biti povezane sa ,

možemo koristiti linearnu regresionu analizu za kvantifikovanje jačine relacije između i , za

procenu koji je uopšte vezan za , te da bismo identifikovali koji podskupovi od sadrže

redundantne informacije o , tako da, kad je jedan od njih poznat, ostali više ne daju korisne

informacije.

Linearni regresioni modeli se često fituju uz pomoć metode najmanjih kvadrata, iako se mogu koristit i drugi

načini, kao što je minimizovanje "nedostatka fitovanja" (lack of fit, engl.) u nekim drugim normama (kao kod

regresije minimalnih apsolutnih devijacija), ili minimizovanjem penalizovane verzije funkcije

gubitaka najmanjih kvadrata, kao kod Tikonove regularizacije. Nasuprot tome, pristup metodom najmanjih

kvadrata se može iskoristiti za fitovanje nelinearnih modela. Prema tome, pojmovi "najmanjih kvadrata" i

"linearni model" jesu usko povezani, ali nisu sinonimi.

Primene linearne regresije

Linearna regresija se umnogome koristi u biološkim i društvenim naukama za opisivanje mogućih veza

između promenljivih. Smatra se jednom od najvažnijih alatki u ovim disciplinama.

Linija trenda

Linija trenda predstavlja trend, dugoročno kretanje u vremenskoj seriji podataka nakon što su druge

komponente uzete u obzir. Ona svedoči o tome da li se određeni skup podataka (npr. bruto nacionalni

dohodak, cene nafte ili cene akcija na berzi) povećao ili smanjio tokom određenog vremenskog perioda. Linija

trenda se jednostavno može odokativno nacrtati kroz skup tačaka, ali njihove pozicije i nagibi se valjano

Page 5: 2. Seminarski Rad - Linearna Regresija

5

nalaze koristeći statističke tehnike poput linearne regresije. Linije trenda su obično prave linije, mada neke

varijacije koriste polinome viših stepena u zavisnosti od željene iskrivljenosti linije.

Linije trenda se ponekad koriste u analizama u biznisu kako bi pokazale promenu u određenim podacima

tokom vremena. Prednost ovoga je jednostavnost. Linije trenda se često koriste u razmatranju da li je

određena akcija ili događaj (npr. reklamna kampanja) prouzrokovao promene u nekom vremenskom trenutku.

Ovo je jednostavna tehnika i ne zahteva kontrolnu grupu, eksperimentalni dizajn ili sofisticiranu tehniku

analize. Međutim, ona pati od nedostatka naučne validnosti u slučajevima kada druge potencijalne promene

mogu uticati na podatke.

Epidemiologija

Ranootkrivena povezanost pušenja cigareta sa smrću i bolešću dolazi iz studija gde je primenjena regresiona

analiza. Radi smanjenja lažnih korelacija pri analiziranju podataka, naučni istraživači često uključuju nekoliko

promenljivih u njihov regresioni model, pored promenljive od interesa. Na primer, pretpostavimo da imamo

regresioni model u kome je pušenje cigareta nezavisna promenljiva od interesa, a zavisna promenljiva je

životni vek izražen u godinama. Istraživači mogu uključiti socijalno-ekonomski status kao dodadtnu

nezavisno promenljivu, kako bi obezbedili da nijedan efekat pušenja na životni vek nema veze sa

obrazovanjem ili primanjima. Međutim, nikada nije moguće uključiti sve mešovite promenljive u empirijskoj

analizi. Na primer, hipotetički gen može povećati smrtnost i uticati na to da ljudi više puše. Iz tog razloga,

slučajni kontrolisani procesi su često u mogućnosti da generišu mnogo ubedljivije dokaze o uzročnoj vezi,

koji se mogu dobiti korišćenjem regresione analize opservacijskih podataka. Kada kontrolisani eksperimenti

nisu izvodljivi, varijante regresione analize poput regresije sa instrumentalnim promenljivim mogu se koristiti

za pokušaj ocenjivanja uzročnih vezi.

Ekonomija i finansije

Model ocenjivanja kapitala koristi linearnu regresiju za analizu i kvantifikovanje sistematskog rizika ulaganja.

Linearna regresija je dominantna empirijska alatka u ekonomiji. Na primer, koristi se za predviđanje

potrošnje, potrošnje fiksnih investicija, inventarnih investicija, kupovine izvozvnih dobara određene države,

uvozne potrošnje, ponude i potražnje radne snage, itd.

Ekološke nauke

Linearna regresija se uveliko koristi u mnogobrojnim primenama ekoloških nauka. U Kanadi, Program

nadgledanja ekoloških efekata koristi statističke analize u pregledima o stanju riba za merenje efekata metalnih

otpada na vodeni ekosistem.

Page 6: 2. Seminarski Rad - Linearna Regresija

6

Teorijski aspekt linearne regresije

Uz zadati skup podataka

od statističkih jedinica, model linearne regresije pretpostavlja da se relacija između zavisno

promenljive i -vektora regresora može aproksimativno uzeti kao linearna. "Aproksimativno" se ovde

odnosi na "smetnje" – nerazmatranu slučajnu promenljivu koja dodaje šum u linearnu relaciju između

zavisne promenljive i regresora. Stoga, model ima oblik:

Često se ovih jednačina kompaktno zapisuju u vektorskom obliku kao:

gde je

Neke napomene vezane za terminologiju i generalnu upotrebu:

se zove regresand, zavisna promenljiva, endogena promenljiva, promenljiva odgovora ili izmerena

promenljiva. Odluka o tome koja se promenljiva u skupu podataka modelira kao zavisna promenljiva,

a koja kao nezavisna može se temeljiti na pretpostavci da je jedna od promenljivih posledica ili pod

uticajem druge promenljive.

su regresori, nezavisno promenljive, kovarijati; matrica se ponekad naziva dizajn-

matricom. Obično je konstanta uključena kao jedan od regresora. Npr. možemo uzeti za

Odgovarajući element za se naziva odsečkom. Mnoge statističke procedure

zaključivanja vezane za linearne modele zahtevaju odsečak, tako da je on često uključen čak i ako

teorijska razmatranja smatraju da njegova vrednost treba da bude 0. Ponekad jedan od regresora

može biti nelinearna funkcija od drugog regresora ili od svih podataka, kao npr. u polinomijalnoj

regresiji. Model ostaje linearan sve dok je to i u parametarskom vektoru . Regresori mogu biti

posmatrani ili kao slučajne promenljive, koje mi jednostavno razmatramo, ili kao unapred određene

fiksirane vrednosti koje možemo birati. Obe interpretacije su pogodne u različitim slučajevima i one

Page 7: 2. Seminarski Rad - Linearna Regresija

7

generalno vode do istih metoda procene; međutim, različiti pristupi asimptotstoj analizi se koriste u

ovim dvema situacijama.

je -dimenzionalni parametarski vektor. Njegovi elementi se takođe nazivaju efektima ili

regresionim koeficijentima. Statistička procena i zaključivanje se u statistici fokusiraju na . Elementi

ovog parametarskog vektora se interpretiraju kao parcijalni izvodi zavisno promenljive, u skladu sa

nezavisnim promenljivama.

se zove greška, smetnja ili šum. Ova promenljiva takoreći hvata sve druge faktore koji utiču na

zavisno promenljivu , pored regresora . Odnos između greške i regresora, na primer u slučaju

kada su korelisani, jeste odlučujući korak u formulisanju linearnog regresionog modela, s obzirom da

on određuje metod koji se koristi za ocenjivanje.

Primer : Posmatrajmo situaciju u kojoj se loptica baca u vazduh. Mere se visine uspona u različitim

vremenskim trenucima . Fizika nam kaže da, ignorišući otpor, odnos ovih veličina može biti modelovan

kao :

gde predstavlja početnu brzinu loptice, je proporcionalna standardnoj gravitaciji, dok se javljaju zbog

grešaka u merenju. Linearna regresija se može koristiti u proceni vrednosti i na osnovu izmerenih

podataka. Ovaj model je nelinearan po promenljivoj , ali je linearan po parametrima i ; ako za

regresore uzmemo ( ) ( ), model je standardnog oblika :

Pretpostavke

Standardni linearni regresioni modeli sa standardnim tehnikama ocenjivanja zahtevaju mnogobrojne

pretpostavke o promenljivama, kao i o njihovom odnosu. Razvijena su brojna uopštenja koja omogućavaju da

se neke od ovih pretpostavki oslabe, a čak i eliminišu potpuno u nekim slučajevima. Neke metode su

dovoljno generalne da može da se oslabi više pretpostavki odjednom, a u drugim slučajevima se to može

postići kombinovanjem više uopštenja. Generalno, nakon ovakvih uopštenja, metode procene postaju

složenije i vremenski zahtevnije, i mogu zahtevati nešto više podataka radi dobijanja modela iste preciznosti.

Navedeno je nekoliko glavnih pretpostavki standardnih linearnih regresionih modela sa standardnim

metodama ocenjivanja (kao npr. metoda najmanjih kvadrata):

Slaba egzogenost : Ovo u suštini znači da se promenljive mogu tretirati kao fiksirane vrednosti,

a ne kao slučajne promenljive. To znači da se, na primer, može pretpostaviti da nema grešaka u

prediktor-promenljivim, dakle nema grešaka u merenju. S obzirom da ova pretpostavka nije

Page 8: 2. Seminarski Rad - Linearna Regresija

8

realistična u mnogim situacijama, njeno izostavljanje dovodi do prilično nezgodnih modela sa

greškama u promenljivim.

Linearnost : Ovo označava da je srednja vrednost rezultujuće promenljive linearna kombinacija

parametara (regresionih koeficijenata) i prediktor-promenljivih. Ova pretpostavka je daleko manje

restriktivna nego što se to čini na prvi pogled. Zbog toga što se prediktor-promenljive tretiraju kao

fiksirane vrednosti (videti gore o slaboj egzogenosti), linearnost je zapravo samo restrikcija na

parametrima. Početne promenljive se mogu proizvoljno transformisati, i može se dodati nekoliko

kopija iste osnovne početne promenljive, svaka transformisana na različit način. Ovaj trik se koristi

npr. u polinomijalnoj regresiji, koja koristi linearnu regresiju kako bi podesila rezultujuću

promenljivu kao proizvoljnu polinomijalnu funkciju (do određenog stepena) od prediktor-

promenljive. Ovako nešto linearnu regresiju čini izuzetno moćnom metodom zaključivanja.

Zapravo, modeli poput polinomijalne regresije su često toliko moćni da mogu da prefituju (overfit,

engl.) podatke. Kao posledica toga, neka vrsta regularizacije se obično mora izvršiti kako bi se

sprečila neprihvatljiva rešenja koja potiču iz procesa ocenjivanja. Uobičajeni primeri su Tikonova

regularizacija i metoda najmanjih kvadrata. Bajesovska linearna regresija se takođe može koristiti,

koja je po svojoj prirodi manje-više imuna na problem prefitovanja.

Konstantna disperzija (poznata i pod nazivom homoskedastičnost): Ovo označava da različite

rezultujuće promenljive imaju istu disperziju u svojim greškama, bez obzira na vrednosti početnih

promenljivih. U praksi, ova pretpostavka je nevažeća (tj. greške su heteroskedastične) ukoliko

rezultujuće promenljive mogu da variraju u širokom rasponu. Kako bi se odredila heterogena greška

disperzije ili kada skup reziduala krši pretpostavke modela o homoskedastičnosti, mudro je potražiti

tzv. fening-efekat između rezidualne greške i pretpostavljenih vrednosti. Ovo govori da će biti

sistematske promene u apsolutnim ili kvadratnim rezidualima kada se grafički prikažu protiv

predvidljivog ishoda. Greška neće čak ni biti raspoređena po regresionoj liniji. Ustvari, reziduali se

grupišu i prostiru nešto dalje od njihovih predviđenih grafika za veće i manje vrednosti od tačaka sa

linearne regresione linije, a srednje-kvadratna greška za model će biti pogrešna. Rezultujuća

promenljiva čija je sredina velika će tipično imati veću disperziju od one sa malom sredinom. Na

primer, ukoliko osoba po nekoj pretpostavci ima godišnja primanja od 100 000$, ona zapravo može

imati primanja u iznosu od 80 000$ ili 120 000$ (sa standardnom devijacijom od oko 20 000$), dok

neka druga osoba za koju se misli da ima primanja od 10 000$, teško da može imati istu standardnu

devijaciju od 20 000$, što bi značilo da njena stvarna primanja variraju od -10 000$ do 30 000$

godišnje. Ovo nam zapravo govori da se, u mnogim slučajevima poput navedenog, disperzija ili

standardna devijacija moraju pretpostaviti da budu proporcionalni sredini, a ne da to bude neka

konstanta. To su slučajevi gde pretpostavka o normalnoj raspodeljenosti ne prolazi. Međutim, razne

tehnike za procenjivanje mogu da na neki način kontrolišu heteroskedastičnost. Tehnike Bajesovske

linearne regresije se takođe mogu koristiti kada se pretpostavlja da je disperzija funkcija sredine. Isto

tako je moguće u nekim slučajevima rešiti problem tako što se izvrši transformacija nad

rezultujućim promenljivim. Na primer, moguće je podesiti logaritam rezultujuće promenljive

koristeći linearni regresioni model, što povlači da ta promenljiva nema normalnu, već -normalnu

raspodelu.

Nezavisnost grešaka: Ovo pretpostavlja da su greške rezultujućih promenljivih međusobno

nekorelisane. Napomenimo da je stvarna statistička nezavisnost jači uslov od pukog nedostatka

Page 9: 2. Seminarski Rad - Linearna Regresija

9

korelacije, i često nije neophodan, iako može biti iskorišćen ukoliko se zna da važi. Neke metode

(poput uopštene metode najmanjih kvadrata) su u stanju da barataju sa korelisanim greškama, iako

one tipično zahtevaju značajno više podataka, ukoliko se neka vrsta regularizacije ne upotrebi.

Bajesovska linearna regresija je opšti pristup ovakvom problemu.

Nedostatak multikolinearnosti u pretpostavkama: Za standardne metode najmanjih kvadrata,

dizajn-matrica mora imati rang koji je jednak broju kolona te matrice; inače imamo uslov

poznat pod nazivom multikolinearnost u početnim promenljivama. To se može postići sa 2 ili više

korelisane promenljive. To se takođe može desiti ukoliko imamo malo dostupnih podataka u

poređenju sa brojem parametara koje treba proceniti. U slučaju multikolinearnosti, parametarski

vektor neće biti poistovetljiv – nema jedinstveno rešenje. Postoje razvijene metode za fitovanje

linearnih modela sa multikolinearnošću, od kojih neke zahtevaju određene dodatne pretpostavke.

Napomenimo da iterativni algoritmi za procenu parametara koji su računski zahtevniji (poput onih

koji se koriste u generalizovanim linearnim modelima) ne pate od ovog problema.

Pored navedeni pretpostavki, nekoliko drugih statističkih karakterestika podataka utiču na performans različih

estimacionih modela:

Statistički odnos između grešaka i regresora igra važnu ulogu u odlučivanju o tome da li estimaciona

procedura ima poželjne osobine uzorkovanja poput nepristrasnost i konzistentnosti.

Raspodela verovatnoća promenljivih ima značajan uticaj na preciznost procenjenog .

Uzorkovanje i dizajn eksperimenata su visokorazvijene oblasti statistike koje omogućavaju

rukovođenje sakupljanjem podataka na takav način da se dobije precizna ocena za .

Interpretacija

Fitovani linearni regresioni model se može koristiti u identifikovanju odnosa između jedne pretpostavljene

promenljive i rezultujuće promenljive , kada su sve druge pretpostavljene promenljive u modelu fiksirane.

Specijalno, interpretiramo kao promenu u pri promeni kada su ostali kovarijati fiksirani – to je dakle

očekivana vrednost parcijalnog izvoda od po . Ovo se ponekad zove jedinstveni efekat od na .

Nasuprot tome, marginalni efekat od na se može proceniti koristeći koeficijent korelacije ili model

jednostavne linearne regresije od u odnosu na ; ovaj efekt predstavlja potpuni izvod od u skladu sa .

Mora se voditi računa pri tumačenju rezultata regresije, s obzirom da neki regresori možda nisu podložni

marginalnim promenama, dok se neki drugi ne mogu tek tako fiksirati (npr. u primeru iz uvodnog dela vezan

za bacanje lopte, bilo bi nemoguće fiksirati , a menjati vrednosti ).

Page 10: 2. Seminarski Rad - Linearna Regresija

10

Primer: Enskombov kvartet

Enskombov kvartet sadrži 4 skupa podataka koji imaju skoro iste statističke karakteristike, ali koji deluju vrlo

različito kada se prikažu grafički. Svaki skup podataka sadrži 11 ( ) tačaka. Konstruisao ih je engleski

statističar Frensis Enskomb 1973. godine, kako bi demonstrirao važnost grafičkog prikazivanja podataka pre

njihovog analiziranja i efekat autlajera na statističke osobine.

Za sva 4 skupa podataka imamo sledeće:

Karakteristika Vrednost

Sredina od u svim slučajevima 9 (tačna vredost)

Uzoračka varijansa od u svim slučajevima 11 (tačna vrednost)

Sredina od u svim slučajevima 7.50 (na 2 decimale)

Uzoračka varijansa od u svim slučajevima 4.122 ili 4.127 (na 3 decimale)

Korelacija između i u svim slučajevima 0.816 (na 3 decimale)

Linearna regresiona linija u svim slučajevima (na 2 i 3 decimale, redom)

Prvi grafik (gornje levo) nam daje jednostavnu linearnu vezu, u skladu sa dvema korelisanim promenljivama i

ispunjavajući pretpostavku o normalnoj raspodeljenosti. Drugi grafik (gornje desno) nema normalnu

raspodelu; iako se može uočiti očigledna veza između promenljivih, ona nije linearna, i Pirsonov koeficijent

korelacije nije relevantan. Na trećem grafiku (donje levo) raspodela je linearna, ali sa drugačijom regresionom

linijom i upadljivim autlajerom koji je dovoljno uticajan da povisi regresionu liniju i smanji koeficijent

korelacije sa 1 na 0.816. Konačno, četvrti grafik (donje desno) predstavlja primer kada je samo jedan autlajer

sasvim dovoljan da proizvede visok koeficijent korelacije, čak i kada je odnos promenljivih nelinearan.

Ovaj grafik se i dalje često koristi kako bi ilustrovao važnost grafičkog razmatranja skupa podataka pre

upuštanja u analizu neke posebne vrste odnosa, kao i neadekvatnost osnovnih statističkih karakteristika za

opisivanje realističnih skupova podataka.

Page 11: 2. Seminarski Rad - Linearna Regresija

11

Skupovi podataka su sledeći (vrednosti za su iste u prva 3 skupa):

I II III IV

10.0 8.04 10.0 9.14 10.0 7.46 8.0 6.58

8.0 6.95 8.0 8.14 8.0 6.77 8.0 5.76

13.0 7.58 13.0 8.74 13.0 12.74 8.0 7.71

9.0 8.81 9.0 8.77 9.0 7.11 8.0 8.84

11.0 8.33 11.0 9.26 11.0 7.81 8.0 8.47

14.0 9.96 14.0 8.10 14.0 8.84 8.0 7.04

6.0 7.24 6.0 6.13 6.0 6.08 8.0 5.25

4.0 4.26 4.0 3.10 4.0 5.39 19.0 12.50

12.0 10.84 12.0 9.13 12.0 8.15 8.0 5.56

7.0 4.82 7.0 7.26 7.0 6.42 8.0 7.91

5.0 5.68 5.0 4.74 5.0 5.73 8.0 6.89

Ekstenzije linearne regresije

Razvijene su mnogobrojne ekstenzije linearne regresije, koje omogućavaju da se neke ili sve pretpostavke za

osnovni model olabave.

Obična i višestruka regresija

Najprostiji slučaj sa skalarnom promenljivom i skalarnom promenljivom naziva se jednostavnom

linearnom regresijom. Ekstenzija do višestrukih i/ili vektorskih promenljivih poznata je pod nazivom

višestruka linearna regresija. Obično svi regresioni modeli iz realnog života uključuju višestruke

prediktor promenljive, i osnovni opisi linearne regresije sadrže pojam višestrukog regresionog

modela. Međutim, napomenimo da je u ovim slučajevimo promenljiva i dalje skalar. Drugi pojam,

multivarijantna linearna regresija, referiše na slučajeve kada je vektor, tj. isto što i generalna linearna

regresija. Razlika između višestruke i multivarijantne linearne regresije mora biti istaknuta, s obzirom

da često stvara konfuziju i nesporazume u literaturi.

Page 12: 2. Seminarski Rad - Linearna Regresija

12

Generalni linearni modeli

Generalni linearni model je situacija kada je promenljiva vektor, a ne skalar. Pretpostavlja se

uslovna linearnost od ( | ) , gde matrica menja vektor kod klasičnog linearnog

regresionog modela. Razvijeni su i multivarijantni analogoni OLS-a i GLS-a. Dakle, pojmovi

generalni linearni model i multivarijantni linearni model su međusobno ekvivalentni.

Heteroskedastični modeli

Kreirani su mnogobrojni modeli koji dozvoljavaju heteroskedastičnost, tj. greške različitih

rezultujućih promenljivih mog imati različite disperzije. Na primer, metoda težinskih najmanjih

kvadrata je metoda za procenu linearnih regresionih modela gde rezultujuće promenljive mogu imati

različite disperzije grešaka, eventualno sa korelisanim greškama. Metoda sa heteroskedastično-

konzistentnim standardnim greškama je poboljšana metoda za upotrebu, sa nekorelisanim ali

mogućnim heteroskedastičnim greškama.

Generalizovani linearni modeli

Generalizovani linearni model (skraćeno GLM) predstavlja okvir za modeliranje rezultujuće

promenljive koja je ograničena ili diskretna. Ovo se, na primer, koristi u sledećim slučajevima:

pri modeliranju pozitivnih veličina (poput cena ili populacije stanovništva) koje variraju u širokom

rasponu, što se bolje opisuje korišćenjem neke tzv. isečene raspodele poput -normalne ili

Poasonove;

pri modeliranju kategoričkih podataka (poput izbora kandidata na izborima), što se bolje opisuje

korišćenjem Bernulijeve ili binomne raspodele za dvostruke izbore, ili kategoričke ili multinomijalne

raspodele za višestruke izbore, gde je fiksiran broj izbora;

pri modeliranju ordinalnih podataka, npr. rejtinga na skali od 0 do 5, gde se mogu dobiti različiti

rezultati, ali kvantitet sam po sebi nema apsolutno značenje – npr. rejting 4 ne mora biti dvostruko

bolji od rejtinga 2, ali jednostavno označava da je bolji od 2 i 3 ali ne tako dobar kao 5.

GLM-ovi imaju tzv. funkciju veze koja povezuje srednju vrednost rezultujuće promenljive i

prediktora, tj. ( ) ( ) Ova funkcija je često povezana sa raspodelom rezultujuće

promenljive, i ona naročito ima uticaj na transformisanje ( ) domena linearnog prediktora i

domena rezultujuće promenljive.

Glavni primeri GLM-ova su:

Poasonova regresija za računske podatke

Logistička regresija i probitska regresija za binarne podatke

Multinomijalna logistička regresija i multinomijalna probitska regersija za kategoričke podatke

Page 13: 2. Seminarski Rad - Linearna Regresija

13

Hijerarhijski linearni modeli

Ovi modeli organizuju podatke u hijerarhiju regresija, npr. se regresuje u odnosu na , a u

odnosu na . Oni se često koriste kada podaci prirodno imaju hijerarhijsku strukturu, kao npr. u

obrazovnoj statistici, gde su studenti grupisani u odeljenja, odeljenja u škole, a škole u nekoj

administrativnoj jedinici. Rezultujuća promenljiva može biti merilo nekog učenikovog dostignuća

poput rezultata na testu, i imali bismo različite kovarijate po odeljenjima, školama i administrativnim

jedinicama.

Modeli sa greškama u varijablama

Ovi modeli proširuju tradicionalnu linearnu regresiju tako što dopuštaju da se promenljiva X

razmatra sa greškom. Ta greška uzrokuje pristrasne ocene za .

Metode estimacije

Razvijen je veliki broj procedura za procenu parametara i donošenje zaključaka u linearnoj regresiji. Ovi

metodi se međusobno razlikuju u računskoj složenosti algoritama, postojanosti rešenja u implicitnom obliku, i

teorijskim pretpostavkama neophodnim za ispitivanje statističkih osobina poput konzistentnosti i asimptotske

efikasnosti.

Navedene su najznačajnije metode estimacije za linearnu regresiju.

Metoda najmanjih kvadrata i njoj slične metode

Standardna metoda najmanjih kvadrata (Ordinary Least Squares (OLS), engl.) je najjednostavniji i

stoga najzastupljeniji estimator. On je konceptualno najjednostavniji i računski ne tako zahtevan.

OLS procene se koriste za analiziranje eksperimentalnih i opservacijskih podataka.

Ova metoda minimizira sumu kvadriranih reziduala i dovodi do implicitnog izraza za procenjenu

vrednost nepoznatog parametra :

Ocena je nepristrasna i postojana ukoliko greške imaju konačnu dsiperziju i nekorelisane su sa

regresorima:

Page 14: 2. Seminarski Rad - Linearna Regresija

14

Takođe je efikasna pod pretpostavkom da greške imaju konačnu disperziju i da su homoskedastične,

tj. [ | ] ne zavisi od . Uslov da su greške nekorelisane sa regresorima će generalno biti

zadovoljene u eksperimentu, ali u slučaju opservacijskih podataka, teško je isključiti mogućnost da je

izostavljen neki kovarijat koji je u relaciji i sa posmatranim kovarijatima i sa rezultujućom

promenljivom. Postojanje takvog kovarijata će, generalno, dovesti do korelacije između regresora i

rezultujuće promenljive, i time do nepostojane ocene za . Uslov homoskedastičnosti ne mora biti

zadovoljen ni kod eksperimentalnih ni kod opservacijskih podataka. Ako je cilj zaključivanje ili

predskazujuće modeliranje, performans OLS-a može biti loš ako je prisutna multikolinearnost, a

veličina uzorka je nedovoljno velika.

Uopštena metoda najmanjih kvadrata

Ova metoda (Generalized Least Squares (GLS), engl.) je uopštenje prethodne metode, koja daje efikasnu

ocenu za ako je prisutna heteroskedastičnost ili korelisanost u greškama modela, sve dok je oblik

heteroskedastičnosti i korelacije poznat nezavisno od podataka. Kako bi rukovao

heteroskedastičnošću kada su greške međusobno nekorelisane, GLS minimizira otežinjeni analogon

na sumu kvadrata reziduala iz OLS regresije, gde je težina za -ti slučaj obrnuto proporcionalna

disperziji od . Ovaj specijalan slučaj GLS-a se zove „otežinjeni najmanji kvadrati“. GLS rešenje za

problem estimacije je:

gde je Ω matrica kovarijansi grešaka. GLS se može posmatrati kao primena linearne transformacije na

podatke tako da su ispunjene pretpostavke OLS-a za transformisane podatke. Kako bi GLS mogao

biti primenjen, struktura kovarijansi grešaka mora biti poznata do na konstantu.

Procentualna metoda najmanjih kvadrata

Ova metoda se fokusira na smanjenje procentualnih grešaka, što je korisno u oblastima poput

prognoziranja ili analize vremenskih serija. Takođe je korisna u situacijama kada zavisna promenljiva

ima veliki domen vrednosti bez konstantne varijanse, s obzirom da bi većina reziduala na desnom

kraju domena dominirala ako bi OLS bio korišćen. Kada su procenti ili relativne greške normalno

raspodeljene, imamo ocene metodom maksimalne verodostojnosti.

Regresija sa instrumentalnim varijablama (Instrumental Variables Regression (IV), engl.) se može

izvesti kada su regresori korelisani sa greškama. U ovom slučaju nam treba egzistencija nekih

pomoćnih instrumentalnih varijabli tako da je [ ] Ako je matrica sačinjena od

instrumentalnih varijabli, onda je ocena u implicitnom obliku:

Ekstenzija ove regresije je regresija sa optimalnim instrumentalnim promenljivama, kada je

[ | ]

Page 15: 2. Seminarski Rad - Linearna Regresija

15

Totalni najmanji kvadrati (Total Least Squares (TLS), engl.) je pristup metodi najmanjih kvadrata

koja tretira kovarijate i rezultujuću promenljivu u više geometrijski simetričnom smislu nego OLS. To

je mogući pristup pri rukovanju sa problemom grešaka u promenljivim, i ponekad se koristi kada se

pretpostavi da su kovarijati dati bez greške.

Metoda maksimalne verodostojnosti i druge povezane metode

Ocena metodom maksimalne verodostojnosti se može izvesti kada se zna da raspodela grešaka

pripada određenoj parametarskoj familiji raspodela verovatnoća. Kada je normalna raspodela sa

očekivanjem 0 i disperzijom , rezultujuća ocena je identična OLS oceni. GLS ocene su ocene

metodom maksimalne verodostojnosti kada ima multivarijantnu normalnu raspodelu sa poznatom

kovarijantnom matricom.

„Ridž“ regresija (ili Tikonova regularizacija) i „Lasso“ regresija namerno dodeljuju pristrasnot

oceni za parametar kako bi smanjili promenljivost ocene. Rezultujuće ocene generalno imaju manje

srednje-kvadratne greške od OLS ocena, naročito kada je prisutna multikolinearnost. One se

generalno koriste kada je cilj predvideti vrednost rezultujuće promenljive za neposmatrane

vrednosti prediktora . Ove metode se obično ne koriste kada je cilj donošenje nekog zaključka, s

obzirom da je teško izračunati pristrasnost.

Regresija sa najmanjom apsolutnom devijacijom (Least Absolute Deviation Regression (LAD), engl.)

je moćna metoda ocenjivanja koja je manje osetljiva na prisustvo autlajera od OLS metode, ali je

manje efikasna od OLS metode ako nema autlajera. Ekvivalentna je metodi maksimalne

verodostojnosti za epsilon koje ima Laplasovu raspodelu.

Adaptivna estimacija: Ako pretpostavimo da su greške nezavisne od regresora, optimalna ocena se

dobija MML metodom u 2 koraka, gde se u prvom koraku vrši neparametarsko ocenjivanje raspodele

greške.

Druge metode ocenjivanja

Bajesovska linearna regresija primenjuje okvire Bajesovske statistike na linearnu regresiju.

Posebno, za regresione koeficijente se pretpostavlja da su slučajne promenljive sa specifičnom

apriornom raspodelom. Apriorna raspodela može dati pristrasnost rešenja za regresione koeficijente,

slično kao kod ridž i laso regresije. Dalje, Bajesovsko ocenjivanje ne daje jednu tačkastu ocenu za

najbolje vrednosti regresionih koeficijenata, već čitavu aposteriornu raspodelu. To se može iskoristiti

za ocenjivanje „najboljih“ koeficijenata korišćenjem sredine, mode, medijane, kvantila, ili bilo koje

druge funkcije aposteriorne raspodele.

Page 16: 2. Seminarski Rad - Linearna Regresija

16

Kvantilna regresija se fokusira na kondicionalnim kvantilima od pri datom . Linearna kvantilna

regresija modelira posebni kvantil, npr. kondicionalnu medijanu, kao linearnu funkciju

prediktora.

Mešoviti modeli se uveliko koriste za analiziranje odnosa u linearnoj regresiji koje uključuju zavisne

podatke, kada oni imaju poznatu strukturu. Najznačajnije primene mešovitih modela podrazumevaju

analize podataka uključujuči ponovljena merenja, poput longitudalnih podataka ili podataka dobijenih

iz grupnog uzorkovanja. U slučaju kada su greške modelirane kao normalno raspodeljene slučajne

veličine, postoji bliska veza između mešovitih modela i generalizovanih najmanjih kvadrata.

Ocenjivanje sa fiksiranim efektima je alternativni pristup analiziranju ovakvog tipa podataka.

Regresija sa glavnom komponentom (Principal Component Regression (PCR), engl.) se koristi kada je

broj prediktora veliki, ili kada postaje jaka korelacija između njih. Ova dvoetapna procedura najpre

redukuje prediktore koristeći analizu glavne komponente, a zatim koristi redukovane promenljive za

fitovanje OLS regresijom. Dok to često dobro funkcioniše u praksi, ne postoji generalni teorijski

razlog da najinformativnija linearna funkcija prediktora treba da leži između dominantnih glavnih

komponenti multivarijantne raspodele prediktora. Regresija sa parcijalnim najmanjim kvadratima je

ekstenzija PCR metode koja ne pati od pomenutog nedostatka.

Regresija sa najmanjim uglom je procedura ocenjivanja za linearne regresione modele koja je

razvijena za rukovođenje višedimenzionalnim kovarijantnim vektorima, potencijalno sa više

kovarijata od opservacija.

Tejl-Sen ocenjivanje je jednostavna ali moćna tehnika koja bira nagib fitovane linije tako da bude

medijana nagiba linija kroz uređene parove tačaka. Ima slične osobine statističke efikasnosti kao

obična linearna regresija, ali je mnogo manje osetljiva na autlajere.

Page 17: 2. Seminarski Rad - Linearna Regresija

17

Linearna regresija u R okruženju

U ovom odeljku ćemo videti implementaciju linearne regresije u R okruženju i njene konkretne primere, kako

jednostavne, tako i nešto složenije. Važnu ulogu u svemu tome igra R-funkcija lm(), čija struktura izgleda

ovako:

Opis:

Funkcija lm() se koristi za fitovanje linearnih modela. Može se koristiti za regresiju, kao i za analizu

varijanse i kovarijanse.

Upotreba:

lm(formula, data, subset, weights, na.action, method = "qr", model = TRUE, x

= FALSE, y = FALSE, qr = TRUE,singular.ok = TRUE, contrasts = NULL, offset,

...)

Argumenti:

formula – objekat klase “formula”: simbolički opis modela koji će se fitovati

data – opcionalni okvir podataka, liste ili okruženja koji sadrži promenljive modela; ako se ne nalaze u

data, promenljive se uzimaju iz environment(formula), obično iz okruženja iz kojeg se lm poziva

subset – opcionalni vektor sa podskupom opservacija koji će se koristiti u procesu fitovanja

weights – opcionalni vektor sa težinama koji će se koristiti u procesu fitovanja; trebalo bi da bude NULL

ili numerički vektor; ako nije NULL, otežinjeni najmanji kvadrati se koriste sa težinama weights

(minizovanje sum(w*e^2)); inače se koristi uobičajena metoda najmanjih kvadrata

na.action – funkcija koja nagoveštava šta treba da se dogodi ako podaci sadrže NA vrednosti; default

vrednosti je na.fail

method – metoda koja će se koristiti; za fitovanje, trenutno je podržana samo method = "qr"; method = "model.frame" vraća okvir modela

model, x, y, qr – logički argumenti; ako su TRUE, vraćaju se odgovarajuće komponente fitovanja

(okvir modela, matrica modela, rezultat, QR dekompozicija)

singular.ok – logički argument; ako je FALSE (što nije default u R-u), singularni fit je greška

contrasts – opcionalna lista

offset – može se koristiti za specificiranje a priori poznate komponente; to je NULL ili numerički vektor

Vrednost:

lm() vraća objekat klase “lm” ili c(“mlm”,”lm”); funkcije summary() i anova() se koriste za prikaz

rezimea i analizu tabele disperzija rezultata. Generičke funkcije:

coefficients, effects, fitted.values, residuals

Page 18: 2. Seminarski Rad - Linearna Regresija

18

daju razne korisne odlike vrednosti koju vraća lm().

Objekat klase “lm” je lista koja sadrži sledeće komponente:

coefficients imenovani vektor sa koeficijentima

residuals reziduali – rezultat umanjen za fitovanu vrednost

fitted.values fitovane srednje vrednosti

rank numerički rang fitovanog linearnog modela

weights specificirane težine

df.residual stepeni slobode reziduala

terms korišćeni term-objekti

contrasts (samo gde su relevantni) korišćeni contrasts-objekti

y korišćeni rezultat (ako se traži)

x korišćena matrica modela (ako se traži)

model korišćeni okvir modela (ako se traži)

Page 19: 2. Seminarski Rad - Linearna Regresija

19

Primer 1:

Neka su data 2 numerička vektora, gde prvi sadrži broj sati koje student provodi nedeljno učeći u biblioteci, a

drugi sadrži rezultate na ispitu, u poenima od 0 do maksimalnih 100.

> sati=10:30 > poeni=c(14,17,18,23,26,30,30,40,41,49,56,60,61,62,69,75,80,81,82,89,92)

Očekivani model koji opisuje ove podatke je:

,

gde je teorijsi -odsečak, a teorijski nagib. Cilj linearne regresije je naći najbolje ocene za ova dva

parametra, minimizujući rezidualnu grešku između eksperimentalnih i predviđenih rezultata ispita. Konačni

model je :

gde su i ocene za i , redom, a je rezidualna greška.

Najpre treba razumeti sintaksu definisanja modela. Pretpostavimo da je zavisna promenljiva koja se

modelira, a , i su nezavisne promenljive koje mogu uticati na . Opšti oblik linearnog modela je :

gde je “term” objekat ili niz objekata, a “op” je operator poput + i -.

Napomena : Kada je reč o modelima, termin linearan ne označava obavezno pravu liniju. Zapravo, linearni

model sadrži dodatne komponente, od kojih svaka sadrži jedan multiplikativni paramer. Na primer :

predstavljaju linearne modele. S druge strane,

nije linearan model.

Sledeća tabela daje nekoliko korisnih primera:

Sintaksa Model Komentar

prava linija sa implicitnim -odsečkom

prava linija bez -odsečka (kroz k. početak)

( ) polinomijalni model

model 1. reda

Page 20: 2. Seminarski Rad - Linearna Regresija

20

model koji sadrži samo interakcije 1. reda između A i B

kompletni model 1. reda

( )

model koji sadrži sve efekte 1.

reda i interakcije do -tog reda

Osnovna sintaksa za regresionu analizu u R-u je :

gde je objekat koji sadrži zavisno promenljivu, a model je formula za izabrani matematički model.

Komanda lm() daje koeficijenta modela, ali nikakve daljne statističke informacije :

> lm(poeni~sati) Call: lm(formula = poeni ~ sati) Coefficients: (Intercept) sati -30.143 4.114

Radi dobijanja više informacija i pristupa brojnim funkcijama za manipulisanje podacima, najbolje je kreirati

objekat koji sadrži komandu modela :

> lm.r = lm(poeni ~ sati)

Ovaj objekat se potom može koristiti kao argument za druge komande. Kako bismo dobili kompletniji

statistički pregled o modelu, koristimo summary() naredbu :

> summary(lm.r) Call: lm(formula = poeni ~ sati) Residuals: Min 1Q Median 3Q Max -5.6857 -1.4571 0.0571 1.8857 3.8571 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -30.14286 1.91226 -15.76 2.29e-12 *** sati 4.11429 0.09151 44.96 < 2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2.539 on 19 degrees of freedom Multiple R-squared: 0.9907, Adjusted R-squared: 0.9902 F-statistic: 2021 on 1 and 19 DF, p-value: < 2.2e-16

Odeljak “residuals” daje razliku između eksperimentalnih i predviđenih rezultata ispita. Ocene za koeficijente

modela su date sa njihovim standardnim devijacijama (“std error”), kao i -vrednost i verovatnoća nulte

hipoteze da koeficijenti imaju vrednost 0. U ovom slučaju, na primer, vidimo da su odsečak i nagib prilično

udaljeni od 0. Na dnu vidimo standardnu devijaciju regresije ( ili “residual standar error”), koeficijent

korelacije i rezultat F-testa za nultu hipotezu da je

.

Page 21: 2. Seminarski Rad - Linearna Regresija

21

Druge korisne komande su sledeće:

> coef(lm.r) #daje koeficijente modela (Intercept) sati -30.142857 4.114286 > resid(lm.r) #daje rezidualne greške u Y 1 2 3 4 5 3.00000000 1.88571429 -1.22857143 -0.34285714 -1.45714286 6 7 8 9 10 -1.57142857 -5.68571429 0.20000000 -2.91428571 0.97142857 11 12 13 14 15 3.85714286 3.74285714 0.62857143 -2.48571429 0.40000000 16 17 18 19 20 2.28571429 3.17142857 0.05714286 -3.05714286 -0.17142857 21 -1.28571429 > fitted(lm.r) #daje predviđene vrednosti za Y 1 2 3 4 5 6 11.00000 15.11429 19.22857 23.34286 27.45714 31.57143 7 8 9 10 11 12 35.68571 39.80000 43.91429 48.02857 52.14286 56.25714 13 14 15 16 17 18 60.37143 64.48571 68.60000 72.71429 76.82857 80.94286 19 20 21 85.05714 89.17143 93.28571 19 20 21 85.05714 89.17143 93.28571

Pre prihvatanja rezultata linearne regresije, važno je vrednovati njegovu pogodnost za objašnjavanje podataka.

Jedan od mnogobrojnih načina da se to uradi jeste vizuelno ispitati reziduale. Ako je model prikladan,

rezidualne greške treba da budu slučajne i normalno raspoređene. Dalje, uklanjanjem jednog slučaja ne treba

da bude narušena njegova pogodnost. R obezbeđuje 4 grafička pristupa za vrednovanje modela korišćenjem

plot() komande.

> layout(matrix(1:4,2,2)) > plot(lm.r)

Page 22: 2. Seminarski Rad - Linearna Regresija

22

Prvi grafik (gornje levo) prikazuje rezidualne greške u zavisnosti od njihovih fitovanih vrednosti. Reziduali

treba da budu slučajno raspoređeni u odnosu na horizontalnu liniju koja predstavlja rezidualnu grešku 0. To

znači da ne treba da postoji izrazit trend u raspodeli tačaka. Treći grafik (donje levo) je standardni Q-Q grafik,

koji treba da sugeriše normalnu raspodeljenost rezidualnih grešaka. Drugi grafik (gornje desno) prikazuje

kvadratni koren standardizovanih reziduala (neka vrsta kvadratnog korena relativne greške) kao funkciju

fitovanih vrednosti. Ponovo, ne bi trebalo da bude vidljivog trenda na ovom grafiku. Konačno, četvrti grafik

(donje desno) prikazuje tzv. moć svake tačke, koja je merilo njene važnosti u određivanju rezultata regresije.

Na grafiku su i konturne linije za Kukove razdaljine, koje su još jedno merilo važnosti svake opservacije za

regresiju. Manje razdaljine znače da uklanjanje opservacije ima manji efekat na rezultate regresije. Razdaljine

veće od 1 su sumnjive i sugerišu prisustvo mogućeg autlajera ili loše izrađen model.

Ponekad model ima poznate vrednosti za jedan ili više njegovih parametara. Na primer, pretpostavimo da

znamo da je stvarni model vezan za broj sati provedenih u učenju i rezultate ispita :

Naš regresioni model je

Možemo koristiti standardni -test za vrednovanje nagiba i odsečka. Njihovi intervali poverenja su :

gde su i standardne greške odsečka i nagiba, redom. Kako bismo odredili da li postoji značajna razlika

između očekivane ( ) i izračunate ( ) vrednosti, izračunavamo i poredimo ga sa njegovom standardnom

vrednošću za korektan broj stepeni slobode, koji je u ovom slučaju 19.

> tb1 = abs((3.00-4.114)/0.09151) #računamo apsolutnu vrednost od t > tb1 [1] 12.17353 > pt(tb1, 19, lower.tail = FALSE) #računamo verovatnoću za t [1] 1.01611e-10 > tb0=abs((0+30.143)/1.91226) > tb0 [1] 15.76302 > pt(tb0, 19, lower.tail = FALSE) [1] 1.146183e-12

Ovde računamo apsolutnu vrednost od koristeći izračunate vrednosti i standardne greške iz našeg

prethodnog pregleda rezultata. Komanda:

pt(vrednost, stepeni slobode, lower.tail = FALSE)

vraća jednorepnu verovatnoću da nema razlike između očekivanih i izračunatih vrednosti. U ovom slučaju

vidimo da je izračunata vrednost nagiba 4.114 različita od očekivane vrednosti 3.00. Napomenimo da veća

standardna devijacija za odsečak otežava prikaz da postoji značajna razlika između eksperimentalnih i

teorijskih vrednosti.

Page 23: 2. Seminarski Rad - Linearna Regresija

23

Cilj regresione analize je razviti model koji se može koristiti za predviđanje rezultata budućih eksperimenata.

U našem primeru:

Zbog nesigurnosti u izračunatom odsečku i nagibu, postojaće sumnja u dobijenim rezultatima ispita.

Pretpostavimo da hoćemo da predvidimo rezultate testa za sledeće brojeve sati sedmično provedenih tokom

učenja: 5, 10, 15, 20, 25, kao i interval poverenja za svaki. Za ovako nešto možemo koristiti predict()

komandu :

predict(model, data.frame(pred=new pred), level = 0.95, interval =

“confidence”)

gde je pred objekat koji sadrži originalne nezavisno promenljive, new pred je objekat koji sadrži nove

vrednosti koje želimo da predvidimo, a level je željeni nivo poverenja.

> newconc=c(5,10,15,20,25) > predict(lm.r,data.frame(conc = newconc), level = 0.9, interval = "confidence") fit lwr upr 1 11.00000 9.150174 12.84983 2 15.11429 13.397855 16.83072 3 19.22857 17.640967 20.81618 4 23.34286 21.878303 24.80741 5 27.45714 26.108282 28.80600 6 31.57143 30.328847 32.81401 7 35.68571 34.537382 36.83405 8 39.80000 38.730701 40.86930 9 43.91429 42.905221 44.92335 10 48.02857 47.057440 48.99970 11 52.14286 51.184703 53.10101 12 56.25714 55.286011 57.22827 13 60.37143 59.362364 61.38049 14 64.48571 63.416415 65.55501 15 68.60000 67.451668 69.74833 16 72.71429 71.471704 73.95687 17 76.82857 75.479711 78.17743 18 80.94286 79.478303 82.40741 19 85.05714 83.469538 86.64475 20 89.17143 87.454998 90.88786 21 93.28571 91.435888 95.13554

gde su lwr i upr donja i gornja granica intervala poverenja. Nažalost, R nije u mogućnosti da nalazi

intervale poverenja za predviđene vrednosti nezavisno promenljive za specifične vrednosti zavisno

promenljivih.

Što se tiče dodavanja regresione linije na grafik, za prave linije, to je vrlo jednostavno:

> par(mfrow=c(1,1)) > plot (sati,poeni) > abline(lm.r,col="blue")

Page 24: 2. Seminarski Rad - Linearna Regresija

24

Međutim, za podatke koji ne asociraju na pravu liniju, moramo biti malo kreativniji. Pogledajmo sledeći

primer.

Page 25: 2. Seminarski Rad - Linearna Regresija

25

Primer 2:

Na primer, neka vektor nv sadrži nadmorske visine nekoliko mesta u Evropi, a vektor pad godišnju količinu

padavina u milimetrima:

> nv = c(100, 200, 300, 450, 600, 800, 1000) > pad = c(253, 337, 395, 451, 495, 534, 574) > lm.r = lm(pad ~ nv + I(nv^2)) > lm.r # kvadratni model Call: lm(formula = pad ~ nv + I(nv^2)) Coefficients: (Intercept) nv I(nv^2) 200.211950 0.706182 -0.000341

> newh = seq(100, 1000, 10) #kreiramo nove nadmorske visine za daljne predviđanje > newh [1] 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 [17] 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 [33] 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 [49] 580 590 600 610 620 630 640 650 660 670 680 690 700 710 720 730 [65] 740 750 760 770 780 790 800 810 820 830 840 850 860 870 880 890 [81] 900 910 920 930 940 950 960 970 980 990 1000

> fit = 200.211950 + 0.706182*newh - 0.000341*newh^2 #računamo količinu padavine za novodobijene nadmorske visine koristeći model koji imamo > fit [1] 267.4201 273.7659 280.0434 286.2527 292.3938 298.4667 304.4715 310.4080 316.2763 [10] 322.0764 327.8084 333.4721 339.0676 344.5949 350.0540 355.4450 360.7677 366.0222 [19] 371.2085 376.3266 381.3766 386.3583 391.2718 396.1171 400.8942 405.6032 410.2439 [28] 414.8164 419.3207 423.7568 428.1248 432.4245 436.6560 440.8193 444.9144 448.9414 [37] 452.9001 456.7906 460.6129 464.3670 468.0530 471.6707 475.2202 478.7015 482.1146 [46] 485.4595 488.7363 491.9448 495.0851 498.1572 501.1612 504.0969 506.9644 509.7637 [55] 512.4948 515.1578 517.7525 520.2790 522.7373 525.1274 527.4493 529.7031 531.8886 [64] 534.0059 536.0550 538.0359 539.9487 541.7932 543.5695 545.2776 546.9176 548.4893 [73] 549.9928 551.4281 552.7952 554.0941 555.3249 556.4874 557.5817 558.6078 559.5657 [82] 560.4555 561.2770 562.0303 562.7154 563.3323 563.8811 564.3616 564.7739 565.1180 [91] 565.3940

> plot(nv, pad, xlab="nadmorska visina", ylab="kolicina padavina") #originalni podaci

Page 26: 2. Seminarski Rad - Linearna Regresija

26

> lines(newh, fit, lty=1) #dobijeno fitovanje

Page 27: 2. Seminarski Rad - Linearna Regresija

27

Primer 3:

Naučni istraživači su izmerili visine 161 dece u Kalami, selu u Egiptu. Istraživanje je trajalo nekoliko godina,

merenja su vršena svakog meseca i uzimane su prosečne visine. Dobijeni su sledeći podaci:

Prosečna visina u cm

Uzrast u mesecima

76.1 18

77 19

78.1 20

78.2 21

78.8 22

79.7 23

79.9 24

81.1 25

81.2 26

81.8 27

82.8 28

83.5 29

Grafik zavisnost visine dece u centimetrima od njihovog uzrasta se može lako prikazati u R-u pomoću

sledećeg niza naredbi :

> uzrast=18:29 > visina=c(76.1,77,78.1,78.2,78.8,79.7,79.9,81.1,81.2,81.8,82.8,83.5) > plot(uzrast,visina)

Primetimo da su podaci na grafiku približno linearni. Kako uzrast raste, prosečna visina se povećava, i to

skoro konstantno. Nemoguće je provući jedinstvenu linije kroz sve tačke sa grafika, ali može se zamisliti linija

koja je vrlo blizu svim tačkama, neke iznad, a neke ispod linije. Sada ćemo naći tu regresionu liniju pomoću

metode najmanjih kvadrata.

Page 28: 2. Seminarski Rad - Linearna Regresija

28

Koristićemo već opisanu komandu lm() koja nalazi model koji fituje podatke sa datog grafika. Kao što smo

već videli, to je vrlo sofisticirana komanda sa mnogobrojnim opcijama, ali je vrlo jednostavna za upotrebu.

Sintaksa visina~uzrast naziva se jednačinom modela.

> res=lm(visina~uzrast) > res Call: lm(formula = visina ~ uzrast) Coefficients: (Intercept) uzrast 64.928 0.635

Koeficijenti koje dobijamo predstavljaju odsečak i nagib fitovane linije. To nam daje jednačinu koja opisuje tu

pravu :

Sledećom komandom:

> abline(res)

dobijamo ono što smo tražili:

Dobijena jednačina nam omogućava da predviđamo – na primer, možemo proceniti prosečnu visinu deteta

starog 27.5 meseci. Ubacivanjem ove vrednosti u jednačinu, imamo

Dakle, prosečna visina deteta od 27.5 meseci je 82.3905 centimetara.

Page 29: 2. Seminarski Rad - Linearna Regresija

29

Primer 4:

Razmatramo bazu podataka “cats” iz paketa MASS, koja sadrži podatke o masi srca i tela odraslih mačaka oba

pola, težih od 2 kg. Kolona “sex” označava pol, F za ženski, M za muški; “Bwt” označava telesnu masu u

kilogramima, a “Hwt” masu srca u gramima.

> library(MASS) > data(cats) > attach(cats) > lm(Hwt ~ Bwt) Call: lm(formula = Hwt ~ Bwt) Coefficients: (Intercept) Bwt -0.3567 4.0341

Stoga je regresiona jednačina:

Smeštamo rezultat u objekat:

> lm.out = lm(Hwt ~ Bwt) > summary(lm.out) Call: lm(formula = Hwt ~ Bwt) Residuals: Min 1Q Median 3Q Max -3.5694 -0.9634 -0.0921 1.0426 5.1238 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.3567 0.6923 -0.515 0.607 Bwt 4.0341 0.2503 16.119 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.452 on 142 degrees of freedom Multiple R-squared: 0.6466, Adjusted R-squared: 0.6441 F-statistic: 259.8 on 1 and 142 DF, p-value: < 2.2e-16

> plot(Hwt ~ Bwt, xlab = "telesna masa", ylab = "masa srca", main="Podaci o mackama")

Page 30: 2. Seminarski Rad - Linearna Regresija

30

> abline(lm.out, col="red")

Moguće su razne regresione dijagnoze. Grafički se može prikazati koliko nam je dobar fitovani model:

> par(mfrow=c(2,2)) > plot(lm.out)

Prva komanda nam je omogućila da prikažemo odjednom 4 grafika. Prvi grafik (gornje levo) je standardni

grafik sa rezidualima, koji prikazuje reziduale u odnosu na fitovane vrednosti. Označene su tačke koje

pretenduju da budu autlajeri. Ako se uoči nekakav obrazac među ovim tačkama, linearni model možda neće

biti odgovarajući. Drugi grafik (gornje desno) je normalni Q-Q grafik sa kvantilima, i vidimo normalnu

raspodeljenost reziduala. Naznačene tačke na grafiku donje desno predstavljaju slučajeve kada možda postoji

neki uticaj na regresionu vezu. Osvrnimo se na slučaj označen brojem 144.

> cats[144,]

Page 31: 2. Seminarski Rad - Linearna Regresija

31

Sex Bwt Hwt 144 M 3.9 20.5 > lm.out$fitted[144] 144 15.37618 > lm.out$residuals[144] 144 5.123818

Ova mačka je imala najveću telesnu masu i masu srca u čitavom skupu podataka. Opservacijska vrednost za

Hwt je bila 20.5g, ali je fitovana vrednost samo 15.4g, što daje rezidual od 5.1g. Često korišćeno merenje

uticaja je Kukova razdaljina, koja se može vizualizovati za sve slučajeve u modelu :

> par(mfrow=c(1,1)) > plot(cooks.distance(lm.out))

Na vrhu je pomenuti slučaj 144.

Dakle, možemo eliminisati ovaj autlajer iz regresionih koeficijenata :

> lm.without144 = lm(Hwt ~ Bwt, subset=(Hwt<20.5)) > lm.without144 Call: lm(formula = Hwt ~ Bwt, subset = (Hwt < 20.5)) Coefficients: (Intercept) Bwt 0.118 3.846

Drugi način je da primenimo procedure koja je vrlo moćna protiv autlajera :

> rlm(Hwt ~ Bwt) Call: rlm(formula = Hwt ~ Bwt) Converged in 5 iterations Coefficients: (Intercept) Bwt -0.1361777 3.9380535 Degrees of freedom: 144 total; 142 residual Scale estimate: 1.52

Page 32: 2. Seminarski Rad - Linearna Regresija

32

Primer 5:

Razmatraćemo bazu podataka koja sadrži podatke o studentima na Univerzitetu Nju Meksiko prema

podacima iz 1990. godine. Iskoristićemo kolonu UNEM koja predstavlja nezaposlenost u procentima kako

bismo predvideli broj upisanih studenata na taj univerzitet (kolona ROLL).

YEAR ROLL UNEM HGRAD INC

1 5501 8.1 9552 1923

2 5945 7 9680 1961

3 6629 7.3 9731 1979

4 7556 7.5 11666 2030

5 8716 7 14675 2112

6 9369 6.4 15265 2192

7 9920 6.5 15484 2235

8 10167 6.4 15723 2351

9 11084 6.3 16501 2411

10 12504 7.7 16890 2475

11 13746 8.2 17203 2524

12 13656 7.5 17707 2674

13 13850 7.4 18108 2833

14 14145 8.2 18266 2863

15 14888 10.1 19308 2839

16 14991 9.2 18224 2898

17 14836 7.7 18997 3123

18 14478 5.7 19505 3195

19 14539 6.5 19800 3239

20 14395 7.5 19546 3129

21 14599 7.3 19117 3100

22 14969 9.2 18774 3008

23 15107 10.1 17813 2983

24 14831 7.5 17304 3069

25 15081 8.8 16756 3151

26 15127 9.1 16749 3127

27 15856 8.8 16925 3179

28 15938 7.8 17231 3207

29 16081 7 16816 3345

Kreirajmo linearni model (baza nam se nalazi na Desktopu, koji je podešen za Working Directory):

> baza=read.csv("primer_newmexico.csv",header=TRUE)

Page 33: 2. Seminarski Rad - Linearna Regresija

33

> head(baza) > attach(baza) > linearModel <- lm(ROLL ~ UNEM, baza) > linearModel Call: lm(formula = ROLL ~ UNEM, data = baza) Coefficients: (Intercept) UNEM 3957 1134

Time smo dobili da odsečak iznosi 3957, a nagib je 1134. Otuda je regresiona jednačina :

To nam govori da će predviđeni broj upisanih studenata na univerzitetu u Nju Meksiku porasti za 1134

studenta za 1% porasta stope nezaposledosti. Postavlja se pitanja koliki će biti broj upisanih studenata ako je

ovogodišnja stopa nezaposlenosti 9%. Odgovor nalazimo uz pomoć date regresione jednačine :

> 3957 + 1134 * 9 [1] 14163

Dakle, ove godine će biti 14163 upisanih studenata, s obzirom na stopu nezaposlenosti od 9%.

Linearna regresija se može mnogo bolje iskoristiti nego samo za nalaženje očekivanih vrednosti. Pomoću

naredbe summary(), dobijamo mnoge statističke informacije o linearnom modelu.

> summary(linearModel) Call: lm(formula = ROLL ~ UNEM, data = baza) Residuals: Min 1Q Median 3Q Max -7640.0 -1046.5 602.8 1934.3 4187.2 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 3957.0 4000.1 0.989 0.3313 UNEM 1133.8 513.1 2.210 0.0358 * --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 3049 on 27 degrees of freedom Multiple R-squared: 0.1531, Adjusted R-squared: 0.1218 F-statistic: 4.883 on 1 and 27 DF, p-value: 0.03579

Dakle, dobili smo mnoštvo korisnih informacija, poput -testa, -testa i reziduala. Svi ovi podaci mogu

poslužiti za nalaženje odgovora na važna pitanja vezana za linearni model.

Napomena: Ovde je korišćena funkcija lm(), a njoj alternativne su glm() i rlm().

Page 34: 2. Seminarski Rad - Linearna Regresija

34

Primer 6:

U R-u se nalazi baza podataka “cars” sa podacima o automobilima. Kolona « speed » je brzina u miljama po

satu, a kolona « dist » je distanca zaustavljanja u stopama. Podaci su prikupljeni tokom 20-ih godina XX veka.

Učitajmo ove podatke :

> data(cars) > str(cars) 'data.frame': 50 obs. of 2 variables: $ speed: num 4 4 7 7 8 9 10 10 10 11 ... $ dist : num 2 10 4 22 16 10 18 26 34 17 ... > summary(cars) speed dist Min. : 4.0 Min. : 2.00 1st Qu.:12.0 1st Qu.: 26.00 Median :15.0 Median : 36.00 Mean :15.4 Mean : 42.98 3rd Qu.:19.0 3rd Qu.: 56.00 Max. :25.0 Max. :120.00 > attach(cars) > plot(speed,dist)

Na grafiku vidimo da kako brzina raste, raste i distanca, ali to nije 1:1 porast. Na primer, za brzinu od 20 mph

imamo više distanci. Vektor koji sadrži sve distance za tu brzinu je:

> dist[speed==20] [1] 32 48 52 56 64

Distance variraju od 32 do čak 64 stope, što je veliki raspon. Sada ćemo fitovati liniju kroz ove podatke, ali

tako da suma najmanjih kvadrata (misli se na kvadrat razlike između izmerene i predviđene vrednosti od u

odnosu na ) bude minimalna. Obično se na to misli pri linearnoj regresiji.

> abline(lm(dist ~ speed),col="magenta")

Page 35: 2. Seminarski Rad - Linearna Regresija

35

S obzirom da fitujemo liniju oblika , gde je nagib, a je odsečak na -osi, imamo :

> lm(dist ~ speed) Call: lm(formula = dist ~ speed) Coefficients: (Intercept) speed -17.579 3.932

Koeficijenti korelacije i određenosti su :

> cor(speed,dist) [1] 0.8068949 > cor(speed,dist)^2 [1] 0.6510794

Ovo znači da se 65% posmatranih distanci može izraziti samo kao funkcija brzine.

Sada ćemo se malo pozabaviti regresionom analizom. Ona zahteva ispunjenost određenih pretpostavki,

poput :

Podaci su izmereni bez greške, tako da su sve opservacije pouzdane i imaju podjednak uticaj.

Greške su normalno raspodeljene i međusobno nezavisne.

Srednja vrednost grešaka je 0 i imaju konstantnu disperziju.

Kako testirati ove pretpostavke? Jedan način je posmatrati reziduale.

Fitovana linija deluje pouzdano i dobro, ali kada razmišljamo o odsečku i nagibu, shvatamo da nema smisla

fitovati model sa ne-nula odsečkom. Pored svega, automobil koji se kreće 0 mph ima distancu zaustavljanja 0,

a automobil koji se sporo kreće ipak ima određenu distancu. Najpre se rešimo odsečka :

> plot(dist~speed-1) > abline(lm(dist~speed-1),col="orange") > summary(lm(dist~speed-1)) Call: lm(formula = dist ~ speed - 1) Residuals: Min 1Q Median 3Q Max

Page 36: 2. Seminarski Rad - Linearna Regresija

36

-26.183 -12.637 -5.455 4.590 50.181 Coefficients: Estimate Std. Error t value Pr(>|t|) speed 2.9091 0.1414 20.58 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 16.26 on 49 degrees of freedom Multiple R-squared: 0.8963, Adjusted R-squared: 0.8942 F-statistic: 423.5 on 1 and 49 DF, p-value: < 2.2e-16

Sada posmatrajmo reziduale (biće 4 grafika i naredbom Return prelazimo sa jednog na drugi):

> plot(lm(dist~speed-1))

Na prvom grafiku vidimo da podaci prate određeni trend sa porastom disperzije s leva na desno.

Što se tiče drugog grafika, ukoliko su reziduali normalno raspoređeni, podaci treba da budu bliski liniji. U

ovom slučaju, vidimo da podaci nisu normalno raspodeljeni.

Page 37: 2. Seminarski Rad - Linearna Regresija

37

Na trećem grafiku vidimo trend među podacima, tako da velike vrednosti daju veće disperzije.

Četvrti grafik prikazuje koji podaci imaju najveći uticaj. Ako Kukova linija sadrži određenu tačku, to sugeriše

da analiza može biti vrlo osetljiva za tu tačku i da bi bilo mudro isključiti tu tačku i ponoviti analizu bez nje.

S obzirom na rastuću disperziju (videti o heteroskedastičnosti u teorijskom aspektu), primenjujemo

logaritamsku transformaciju na podatke:

> par(mfrow=c(2,2)) > ln.speed=log(speed) > ln.dist=log(dist) > plot(lm(ln.dist~ln.speed-1))

Page 38: 2. Seminarski Rad - Linearna Regresija

38

Svuda se vidi manje trenda, izuzev na Q-Q grafiku.

> summary(lm(ln.dist~ln.speed-1)) Call: lm(formula = ln.dist ~ ln.speed - 1) Residuals: Min 1Q Median 3Q Max -1.21083 -0.22501 0.01129 0.25636 0.85978 Coefficients: Estimate Std. Error t value Pr(>|t|) ln.speed 1.33466 0.02187 61.02 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.4166 on 49 degrees of freedom Multiple R-squared: 0.987, Adjusted R-squared: 0.9867 F-statistic: 3724 on 1 and 49 DF, p-value: < 2.2e-16

Sada model objašnjava 99% disperzije među podacima. Kako tumačimo podatke?

što znači da distance raste kao stepena funkcija brzine.

Page 39: 2. Seminarski Rad - Linearna Regresija

39

Primer 7:

Učitavamo bazu sa internet koja sadrži podatke o konzumaciji opojnih sredstava. Fokusiraćemo se samo na

žensku populaciju.

> options(digits=3) > options(width=67) # narrow output > library(foreign) > ds = read.csv("http://www.math.smith.edu/r/data/help.csv") > newds = ds[ds$female==1,] > attach(newds) > sub = factor(substance, levels=c("heroin","alcohol","cocaine"))

Najpre formiramo grafik zavisnosti životnog doba i broja alkoholnih pića konzumiranih u period pre

detoksikacije (ime promenljive: ), kao i primarnih zloupotrebljenih supstanci (alkohol, kokain ili heroin).

Sledeći prikaz daje grafik opservacijskih vrednosti za ; radi lakše čitljivosti, ograničavamo se na broj pića

između 0 i 40.

> plot(age, i1, ylim=c(0,40), type="n", cex.lab=1.4, cex.axis=1.4) > points(age[substance=="alcohol"], i1[substance=="alcohol"], pch="a") > lines(lowess(age[substance=="alcohol"],i1[substance=="alcohol"]),lty=1, lwd=2) > points(age[substance=="cocaine"], i1[substance=="cocaine"], pch="c") > lines(lowess(age[substance=="cocaine"], i1[substance=="cocaine"]), lty=2, lwd=2) > points(age[substance=="heroin"], i1[substance=="heroin"], pch="h") > lines(lowess(age[substance=="heroin"], i1[substance=="heroin"]), lty=3, lwd=2) > legend(44,38,legend=c("alcohol","cocaine","heroin"),lty=1:3,cex=1.4,lwd=2, pch=c("a","c","h"))

Opcija “pch” u legend() komandi se može koristiti za umetanje simbola u legendi na grafiku. Grafik

sugeriše da postoji dramatičan efekat primarnih supstanci, sa većim brojem onih koji konzumiraju alkohol.

Postoji indikacija da to ima veze sa životnom dobi.

Page 40: 2. Seminarski Rad - Linearna Regresija

40

Sada demonstriramo prikaz granica poverenja i predviđenih vrednosti linearnog regresionog modela od “pcs”,

tj. procenata, kao funkciju od “age”, tj. životnog doba.

> ord = order(age) > orderage = age[ord] > orderpcs = pcs[ord] > lm1 = lm(orderpcs ~ orderage) > pred.w.clim = predict(lm1, interval="confidence") > pred.w.plim = predict(lm1, interval="prediction") > matplot(orderage, pred.w.plim, lty=c(1, 2, 2), type="l", ylab="predicted PCS", xlab="age (in years)", lwd=2) > matpoints(orderage, pred.w.clim, lty=c(1, 3, 3), type="l", lwd=2) > legend(40, 56, legend=c("prediction", "confidence"), lty=2:3, lwd=2)

Sledeće što ćemo uraditi jeste fitovanje linearnog regresionog modela za broj pića kao funkciju od životnog

doba, opojnih supstanci, i njihove interakcije. Kako bismo procenili imali potrebe za interakcijom, fitujemo

model bez interakcije i koristimo anova() funkciju kako bismo uporedili modele (takođe se može iskoristiti

drop1() funkcija).

> options(show.signif.stars=FALSE) > lm1 = lm(i1 ~ sub * age) > lm2 = lm(i1 ~ sub + age) > anova(lm2, lm1) Analysis of Variance Table Model 1: i1 ~ sub + age Model 2: i1 ~ sub * age Res.Df RSS Df Sum of Sq F Pr(>F) 1 103 26196 2 101 24815 2 1381 2.81 0.065

S obzirom na dobijenu vrednost , postoji određena interakcija između životne dobi i grupe

supstanci.

Page 41: 2. Seminarski Rad - Linearna Regresija

41

Postoje mnogi kvantiteti od interesa smešteni u objektu linearnog modela lm1, i oni se lako mogu videti i

kasnije upotrebiti u određene svrhe:

> names(summary(lm1)) [1] "call" "terms" "residuals" [4] "coefficients" "aliased" "sigma" [7] "df" "r.squared" "adj.r.squared" [10] "fstatistic" "cov.unscaled" > summary(lm1)$sigma [1] 15.7 > names(lm1) [1] "coefficients" "residuals" "effects" [4] "rank" "fitted.values" "assign" [7] "qr" "df.residual" "contrasts" [10] "xlevels" "call" "terms" [13] "model" > lm1$coefficients (Intercept) subalcohol subcocaine age -7.770 64.880 13.027 0.393 subalcohol:age subcocaine:age -1.113 -0.278 > coef(lm1) (Intercept) subalcohol subcocaine age -7.770 64.880 13.027 0.393 subalcohol:age subcocaine:age -1.113 -0.278 > confint(lm1) 2.5 % 97.5 % (Intercept) -33.319 17.778 subalcohol 28.207 101.554 subcocaine -24.938 50.993 age -0.325 1.112 subalcohol:age -2.088 -0.138 subcocaine:age -1.348 0.793 > vcov(lm1) (Intercept) subalcohol subcocaine age (Intercept) 165.86 -165.86 -165.86 -4.548 subalcohol -165.86 341.78 165.86 4.548 subcocaine -165.86 165.86 366.28 4.548 age -4.55 4.55 4.55 0.131 subalcohol:age 4.55 -8.87 -4.55 -0.131 subcocaine:age 4.55 -4.55 -10.13 -0.131 subalcohol:age subcocaine:age (Intercept) 4.548 4.548 subalcohol -8.866 -4.548 subcocaine -4.548 -10.127 age -0.131 -0.131 subalcohol:age 0.241 0.131 subcocaine:age 0.131 0.291

Procenjivanje modela je važan deo kako regresione, tako i bilo koje druge analize. Počinjemo ispitivanjem

reziduala. Najpre računamo kvantile za njihovu raspodelu i prikazujemo najmanji rezidual.

> pred = fitted(lm1) > resid = residuals(lm1) > quantile(resid) 0% 25% 50% 75% 100% -31.92 -8.25 -4.18 3.58 49.88

Page 42: 2. Seminarski Rad - Linearna Regresija

42

Možemo ispitati rezultat i potom izabrati podskup baze podataka za nalaženje vrednosti reziduala koji je

manji od -31. Skup podataka se može sortirati tako da je najmanja opservacija na prvom mestu :

> tmpds = data.frame(id, age, i1, sub, pred, resid, rstandard(lm1)) > tmpds[resid==max(resid),] id age i1 sub pred resid rstandard.lm1. 4 9 50 71 alcohol 21.1 49.9 3.32 > tmpds[resid==min(resid),] id age i1 sub pred resid rstandard.lm1. 72 325 35 0 alcohol 31.9 -31.9 -2.07

Rezultat sadrži broj vrste minimalnog i maksimalnog reziduala.

Grafičke alatke predstavljaju najbolji način da se ispitaju reziduali. Sledeća slika daje grafike vezane za model :

> oldpar = par(mfrow=c(2, 2), mar=c(4, 4, 2, 2)+.1) > plot(lm1) > par(oldpar)

Na narednoj slici vidimo empirijsku gustinu standardizovanih reziduala, a pretpostavka da reziduali približno

imaju normalnu raspodelu nije pouzdana. Takođe vidimo da postoje određena odstupanja od modela, tako da

bi trebalo sprovesti daljne istraživanje.

> library(MASS) > std.res = rstandard(lm1) > hist(std.res, breaks=seq(-2.5, 3.5, by=.5), main="", xlab="standardized residuals", col="gray80", freq=FALSE) > lines(density(std.res), lwd=2) > xvals = seq(from=min(std.res), to=max(std.res), length=100) > lines(xvals, dnorm(xvals, mean(std.res), sd(std.res)), lty=2, lwd=3)

Page 43: 2. Seminarski Rad - Linearna Regresija

43

Što se tiče fitovanja regresionog modela posebno za svaku vrednost druge promenljive, formira se matrica

određenih dimenzija i for petlja za svaku jedinstvenu vrednost promenljive.

> uniquevals = unique(substance) > numunique = length(uniquevals) > formula = as.formula(i1 ~ age) > p = length(coef(lm(formula))) > res = matrix(rep(0, numunique*p), p, numunique) > for (i in 1:length(uniquevals)) { + res[,i] = coef(lm(formula, subset=substance==uniquevals[i])) + } > rownames(res) = c("intercept","slope") > colnames(res) = uniquevals > res heroin cocaine alcohol intercept -7.770 5.257 57.11 slope 0.393 0.116 -0.72 > detach(newds)

Nameće se pitanje : da li postoji statistički značajna veza između pola ispitanika i zloupotrebe supstanci sa

simptomima depresije? Funkcija interaction.plot() se može upotrebiti za grafičku procenu ovog

pitanja. Sledeća slika prikazuje grafik interakcije za CESD kao funkciju grupe opojnih supstanci i pola

ispitanika.

> attach(ds) > sub = as.factor(substance) > gender = as.factor(ifelse(female, "F", "M")) > interaction.plot(sub, gender, cesd, xlab="substance", las=1, lwd=2)

Page 44: 2. Seminarski Rad - Linearna Regresija

44

Postoje naznake na velike efekte pola i grupe supstanci, ali mala sugestija na njihovu interakciju.

Sledeći boxplot dijagram predstavlja funkciju CESD od grupe supstanci i pola ispitanika. Širina svakog

boxplot-a je proporcionalna veličini uzorka, sa oznakama za intervale poverenja za medijane i X-ovima koji

označavaju srednje vrednosti.

> subs = character(length(substance)) > subs[substance=="alcohol"] = "Alc" > subs[substance=="cocaine"] = "Coc" > subs[substance=="heroin"] = "Her" > gen = character(length(female)) > boxout = boxplot(cesd ~ subs + gender, notch=TRUE, varwidth=TRUE, col = "gray80") > boxmeans = tapply(cesd, list(subs, gender), mean) > points(seq(boxout$n), boxmeans, pch=4, cex=2)

Page 45: 2. Seminarski Rad - Linearna Regresija

45

U nastavku ćemo ispitati da li postoji značajna interakcija kroz dvostranu analizu disperzije. Fitujemo modele

sa i bez interakcije, i poredimo dobijene rezultate. Takođe ručno konstruišemo test količnika verodostojnosti.

> aov1 = aov(cesd ~ sub * gender, data=ds) > aov2 = aov(cesd ~ sub + gender, data=ds) > resid = residuals(aov2) > anova(aov2, aov1) Analysis of Variance Table Model 1: cesd ~ sub + gender Model 2: cesd ~ sub * gender Res.Df RSS Df Sum of Sq F Pr(>F) 1 449 65515 2 447 65369 2 146 0.5 0.61 > options(digits=6) > logLik(aov1) 'log Lik.' -1768.92 (df=7) > logLik(aov2) 'log Lik.' -1769.42 (df=5) > lldiff = logLik(aov1)[1] - logLik(aov2)[1] > lldiff [1] 0.505055 > 1 - pchisq(2*lldiff, 2) [1] 0.603472 > options(digits=3)

Postoji određena šansa ( ) za interakciju, tako da se ovaj termin može izostaviti. Model je prethodno

već fitovan tako da testira interakciju i može biti prikazan.

> aov2 Call: aov(formula = cesd ~ sub + gender, data = ds) Terms: sub gender Residuals Sum of Squares 2704 2569 65515 Deg. of Freedom 2 1 449 Residual standard error: 12.1 Estimated effects may be unbalanced > summary(aov2) Df Sum Sq Mean Sq F value Pr(>F) sub 2 2704 1352 9.27 0.00011 gender 1 2569 2569 17.61 3.3e-05 Residuals 449 65515 146

Default dizajn-matrica se može izmeniti i model ponovo fitovati.

Page 46: 2. Seminarski Rad - Linearna Regresija

46

Literatura

1. http://en.wikipedia.org/wiki/Linear_regression

2. http://msenux.redwoods.edu/math/R/regression.php

3. https://stat.ethz.ch/R-manual/R-devel/library/stats/html/lm.html

4. http://ww2.coastal.edu/kingw/statistics/R-tutorials/simplelinear.html

5. http://rtutorialseries.blogspot.com/2009/11/r-tutorial-series-simple-linear.html

6.http://www.evergreen.edu/scicomp/docs/workshops/Tutorial2_LinearRegression.pdf?q=gettin

g-started-with-the-r-commander

7.http://www.montefiore.ulg.ac.be/~kvansteen/GBIO00091/ac20092010/Class8/Using%20R%20fo

r%20linear%20regression.pdf

8. Materijali sa časova vežbi iz predmeta:

Statistički softver 1

Statistički softver 2