Co budete umět

  • načíst data v téměř libovolném formátu a struktuře z lokálních zdrojů i on-line databází
  • vyčistit je a převést do přehledné struktury, která umožní jejich snadnou analýzu
  • zpracovávat velké objemy dat
  • transformovat je, agregovat a spojovat různé datové soubory
  • pokročilým způsobem vizualizovat individuální veličiny různých typů i vztahy mezi nimi
  • provést průzkumnou analýzu dat i jejich následnou statistickou a ekonometrickou analýzu
  • vytvářet reprodukovatelné zprávy
  • používat R a RStudio

Proč R

  • volně šiřitelný software pro všechny hlavní operační systémy
  • nejvíce používaný software pro data science
  • velká komunita
  • veškeré metody v jednom software
  • komerčně rozšířené

R používá mimo jiné: Microsoft, Facebook, Google, Twitter, Ford, Uber, John Deere, Firefox, The New York Times, The Human Rights Data Analysis Group a další

Skills of data scientists on LinkedIn

top 20 skills of data scientist

Data: diamanty

## # A tibble: 53,940 × 10
##   carat     cut color clarity depth table price     x     y     z
##   <dbl>   <ord> <ord>   <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1  0.23   Ideal     E     SI2  61.5    55   326  3.95  3.98  2.43
## 2  0.21 Premium     E     SI1  59.8    61   326  3.89  3.84  2.31
## 3  0.23    Good     E     VS1  56.9    65   327  4.05  4.07  2.31
## 4  0.29 Premium     I     VS2  62.4    58   334  4.20  4.23  2.63
## 5  0.31    Good     J     SI2  63.3    58   335  4.34  4.35  2.75
## # ... with 5.394e+04 more rows

Nejdražší diamant pro každou barvu

diamonds %>% group_by(color) %>%
    arrange(desc(price)) %>% slice(1L)
## Source: local data frame [7 x 10]
## Groups: color [7]
## 
##   carat       cut color clarity depth table price     x     y     z
##   <dbl>     <ord> <ord>   <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1  2.19     Ideal     D     SI2  61.8    57 18693  8.23  8.49  5.17
## 2  2.02 Very Good     E     SI1  59.8    59 18731  8.11  8.20  4.88
## 3  1.71   Premium     F     VS2  62.3    59 18791  7.57  7.53  4.70
## 4  2.00 Very Good     G     SI1  63.5    56 18818  7.90  7.97  5.04
## 5  2.00 Very Good     H     SI1  62.8    57 18803  7.95  8.00  5.01
## 6  2.29   Premium     I     VS2  60.8    60 18823  8.50  8.47  5.16
## 7  3.01   Premium     J     SI2  60.7    59 18710  9.35  9.22  5.64

Prům. cena pro každou barvu

diamonds %>% group_by(color) %>%
    summarise(average_price = mean(price, na.rm = TRUE))
## # A tibble: 7 × 2
##   color average_price
##   <ord>         <dbl>
## 1     D      3169.954
## 2     E      3076.752
## 3     F      3724.886
## 4     G      3999.136
## 5     H      4486.669
## 6     I      5091.875
## 7     J      5323.818

Prům. cena pro každou barvu a řez

diamonds %>% group_by(color, cut) %>%
    summarise(average_price = mean(price, na.rm = TRUE)) %>%
    print(n = 6)
## Source: local data frame [35 x 3]
## Groups: color [?]
## 
##   color       cut average_price
##   <ord>     <ord>         <dbl>
## 1     D      Fair      4291.061
## 2     D      Good      3405.382
## 3     D Very Good      3470.467
## 4     D   Premium      3631.293
## 5     D     Ideal      2629.095
## 6     E      Fair      3682.312
## # ... with 29 more rows

Ceny diamantů podle řezu kamenů

ggplot(diamonds, aes(price,fill = cut)) +
    geom_density(alpha = 0.35) +
    xlab("cena") + ylab("hustota") + theme_bw()

Cena diamantů podle váhy kamenů

ggplot(diamonds, aes(x = carat,y = price)) +
    geom_point(alpha = 0.05) + geom_smooth() +
    xlab("váha") + ylab("cena") + theme_bw()
## `geom_smooth()` using method = 'gam'

Cena diamantů podle barvy kamenů

ggplot(diamonds, aes(color,y = price)) +
    geom_boxplot() +
    xlab("barva") + ylab("cena") + theme_bw()

Cena diamantů podle váhy a barvy

ggplot(diamonds, aes(x = carat,y = price)) +
    geom_point(alpha = 0.05) + facet_wrap(~color) +
    xlab("váha") + ylab("cena") + theme_bw()

Regrese

Dependent variable:
price
(1) (2) (3) (4) (5)
carat 7,878.923*** 7,873.249*** 10,325.350*** 8,983.318*** 9,262.455***
(14.046) (13.967) (61.117) (44.700) (45.331)
cut.L 1,202.788*** 1,148.315*** 1,287.265*** 1,277.871*** 1,164.672***
(26.920) (27.518) (25.724) (25.977) (25.957)
cut.Q -546.624*** -471.615*** -562.039*** -562.390*** -487.173***
(23.350) (23.750) (22.791) (23.023) (22.949)
cut.C 348.862*** 366.133*** 360.965*** 388.540*** 371.483***
(20.494) (20.195) (19.904) (20.103) (20.023)
cut4 58.297*** 87.579*** 51.441*** 75.033*** 90.016***
(16.495) (16.271) (16.000) (16.138) (16.093)
table -19.843***
(3.551)
depth -50.418***
(4.848)
x -1,064.184***
(25.820)
y -483.911***
(18.485)
z -981.262***
(30.442)
Constant -1,555.609*** 434.754 1,427.431*** -824.459*** -319.172***
(205.597) (301.924) (101.320) (73.318) (75.467)
Observations 53,940 53,940 53,940 53,940 53,940
R2 0.857 0.857 0.861 0.858 0.859
Adjusted R2 0.857 0.857 0.861 0.858 0.859
Residual Std. Error 1,511.034 1,509.958 1,488.216 1,501.959 1,497.119
F Statistic 53,676.410*** 53,765.760*** 55,612.810*** 54,435.970*** 54,846.710***
Note:

Kam se zapsat

BPE_AVED: Analýza a vizualizace ekonomických dat

podzimní semestr, v počítačové laboratoři

učí: Michal Kvasnička a Štěpán Mikula

víc informací včetně příkladu v ISu