R
Z Kuchařka studia na IES FSV UK
R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS.
R-ko se ovládá zejména psaním textových příkazů. Není to Word. Proto uživatelé obvykle tráví dost času nejen nad prací s daty, ale i hledáním funkcí a postupů na Internetu. Na to se hodí vyhledání na stránkách R-project.org a v Googlu vám pomůže symbol R:, např. "linear hypothesis R:".
A určitě se vám budou hodit učebnice - zde je jejich mix, ať už přímo na Rko nebo na ekonometrii.
- Příkazy pro časové řady (ARIMA)
- Příkazy pro cross-sectional data (tj. "ta obyčejná regrese")
Obsah |
[editovat] Ovládání programu
[editovat] Ukládání zdrojového kódu
Měl jsem dlouho problémy s ukládáním zdrojového kódu (toho, co se tam napíše) v eRku. A vím, že nejsem sám, tak píši jedno možné řešení. Celé kouzko tkví v tom, že se ty příkazy nepíšou do okna R Console, který na vás vyskočí, když R spustíte, ale do tzv. R Editoru, který otevřete File - New script.
Je to v zásadě takovej texťák a dá se z a do něho kopírovat z jinejch souborů (jiný R Editor, txt ...). V tom si vesele napíšete svůj prográmek a pak pomocí Edit - Run program spustíte v módu Console, což vám vyhodí požadovaný výsledek. Aby to fungovalo, musíte mít právě aktivní okno toho konkrétního Editoru. Můžete také postupně kontrolovat, co píšete, pomocí Edit - Run line or selection, což buď vyhodnotí v módu Console řádek, na kterém je aktuálně kurzor nebo několik klasicky označenejch řádků.
Když je okno R Editoru aktivní, můžete jej normálně uložit File - Save as/Save. Znova ho pak bezproblému otevřete pomocí File - Open script (u mě nutno nastavit All files, aby byly soubory"vidět").
Takhle si můžete napsat kolik chcete skriptů a pak si je třeba přinýst do školy na flashce, všechny si otevřít, vybrat z nich části zdrojáku, které potřebujete, ty zkopírovat do nového scriptu a ten (Edit - Run) odpálit :-).
[editovat] Grafické rozhraní
R Commander se to jmenuje. Postup instalace - příkazy do Rka:
install.packages("Rcmdr", dependencies=TRUE)
library(Rcmdr)
Editor skriptů, který se umí propojit s konzolí, se jmenuje Tinn-R.
[editovat] Základní příkazy
Naleznete na stránce vyučující Mgr. Ryšavé v rámci souborů ke stažení pod nadpisem program R - materiály.
[editovat] Popisné statistiky
data<-c(93,40,64,9,32,84,72,62,93,75,30) mean(data) # průměr
[editovat] Matice
x1<-c(93,40,64,9) x2<-c(3,46,41,19) x3<-c(33,13,4,8) x4<-c(21,25,31,29)
[editovat] Lineární regrese
Příkazy, které se vám budou hodit. Ověření ppředpokladů OLS je níže na stránce.
y<-c(140,146,162,171,176,187,197,209) t<-c(1,2,3,4,5,6,7,8) regrese<-lm(y~t) summary(regrese) # vypíše výsledek
[editovat] Triky
Práce s daty z tabulky bez načítání do proměnných:
data<-read.table("domy2.txt",header=TRUE)
data$price # umožní přímý přístup k vektoru dat ze sloupce price v načteném souboru, dá se využít například pro regresi: lm(data$price~data$age+data$rooms)
attach(data) # načte do paměti pod názvy sloupců z načtené tabulky všechny hodnoty, takže jsou hned přístupné pod price, age, rooms
[editovat] Algoritmy pro ekonometrii - postupy řešení
Často opakované postupy.
[editovat] Předpoklady OLS a jejich ověřování
[editovat] Vysvětlující proměnné pocházejí z náhodného výběru
[editovat] Model je lineární v parametrech
[editovat] Podmíněná očekávaná hodnota disturbancí je nulová
[editovat] Autokorelace disturbancí je nulová
To se týká časových řad.
Testy:
- Durbin-Watson
[editovat] Plná hodnost matice pozorování
Aneb lineární nezávislost. Zde je issue multikolinearita, která ovlivňuje vypovídací schopnost odhadu rozptylu.
Testy:
- Index podmíněnosti - funkce kappa
Řešení:
- vynechat regresor
- centrovat data (funkce scale)
[editovat] Homoskedasticita disturbancí
Testy:
- Grafický nástroj: residuals vs Fitted (Podezření na heteroskedascitu byste měli získat, pokud je na obrázku patrný nějaký trend)
- Breusch-Pagan (bptest)(Pozor na předpoklad - lze použít jen u normálně rozdělených disturbancí)
- Goldfeld-Quandt (gqtest)(Nulová hypotéza: disturbance jsou homoskedastické)
Řešení při heteroskedasticitě
- Odhady rozptylu odolné vůči heteroskedasticitě. Pochází od pana Whita. V R je na diagonále kovariační matice vypíše funkce hccm anebo kompletně tato funkce.
[editovat] Normalita disturbancí
Testy
- Grafický: QQ plot
- Kolmogorov-Smirnov (ks.test)
- Shapiro-Wilk (shapiro.test)
Řešení:
- logaritmovat data
- Box-Coxova transformace
[editovat] Testy na vypuštění více (či všech) regresorů
Dobře popsáno v sekci 3.4 učebnice Econometrics in R.
- F-test - v učebnici od Wooldridge (stáhnout, str. 139) je konstruovaný pomocí R-squared anebo pomocí SSR (sum of squared residuals). V R jej lze uskutečnit pomocí funkce linear.hypothesis, který vyžaduje library(car). Například takto lze otestovat hypotézu, že v modelu mzda = (B_0+black)+(B_1+D_1*black)vykon + (B_0+D_1*black)loajalita je D_0 (to je koeficient u black interceptu), D_1 a D_2 rovnu nule. To je mimochodem hypotéza, na kterou je sestrojen Chowův test, totiž že dva submodely (black a zbytek) lze vysvětlit jednou koeficientů regresorů. Jak na to v R?
linear.hypothesis(VášLMmodel, c("black = 0","black:vykon = 0","black:loajalita = 0"),white.adjust = TRUE) # a rovnou to ošetříte proti heteroskedasticitě
- Chow test
- Funkce chow.test(y1,x1,y2,x2), kde y jsou vysvetlovane promenne, tedy vektory a x jsou vysvetlujici, tedy prislusne matice, vyzaduje package gap. Podrobné info.
- Výpočet statistiky pomocí čtverců reziduí v učebnici od Wooldridge (stáhnout, str. str 231, číst od 230), prakticky popsáno u F-testu.
- funkce Fstats, vyžaduje package strucchange, podrobná dokumentace a vysvětlení v paperu strucchange: An R Package for Testing for Structural Change in Linear Regression Models
[editovat] Odkazy
- Hlavní webová stránka projektu (informace, manuály, FAQ): http://www.r-project.org/
- Hlavní depositár (instalace, zdrojový kód, rozširující knihovny ke stažení): http://cran.at.r-project.org/
- Stránky Mrg. Ryšavé (IES - Ekonometrie) - návody, data ...: http://samba.fsv.cuni.cz/~rysava/
- http://zoonek2.free.fr/UNIX/48_R/all.html
- http://www.stat.tamu.edu/~ljin/Finance/stat689-R.htm