Logistická regrese pomocí odhadu sm si

Podobné dokumenty
Odhad sm si se statickým ukazovátkem i komponentami 1

Odhad sm si s dynamickým ukazovátkem a statickými komponentami 1

Odhad sm si s datov závislým dynamickým ukazovátkem a statickými komponentami 1

Odhad sm si s rovnom rnými komponentami

Vektor náhodných veli in - práce s více prom nnými

Odhad sm si se smí²enými daty

Cvi ení 7. Docházka a testík - 15 min. Distfun 10 min. Úloha 1

na za átku se denuje náhodná veli ina

P íklad 1 (Náhodná veli ina)

1. (18 bod ) Náhodná veli ina X je po et rub p i 400 nezávislých hodech mincí. a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost

Odhad hierarchické sm si

Regrese a nelineární regrese

T i hlavní v ty pravd podobnosti

Odhad sm si s dynamickým ukazovátkem a stavovými komponentami

P íklady k druhému testu - Matlab

Aplikace pravd podobnostních model v kurzovém sázení

Skalární sou in. Úvod. Denice skalárního sou inu

Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web:

ízení Tvorba kritéria 2. prosince 2014

1 Spojitý model. 1.1 Princip stochastického modelu

1 Odhad spojitého modelu

Osvětlovací modely v počítačové grafice

Text m ºe být postupn upravován a dopl ován. Datum poslední úpravy najdete u odkazu na staºení souboru. Veronika Sobotíková

Limity funkcí v nevlastních bodech. Obsah

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody

Reálná ísla a posloupnosti Jan Malý

Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace

TROJFÁZOVÝ OBVOD SE SPOT EBI EM ZAPOJENÝM DO HV ZDY A DO TROJÚHELNÍKU

P íklady k prvnímu testu - Pravd podobnost

P íklady k prvnímu testu - Scilab

Unfolding - uºivatelský manuál

3 D leºitá rozd lení náhodné veli iny

1 P ílohy. 1.1 Dopln ní na tverec

Jevy, nezávislost, Bayesova v ta

brmiversity: Um lá inteligence a teoretická informatika

ST2 - Cvi ení 1 STATISTICKÁ INDUKCE

Státní maturita 2010 Maturitní generálka 2010 Matematika: didaktický test - základní úrove obtíºnosti MAGZD10C0T01 e²ené p íklady

Modelování v elektrotechnice

Vektory. Vektorové veli iny

A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU

Investice a akvizice

e²ení 1. série Úvodní gulá² autor: Kolektiv org

Kuželosečky a kvadriky ve škole i kolem

Integrování jako opak derivování

Lineární Regrese Hašovací Funkce

Co je to tensor... Vektorový prostor

1 Pravd podobnost - plán p edná²ek. 2 Pravd podobnost - plán cvi ení

Obsah. Pouºité zna ení 1

Domácí úkol 2. Obecné pokyny. Dbejte na formáln správný zápis výpo tu! Pro vy íslení výsledku pro binomické rozd lení pouºijte nap. Maple nebo Matlab.

Zápis. z 23. mimořádného zasedání Rady města Valašské Meziříčí konaného dne 29. listopadu 2011 v 8:00 hodin v malé zasedací místnosti, budova radnice

Vzorové e²ení 4. série

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A

Regresní analýza. Statistika II. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel

Model. 1 Spojitý model. 1.1 Princip stochastického modelu

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A

Testy pro více veli in

Pokusné ověřování Hodina pohybu navíc. Často kladené otázky

7. Domy a byty Charakteristika domovního fondu

Miroslav Čepek

Pr b h funkce I. Obsah. Maxima a minima funkce

Stochastické Systémy. Ivan Nagy 1. Obsah

Derivování sloºené funkce

se nazývá charakter grupy G. Dále budeme uvaºovat pouze kone né grupy G. Charaktery tvo í také grupu, s násobením denovaným

Statistika pro geografy. Rozd lení etností DEPARTMENT OF GEOGRAPHY

VYUŽITÍ NEURONOVÝCH SÍTÍ PROSTŘEDÍ MATLAB K PREDIKCI HODNOT NÁKLADŮ PRO ELEKTRICKÉ OBLOUKOVÉ PECE

RNÉ MATERIÁLY. PSYCHODIAGNOSTIKA - VYHODNOCENÍ z , 13:19 hodin

Binární operace. Úvod. Pomocný text

POSOUZENÍ STAVU HLAVNÍHO OBJEKTU BUDOVY Č. OR. 10 V JEZDECKÉ ULICI V PROSTĚJOVĚ

Algoritmizace a programování

Zápo tová písemná práce. 1 z p edm tu 01MAB3 varianta A

Mendelova zemědělská a lesnická univerzita v Brně Agronomická fakulta Ústav techniky a automobilové techniky

Klasifikace a rozpoznávání. Bayesovská rozhodovací teorie

2. Ur íme sudost/lichost funkce a pr se íky s osami. 6. Na záv r na rtneme graf vy²et ované funkce. 8x. x 2 +4

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

2C Tisk-ePROJEKTY

ST2 - Cvi ení 1 STATISTICKÁ INDUKCE

Metody hodnocení rizik

Zefektivnění zadávání znaků na mobilním telefonu bez T9

1.2.7 Druhá odmocnina

c sin Příklad 2 : v trojúhelníku ABC platí : a = 11,6 dm, c = 9 dm, α = Vypočtěte stranu b a zbývající úhly.

Statistika ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA DOPRAVNÍ. Jiří Volf, Adam Kratochvíl, Kateřina Žáková. Semestrální práce - 0 -

nazvu obecnou PDR pro neznámou funkci

TECHNICKÁ UNIVERZITA V LIBERCI

e²ení 4. série Binární operace

Základy Aplikované Statistiky

Kapitola 1. Naivní Bayesův klasifikátor

Základní praktikum laserové techniky

3.3 Narození, zemřelí, sňatky, rozvody

Masarykova univerzita Právnická fakulta

Dolní odhad síly pro ztrátu stability obecného prutu

Uložení potrubí. Postupy pro navrhování, provoz, kontrolu a údržbu. Volba a hodnocení rezervy posuvu podpěr potrubí

Recyklace nápojových kartonů

I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb

Skupina Testování obsahuje následující moduly: Síla a rozsah výběru, Testy a Kontingenční tabulka.

p (1) k 0 k 1 je pravd podobnost p echodu ze stavu k i v l ; 1 kroku do stavu k j

ZATÍŽENÍ SNĚHEM A VĚTREM

STP097 STATISTIKA CVIČENÍ EMPIRICKÁ DISTRIBUČNÍ FUNKCE, JEDNOVÝBĚROVÉ TESTY

Záludnosti velkých dimenzí

PRAKTIKUM... Oddělení fyzikálních praktik při Kabinetu výuky obecné fyziky MFF UK. Odevzdal dne: Seznam použité literatury 0 1. Celkem max.

Popisná statistika I

Transkript:

Logistická regrese pomocí odhadu sm si Logistickou regresí máme na mysli odhad modelu s diskrétním výstupem, který je závislý na smí²ených (spojitých i diskrétních) veli inách. Standardn se uvaºuje logistický model ve tvaru f (y t x t, Θ) = exp {y tx t Θ} 1 + exp {x t Θ} Pomocí tohoto modelu se konstruuje likelihood a numericky se maximalizuje. Ta numerická maximalizace je nep íjemná, i kdyº konvergence v t²inou není dlouhá. Model sm si se statickými komponentami má tvar f (y t, c t α, Θ) kde y t jsou data (výstup) a c t je ukazovátko, které za azuje data y t do n které t ídy klasikace. Tedy do modelu vstupují data y t a výstupem je diskrétní veli ina c t - p esn to, co d lá logistická regrese. Modeluje diskrétní výstup pomocí smí²ených dat. P ipomeneme si, jak funguje odhad sm si. Je tvo en t emi ástmi 1. Výpo et vah w pro jednotlivé komponenty, kde hlavním prvkem jsou tzv. proximity - tj. hodnoty hustoty pravd podobnosti p íslu²né komponenty s dosazenými existujícími bodovými odhady parametr a aktuáln zm enými daty, tj. f c ( y t ˆΘ c;t 1 ), kde c = 1, 2,, nc (pro v²echny komponenty). 2. P epo et statistik, kde data se p idávají s p íslu²nou váhou. 3. Výpo et bodových odhad. Úloha logistické regrese má ale dv ásti (i) u ení, (ii) testování. V prvé úloze se odhadují parametry modelu na trénovací mnoºin dat (kde známe jak hodnotu regresního vektoru x t (u nás jsou to data y t ), tak i výstupu y t (u nás je to ukazovátko c t ). V druhé ásti výstup y t (c t ) neznáme, m íme jen data x t (y t ) a hodnotu výstupu odhadujeme s pomocí modelu. (i) fáze u ení V bodu 1. podle hodnoty ukazovátka vybereme odpovídající komponentu a pro ní ud láme body 2. a 3. To opakujeme pro v²echna trénovací data. Poznámka Parametry komponent jsou st ední hodnoty komponent. Jejich odhadem jsou pr m ry z dat pat ících dané komponent. Takºe výpo et je následující: V trénovacích datech najdeme v²echny poloºky, kde výstup je 1. Z t chto poloºek ur íme pr m r a máme bodový odhad parametr komponenty 1. To opakujeme pro v²echny r zné hodnoty výstupu. 1

(ii) fáze testování Pro zm ená data provádíme jen bod 1. Výsledkem je odhad ukazovátka, coº pro nás je odhadnutá hodnota výstupu. Poznámka Bod 2. a 3. m ºeme samoz ejm provád t dále, ov²em s tím, ºe neznáme skute nou hodnotu výstup. Nicmén odhad funguje jako odhad sm si a parametry se mohou pr b ºn up es ovat. Aplikaci tohoto postupu ukáºeme pro modely s normálním a rovnom rným rozd lením a také pro ist diskrétní modely. Program pro normální komponenty je // Logistic regression based on mixtures // ------------------------------------- [u,t,n]=file(); // find working directory chdir(dirname(n(2))); // set working directory clear("u","t","n") // clear auxiliary data exec("scintro.sce",-1),mode(0) // intro to sesion nl=1000; nt=150; // number of data for learning // number of data for testing // Simulation -------------------------- nd=nt+nl; x=rand(2,nd,'n'); x1=[x; ones(1,nd)]; ys=[1,1,2]*x1+.001*rand(1,nd,'n'); y=zeros(1,nd); s1=find(ys<0); y(s1)=1; s2=find((ys>=0) & (ys<3)); y(s2)=2; s3=find(ys>=3); y(s3)=3; // POZOR - xl musí mít veli iny v ádcích yl=y(1,1:nl); xl=x(:,1:nl); // Learning ---------------------------- [Est,al]=lrLearn(yL,xL); tt=(1:nt)+nl; // POZOR - xt musí mít veli iny v ádcích xt=x(:,tt); // Testing ----------------------------- yt=lrtest(xt,est,al); // Results ----------------------------- yr=y(tt)'; s=1:nt; plot(s,yr,'bo',s,yt,'rx','markersize',8) 2

set(gcf(),'position',[700 100 600 400]) printf('wrong %d from %d\n',sum(yr~=yt),nt) //tx=['r';'b';'g';'m';'c';'y']; //for i=1:3 // s=find(y==i); // plot(x(s,1),x(s,2),'.'+tx(i)) // function [Est,al]=lrLearn(y,x) // [Est,al]=lrLearn(y,x) // learning of Mixture logistic regression model // y class label (column - nd x 1) // x data vectors (vectors in rows - nd x nx) // Est estimation structure // al stationary probs. nc=max(y); n1=min(y); if n1~=1, disp('error: y must start with 1'); Est=[]; al=[]; return [n1,n2]=size(x); if n1>n2, disp('variables in x should be rows'), c=find(y==i); Y=y(c); X=x(:,c); th=mean(x,'c'); cv=cov(x'); if det(cv)<1e-5, cv=.1*eye(cv)+cv; Est(i).th=th; Est(i).cv=cv; ga=vals(y); al=ga(2,:)/sum(ga(2,:)); function function ct=lrtest(x,est,al) // ct=lrtest(x,est,al) test data with model from "lrlearn" // Mixture logistic regressiom // x tested data item (row) // Est estimation structure Est.th, Est.cv 3

// al stationary komponents probabilities // ct estimated class labels [n1,n2]=size(x); if n1>n2, disp('variables in x should be its rows'), nc=max(size(est)); nd=size(x,2); md=zeros(nc,nd); for t=1:nd xt=x(:,t); dl=zeros(1,nc); [xxx dl(1,i)]=gaussn(xt,est(i).th,est(i).cv); dl=dl-max(dl); d=exp(dl); mm=(d(:)').*(al(:)'); md(:,t)=mm'/sum(mm); [xxx ct]=max(md,'r'); function Popis program Hlavní program je velice jednoduchý. V prvé ásti se provádí simulace dvou spojitých veli in (matice x) a ta je dále dopln na jedni kami (pro uvaºování konstanty modelu). Z nich se potom konstruuje diskrétní výstup y. Potom se volá funkce provád jící u ení modelu a díle funkce s testováním. Funkce lrlearn Po testu, zda hodnoty y za ínají jedni kou se v cyklu pro kaºdou komponentu ur í data, p íslu- ²ející komponent, spo tou se parametry: pr m r (centrum komponenty) a kovarian ní matice. Poznámka Algoritmus je velice rychlý. Sta í tolik pr chod, kolik je komponent. V kaºdém kroku se vºdy zpracují v²echna data, p íslu²ející komponent. Funkce lrtest Zde se na základ odhadnuté hustoty pravd podobnosti normálního rozd lení pro kaºdý testovaný datový vektor spo tou proximity (hodnota hustoty pravd podobnosti v bod daném aktuálním datovým vektorem). Ty se znormalizují na sou et jedna a tak dostaneme aktuální váhy komponent. Maximální hodnoty v kaºdém váhovém vektoru ur ují hodnotu odhadu výstupu. Program pro rovnom rné komponenty je následující // Logistic regression based on mixtures (uniform distribution) // -------------------------------------------------------------- [u,t,n]=file(); // find working directory chdir(dirname(n(2))); // set working directory 4

clear("u","t","n") exec("scintro.sce",-1),mode(0) // clear auxiliary data // intro to sesion nl=10000; nt=30; nd=nt+nl; x=rand(nd,2,'n'); x1=[x ones(nd,1)]; ys=x1*[.1,-3,2]'+.001*rand(nd,1,'n'); mi=min(ys); ma=max(ys); mm=ma-mi; m1=mi+9*mm/20; m2=mi+11*mm/20; y=zeros(nd,1); s1=find(ys<m1); y(s1)=1; x(s1,:)=x(s1,:)+2; X1=x(s1,:); s2=find((ys>=m1) & (ys<m2)); y(s2)=2; X2=x(s2,:); s3=find(ys>=m2); y(s3)=3; x(s3,:)=x(s3,:)-2; X3=x(s3,:); yl=y(1:nl); xl=x(1:nl,:); [Est,al]=lrLearnU(yL,xL); tt=(1:nt)+nl; xt=x(tt,:); [yt,wt]=lrtestu(xt,est,al); yr=y(tt)'; yp=[1 2 3]*wt; s=1:nt; plot(s,yp,'o',s,yt,'x','markersize',8) set(gcf(),'position',[700 100 600 400]) printf('wrong %d from %d\n',sum(yr~=yt),nt) tx=['r';'b';'g';'m';'c';'y']; set(figure(2),'position',[50 150 600 400]) set(gcf(),'background',8) for i=1:3 s=find(y==i); plot(x(s,1),x(s,2),'.'+tx(i)) function [Est,al]=lrLearnU(y,x) // [Est,al]=lrLearn(y,x) learning of Mixture logistic // regression model - pyrymida // y class label (column - nd x 1) // x data vectors (vectors in rows - nd x nx) // Est estimation structure // al stationary probs. 5

nc=max(y); n1=min(y); if n1~=1, disp('error: y must start with 1'); return c=find(y==i); Y=y(c); X=x(c,:); thu=max(x,'r'); thl=min(x,'r'); Est(i).thL=thL; Est(i).thU=thU; Est(i).Cen=(thL+thU)/2; Est(i).Bas=prod(thU-thL); // normaizing constant od distribution ga(i)=length(y); // number of data in a component al=ga/sum(ga); function function [ct,md]=lrtestu(x,est,al) // ct=lrtest(x,est,al) test data with model from "lrlearn" // Mixture logistic regressiom // x tested data item // Est estimation structure Est.th, Est.cv // al stationary komponents probabilities // ct estimated class labels nc=max(size(est)); nd=size(x,1); md=zeros(nc,nd); for t=1:nd xt=x(t,:); b=unifdst(xt,est); mm=b.*al; sm=sum(mm); for c=1:nc if sm>0 mq(c)=mm(c)/sm; else mq(c)=%nan; md(:,t)=mq; [xxx ct]=max(md,'r'); function 6

function f=unifdst(x,est) // Distsance of x from centers of individual component nc=max(size(est)); n=length(x)+1; for c=1:nc V=n/Est(c).Bas; // normalization L=Est(c).thL; // lower border U=Est(c).thU; // uuper border C=Est(c).Cen; // center Z=(U-C); // new center xt=x; xn=(xt-c)./z // relative distance of x from center xa=abs(xn); // absolute distsnces if sum(xa>1)>0 // computation of distances f(c)=0; else [xxx i]=max(xa); f(c)=(1-xa(i))*v; function Popis programu Hlavní program je prakticky stejný jako pro normální komponenty. Li²í se jen v tom, ºe volá procedury pro rovnom rné komponenty. Odhad je zaloºen na hledání maxim a minim dat. P i testování se po ítá proximity (a to v procedu e unifdst) jako vzdálenost dat od centra komponenty. Aktivní komponenta se ur í jako ta, co aktuálním dat m nejblíºe. Program pro diskrétní komponenty je // Logistic regression based on mixtures // ------------------------------------- [u,t,n]=file(); // find working directory chdir(dirname(n(2))); // set working directory clear("u","t","n") // clear auxiliary data exec("scintro.sce",-1),mode(0) // intro to sesion rand('seed',0) nl=1000; nt=150; // number of data for learning // number of data for testing // Simulation -------------------------- nd=nt+nl; x=fix(3*rand(nd,2,'u'))+1; x1=[x ones(nd,1)]; ys=x1*[1,1,2]'+.001*rand(nd,1,'u'); y=zeros(nd,1); 7

s1=find(ys<6); s2=find((ys>=6) & (ys<7)); s3=find(ys>=7); y(s1)=1; y(s2)=2; y(s3)=3; // POZOR - xl musí mít veli iny v ádcích yl=y(1:nl)'; xl=x(1:nl,:)'; // Learning ---------------------------- [Est,al,tab,bx]=lrLearnD(yL,xL); tt=(1:nt)+nl; // POZOR - xt musí mít veli iny v ádcích xt=x(tt,:)'; // Testing ----------------------------- [yt,wt]=lrtestd(xt,est,al,tab,bx); // Results ----------------------------- yr=y(tt)'; s=1:nt; plot(s,yr,'bo',s,yt,'rx','markersize',8) set(gcf(),'position',[700 100 600 400]) printf('wrong %d from %d\n',sum(yr~=yt),nt) function [Est,al,tab,bx]=lrLearnD(y,x) // [Est,al]=lrLearnD(y,x) learning of Mixture logistic // regression model - categorical // y class label (column - nd x 1) // x data vectors (vectors in rows - nd x nx) // Est estimation structure // al stationary probs. nc=max(y); n1=min(y); if n1~=1, disp('error: y must start with 1'); return bx=max(x,'c'); nv=prod(bx); tab=[]; c=find(y==i); Y=y(c); X=x(:,c); nx=size(x,2); hs=1e-8*ones(nv,1); for t=1:nx k=psi2row(x(:,t),bx); hs(k)=hs(k)+1; 8

tab=[tab hs]; Est(i).th=fnorm(tab(:,i)'); ga=vals(y); al=ga(2,:)/sum(ga(2,:)); function function [ct,wt]=lrtestd(x,est,al,tab,bx) // ct=lrtestd(x,est,al) test data with model from "lrlearnd" // Mixture logistic regressiom - categ. // x tested data item // Est estimation structure Est.th, Est.cv // al stationary komponents probabilities // ct estimated class labels nc=max(size(est)); nd=size(x,2); ct=zeros(1,nd); wt=zeros(nc,nd); tbn=fnorm(tab+1e-8,2); for t=1:nd k=psi2row(x(:,t),bx); wt(:,t)=tbn(k,:)'; [xxx, ct(t)]=max(tbn(k,:)); function Popis programu Hlavní program generuje jen diskrétní veli iny. U ení spo ívá v odhadu diskrétního modelu. Testování je v podstat jednokroková predikce výstupu z diskrétního modelu. 9