Documente Academic
Documente Profesional
Documente Cultură
Notnd y = log(pi ) i x = log(i), rezult c logaritmii acestor mrimi teoretice, veric a s a a a a ecuatia unei drepte: y = x + K, de pant i K = log(C). a s 1
Dac i punctele asociate datelor experimentale sunt distribuite jurul unei drepte, as n numit dreapta celor mai mici ptrate (ati fcut la MAC, dar vom mai discuta i noi la a a a s cursul de P&S pentru c reprezint o tem de baz machine learning), atunci panta a a a a n dreptei va parametrul al distributiei Zipf a datelor. Cum procedm? a Intr-un ier Zdateprel.txt, pentru ecare element H[i] din vecs torul H, scriem pe cte o linie, a log(i + 1) log(H[i]) Citim acest ier MATLAB, vizualizm punctele ce au coordonatele pe liniile ierului, s n a s trasm dreapta celor mai mici ptrate i evalum panta ei, adic pe . Executarea acestor a a s a a operatii se realizeaz rulnd scriptul MATLAB ZdetAlfa.m, inclus. a a ( ) i 2. Cu acest constituim variabila aleatoare Zipf distribuit Y = a C , i = i 1, 2, . . . , M (acest M poate diferit de N , dac exist pagini din cele codicate cu a a 1, 2, . . . , N care nu au fost vizitate deloc, adica codul lor nu apare ierul Zdate.txt. n s Constanta C ,se determin astfel at suma probabilitilor s e 1. Salvati ierul a nc at a n s Zprobteor.txt pe cte o linie P (Y = i). ierul Zdistr.txt se salveaz apoi proba In s a abilitile experimentale, H[i], deduse din at nregistrrile din ierul furnizat de internet a s provider (adic de mine) a aceeai imagine, format eps, desenm comparativ, distributia Zipf teoretic In s n a a de parametru (adic niste impulsuri ecare i de pe Ox, de altimea probabilitii a n n at P (Y = i) = C/i , i distributia de probabilitate a datelor citite din ier. Cele dou s s a iere Zprobteor.txt i Zdistr.txt se citesc scriptul Zdrawdistr1.m i acelai s s n s n s script se genereaz cele dou seturi de impulsuri, colorate diferit. a a 3. Simulati apoi variabila aleatoare Y , genernd nr = 2000 de observatii, crora a a la fel le asociati histograma prin impulsuri. Adic numrati codul C/C++ de cte a a n a ori a fost generat indicele de popularitate i (e ki acest numr) i atunci probabilitatea a s experimental, simulat, de vizit a paginii cu indicele i este pri = ki /nr. a a a Intr-un alt sier ZdateSim.txt scrieti pe cte o linie aceste probabiliti. Scrip a at tul MATLAB Zdrawdistr2.m citete cele dou iere Zdistr.txt, ZdateSim.txt i din s a s s ele genereaz histogramele prin impulsuri a distributiei Zipf ate din date (adic a nvat a maina=programul vostru a aat din datele din ierul Zdate.txt ce distributie au s nvt s acestea) i a celei experimentale, rezultate din simulare. s Dac totul este OK, cele dou histograme au aceeai alur, adic impulsurile din a a s a a aceeai locatie i au aproximativ aceeai altime. s s n Deoarece distributia Zipf ia un numr mare de valori, pentru simularea ei, dup a a generarea unui u=urand(); determinati intervalul care cade u prin cutare binar, n a a nu secvential. a Observatie: Structura codului i a datelor nu este obligatoriu s e cea din prezentarea s a de mai sus. Detaliile le-am dat ca ajutor. Cei avansati au libertatea s-si organizeze cum a vor codul i datele. s