1 StatsModels 1. Pozadina: Scipy.stats.models originalno je napisao Jonathan Taylor. Neko vrijeme bio je dio scipy paketa, ali je uklonjen. Tijekom Google Summer of Code 2009. godine stats.models podvrgnut je brojnim testiranjima, proširenjima i ispravkama, nakon čega je prihvaden kao novi paket unutar Python-a. Od tada pa do danas stats.models se mijenjao, postojedi modeli su unaprijeđeni i dodane su nove statističke metode. 2. StatsModels? Python modul koji pruža klase i funkcije za procjenu različitih statističkih modela. Isto tako, možemo ga koristiti za provođenje statističkih ispitivanja, kao i za statistička istraživanja podataka. Opsežan popis statističkih rezultata stavlja se na raspolaganje svakom procjenitelju, nakon čega se ti rezultati uspoređuju sa postojedim da bi se osigurali da su ispravni. 3. Glavne značajke: Važno je napomenuti da je StatsModels pravi Python-ov paket i da koristi cython-ovu ekstenziju koja mu omoguduje brži rad. Cython je optimizirajudi statički kompajler za Python programski jezik i omoguduje korištenje C-ekstenzija unutar Python-a. 1
2 Sadržaj StatsModels-a: regression: Generalized least squares (including weighted least squares and least squares with autoregressive errors), ordinary least squares. glm: Generalized linear models with support for all of the one-parameter exponential family distributions. discrete: regression with discrete dependent variables, including Logit, Probit, MNLogit, Poisson, based on maximum likelihood estimators rlm: Robust linear models with support for several M-estimators. tsa: models for time series analysis o univariate time series analysis: AR, ARIMA o vector autoregressive models, VAR and structural VAR o descriptive statistics and process models for time series analysis nonparametric : (Univariate) kernel density estimators datasets: Datasets to be distributed and used for examples and in testing. stats: a wide range of statistical tests o diagnostics and specification tests o goodness-of-fit and normality tests o functions for multiple testing o various additional statistical tests iolib: Tools for reading Stata.dta files into numpy arrays. (not yet ported to Python 3) iolob: printing table output to ascii, latex, and html miscellaneous models 4. Sandbox: StatsModels sadrži sandbox mapu, koja uključuje dio izvornog stats.models kôda koji još nije ponovno pisan i testiran. Sandbox također sadrži modele i funkcije koje se trenutno razvijaju. Ovaj kod je u raznim fazama razvoja, nije dovoljno ispitan ili s API-jem koji je još uvijek u toku. Dio koda u poodmakloj fazi obuhvada između ostalog mješovite (ponovljena mjerenja) modele, GARCH modele,procjenitelje opde 2
3 metode momenata (GMM), kernel regresija i kernel procjena gustode, te razne ekstenzije za scipy.stats.distributions. 5. Početak: Napokon, došlo je vrijeme za primjer koji de nam pomodi da lakše shvatimo srž StatsModels paketa. Počevši od sirovih podataka, pokazat demo korake potrebne za procjenu statističkih modela i crtanje grafičkih podataka. Za početak, koristit demo samo osnovne statsmodels funkcije i njihove pandas i patsy ovisnosti. Pandas - pruža bogate strukture podataka i alate za analizu podataka Patsy - Python biblioteka za opisivanje statističkih modela i gradnju matrica Što se tiče podataka koje demo koristiti u ovom primjeru, poslužit de nam zbirka povijesnih podataka koji se koriste u prilog Andre-Michel Guerryevog eseja Moralna statistika Francuske iz 1883. Podatci su u CSV formatu i nalaze se online u Rdatasets repozitoriju. 3
4 Podatke možemo učitavati i na druge načine, pomodi iolib funkcija za input i output ili preko pandas.io metode. Naravno, možemo i brisati neželjene redove pomodu DataFrame metode iz pandas-a. 4
5 Stvarna motivacija i model Želimo znati da li su stope pismenosti u 86 francuskih odjela povezane s okladama na Royal lutriju po stanovniku u 1820. Moramo kontrolirati razinu bogatstva u svakom odjelu, a također želimo uključiti niz lažnih varijabli na desnoj strani naše regresijske jednadžbe za kontrolu nepromatranih heterogenosti zbog regionalnih učinaka.model se procjenjuje pomodu obične regresije najmanjih kvadrata (OLS). Da bi nam stala vedina modela koje pokriva statsmodels, moramo stvoriti dvije matrice, egzogenu i endogenu: Matrica endogene varijable(i) (dependent, response, regressand) Matrica egzogene varijable(i) (independent, predictor, regressor) 5
6 6. Podešavanje modela i sažetak Podešavanje modela u statsmodels obično uključuje tri jednostavna koraka: Koristi klasu model za opis modela Podesi model pomodu klasa metode Pregledaj rezultate pomodu skradene metode 6
7 Res objekt ima mnogo korisnih svojstava. Na primjer, možemo izdvojiti procjene parametara i r-kvadratnu vrijednost. 7. Literatura: [internet] raspoloživo na: i. http://statsmodels.sourceforge.net/ ii. http://statsmodels.sourceforge.net/stable/ 7