Capítulo 6 Medidas

6.1 Vídeo

6.2 Medidas de centralidade

6.2.1 Média

  • A média de uma população é escrita como \(\mu\), e é definida como \[\mu = \frac{\sum_{i=1}^N x_i}{N}\]

    • \(\sum_{i=1}^N x_i\) é a soma de todos os dados da população.

    • \(N\) é a quantidade de elementos na população.

  • A média de uma amostra é escrita como \(\bar x\), e é definida como: \[\bar x = \frac{\sum_{i=1}^n x_i}{n}\]

    • \(\sum_{i=1}^n x_i\) é a soma de todos os dados da amostra.

    • \(n\) é a quantidade de elementos na amostra.

  • O cálculo é essencialmente o mesmo. Só mudam os símbolos: \(N\) versus \(n\), e \(\mu\) versus \(\bar x\).

6.2.1.1 Exemplo

  • Idades dos alunos de uma turma:

    idades <- c(
      20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 
      22, 22, 22, 23, 23, 23, 23, 24, 24,
      65
    )
  • Média com o velhinho de \(65\) anos:

    mean(idades)
    ## [1] 23,75
  • Média sem o velhinho:

    mean(idades[-length(idades)])
    ## [1] 21,57895

6.2.2 Mediana

  • Já aprendemos sobre a mediana na seção sobre boxplots.

  • A idéia é que, depois de ordenar os dados, \(50\%\) dos dados estarão à esquerda da mediana, e \(50\%\) à direita.

  • A mediana não é tão sensível a outliers quanto à média.

6.2.2.1 Exemplo

  • Mediana com o velhinho:

    median(idades)
    ## [1] 21,5
  • Mediana sem o velhinho:

    median(idades[-length(idades)])
    ## [1] 21

6.2.3 Moda

  • A moda é o valor mais frequente do conjunto de dados.

  • Pode haver mais de uma moda.

  • Não existe uma função para a moda em R base. Por quê?

  • Por incrível que pareça, é complicado definir a moda de forma a conseguir resultados interessantes.

  • Por exemplo, vamos definir um conjunto de \(1000\) valores numéricos distribuídos normalmente4, com média igual a \(5\) e desvio-padrão5 igual a \(2\):

    normal <- rnorm(1000, mean = 5, sd = 2)
  • O histograma dos nossos dados é

  • Vamos calcular a moda com a função mfv (most frequent value), do pacote modeest:

    # Pacote com funções para calcular modas
    library(modeest)
    
    # Por causa de um bug na função mfv, 
    # precisamos de números com ponto decimal
    # (em vez de vírgula):
    options(OutDec = '.')
    mfv(normal)
    ##    [1] -1.74205071 -0.55984022 -0.47892214 -0.32061960 -0.06772235 -0.06666557
    ##    [7]  0.09433172  0.10941951  0.12402743  0.27279806  0.32192019  0.33141217
    ##   [13]  0.38726506  0.48091010  0.56593057  0.60710668  0.73774702  0.74512161
    ##   [19]  0.82786991  0.86270595  0.91652436  0.92184905  0.94861410  0.95113267
    ##   [25]  0.95711942  0.99074663  1.02293154  1.02905077  1.11220233  1.12775707
    ##   [31]  1.19999398  1.25601446  1.26665613  1.28547046  1.31099471  1.32717029
    ##   [37]  1.34202982  1.36912244  1.37428311  1.39661697  1.39938850  1.40962514
    ##   [43]  1.45382798  1.45492641  1.46823491  1.50561288  1.56684697  1.57167344
    ##   [49]  1.57481937  1.65821618  1.66304464  1.70367418  1.71453624  1.71621538
    ##   [55]  1.74945617  1.77581581  1.78853600  1.79074421  1.80031883  1.80690889
    ##   [61]  1.82326992  1.85500086  1.93880827  1.94515699  1.96158056  1.96990765
    ##   [67]  1.97737016  1.98707154  1.98811102  2.03405414  2.03640979  2.04871251
    ##   [73]  2.07951984  2.08015398  2.08979922  2.09666976  2.12419836  2.13123602
    ##   [79]  2.13318841  2.13744868  2.13883115  2.14173854  2.18265854  2.20444425
    ##   [85]  2.21505293  2.25909735  2.27654397  2.28084430  2.28550683  2.31429776
    ##   [91]  2.31683256  2.31850701  2.32518958  2.33971818  2.35964080  2.36508823
    ##   [97]  2.37179783  2.37647395  2.39539425  2.42569017  2.44404068  2.45182043
    ##  [103]  2.47646755  2.48567611  2.50067170  2.50973593  2.51329664  2.51916091
    ##  [109]  2.52845368  2.57077412  2.58051601  2.59774475  2.60104111  2.60960171
    ##  [115]  2.62503478  2.62649433  2.64704464  2.65559207  2.65640733  2.66143969
    ##  [121]  2.66421351  2.69134608  2.70011097  2.70149962  2.71335075  2.71638344
    ##  [127]  2.71774146  2.73048630  2.73223839  2.73321393  2.74107427  2.74149480
    ##  [133]  2.75313067  2.75937678  2.76531613  2.78384588  2.78684925  2.79099794
    ##  [139]  2.79473292  2.80140113  2.80797100  2.81304930  2.82840861  2.83319053
    ##  [145]  2.83777704  2.83837323  2.84339012  2.85486060  2.86629828  2.86773369
    ##  [151]  2.88450163  2.90271205  2.92236859  2.94642847  2.95698354  2.95808102
    ##  [157]  2.96026860  2.96201282  2.96731949  2.98055303  2.99217020  2.99883674
    ##  [163]  3.00238435  3.01523738  3.02719763  3.02915022  3.03033523  3.03471071
    ##  [169]  3.03874675  3.05247295  3.05931645  3.06006135  3.07094631  3.09153534
    ##  [175]  3.10050662  3.11260289  3.12098105  3.12245159  3.12373917  3.12693307
    ##  [181]  3.12900467  3.12900693  3.13181461  3.13726604  3.15159116  3.15192157
    ##  [187]  3.15337848  3.16275852  3.16715972  3.17061195  3.19468481  3.20493755
    ##  [193]  3.21423722  3.23838030  3.24324918  3.25293772  3.25674681  3.26325983
    ##  [199]  3.26517455  3.27569615  3.27656932  3.31095801  3.31099534  3.31765516
    ##  [205]  3.31798111  3.32675531  3.34337603  3.34408565  3.36332265  3.36570854
    ##  [211]  3.38471852  3.39584424  3.43669318  3.43984381  3.44378853  3.44511311
    ##  [217]  3.44615578  3.44650729  3.45065510  3.45072106  3.45447174  3.46701353
    ##  [223]  3.46785123  3.47021263  3.47027131  3.47558200  3.49096166  3.49366377
    ##  [229]  3.49474893  3.49723718  3.50829840  3.50854677  3.51779106  3.52386861
    ##  [235]  3.52505113  3.52585954  3.53227975  3.54374961  3.54554032  3.54590980
    ##  [241]  3.55458781  3.55946726  3.56330130  3.57291512  3.57373578  3.58767253
    ##  [247]  3.59387717  3.59566282  3.60118618  3.60743912  3.61081764  3.61830529
    ##  [253]  3.61920590  3.63497371  3.64535084  3.64644566  3.64762993  3.66218917
    ##  [259]  3.68273360  3.69026302  3.69282524  3.69707919  3.70227954  3.71241714
    ##  [265]  3.71456508  3.71911788  3.72191422  3.72324986  3.73555106  3.73848459
    ##  [271]  3.74105573  3.74124928  3.74224834  3.74409067  3.74990013  3.75026069
    ##  [277]  3.75157077  3.76078771  3.76684674  3.77532943  3.77896491  3.78630852
    ##  [283]  3.79307869  3.79528407  3.80231295  3.80864395  3.80917311  3.81168872
    ##  [289]  3.82383231  3.82475370  3.82641936  3.83483310  3.84006184  3.84199042
    ##  [295]  3.86177252  3.86884101  3.87260612  3.89260208  3.89902195  3.91013024
    ##  [301]  3.91167957  3.91442005  3.94111229  3.94618532  3.95384233  3.95794731
    ##  [307]  3.96033812  3.96147833  3.96423239  3.96758430  3.97076852  3.98080046
    ##  [313]  3.98180289  3.99086071  3.99654314  4.00366053  4.00427203  4.01152776
    ##  [319]  4.01483833  4.01769927  4.03498399  4.03714114  4.03977793  4.04165674
    ##  [325]  4.04456786  4.04749706  4.04884243  4.05424334  4.05550295  4.05827187
    ##  [331]  4.05980298  4.06234018  4.06454184  4.07206643  4.07249770  4.07347160
    ##  [337]  4.08444702  4.09323639  4.09725292  4.11146186  4.11883891  4.12312289
    ##  [343]  4.12976838  4.13109575  4.13181400  4.13435599  4.13569416  4.13944275
    ##  [349]  4.14159928  4.14977240  4.15633218  4.17958203  4.18685707  4.20894083
    ##  [355]  4.21046815  4.21849488  4.22002918  4.22681383  4.24158467  4.24291678
    ##  [361]  4.24452977  4.24483804  4.24694859  4.25149349  4.26241366  4.26353100
    ##  [367]  4.26537881  4.27169654  4.27259473  4.29362406  4.30122514  4.31082925
    ##  [373]  4.31167466  4.31467537  4.31510594  4.31661536  4.31964196  4.32038028
    ##  [379]  4.32875152  4.32943084  4.33792336  4.35105273  4.35517392  4.36944273
    ##  [385]  4.37345836  4.41200315  4.41901774  4.42326330  4.42460599  4.44212398
    ##  [391]  4.44840287  4.45401927  4.47378328  4.47720402  4.47939712  4.48878022
    ##  [397]  4.49716970  4.50197194  4.50391207  4.50657567  4.51902880  4.52645115
    ##  [403]  4.53247591  4.53468812  4.53482953  4.54365136  4.54954581  4.56260224
    ##  [409]  4.57224137  4.57794665  4.58052550  4.58072803  4.58397499  4.59353540
    ##  [415]  4.59509725  4.60551662  4.60716342  4.61148540  4.61218146  4.61377281
    ##  [421]  4.62726525  4.63051132  4.63104078  4.63169981  4.63261410  4.64245873
    ##  [427]  4.66852536  4.67245610  4.67445280  4.67847884  4.68730727  4.69370225
    ##  [433]  4.69544031  4.69851906  4.70503693  4.70704245  4.70758099  4.70984465
    ##  [439]  4.71275134  4.71766501  4.71833786  4.72243351  4.72464392  4.72600725
    ##  [445]  4.73624303  4.74287124  4.74492095  4.74687456  4.74785896  4.75184018
    ##  [451]  4.75475603  4.75847492  4.75893329  4.76492303  4.76798496  4.77010134
    ##  [457]  4.77290746  4.77378479  4.77742895  4.78192707  4.78387043  4.78756004
    ##  [463]  4.79443147  4.79802640  4.80293743  4.80642327  4.81269042  4.81490196
    ##  [469]  4.82033249  4.83411646  4.84330579  4.84802635  4.85340740  4.85440056
    ##  [475]  4.85868803  4.86327830  4.88033227  4.88875402  4.89051261  4.89938052
    ##  [481]  4.89991381  4.90433871  4.90940535  4.91618217  4.92062679  4.92257478
    ##  [487]  4.93440965  4.93606073  4.93710696  4.93752047  4.94320065  4.94703572
    ##  [493]  4.96096693  4.96155290  4.96359020  4.96893384  4.97280768  4.97352920
    ##  [499]  4.97361477  4.98093291  4.98764690  4.98930701  5.01436064  5.01590405
    ##  [505]  5.02203004  5.03089899  5.03261347  5.03518253  5.03573995  5.03700652
    ##  [511]  5.03786746  5.04160120  5.04882515  5.05472380  5.05582630  5.06869955
    ##  [517]  5.07111892  5.07563709  5.07847887  5.07871351  5.08200407  5.08968487
    ##  [523]  5.10602871  5.11427654  5.11610032  5.11720504  5.12242594  5.12737931
    ##  [529]  5.13529502  5.14257814  5.14953724  5.15403819  5.15437827  5.15636743
    ##  [535]  5.17124629  5.17182948  5.17361594  5.18097191  5.20072999  5.20401174
    ##  [541]  5.21033984  5.21157461  5.21338826  5.21403527  5.21913969  5.22166447
    ##  [547]  5.23311302  5.23486872  5.23667001  5.24314034  5.24492602  5.24869222
    ##  [553]  5.24969947  5.25390835  5.26459824  5.26591178  5.26811301  5.26925323
    ##  [559]  5.26967500  5.26973357  5.27727471  5.28549739  5.29277868  5.29504891
    ##  [565]  5.29519203  5.32248610  5.32340146  5.32721478  5.33055964  5.33655740
    ##  [571]  5.34051700  5.34362107  5.34576481  5.35445757  5.35681704  5.36114975
    ##  [577]  5.37899322  5.38140269  5.38332575  5.38905190  5.38922708  5.38991440
    ##  [583]  5.39459467  5.40108515  5.40562879  5.41615553  5.41821660  5.42410785
    ##  [589]  5.42967577  5.44313145  5.44638131  5.44720521  5.44871207  5.45000780
    ##  [595]  5.45804434  5.46477007  5.46639047  5.46773338  5.48333303  5.48343440
    ##  [601]  5.50064211  5.51600040  5.51612936  5.52061589  5.55551413  5.56155732
    ##  [607]  5.56489824  5.58664771  5.58704888  5.60334497  5.60417495  5.60707000
    ##  [613]  5.60981947  5.61294387  5.61657476  5.61757210  5.62216635  5.62712809
    ##  [619]  5.62856976  5.63526833  5.63675944  5.63913970  5.64413278  5.64416126
    ##  [625]  5.64747716  5.64940796  5.65461079  5.65951282  5.66049267  5.66487783
    ##  [631]  5.67770711  5.68451054  5.68467402  5.70118302  5.70454734  5.70682957
    ##  [637]  5.71586380  5.73513224  5.73780306  5.73884634  5.74218192  5.74341597
    ##  [643]  5.74412192  5.74572561  5.75066877  5.75439914  5.75470910  5.75694015
    ##  [649]  5.76002629  5.76850230  5.77866448  5.78135998  5.78209806  5.78337727
    ##  [655]  5.79135489  5.79656104  5.80973144  5.81139731  5.81306083  5.81797456
    ##  [661]  5.82000782  5.82559635  5.82593647  5.82709165  5.82753264  5.83113884
    ##  [667]  5.83165200  5.83869113  5.84208689  5.84468874  5.84624870  5.85303775
    ##  [673]  5.86923029  5.89724850  5.90010320  5.91043490  5.91726857  5.92179883
    ##  [679]  5.93182650  5.93638648  5.93638929  5.95051434  5.95075475  5.95815567
    ##  [685]  5.95968180  5.96425494  5.96844412  5.96948563  5.98474274  5.98896150
    ##  [691]  5.99142753  5.99523278  6.00618983  6.00841594  6.01345696  6.01837997
    ##  [697]  6.02241395  6.02368312  6.02535589  6.03350868  6.03616824  6.04533551
    ##  [703]  6.04546124  6.04821084  6.04954050  6.05014390  6.05071873  6.06262321
    ##  [709]  6.07808822  6.08824622  6.09197955  6.09472257  6.09805517  6.09915328
    ##  [715]  6.10398979  6.10889933  6.10923292  6.11466683  6.12683138  6.13372096
    ##  [721]  6.14206941  6.15071877  6.16018984  6.16077842  6.16351672  6.17143723
    ##  [727]  6.17627287  6.17698690  6.17703064  6.18586516  6.19100205  6.19307748
    ##  [733]  6.19312265  6.19691220  6.20119593  6.20696136  6.21309618  6.22295355
    ##  [739]  6.22678715  6.22881805  6.23675745  6.24273600  6.24441107  6.26107180
    ##  [745]  6.27108650  6.27866979  6.28142025  6.28740965  6.29032303  6.29316161
    ##  [751]  6.30224244  6.31003812  6.31135019  6.32479965  6.32611628  6.32689205
    ##  [757]  6.35118669  6.36491290  6.36609267  6.36698628  6.36833556  6.37750523
    ##  [763]  6.38220114  6.38296150  6.38536903  6.38829485  6.39605637  6.40456960
    ##  [769]  6.42202712  6.43056811  6.43662808  6.44223735  6.44541407  6.44575785
    ##  [775]  6.44599073  6.44887477  6.45978539  6.46008016  6.46092952  6.46209974
    ##  [781]  6.46447681  6.46936413  6.48954161  6.51149705  6.51416948  6.51449108
    ##  [787]  6.51507171  6.51947439  6.52135062  6.55405519  6.56569641  6.57200403
    ##  [793]  6.57587535  6.58764893  6.59156418  6.59874464  6.60223417  6.61626728
    ##  [799]  6.67472971  6.67637690  6.70076979  6.70385936  6.70588843  6.70821537
    ##  [805]  6.71438532  6.71486777  6.74864270  6.75772468  6.75862802  6.77556603
    ##  [811]  6.78239000  6.78658548  6.79563681  6.79745322  6.80381741  6.80676181
    ##  [817]  6.81233384  6.84330409  6.84639654  6.84781630  6.84913050  6.85534312
    ##  [823]  6.85625545  6.88140098  6.88630172  6.89308735  6.90958863  6.93905204
    ##  [829]  6.95035140  6.95337697  6.95438614  6.95705843  6.96595512  6.96749192
    ##  [835]  6.97214648  6.97456204  6.97576841  6.98011272  6.98290790  6.98814821
    ##  [841]  7.02666414  7.03014820  7.03184133  7.03567573  7.05022697  7.05612909
    ##  [847]  7.05782867  7.05801096  7.06431418  7.06793237  7.07348668  7.08166441
    ##  [853]  7.09184687  7.10109840  7.10117700  7.10712489  7.11902225  7.12380976
    ##  [859]  7.12681419  7.15421273  7.15805465  7.15955723  7.16535579  7.19144265
    ##  [865]  7.20589286  7.23062053  7.23626633  7.24081925  7.24607715  7.26355406
    ##  [871]  7.27216384  7.27240399  7.27326231  7.27628256  7.28165690  7.29529124
    ##  [877]  7.30779331  7.31382462  7.31663670  7.33180745  7.33415964  7.34037812
    ##  [883]  7.34145589  7.34210415  7.34639664  7.36293374  7.36385915  7.38751336
    ##  [889]  7.42351114  7.43017640  7.43302433  7.44505848  7.44691818  7.44869716
    ##  [895]  7.44971955  7.46046535  7.50258434  7.50846765  7.51078777  7.54003378
    ##  [901]  7.54229358  7.56005698  7.58320342  7.61066644  7.62763582  7.64726813
    ##  [907]  7.70451425  7.71212438  7.72072315  7.73360045  7.74620110  7.75175387
    ##  [913]  7.76154022  7.76163378  7.77531175  7.78736100  7.81436209  7.84170737
    ##  [919]  7.87805175  7.87821962  7.89493132  7.89659244  7.89808935  7.90581012
    ##  [925]  7.92187813  7.93985317  7.94908744  7.97127533  7.97300486  8.01476115
    ##  [931]  8.05113952  8.06137374  8.06196714  8.08958655  8.10065570  8.10558606
    ##  [937]  8.12946528  8.13263221  8.13605544  8.14484707  8.17159825  8.17173950
    ##  [943]  8.18650631  8.19702958  8.20204189  8.21500722  8.26565237  8.28487898
    ##  [949]  8.30022526  8.30567416  8.32036173  8.34096671  8.35540830  8.35995555
    ##  [955]  8.38107489  8.45061946  8.45375461  8.47527280  8.47829554  8.48691276
    ##  [961]  8.51706200  8.51792304  8.53986465  8.60379966  8.60520392  8.64246817
    ##  [967]  8.65223642  8.66820495  8.70710168  8.72744170  8.75814203  8.83194254
    ##  [973]  8.85374349  8.91274927  8.94438949  8.97339468  8.98391696  8.99563968
    ##  [979]  9.00031195  9.03191317  9.08389590  9.11407025  9.12064420  9.13455137
    ##  [985]  9.16504700  9.24551176  9.26144901  9.29219823  9.35076437  9.38678434
    ##  [991]  9.45730053  9.54655933  9.54951000  9.84013619  9.84762406 10.38252477
    ##  [997] 10.56312209 10.64636956 10.72641473 10.75056294
    # Voltamos para a vírgula como separador decimal:
    options(OutDec = ',')
  • O que houve?!

  • O problema é que não há valores repetidos no conjunto de dados! Por isso, todos os \(1000\) valores são modais.

  • Uma maneira de evitar isto é definir a moda como o centro do intervalo mais curto que contém metade dos dados. Usamos a função mlv (most likely value):

    moda <- mlv(normal, method = 'venter')
    moda
    ## [1] 4,771471
  • Esta moda estimada pode nem estar no conjunto de dados:

    moda %in% normal
    ## [1] FALSE
  • Mas o resultado de mlv() é útil, pois nos diz que, embora não haja valores repetidos, valores próximos de \(5\) são mais frequentes, como mostra o histograma.

6.2.3.1 Exercícios

  • Arrendonde os valores no vetor normal para \(2\) casas decimais e ache a(s) moda(s)

    1. com a função mfv, e

    2. com a função mlv, usando o método venter.

    Considerando o histograma, qual das respostas você prefere? Por quê?

6.3 Formas de uma distribuição

  • A forma do histograma mostra aspectos importantes da distribuição dos dados.

6.3.1 Distribuição Uniforme

  • Se o histograma tem todas as barras aproximadamente da mesma altura, dizemos que a distribuição é uniforme:

  • A distribuição uniforme não tem moda, já que todos os valores têm aproximadamente a mesma frequência.

6.3.2 Simetria

  • Se o histograma for simétrico (i.e., os lados esquerdo e direito são “espelhados”), dizemos que a distribuição é simétrica.

  • A distribuição normal do exemplo acima é simétrica.

  • A distribuição uniforme também é simétrica.

  • Para distribuições simétricas, a média, a mediana e a moda (quando existe e é única) são bem próximas.

    • Para a distribuição normal do exemplo:

      mean(normal)
      ## [1] 4,981901
      median(normal)
      ## [1] 4,98429
      mlv(normal, method = 'venter')
      ## [1] 4,771471
    • Para a distribuição uniforme do exemplo:

      mean(uniforme)
      ## [1] 5,077095
      median(uniforme)
      ## [1] 5,251629
  • Uma distribuição pode ser simétrica, mas ter duas (ou mais) modas diferentes:

  • Algumas distribuições não são simétricas, mas têm uma cauda longa à esquerda ou à direita.

  • Dependendo da cauda, as distribuições são chamadas de assimétricas à esquerda ou assimétricas à direita.

  • Um exemplo: receitas anuais (em milhões de dólares) de CEOs de grandes empresas:

    df <- read_csv(
      './data/CEO_Salary_2012.csv',
      show_col_types = FALSE
    )
    glimpse(df)
    ## Rows: 500
    ## Columns: 9
    ## $ Rank                  <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16…
    ## $ Name                  <chr> "John H Hammergren", "Ralph Lauren", "Michael D Fasci…
    ## $ Company               <chr> "McKesson", "Ralph Lauren", "Vornado Realty", "Kinder…
    ## $ `1-Year Pay ($mil)`   <dbl> 131,190, 66,650, 64,405, 60,940, 55,790, 51,525, 50,1…
    ## $ `5 Year Pay ($mil)`   <dbl> 285,020, 204,060, NA, 60,940, 96,110, 100,210, 90,300…
    ## $ `Shares Owned ($mil)` <dbl> 51,9, 5010,4, 171,7, 8582,3, 21,5, 47,3, 128,2, 155,8…
    ## $ Age                   <dbl> 53, 72, 55, 67, 59, 57, 55, 59, 61, 60, 59, 56, 63, 5…
    ## $ Efficiency            <dbl> 121, 84, NA, NA, 138, 36, 12, NA, 91, 131, 150, NA, 1…
    ## $ `Log Pay`             <dbl> 8,117901, 7,823800, 7,808920, 7,784902, 7,746556, 7,7…
  • Vamos usar apenas os nomes e os valores anuais:

    salarios <- df %>% 
      select(Name, valor = `1-Year Pay ($mil)`)
  • Um histograma:

    salarios %>% 
      ggplot(aes(x = valor)) +
        geom_histogram(breaks = seq(0, 150, 2.5)) +
        scale_x_continuous(breaks = seq(0, 150, 10)) +
        labs(y = NULL)
  • É uma distribuição assimétrica à direita: a maior parte dos CEOs têm receitas anuais “baixas”, de menos de \(10\) milhões. À medida que examinamos valores maiores, a quantidade de CEOs vai diminuindo lentamente.

  • Observe que a longa cauda à direita “puxa” a média para um valor mais alto do que a mediana.

  • A moda, que corresponde à barra mais alta do histograma, é menor que a mediana (e que a média):

    sumario <- salarios %>% 
      summarise(
        moda = mlv(valor, method = 'venter'),
        mediana = median(valor),
        media = mean(valor)
      )
    
    sumario
  • Em um boxplot, também é possível detectar a assimetria pela grande quantidade de outliers em um extremo:

    salarios %>% 
      ggplot(aes(y = valor)) +
        geom_boxplot() +
        scale_x_continuous(breaks = NULL) +
        scale_y_continuous(breaks = seq(0, 150, 10))
  • Com distribuições assimétricas à esquerda, a situação se inverte: a média é menor que a mediana, que é menor que a moda.

6.3.3 Exercícios

  • Ache um conjunto de dados com uma distribuição assimétrica à esquerda.

  • Faça um histograma.

  • Calcule a média, a mediana, e a moda dos dados.

6.4 Re-expressão

  • Muitas vezes, é recomendável transformar a escala dos dados para que uma distribuição assimétrica se torne simétrica.

  • No exemplo das receitas dos CEOs, podemos tomar os logaritmos dos valores, em vez dos valores:

    salarios_log <- salarios %>% 
      mutate(log_valor = log10(valor))
    salarios_log %>% 
      ggplot(aes(x = log_valor)) +
        geom_histogram(bins = 20) +
        labs(
          x = TeX('$\\log_{10}$ valor'),
          y = NULL
        )
    ## Warning: Removed 3 rows containing non-finite outside the scale range
    ## (`stat_bin()`).
  • O logaritmo de um número na base \(10\) é, essencialmente, a quantidade de dígitos do número, vista como uma grandeza contínua.

  • Logaritmos negativos vêm de valores entre \(0\) e \(1\).

  • Logaritmo zero vem do valor \(1\).

  • Valores iguais ou menores que zero não têm logaritmo definido.

  • Por isso a mensagem de aviso sobre \(3\) valores removidos. São valores iguais a zero:

    salarios_log %>% 
      filter(valor == 0)
  • Uma vantagem desta escala logarítmica é que podemos entender melhor o histograma. Os dados não estão amontoados de um lado só.

6.4.1 Exercícios

  • Quais são os registros com \((\log_{10} \text{valor}) < 0\)?

  • Faça um boxplot dos logaritmos das receitas.

6.5 Medidas de posição

6.5.1 Quantis

  • Na seção sobre boxplots, falamos sobre quantis, que são medidas de posição.

  • Em R, a função quantile calcula quantis de um vetor:

    salarios %>% 
      pull(valor) %>% 
      quantile()
    ##        0%       25%       50%       75%      100% 
    ##   0,00000   3,88500   6,96750  13,36125 131,19000
  • Você pode passar frações entre \(0\) e \(1\) para quantile. Por exemplo, para calcular o primeiro, o quinto, e o décimo percentis6 das receitas dos CEOs:

    salarios %>% 
      pull(valor) %>% 
      quantile(c(.01, .05, .1))
    ##      1%      5%     10% 
    ## 0,48695 1,48405 2,19400

6.6 Medidas de dispersão

  • Tão importantes quanto as medidas de centralidade são as medidas de dispersão (ou espalhamento).

  • Elas informam o quanto os dados variam.

6.6.1 Amplitude

  • Uma medida simples é a diferença entre o valor máximo e o valor mínimo.

  • Lembrando do nosso exemplo das idades dos alunos:

    idades
    ##  [1] 20 20 20 20 20 20 21 21 21 21 22 22 22 23 23 23 23 24 24 65
  • A função range retorna o mínimo e o máximo:

    range(idades)
    ## [1] 20 65
  • A amplitude destes dados é, então

    range(idades)[2] - range(idades)[1]
    ## [1] 45
  • A diferença de idade entre o aluno mais novo e o mais velho é de \(45\) anos, um valor alto, por causa do velhinho.

6.6.2 IQR

  • Na seção sobre boxplots, também falamos sobre o intervalo interquartil (IQR).

  • No boxplot, é a altura da caixa. Para as idades dos alunos:

    idades %>% 
      as_tibble() %>% 
      ggplot(aes(y = value)) +
        geom_boxplot() +
        scale_x_continuous(breaks = NULL) +
        scale_y_continuous(breaks = seq(20, 70, 5))
  • O IQR é a diferença entre o primeiro e o terceiro quartis:

    summary(idades)
    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    ##   20,00   20,00   21,50   23,75   23,00   65,00
    unname(summary(idades)[5] - summary(idades)[2])
    ## [1] 3
    IQR(idades)
    ## [1] 3
  • Ou seja, os \(50\%\) centrais dos alunos têm idade entre \(20\) e \(23\) anos, um IQR de \(3\).

  • É uma variação pequena, porém mais fiel à realidade do que a amplitude, que é alta por causa do velhinho.

  • Quanto maior o IQR, mais espalhados estão os dados.

6.6.3 Variância

  • Agora, vamos trabalhar com os pesos (kg) e alturas (m) de um time de basquete:

    medidas <- tibble(
      altura = .025 * 
        c(72, 74, 68, 76, 74, 69, 72, 79, 70, 69, 77, 73),
      peso = 0.45 * 
        c(180, 168, 225, 201, 189, 192, 197, 162, 174, 171, 185, 210)
    )
    
    medidas
    summary(medidas$altura)
    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    ##   1,700   1,744   1,812   1,819   1,863   1,975
    summary(medidas$peso)
    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    ##   72,90   77,96   84,15   84,53   89,10  101,25
  • A variância é a maneira mais usada de medir o espalhamento em torno da média.

  • Para calcular a variância das alturas e a variância dos pesos, precisamos calcular valores intermediários.

  • O desvio de um valor é a diferença entre o valor e a média. O desvio pode ser positivo ou negativo.

    d_medidas <- medidas %>% 
      mutate(
        d_altura = altura - mean(altura),
        d_peso = peso - mean(peso)
      )
    
    d_medidas
  • Vamos calcular o desvio médio das alturas e o desvio médio dos pesos:

    d_medidas %>% 
      summarize(
        d_medio_altura = mean(d_altura),
        d_medio_peso = mean(d_peso)
      )
  • Não foi uma boa idéia. O desvio médio sempre é igual a zero.7 (O R pode mostrar algum valor diferente de zero por causa da precisão limitada dos números de ponto flutuante.)

  • Como resolver isto? Elevando os desvios ao quadrado:

    dq_medidas <- d_medidas %>% 
      mutate(
        dq_altura = d_altura^2,
        dq_peso = d_peso^2
      )
    
    dq_medidas
  • Agora temos os desvios quadrados, que são todos positivos.

  • O desvio quadrado médio vai ser a variância:

    dq_medidas %>% 
      summarize(
        var_altura = mean(dq_altura),
        var_peso = mean(dq_peso)
      )
  • Uma vantagem da variância é que outliers (que têm desvios quadrados maiores) contribuem mais do que elementos próximos à média (que têm desvios quadrados menores).

  • Uma desvantagem da variância é que a sua unidade é o quadrado da unidade dos valores.

  • Neste exemplo, as unidades são \(m^2\) e \(kg^2\)!

6.6.4 Desvio-padrão

  • É melhor trabalhar com a raiz quadrada da variância, que chamamos de desvio-padrão.

  • As unidades são as mesmas que as unidades dos dados.

    dq_medidas %>% 
      summarize(
        dp_altura = sqrt(mean(dq_altura)),
        dp_peso = sqrt((mean(dq_peso)))
      )
  • Claro que o R tem funções para calcular isso: var e sd (standard deviation):

    medidas %>% 
      summarize(
        altura_var = var(altura),
        altura_dp = sd(altura),
        peso_var = var(peso),
        peso_dp = sd(peso)
      )
  • Mas os valores são diferentes dos que calculamos. Por quê?

6.6.5 Definições

  • Para uma população com \(N\) elementos e média \(\mu\), a variância é

    \[ \sigma^2 = \frac{\sum_{i=1}^N (x_i - \mu)^2}{N} \]

    e o desvio-padrão é

    \[ \sigma = \sqrt{\frac{\sum_{i=1}^N (x_i - \mu)^2}{N}} \]

  • Para uma amostra com \(n\) elementos e média \(\bar x\), a variância é

    \[ s^2 = \frac{\sum_{i=1}^n (x_i - \bar x)^2}{n-1} \]

    e o desvio-padrão é

    \[ s = \sqrt{\frac{\sum_{i=1}^n (x_i - \bar x)^2}{n -1}} \]

  • Nós calculamos a versão populacional destas medidas.

  • R calcula a versão amostral destas medidas.

  • Reveja os cálculos e entenda a diferença.

  • Note, também, que as medidas populacionais são representadas por letras gregas\(\mu\), \(\sigma^2\), \(\sigma\) —, enquanto as medidas amostrais são representadas por letras latinas\(\bar x\), \(s^2\), \(s\).

Mais adiante no curso, você vai entender por que o denominador da variância amostral é \(n - 1\), em vez de \(n\).

Nada é por acaso, nem mesmo em Estatística.

6.6.6 Exercícios

  • Quando a variância e o desvio-padrão de um conjunto de dados são iguais a zero?

  • Mostre que o desvio médio de qualquer conjunto de valores é igual a zero.

    Ou seja, considere o conjunto

    \[ \{x_1, x_2, \ldots, x_n\} \]

    e prove que

    \[ \sum_{i = 1}^n (x_i - \bar x) = 0 \]

    Manipule apenas as variáveis \(x_i\). Não use exemplos, pois eles não provam o enunciado geral.

    Dica: lembre que \(\displaystyle \bar x = \frac{\sum_{i = 1}^n x_i}{n}\).

6.7 Coeficiente de variação

  • Em um conjunto de dados, o desvio-padrão é uma medida importante da variação dos dados.

  • Mas a unidade do desvio-padrão muda de um conjunto de dados para outro: alturas em metros, pesos em quilos etc.

  • Podemos eliminar as unidades expressando o desvio-padrão em termos da média.

  • O resultado é a fração \(\frac{\sigma}{\mu}\) (na população) ou \(\frac{s}{\bar x}\) na amostra.

  • Esta fração é o coeficiente de variação (CV).

  • O CV não tem unidades.

  • Para as alturas do exemplo dos jogadores de basquete:

    A média das alturas é \(1{,}82\) metros.

    O desvio-padrão das alturas é \(0{,}09\) metros.

    O CV é aproximadamente \(0{,}0473\).

    statip::cv(medidas$altura)
    ## [1] 0,04729982

    Em outras palavras, para as alturas, um desvio-padrão corresponde a \(4{,}73\%\) da média.

  • Para os pesos:

    A média dos pesos é \(84{,}53\) quilos.

    O desvio-padrão dos pesos é \(8{,}31\) quilos.

    O CV é aproximadamente \(0{,}0983\).

    statip::cv(medidas$peso)
    ## [1] 0,09834649

    Em outras palavras, para os pesos, um desvio-padrão corresponde a \(9{,}83\%\) da média.

  • Segundo estes valores, a variação dos pesos é cerca de \(2\) vezes maior do que a variação das alturas.

O coeficiente de variação sempre faz sentido para dados do nível racional (veja a definição) — i.e., dados onde o zero é absoluto.

Para dados apenas intervalares, o uso do CV pode levar a conclusões absurdas, como você terá chance de ver no exercício.

6.7.1 Exercícios

  • Considere o seguinte conjunto de temperaturas (em graus Celsius):

    celsius <- c(0, 10, 20, 30, 40)
  • E as mesmas temperaturas (em graus Fahrenheit):

    fahrenheit <- 9 * celsius / 5 + 32
  • Calcule para cada um dos dois vetores acima:

    1. A média,

    2. O desvio-padrão,

    3. O coeficiente de variação.

  • As temperaturas são as mesmas (apenas em unidades diferentes), mas os CVs são diferentes. Por quê?

  • Agora, convertemos as mesmas temperaturas para a escala Kelvin:

    kelvin <- celsius + 273.15
  • E para a escala Rankine:

    rankine <- fahrenheit + 459.67
  • Calcule para cada um dos dois vetores acima:

    1. A média,

    2. O desvio-padrão,

    3. O coeficiente de variação.

  • Compare:

    1. As médias de celsius e kelvin,

    2. As médias de fahrenheit e rankine,

    3. Os desvios-padrão de celsius e kelvin,

    4. Os desvios-padrão de fahrenheit e rankine,

    5. Os coeficientes de variação de kelvin e rankine.

  • Explique o que houve.

6.8 Escores-padrão

  • Para qualquer conjunto de dados, a unidade usada é uma escolha arbitrária.

  • Para alturas, por exemplo, podemos usar metros, centímetros, pés, polegadas etc.

  • A escolha de unidades é tão arbitrária que podemos escolher uma unidade (que dificilmente vai ter nome) que faça com que a média do conjunto de dados seja zero e que o desvio-padrão seja igual a \(1\).

  • Isto equivale a tomar, como unidade, o desvio-padrão acima da média.

  • Os valores, nesta nova unidade, são chamados de escores-padrão.

  • Dizemos que os valores foram padronizados.

  • Vamos usar as alturas dos jogadores de basquete.

  • Para fazer a altura média virar zero, basta subtrair, de cada altura, a altura média:

    alturas <- medidas$altura
    mean(alturas)
    ## [1] 1,81875
    alturas_deslocadas <- alturas - mean(alturas)
    mean(alturas_deslocadas)
    ## [1] 0
  • Para fazer o desvio-padrão ser igual a \(1\), basta dividir estes valores pelo desvio-padrão dos dados originais:

    sd(alturas)
    ## [1] 0,08602656
    alturas_padronizadas <- alturas_deslocadas / sd(alturas)
    sd(alturas_padronizadas)
    ## [1] 1
  • Tome, por exemplo, o seguinte jogador:

    altura <- alturas[1] 
    altura
    ## [1] 1,8
    altura_padronizada <- (alturas[1] - mean(alturas)) / sd(alturas)
    altura_padronizada
    ## [1] -0,217956

    Faça as contas: o valor da altura padronizada deste jogador significa que a altura dele está \(0{,}217956\) desvios-padrão abaixo da altura média.

  • No geral:

    • Se a média for \(\bar x\), e

    • Se o desvio-padrão for \(s\),

    • Os escores-padrão \(z_i\) vão ser \[ z_i = \frac{x_i - \bar x}{s} \]

  • Em R, a função scale faz isso:

    medidas <- medidas %>% 
      mutate(altura_padronizada = scale(altura)[,1])
    
    medidas %>% 
      select(altura, altura_padronizada)
    mean(medidas$altura_padronizada)
    ## [1] -0,000000000000000004610683
    sd(medidas$altura_padronizada)
    ## [1] 1
  • A função scale foi feita para receber e retornar matrizes. Como estamos trabalhando com vetores, usamos scale(altura)[,1] para tomar apenas a primeira (e única) coluna do resultado.

6.8.1 Exercícios

  • Por que, quando calculamos as alturas deslocadas divididas pelo desvio-padrão das alturas, temos certeza de que a média dos valores resultantes não mudou?

  • Padronize os pesos dos jogadores de basquete.

  • Confira a média e o desvio-padrão dos pesos padronizados.

  • Crie um scatterplot de peso por altura.

  • Crie um scatterplot de peso padronizado por altura padronizada.

  • Compare os dois scatterplots. O que muda de um para outro?

6.9 Teorema de Tchebychev

  • Grosso modo, quanto mais alto o desvio-padrão, maior é a distância da média até os valores.

  • Ou seja, quanto menor o desvio-padrão, maior é a proporção de valores que estão próximos à média.

  • O teorema de Tchebychev quantifica esta idéia:

    Em qualquer distribuição, a proporção de valores dentro de \(\pm k\) desvios-padrão \((k > 1)\) da média é de, no mínimo \[ 1 - \frac{1}{k^2} \]

6.9.1 Exemplo

  • Lembre-se do conjunto de dados sobre os totais de horas de sono de diversos mamíferos:

  • Média e desvio-padrão:

    media <- mean(df$value)
    media
    ## [1] 10,43373
    dp <- sd(df$value)
    dp
    ## [1] 4,450357
  • Qual a proporção de espécies que estão a \(1{,}3\) ou menos desvios-padrão de distância da média?

    k <- 1.3
    inicio <- media - k * dp
    inicio
    ## [1] 4,648271
    fim <- media + k * dp
    fim
    ## [1] 16,2192
  • O teorema diz que no mínimo a seguinte proporção das espécies está dentro deste intervalo:

    proporcao_teorema <- 1 - 1 / k^2
    proporcao_teorema
    ## [1] 0,408284
  • Graficamente:

  • Vamos conferir:

    total_especies <- df %>% nrow()
    total_especies
    ## [1] 83
    especies_intervalo <- df %>% 
      filter(value >= inicio & value <= fim) %>% 
      nrow()
    especies_intervalo
    ## [1] 64
    proporcao_real <- especies_intervalo / total_especies
    proporcao_real
    ## [1] 0,7710843
  • Como o teorema usa apenas a média e o desvio-padrão, e mais nenhuma informação sobre a distribuição dos valores — forma, simetria etc. — o que ele garante é, muitas vezes, mais fraco do que a realidade.

  • Neste exemplo, o teorema garantia no mínimo \(40{,}83\%\) das espécies a \(1{,}30\) ou menos desvios-padrão de distância da média.

  • A proporção verdadeira é \(77{,}11\%\) das espécies.

  • O teorema está certo (claro), mas, sem mais informações sobre a distribuição dos dados, o teorema não pode ser mais preciso.

6.9.2 Exercício

  • Uma loja recebe uma média de \(20\) clientes por dia, com desvio-padrão de \(2\) clientes.

  • Em um ano (\(365\) dias), em quantos dias, no mínimo, o número de clientes ficou entre \(16\) e \(24\), inclusive?