<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Datamares &amp; Dreamscapes</title>
<link>/pt/</link>
<atom:link href="/pt/index.xml" rel="self" type="application/rss+xml"/>
<description>Blog sobre ciência de dados, estatística e programação, de Alberson Miranda.</description>
<generator>quarto-1.8.27</generator>
<lastBuildDate>Fri, 27 Feb 2026 03:00:00 GMT</lastBuildDate>
<item>
  <title>fio 1.0.0: Análise Multirregional e outras novidades</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202602_fio-1-0-0/</link>
  <description><![CDATA[ 






<p><strong>{fio} 1.0.0</strong> já está disponível no <a href="https://CRAN.R-project.org/package=fio">CRAN</a>! Este lançamento representa um marco significativo no desenvolvimento do pacote, introduzindo poderosas capacidades multirregionais, suporte para modelos fechados e uma estratégia de gerenciamento de dados mais eficiente.</p>
<p>O {fio} (<em>Friendly &amp; Fast Input-Output</em>) foi construído com um objetivo claro: fornecer aos usuários de R uma interface rápida e intuitiva para análise de insumo-produto. Ao aproveitar a performance do <a href="https://www.rust-lang.org/">Rust</a> e as classes <a href="https://r6.r-lib.org/">R6</a>, o {fio} permite que você lide com cálculos complexos de álgebra linear com facilidade e rapidez.</p>
<p>Você pode instalá-lo do CRAN com:</p>
<div class="code-copy-outer-scaffold"><div class="sourceCode" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">install.packages</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fio"</span>)</span></code></pre></div></div>
<section id="análise-de-insumo-produto-multirregional-miom" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="análise-de-insumo-produto-multirregional-miom"><span class="header-section-number">1</span> Análise de Insumo-Produto Multirregional (MIOM)</h2>
<p>A principal novidade da versão 1.0.0 é a introdução dos modelos de <strong>Insumo-Produto Multirregional (MIOM)</strong>. Isso permite que analistas vão além das economias individuais e estudem as interdependências entre diferentes nações ou regiões.</p>
<p>A nova classe <code>miom()</code> cria um modelo multirregional que herda toda a performance e funcionalidade da classe <code>iom()</code> de região única, adicionando ferramentas especializadas para análise regional:</p>
<ul>
<li><strong>Comércio Bilateral</strong>: Extraia facilmente fluxos comerciais entre regiões específicas.</li>
<li><strong>Multiplicadores Regionais</strong>: Calcule multiplicadores intra-regionais, inter-regionais e de transbordamento (<em>spillover</em>).</li>
<li><strong>Medidas de Interdependência</strong>: Quantifique o quanto as regiões dependem umas das outras.</li>
</ul>
<p>Veja abaixo como você pode analisar as interdependências do comércio global usando o conjunto de dados <code>world_2000</code> (que agora faz parte do pacote complementar <a href="https://github.com/albersonmiranda/fiodata">{fiodata}</a>):</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(fio)</span>
<span id="cb2-2"></span>
<span id="cb2-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Carrega o conjunto de dados mundial multirregional</span></span>
<span id="cb2-4">miom_world <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> fiodata<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>world_2000</span>
<span id="cb2-5"></span>
<span id="cb2-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Obtém o comércio bilateral do Brasil para a China</span></span>
<span id="cb2-7">miom_world<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">get_bilateral_trade</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BRA"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CHN"</span>)[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>]</span>
<span id="cb2-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt;                                                BRA_Agriculture, Hunting, Forestry and Fishing</span></span>
<span id="cb2-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Agriculture, Hunting, Forestry and Fishing                                    0.868486382</span></span>
<span id="cb2-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Mining and Quarrying                                                          0.677175460</span></span>
<span id="cb2-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Food, Beverages and Tobacco                                                   0.784219678</span></span>
<span id="cb2-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Textiles, leather and footwear                                                0.137408834</span></span>
<span id="cb2-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Pulp, paper, printing and publishing                                          0.003052195</span></span>
<span id="cb2-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt;                                                BRA_Mining and Quarrying</span></span>
<span id="cb2-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Agriculture, Hunting, Forestry and Fishing              0.001110208</span></span>
<span id="cb2-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Mining and Quarrying                                    1.703217354</span></span>
<span id="cb2-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Food, Beverages and Tobacco                             0.005707213</span></span>
<span id="cb2-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Textiles, leather and footwear                          0.129627291</span></span>
<span id="cb2-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; CHN_Pulp, paper, printing and publishing                    0.015560710</span></span>
<span id="cb2-20"></span>
<span id="cb2-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Calcula a interdependência regional</span></span>
<span id="cb2-22">miom_world<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">get_regional_interdependence</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">head</span>()</span>
<span id="cb2-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt;   country self_reliance total_spillover_out total_spillover_in</span></span>
<span id="cb2-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 1     AUS      1.968515           0.3168527        0.006511634</span></span>
<span id="cb2-25"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 2     AUT      1.614535           0.4900724        0.004048698</span></span>
<span id="cb2-26"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 3     BEL      1.649908           0.7652207        0.011148228</span></span>
<span id="cb2-27"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 4     BRA      1.918948           0.2328115        0.004065824</span></span>
<span id="cb2-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 5     CAN      1.650380           0.4280919        0.007634451</span></span>
<span id="cb2-29"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 6     CHN      2.342241           0.2867934        0.016735715</span></span>
<span id="cb2-30"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt;   interdependence_index</span></span>
<span id="cb2-31"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 1             0.1609602</span></span>
<span id="cb2-32"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 2             0.3035377</span></span>
<span id="cb2-33"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 3             0.4637960</span></span>
<span id="cb2-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 4             0.1213225</span></span>
<span id="cb2-35"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 5             0.2593898</span></span>
<span id="cb2-36"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#&gt; 6             0.1224440</span></span></code></pre></div></div>
</div>
<p>Para uma visão completa sobre a classe <code>miom</code> e seus métodos, confira a vignette: <a href="https://albersonmiranda.github.io/fio/articles/multiregional_analysis.html">Análise Multirregional de Insumo-Produto</a>.</p>
</section>
<section id="fechando-o-modelo" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="fechando-o-modelo"><span class="header-section-number">2</span> Fechando o Modelo</h2>
<p>Modelos de insumo-produto são tradicionalmente “abertos”, tratando as famílias e o governo como externos ao sistema de produção. A versão 1.0.0 introduz o método <code>close_model()</code>, que permite “internalizar” esses setores.</p>
<p>Ao mover o consumo das famílias ou do governo da demanda final para a matriz de transações intermediárias, você pode capturar melhor os efeitos “induzidos” de choques econômicos — por exemplo, como um aumento na produção leva a salários mais altos, que por sua vez estimulam mais consumo.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1">iom_br <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> fiodata<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>br_2020</span>
<span id="cb3-2"></span>
<span id="cb3-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Fecha o modelo para o consumo das famílias</span></span>
<span id="cb3-4">iom_br<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">close_model</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"household"</span>)</span>
<span id="cb3-5"></span>
<span id="cb3-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Os coeficientes técnicos e multiplicadores agora incluem os efeitos induzidos</span></span>
<span id="cb3-7">iom_br<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">compute_tech_coeff</span>()</span>
<span id="cb3-8">iom_br<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">compute_leontief_inverse</span>()</span>
<span id="cb3-9">iom_br<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">compute_multiplier_output</span>()</span></code></pre></div></div>
</div>
</section>
<section id="acesso-direto-a-dados" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="acesso-direto-a-dados"><span class="header-section-number">3</span> Acesso Direto a Dados</h2>
<p>Para facilitar ainda mais o início de sua análise, adicionamos <code>download_wiod()</code>. Esta função permite baixar tabelas da World Input-Output Database (WIOD) diretamente de sua fonte oficial e carregá-las no R. Combinado com a velocidade de processamento do {fio}, isso reduz significativamente o tempo entre a coleta de dados e a obtenção de insights.</p>
<p>Para um exemplo completo sobre como trabalhar com dados do WIOD, confira a vignette: <a href="https://albersonmiranda.github.io/fio/articles/wiod_2014_analysis.html">Trabalhando com WIOD</a>.</p>
</section>
<section id="fiodata" class="level2" data-number="4">
<h2 data-number="4" class="anchored" data-anchor-id="fiodata"><span class="header-section-number">4</span> {fiodata}</h2>
<p>À medida que o pacote cresceu, os conjuntos de dados integrados atingiram um tamanho que excedeu as recomendações do CRAN. Para manter o {fio} leve e rápido de instalar, movemos os conjuntos de dados (<code>br_2020</code> e <code>world_2000</code>) para um pacote complementar separado: <a href="https://cran.r-project.org/web/packages/fiodata/index.html"><strong>{fiodata}</strong></a>.</p>
<p>Ao instalar o {fio}, instale também o {fiodata} para acompanhar nossos exemplos e acessar os conjuntos de dados:</p>
<div class="code-copy-outer-scaffold"><div class="sourceCode" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">install.packages</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fiodata"</span>)</span></code></pre></div></div>
</section>
<section id="agradecimentos" class="level2" data-number="5">
<h2 data-number="5" class="anchored" data-anchor-id="agradecimentos"><span class="header-section-number">5</span> Agradecimentos</h2>
<p>Este lançamento não seria possível sem o robusto ecossistema de pacotes R e Rust. Agradecimentos especiais aos desenvolvedores dos projetos <code>extendr</code> e <code>faer</code>, que fornecem a base para a arquitetura híbrida do {fio}.</p>
<p>Para uma lista completa de mudanças, consulte o arquivo <a href="https://github.com/albersonmiranda/fio/blob/main/NEWS.md">NEWS.md</a>. Bons estudos!</p>


</section>

 ]]></description>
  <category>R</category>
  <category>Economia</category>
  <category>fio</category>
  <category>Rust</category>
  <guid>/pt/posts/202602_fio-1-0-0/</guid>
  <pubDate>Fri, 27 Feb 2026 03:00:00 GMT</pubDate>
  <media:content url="https://albersonmiranda.github.io/fio/reference/figures/leontief.jpg" medium="image" type="image/jpeg"/>
</item>
<item>
  <title>Por que os economistas estão sempre errados?</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202506_why-economists-wrong/</link>
  <description><![CDATA[ 






<p>Neste pist, ofereço minha leitura do primeiro capítulo de <span class="citation" data-cites="feijo">Barbieri e Feijó (2013)</span> acerca do que chamaram de paradigma do equilíbrio maximizador, doravante referido apenas como paradigma, na ciência econômica.</p>
<section id="a-economia-como-ciência-exata" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> A ECONOMIA COMO CIÊNCIA EXATA</h1>
<p>Ainda em sua introdução, os autores argumentam sobre a posição da ciência econômica como ciência exata ou humana:</p>
<blockquote class="blockquote">
<p>A primeira pergunta que surge na mente do leigo é se a economia trata-se de ciência exata ou ciência do campo das chamadas humanidades (ciências humanas). Se tivéssemos de escolher entre um enquadramento ou outro, diríamos que a economia pertence ao campo das ciências humanas. No entanto, ela ocupa uma posição especial dentre as ciências humanas: uma parte das contribuições científicas dos economistas acadêmicos utiliza-se do método das ciências exatas. Assim, pode-se afirmar seguramente que há um campo exato no âmbito das investigações feitas pelos economistas. Nem todos os estudos oferecidos pelos economistas, no entanto, afiguram-se um esforço em ciência exata. Mas uma parte importante deles, aliás, a mais expressiva, emprega os métodos matemáticos rigorosos típicos das ciências naturais exatas que têm na física o modelo central.</p>
</blockquote>
<p>Esses métodos exatos teriam como objeto as normas sociais, reforçadas nas leis penais, que “englobam todo tipo de comportamento regular e padronizado, igual para todos os indivíduos dentro de um grupo”. Entretanto, os próprios autores reconhecem o alcance limitado da ciência econômica no estudo dessas normas sociais:</p>
<blockquote class="blockquote">
<p>Para o economista, basta uns poucos tipos de instituições, vistas como tipos estilizados, como a propriedade privada (que induz os agentes a respeitarem direitos de propriedade e contratos) e o agente otimizador (que maximiza utilidade ou lucro), ou então o comunismo (que os coage a aceitarem a propriedade coletiva) e o agente cooperador. Boa parte do trabalho teórico do economista remete a uns poucos tipos de instituições sociais. Para o paradigma da economia teórica, interessa o agente otimizador.</p>
</blockquote>
<p>Questiono, primeiramente, se há coerência em tentar especificar um campo exato dentro de uma ciência humana como fizeram os autores. Não digo com isso que não existem, pelo menos no horizonte da experiência humana em que nos encontramos, leis no âmbito das humanidades — elas não só existem, como são estudadas por filósofos e representadas na arte<sup>1</sup> ao longo das eras. Da maior delas, Sêneca já tratava em suas cartas a seu sogro Paulinus:</p>
<blockquote class="blockquote">
<p>A maior parte dos mortais, Paulino, lamenta a maldade da Natureza, porque já nascem com a perspectiva de uma curta existência e porque os anos que lhes são dados transcorrem rápida e velozmente. De modo que, com a exceção de uns poucos, para os demais, em pleno esplendor da vida é que justamente esta os abandona. <span class="citation" data-cites="seneca">(Sêneca 2008)</span></p>
</blockquote>
<p>O tempo do indivíduo é restringido aos seus sempre insuficientes anos; seu lugar no universo, confinado em um única rocha em meio à infinitude do cosmos; preso ao chão pela gravidade; cativo à superfície pelo próprio ar; refém da necessidade de consumir. Entretanto, esse consumo que menciono não se refere à ideia de economia de troca que alguns téoricos colocam como ordenação natural e espontânea que independe do espaço social, da historicidade e das especificidades de cada sociedade. Me refiro unicamente ao alimento que todo animal precisa para sobreviver. Esse é, de fato, o consumo que é lei natural. A adoção do comportamento maximizador como lei natural representa uma dentre as várias generalizações e extrapolações dessa natureza que são o centro da crítica ao paradigma, não a matematização em si.</p>
<p>Quando os autores colocam que o objeto dos métodos exatos na economia são “todo tipo de comportamento regular e padronizado, igual para todos os indivíduos dentro de um grupo”, eles falham em enxergar que há pouquíssimos desses comportamentos regulares e padronizados. O comportamento regular é: <em>o homem busca alimento para sobreviver</em>. Já <em>o homem conhece o preço de equilíbrio do alimento e irá demandá-lo mais se ele estiver abaixo desse preço</em> não é uma lei natural. Se o mecanismo de convergência ao equilíbrio macroeconômico é todo ancorado no microfundamento do comportamento padronizado racional, a macroeconomia do paradigma já se torna frágil e qualquer desenvolvimento e conclusão obtida a partir daí, seja lá o quanto complexo e matematicamente avançado o seja, será viesada.</p>
<p>Há de se enfatizar que o paradigma não está sozinho nessas extrapolações. Por exemplo, Keynes padroniza o comportamento humano com o <em>animal spirit</em>; Hayek supõe a invariabilidade do espírito humano e a universalidade, no espaço e no tempo, das leis que regem a economia em uma sociedade qualquer. <span class="citation" data-cites="feijo">Barbieri e Feijó (2013)</span> vão pelo mesmo caminho ao defender a existência de uma realidade objetiva que é separada do sujeito que a investiga:</p>
<blockquote class="blockquote">
<p>Há algo além de um exercício puramente mental envolvido no trabalho do cientista social, pois viceja uma realidade objetiva que deve ser racionalmente estudada. Assim como nas ciências naturais, no campo da investigação social também se deve separar o conhecimento que se formula dos fatos, por um lado, da realidade externa e objetiva em si mesma, por outro. Com isso, a tradicional separação entre as ideias que se elaboram sobre a realidade e essa realidade em si mesma estende-se também para o domínio da ciência social. A separação, usual nas ciências físicas, entre sujeito e objeto, parcialmente violada apenas na mecânica quântica, também se aplica ao campo dos estudos sociais.</p>
</blockquote>
<p>A existência de uma única realidade objetiva é um pressuposto da abordagem positivista e instrumento do método das ciências exatas. Nelas, o pesquisador adota uma posição de neutralidade — é um mero obserador passivo. Tal realidade não existe na ciência social. Esta admite que a realidade pode ser vista a partir de várias perspectivas e o pesquisador social sabe que sua observação e suas conclusões são carregadas de valores. Por exemplo, supor a neutralidade do pensamento de Hayek, que escreve <em>O Caminho da Servidão</em> em 1944 sob a influência do totalitarismo nazi-fascistas, de um lado, e dos soviéticos do outro; ou a de Marx, que escreve <em>O Capital</em> na era das fábricas-prisões panópticas é preocupante.</p>
<p>A roupagem de ciência exata fornece, sem sombra de dúvidas, um criativo e elegante disfarce à ciência econômica. Entretanto, à medida em que essa visão requer a adoção de hipóteses insustentáveis, não é de espantar que, após séculos de desenvolvimento de teoria econômica, as crises ainda tomem os economistas de surpresa.</p>
<p>Foi assim em 2008. No ano seguinte ao <em>crash</em>, Paul Krugman escreveu em seu artigo ao New York Times:</p>
<blockquote class="blockquote">
<p>As I see it, the economics profession went astray because economists, as a group, mistook beauty, clad in impressive-looking mathematics, for truth. […] the central cause of the profession’s failure was the desire for an all-encompassing, intellectually elegant approach that also gave economists a chance to show off their mathematical prowess. Unfortunately, this romanticized and sanitized vision of the economy led most economists to ignore all the things that can go wrong. They turned a blind eye to the limitations of human rationality that often lead to bubbles and busts; to the problems of institutions that run amok; to the imperfections of markets — especially financial markets — that can cause the economy’s operating system to undergo sudden, unpredictable crashes; and to the dangers created when regulators don’t believe in regulation. <span class="citation" data-cites="krugman">(Krugman 2009)</span></p>
</blockquote>
<p>Essa ilusão é tão enraizada no paradigma que os economistas, tanto na academia quanto no mercado, achavam que tinham todas as soluções<sup>2</sup>. Obviamente, não as tinham. Agora, suponha que minha argumentação até este ponto esteja completamente equivocada e exista, de fato, um núcleo exato na ciência econômica. Daí temos que a teoria do paradigma não o representa, uma vez que, como destaca Krugman, não tem sido útil para realizar previsões. Naturalmente, não limito minha crítica a uma posição instrumentalista: a teoria do paradigma falha também em explicar os fenômenos sociais. Tome a teoria do crescimento, por exemplo. Por décadas foram desenvolvidos modelos — temos a formulação seminal de Solow em 1956, ainda univariada; a otimização dinâmica com Ramsey-Cass-Koopmans na década de 60; a tantativa de explicação por capital humano com Lucas na década de 80; externalidades e depois inovação tecnológica com Romer. Apesar de toda elegância e notação digna de teses acadêmicas das exatas, nenhum desses trabalhos foram capazes de explicar as perguntas mais básicas acerca do crescimento econômico, notadamente os problemas conhecidos como <em>catching up</em>, <em>falling behind</em> e <em>forging ahead</em>. Portanto, o paradigma falha tanto a partir de um olhar instrumentalista quanto convencionalista.</p>
<p>Acredito que a crítica de Krugman seja muito pertinente e responda bem à questão inicial levantada: se a economia é uma ciência social, ela não pode ser investigada a partir de uma suposta realidade objetiva, nem deduzida a partir de condições iniciais e leis universais. Nesse sentido, <span class="citation" data-cites="herscovici">Herscovici (2002)</span> destaca os limites da espitemologia popperiana na análise econômica:</p>
<blockquote class="blockquote">
<p>Na maior parte dos casos, <em>para tornar uma lei universal, é preciso esvaziá-la de seu conteúdo histórico</em>. O <em>formalismo</em> que resulta dessa operação caracteriza-se pelo fato de que, se uma lei científica quer explicar todos os sitemas possíveis, ela não tem condições de explicar nenhum sistema real, nas suas especificidades históricas e sociais.</p>
</blockquote>
<p>Essas críticas não são estranhas aos autores. Ainda na introdução da obra eles tratam de se blindar:</p>
<blockquote class="blockquote">
<p>Parece ingenuidade imaginar que o agente econômico seja sempre um sujeito dotado de plena racionalidade, informação perfeita, que atue em mercados completos (com mercadorias contingentes oferecidas para todos os estados possíveis da natureza), que tenha clareza de seus objetivos e que procure sempre o melhor resultado para si no curto prazo, sem se preocupar com as consequências remotas de suas escolhas e sem se importar com os demais. Inclusive, o paradigma da economia tem sido criticado pela ingenuidade de seus supostos comportamentais em sua análise. Mas, em muitos casos, a pecha de ingenuidade caracteriza melhor a situação de quem faz esse tipo de crítica do que os modelos dos economistas teóricos em si mesmos, pois as hipóteses arroladas anteriormente, a bem da verdade, são apenas simplificações de livros-textos introdutórios. A fronteira do conhecimento teórico em economia há muito aprendeu a lidar com hipóteses comportamentais bem mais arrojadas e realistas do que essas. Assim é que os economistas teóricos atuais sabem perfeitamente modelar agentes com racionalidade limitada, informação imperfeita, mercados incompletos, agentes indecisos e com objetivos múltiplos, e que levam em conta o bem-estar de outras pessoas.</p>
</blockquote>
<p>Ora, uma hora dizem que basta para os economistas algumas instituições, dentre elas o agente otimizador; noutra dizem que tal agente já fora superado. Pior, travar que os “economistas teóricos atuais sabem ” a indecisão me parece duplamente incoerente. Primeiro porque, por definição, não existe tal coisa como “modelo perfeito”. Em segundo, a indecisão, a incerteza, é estocástica por hipótese. Se <em>assume</em> a incerteza, não se <em>perfeitamente a modela</em>. Mas vão além:</p>
<blockquote class="blockquote">
<p>Pode-se também criticar os supostos do paradigma econômico por considerar apenas o modelo de concorrência perfeita. Outra crítica irrelevante, pois, variegadas (sic) estruturas de mercados, da concorrência perfeita ao monopólio, começaram a ser estudadas já no século XIX, e a partir do fim dos anos 1920 o conhecimento teórico aprofundou-se com a consideração de estruturas intermediárias como concorrência monopolística e oligopólio. Os supostos da concorrência perfeita foram questionados e repensados pela influência da crítica dos economistas da chamada escola austríaca de economia, mas não somente por ela, e substituídos pela visão do agente econômico com comportamento ativo na exploração do mercado e descoberta de oportunidades. O modelo básico de monopólio foi questionado e reexaminado, em um contexto dinâmico da economia, pelo renomado Joseph Schumpeter.</p>
</blockquote>
<p>Ignorando que Schumpeter era crítico do individualismo metodológico do paradigma, chamo atenção à questão da falseabilidade no campo das ciências exatas. Os autores, ao mesmo em que propõem uma visão positivista da ciência econômica, a invalidam cientificamente dentro da própria filosofia popperiana ao blindar o paradigma do princípio da falseabilidade. Segundo os autores, não se pode questionar a adoção da hipótese concorrencial, apesar de ainda se encontrar nos manuais e na produção acadêmica; A problemática conhecida como Controvérsia de Cambridge que, dentre outras coisas, crítica ao uso de funções de produção também é infundada porque a economia hoje trabalha com outras matemáticas — mas todo os manuais de microeconomia, da graduação a pós, são construindo sobre otimização lagrangeana em funções de produção. Como pode a lei ser atemporal e mudar tanto? Como pode ser universal e estar apenas na fronteira do conhecimento? A concorrência perfeita era uma lei universal antes e agora não é mais? A fronteira do conhecimento de hoje será lei universal ou terá o mesmo destino das anteriores? Ao mudar a demarcação das hipóteses para defender a teoria, o paradigma se torna não falseável e, portanto, deixa de ser uma teoria científica e se torna dogma.</p>
<p>De maneira bem clara e um tanto quanto contraditória, os autores colocam o núcleo do paradigma do equilíbrio maximizador, alvo das críticas das demais escolas de pensamento, como verdade incontestável:</p>
<blockquote class="blockquote">
<p>Metodólogos tradicionais preocupam-se sobremaneira com a confrontação empírica da teoria e que o mundo real possa efetivamente funcionar como juiz de última instância na validação e eventual descrédito de teorias econômicas. O paradigma da economia adere a um método que realmente dá muita importância à avaliação empírica. Contudo, nesse tocante, cabem duas observações importantes: (1) nem tudo o que é produzido pelo paradigma deve ser testado empiricamente; (2) nem todas as teorias são criadas para serem testadas. O paradigma da economia pode, portanto, ser concebido como formado por um núcleo contendo apenas contribuições de matemática pura e um cinturão periférico de teorias que produzem conclusões testáveis empiricamente.</p>
</blockquote>
<p>Não se tratando de uma contradição sutil, eles tratam de tentar esquivar-se delas logo a seguir, confundindo, mais uma vez, a economia — como um fenômeno que não pode ser dissociado de suas especificidades sociais —, por abstração matemática pura:</p>
<blockquote class="blockquote">
<p>Metodólogos popperianos radicais iriam se revoltar quanto à ideia de teorias econômicas que nunca se confrontam com a evidência empírica. Mas, de fato, no núcleo matemático do paradigma econômico, os economistas matemáticos (ou matemáticos econômicos) trabalham como se estivessem no ambiente do matemático puro. Nenhum metodólogo, por mais estremado que seja, consideraria a matemática inócua por não se confrontar com os fatos empíricos. Da economia matemática pura também não se deve exigir que se construa alguma ponte conectando os modelos abstratos com algum procedimento de averiguação nos fatos observados.</p>
</blockquote>
<p>Os autores comparam frequentemente o paradigma da economia com o paradigma quântico-relativista da física moderna. Entretanto, basta um exame superficial para notar as diferenças: o que é dado como teoria foi abandonado? Pelo contrário, o corpo de conhecimento é amplamente conhecido e estudado. Não está escondido apenas “na fronteira do conhecimento”, como os autores alegam que os elementos que absolvem a teoria econômica das críticas se encontram. Os resultados encontrados por Einstein no início do séc. XX ainda são usados para encontrar corpos no cosmos, de planetas a buracos-negros, e a cada experimento eles são colocados a teste e permanecem com capacidade de explicação e previsão. A falseabilidade não trabalha com verdades absolutas. O conhecimento científico é momentâneo e não permanente. Uma teoria só pode ser qualificada como científica e significativa enquanto puder ser testada e desmentida.</p>
<p>Mas os autores não permitem sua contestação e o entrincheiramento continua com argumentos <em>ad-hominem</em>: se um economista é crítico à economia como ciência exata, então ele não compreende matemática:</p>
<blockquote class="blockquote">
<p>Vejamos o problema da incompreensão da matemática. Os críticos do uso da matemática na economia, em geral, não são economistas matemáticos. Muitos deles não tiveram uma formação profissional em matemática. Enveredaram por outras áreas. Não quer dizer que não tenham sido bons estudantes de matemática. Marshall, por exemplo, um crítico da matemática na economia, cujo emprego, para ele, não deveria ser abusivo, mostrou-se, antes de concentrar-se na economia, um excelente matemático. Até mesmo Carl Menger, o pai da escola austríaca, totalmente crítico ao uso da matemática na economia, ao que consta, fora um bom estudante de matemática no ensino médio. Keynes foi um crítico da matemática, contudo, bom matemático, mesmo sem ter a mente e a experiência de um matemático profissional. Inclusive, ele graduou-se, com distinção, nessa disciplina</p>
</blockquote>
<p>O que obviamente é um argumento absurdo. Imagine criticar Foucault dizendo: “os críticos do estado policial, em geral, não são policiais. Muitos deles não tiveram uma formação profissional no militarismo”. E seguem invalidando as críticas ao paradigma:</p>
<blockquote class="blockquote">
<p>É perfeitamente compreensível a visão contrária à matemática desses expoentes clássicos da economia científica. Até porque eles estavam presos ao desenvolvimento matemático de sua época. O problema é quando, hoje em dia, os membros das escolas legadas por eles apegam-se às mesmas críticas ao uso da matemática, sustentando-as em uma visão tosca e atrasada da matemática. Criticam, por exemplo, que as variáveis econômicas não obedecem a relações funcionais. Mas quem disse que a economia matemática atual emprega funções? Os economistas do paradigma amiúde trabalham com correspondências, mapas e outras técnicas matemáticas muito mais poderosas do que as funções. Criticam o uso da matemática na economia com base no argumento de que as variáveis econômicas não descrevem uma trajetória bem comportada; de forma que não podem ser acompanhadas por curvas contínuas e suaves, isto é, diferenciáveis em todos os pontos. Quem disse que o paradigma atual tenha de lançar a hipótese de diferenciabilidade e que só emprega o cálculo diferencial e integral? Na verdade, os economistas atuais do paradigma trabalham com análise convexa, que prescinde a diferenciabilidade das funções, tomando apenas a hipótese bem mais fraca da convexidade. Não se impõe mais a existência de curvas contínuas. Trabalha-se com descrições bem mais gerais e flexíveis, como a de semicontinuidade superior (upper semicontinuos) etc. O uso do cálculo em economia matemática há muito foi substituído pela análise convexa, pela topologia e pela topologia diferencial.</p>
</blockquote>
<p>Pois bem, tomemos o prefácio de uma obra de economia matemática avançada:</p>
<blockquote class="blockquote">
<p>In recent years, the usual optimisation techniques, which have proved so useful in microeconomic theory, have been extended to incorporate more powerful topological and differential methods, and these methods have led to new insights into the qualitative behaviour of general economic systems. These developments have necessarily resulted in an increase in the degree of formalism in the publications in the academic economic theory journals; a formalism which can often deter graduate students. My hope is that the progression of ideas presented here will familiarise the student with the geometric concepts underlying these topological methods, and, as a result, make modern mathematical economics and <strong>general equilibrium theory</strong> more accessible. <span class="citation" data-cites="schofield">(Schofield 2018)</span></p>
</blockquote>
<p>Não é uma questão de limitação matemática ou de uma absurda hierarquia da matemática — como se topologia foi <em>melhor</em> que cálculo, ou algo do tipo —, mas uma questão de proposições. Não importa se a teoria estuda a otimização do consumidor e da firma ou o equilíbrio geral walrasiano por topologia ou cálculo, mas é o próprio equilíbrio, o próprio comportamento maximizador que está em crítica, e não a matemática que é utilizada para demonstrá-lo.</p>
</section>
<section id="o-economista-programado" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> O ECONOMISTA PROGRAMADO</h1>
<p>Então, por que os teóricos do paradigma da ciência econômica continuam se prendendo a conceitos tão problemáticos? Em <em>Sistemas de Ensino e Sistemas de Pensamento</em>, Pierre Bourdieu coloca o sistema educacional como um dos instrumentos mais eficazes de integração moral e lógica da sociedade, que tem como produto o indivíduo “programado” — homogêneo em percepção, pensamento e ação:</p>
<blockquote class="blockquote">
<p>Caso se admita que a cultura e, neste caso particular, a cultura erudita em sua qualidade de código comum é o que permite a todos os detentores deste código associar o mesmo sentido às mesmas obras e, de maneira recíproca, de exprimir a mesma intenção significante por intermédio das mesmas palavras, dos mesmos comportamentos e das mesmas obras, pode-se compreender por que nos termos de uma participação de um senso comum entendido como condição da comunicação. <span class="citation" data-cites="bourdieu">(Bourdieu 2015)</span></p>
</blockquote>
<p>Talvez, lógica semelhante tenha se apropriado da produção científica. Aparentemente alheios à problemática, os autores parecem celebrar o pensamento homogêneo na ciência econômica:</p>
<blockquote class="blockquote">
<p>Sem explicá-lo por enquanto, é suficiente dizer que o paradigma kuhniano da economia é aquilo que os estudantes de graduação são obrigados a aprender nas disciplinas teóricas. Todo estudante de macroeconomia estuda os livros-textos escritos por autores como Blanchard, Boyes, Dornbusch, […]. Então constata-se, no Brasil e no ``mundo livre”, que os estudantes são submetidos à mesma formação, pois, em que pese as diferenças de abordagem, de estilo e de profundidade, todos esses manuais didáticos de teoria econômica assemelham-se entre si em muitos aspectos. Em todos eles, vicejam as instituições da propriedade privada, do contrato, do agente maximizador etc. como pressupostos dos modelos teóricos. Todos abordam os problemas econômicos com álgebra e gráficos, e desenvolvem modelos de equilíbrio. Essa formação homogênea dos estudantes é característica da prática científica que Kuhn denomina de ciência normal. Típica em ciências com paradigmas consolidados. O paradigma da economia submete os estudantes à mesma formação teórica básica. É claro que o treinamento assemelhado leva os profissionais formados nesse ambiente a atuarem de uma maneira padronizada no trabalho com suas teorias e no teste empírico delas. <span class="citation" data-cites="feijo">(Barbieri e Feijó 2013)</span></p>
</blockquote>
<p>Se usarmos de licença poética para estendermos a teoria dos campos de Bourdieu à comunidade científica, podemos imaginar a produção acadêmica localizada no subcampo de produção erudita e os editores dos <em>journals</em> no campo do poder. Em ordem de se obter maior capital simbólico, os produtores devem publicar nos periódicos de maior prestígio. Consequentemente, a produção se submete ao pensamento padronizado desejado pelo campo do poder. Ora, os dados que nos permitem raciocinar de tal forma são fornecidos pelos próprios autores:</p>
<blockquote class="blockquote">
<p>[…] em uma das mais prestigiadas revistas de economia (se não a mais prestigiada do mundo), mais de metade (54%) dos artigos versavam sobre modelos matemáticos sem quaisquer dados, quase um quarto deles (24,6%) era sobre análise empírica, usando-se inferência estatística em dados publicados ou com base em simulação e experimentos artificiais. Apenas 21,4% dos artigos da <em>American Economic Review</em> dedicavam-se a outros temas, dos quais apenas 11,6% diziam respeito a modelos sem matemática e sem dados. Vejam-se as 31 revistas internacionais de economia mais prestigiadas, que receberam da CAPES a classificação A1, das tops internacionais. Vinte delas concentram-se sobremaneira em artigos com teorias matemáticas e eventuais testes econométricos; cinco dedicam-se a publicar ensaios em economia aplicada e duas estão voltadas à econometria (<em>Journal of Applied Econometrics, Journal of Econometrics</em>). Outras três distribuem-se entre história do pensamento econômico (<em>History of Political Economy</em>), estudos em metodologia da economia (<em>Journal of Economic Methodology</em>) e resenhas (<em>Journal of Economic Literature</em>). Apenas uma única revista A1 publica temas de escolas econômicas não inseridas no paradigma (<em>Journal of Post Keynesian Economics</em>). Então, das 31 revistas de economia classificadas como A1 tem-se apenas uma única dedicada a uma escola de pensamento econômico à margem do paradigma da ciência econômica, a qual prioriza trabalhos na linha do chamado pós-keynesianismo. Considera-se ainda que estudos fora desse paradigma, incluindo-se também economia marxiana, austríaca, institucional etc., podem ser aceitos para publicação em ao menos mais três revistas A1: <em>Cambridge Journal of Economics, Journal of Economic Methodology e History of Political Economy</em>.</p>
</blockquote>
<p>Tudo isso aponta para a tese de Bourdieu de que ``os espíritos modelados encontram-se predispostos a manter com seus pares uma relação de cumplicidade e comunicação imediatas”. É a maneira comum de se abordar problemas comuns. Se fecham em seus símbolos, signos, linguagem e pensamento comuns; se fecham para abordagens e críticas dos que não utilizam seu repertório comum. E é por esse mecanismo que os economistas continuam sendo pegos de calças curtas por crises que teimam em os encontrar desprevinidos.</p>



</section>


<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">Referências</h2><div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-feijo" class="csl-entry">
Barbieri, Fabio, e Ricardo Luis Chaves Feijó. 2013. <em>Metodologia do Pensamento Econômico</em>. Editora Atlas.
</div>
<div id="ref-bourdieu" class="csl-entry">
Bourdieu, Pierre. 2015. <span>«<span>Sistemas de Ensino e Sistemas de Pensamento</span>»</span>. Em <em>A Economia das Trocas Simbólicas</em>, 8.ª ed. São Paulo: Perspectiva.
</div>
<div id="ref-herscovici" class="csl-entry">
Herscovici, Alain Pierre Claude Henri. 2002. <em>Dinâmica Macroeconômica: Uma Interpretação a Partir de Marx e de Keynes</em>. São Paulo; Vitória: EDUC; EDUFES.
</div>
<div id="ref-krugman" class="csl-entry">
Krugman, Paul. 2009. <span>«<span>How Did Economists Get It So Wrong</span>»</span>. <a href="https://www.nytimes.com/2009/09/06/magazine/06Economic-t.html" class="uri">https://www.nytimes.com/2009/09/06/magazine/06Economic-t.html</a>.
</div>
<div id="ref-schofield" class="csl-entry">
Schofield, Norman. 2018. <em>Mathematical Methods in Economics</em>. Londres: Routledge.
</div>
<div id="ref-seneca" class="csl-entry">
Sêneca, Lúcio Anneo. 2008. <em>Sobre a Brevidade da Vida</em>. L&amp;PM.
</div>
</div></section><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Impossível esquecer o monólogo clássico de Macbeth: ``E todos os nossos ontens não fizeram mais que iluminar para os tolos o caminho que leva ao pó da morte.”↩︎</p></li>
<li id="fn2"><p>``in a 2008 paper titled ´The State of Macro’ (that is, macroeconomics, the study of big-picture issues like recessions), Olivier Blanchard of M.I.T., now the chief economist at the International Monetary Fund, declared that ´the state of macro is good’. The battles of yesteryear, he said, were over, and there had been a ´broad convergence of vision’. And in the real world, economists believed they had things under control: the ´central problem of depression-prevention has been solved’, declared Robert Lucas of the University of Chicago in his 2003 presidential address to the American Economic Association” <span class="citation" data-cites="krugman">(Krugman 2009)</span>.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>economics</category>
  <guid>/pt/posts/202506_why-economists-wrong/</guid>
  <pubDate>Sun, 15 Jun 2025 03:00:00 GMT</pubDate>
</item>
<item>
  <title>Criando um Personal Package Archive (PPA) no Linux</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202506_ppa/</link>
  <description><![CDATA[ 






<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Dica</span>TL;DR
</div>
</div>
<div class="callout-body-container callout-body">
<p>Há um novo <a href="https://github.com/albersonmiranda/r_tools_ppa">PPA</a> disponível para usuários de Ubuntu e Fedora que permite instalar as versões mais recentes do RStudio, Quarto e Positron com um único comando. Este PPA é mantido por mim e é atualizado diariamente com as versões mais recentes dessas ferramentas.</p>
</div>
</div>
<p>Como um millennial, cresci pirateando coisas da internet. Do Windows XP ao Adobe CS5, nada estava a salvo da minha rebeldia adolescente. Com o tempo, cansei de softwares proprietários e decidi dar uma chance às alternativas de código aberto. Me apaixonei pelo Ubuntu e logo depois experimentei o Fedora, que gostei ainda mais! Uma das coisas que me conquistou foi o fato de poder instalar praticamente qualquer software com um único comando — e mantê-lo atualizado! Isso é possível graças ao sistema de gerenciamento de pacotes do Linux, que permite instalar, atualizar e remover softwares facilmente. Mas nem todo software está disponível nos repositórios oficiais, e é aí que os Personal Package Archives (PPAs) são úteis. PPAs são uma forma de desenvolvedores distribuírem seus softwares para usuários do Ubuntu, podendo ser usados para instalar programas que não estão nos repositórios oficiais ou obter a versão mais recente de um pacote. Neste post, vou mostrar como criar seu próprio PPA e como usá-lo para distribuir seu software.</p>
<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Dica</span>O que é um PPA?
</div>
</div>
<div class="callout-body-container callout-body">
<p>Um Personal Package Archive (PPA) é um repositório de software que permite aos desenvolvedores distribuir seus programas para usuários do Ubuntu. Esse é um termo do mundo Debian, mas o conceito é semelhante em outras distribuições Linux e vou chamá-lo de PPA ao longo deste post.</p>
</div>
</div>
<section id="instalação-fácil-para-rstudio-quarto-e-positron" class="level2" data-number="1">
<h2 data-number="1" class="anchored" data-anchor-id="instalação-fácil-para-rstudio-quarto-e-positron"><span class="header-section-number">1</span> Instalação fácil para RStudio, Quarto e Positron</h2>
<p>Atualmente, não há repositórios oficiais para RStudio, Quarto ou Positron no Linux. Isso significa que os usuários precisam baixar os binários dos sites oficiais e instalar manualmente. Mas eu queria a mesma experiência dos usuários de macOS, que contam com a distribuição dos softwares da Positron via Homebrew. Existem alguns PPAs não oficiais para o RStudio, mas não encontrei nenhum para o Quarto ou Positron. Então decidi criar o meu próprio e compartilhar com vocês!</p>
<p>O que <a href="https://github.com/albersonmiranda/r_tools_ppa">este projeto</a> faz é buscar as URLs das versões mais recentes do RStudio, Quarto e Positron em seus respectivos sites ou releases do Github, baixar os arquivos, enviá-los para o <a href="https://sourceforge.net/projects/r-tools-ppa/files/">Sourceforge</a> e finalmente criar um PPA que pode ser usado para instalar essas ferramentas no Ubuntu, Fedora e outras distribuições Linux.</p>
</section>
<section id="suporte" class="level2" data-number="2">
<h2 data-number="2" class="anchored" data-anchor-id="suporte"><span class="header-section-number">2</span> Suporte</h2>
<ul>
<li>Pacotes .deb para distribuições baseadas em Ubuntu e Debian.
<ul>
<li>RStudio (amd64)</li>
<li>Quarto (amd64 e arm64)</li>
<li>Positron (amd64 e arm64)</li>
</ul></li>
<li>Pacotes .rpm para distribuições baseadas em Fedora e Red Hat.
<ul>
<li>RStudio (x86_64)</li>
<li>Positron (x86_64 e aarch64)</li>
<li>Quarto (x86_64)</li>
</ul></li>
</ul>
</section>
<section id="instalação-no-debianubuntu" class="level2" data-number="3">
<h2 data-number="3" class="anchored" data-anchor-id="instalação-no-debianubuntu"><span class="header-section-number">3</span> Instalação no Debian/Ubuntu</h2>
<p>Para habilitar este repositório e instalar a versão mais recente do RStudio, Quarto ou Positron:</p>
<ol type="1">
<li><p>Adicione o repositório (amd64):</p>
<div class="code-copy-outer-scaffold"><div class="sourceCode" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb1-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">echo</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"deb [trusted=yes] https://downloads.sourceforge.net/project/r-tools-ppa/deb_amd64 stable main"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">|</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sudo</span> tee /etc/apt/sources.list.d/r_tools_ppa.list</span>
<span id="cb1-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sudo</span> apt update</span></code></pre></div></div>
<p>Ou para arm64:</p>
<div class="code-copy-outer-scaffold"><div class="sourceCode" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb2-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">echo</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"deb [trusted=yes] https://downloads.sourceforge.net/project/r-tools-ppa/deb_arm64 stable main"</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">|</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sudo</span> tee /etc/apt/sources.list.d/r_tools_ppa.list</span>
<span id="cb2-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sudo</span> apt update</span></code></pre></div></div></li>
<li><p>Instale um pacote (ex: RStudio):</p>
<div class="code-copy-outer-scaffold"><div class="sourceCode" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb3-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sudo</span> apt install rstudio</span></code></pre></div></div></li>
</ol>
</section>
<section id="instalação-no-fedorared-hat" class="level2" data-number="4">
<h2 data-number="4" class="anchored" data-anchor-id="instalação-no-fedorared-hat"><span class="header-section-number">4</span> Instalação no Fedora/Red Hat</h2>
<p>Para habilitar este repositório e instalar a versão mais recente do RStudio, Quarto ou Positron:</p>
<ol type="1">
<li><p>Baixe o arquivo do repositório:</p>
<div class="code-copy-outer-scaffold"><div class="sourceCode" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb4-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sudo</span> curl <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-L</span> <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-o</span> /etc/yum.repos.d/r_tools_ppa.repo <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">\</span></span>
<span id="cb4-2">  https://sourceforge.net/projects/r-tools-ppa/files/rpm_x86_64/repo.txt/download</span></code></pre></div></div>
<p>Ou para arquitetura aarch64:</p>
<div class="code-copy-outer-scaffold"><div class="sourceCode" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb5-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sudo</span> curl <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">-o</span> /etc/yum.repos.d/r_tools_ppa.repo <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">\</span></span>
<span id="cb5-2">  https://sourceforge.net/projects/r-tools-ppa/files/rpm_aarch64/repo.txt/download</span></code></pre></div></div></li>
<li><p>Atualize e instale (ex: RStudio):</p>
<div class="code-copy-outer-scaffold"><div class="sourceCode" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb6-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sudo</span> dnf update</span>
<span id="cb6-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sudo</span> dnf install rstudio</span></code></pre></div></div></li>
</ol>


</section>

 ]]></description>
  <category>ferramentas</category>
  <guid>/pt/posts/202506_ppa/</guid>
  <pubDate>Mon, 09 Jun 2025 03:00:00 GMT</pubDate>
</item>
<item>
  <title>Todos os modelos estão errados, mas alguns são inúteis</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202504_all-models-are-wrong/</link>
  <description><![CDATA[ 






<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Dica</span>TL;DR
</div>
</div>
<div class="callout-body-container callout-body">
<p>Quando usar o coeficiente de correlação de Pearson, sempre teste a significância. Mas não o utilize para analisar séries temporais. É um erro comum. Isso viola a independência das observações e ignora o relacionamento entre defasagens. Em vez disso, use a análise de cross-correlograma para identificar relações entre séries temporais, incluindo relações defasadas.</p>
</div>
</div>
<p>“Todos os modelos estão errados, mas alguns são úteis” é uma frase recorrente entre aqueles que praticam estatística. Ela se origina de uma afirmação de George Box, um dos grandes estatísticos do século XX: “Since all models are wrong the scientist must be alert to what is importantly wrong.” <span class="citation" data-cites="box_science_1976">(Box 1976)</span>. “Todos os modelos estão errados” significa que os modelos são intrinsecamente limitados e não capturam perfeitamente a realidade. Em outras palavras, um modelo é uma representação simplificada da realidade, usada para explicar ou prever um fenômeno. Se fosse uma explicação perfeita desse fenômeno, deixaria de ser um modelo e se tornaria uma lei.</p>
<p>Na estatística, lidamos essencialmente com variáveis aleatórias ou estocásticas, ou seja, variáveis que possuem uma distribuição de probabilidade <span class="citation" data-cites="gujarati_econometria_2021">(Gujarati e Porter 2021)</span>. Nossa missão como analistas é desenvolver e utilizar métodos que nos digam como formular funções que nos permitam descrever e prever o relacionamento entre essas variáveis, minimizando os erros estocásticos.</p>
<p>Dependendo da forma funcional e do método de estimação escolhido, há uma série de pressupostos que devem ser atendidos para que qualquer inferência sobre o erro, coeficientes, preditores e regressandos seja válida. Se esses pressupostos forem ignorados, não há garantia de que os resultados encontrados sejam uma aproximação ótima da função que se deseja estimar. Mais do que isso, a violação de alguns desses pressupostos pode gerar resultados enganosos, mostrando relações estatísticas significativas onde não deveria haver, subestimando ou superestimando o objeto de estudo.</p>
<p>Neste post, abordo alguns erros metodológicos frequentes que fazem com que alguns modelos sejam inúteis.</p>
<section id="vamos-pegar-alguns-dados" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> VAMOS PEGAR ALGUNS DADOS</h1>
<p>Você já ouviu falar do conjunto de dados <code>presidents</code>? Do pacote {datasets}, ele armazena as avaliações trimestrais de aprovação dos presidentes dos EUA de 1945 a 1974. Será que existe alguma relação com o índice de preços ao consumidor (CPI), PIB real, taxa de desemprego ou taxas de juros? Vamos descobrir!</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># convert to dataframe</span></span>
<span id="cb1-2">presi <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(</span>
<span id="cb1-3">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">date =</span> zoo<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.Date</span>(zoo<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.yearqtr</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">time</span>(presidents))),</span>
<span id="cb1-4">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">ratings =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.vector</span>(presidents)</span>
<span id="cb1-5">) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb1-6">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">na.omit</span>()</span>
<span id="cb1-7"></span>
<span id="cb1-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># get CPI and funds rates from FRED</span></span>
<span id="cb1-9">quantmod<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">getSymbols</span>(</span>
<span id="cb1-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"CPIAUCSL"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"FEDFUNDS"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"GDPC1"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"UNRATE"</span>),</span>
<span id="cb1-11">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">src =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"FRED"</span></span>
<span id="cb1-12">)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] "CPIAUCSL" "FEDFUNDS" "GDPC1"    "UNRATE"  </code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># convert to time series</span></span>
<span id="cb3-2">series <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">lapply</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(CPIAUCSL, FEDFUNDS, GDPC1, UNRATE), <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(serie) {</span>
<span id="cb3-3"></span>
<span id="cb3-4">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># serie name</span></span>
<span id="cb3-5">  serie_name <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">names</span>(serie)</span>
<span id="cb3-6">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># convert to dataframe</span></span>
<span id="cb3-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(</span>
<span id="cb3-8">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">date =</span> zoo<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.Date</span>(zoo<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.yearmon</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">time</span>(serie))),</span>
<span id="cb3-9">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">value =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.vector</span>(serie)</span>
<span id="cb3-10">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb3-11">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">setNames</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"date"</span>, serie_name))</span>
<span id="cb3-12">})</span>
<span id="cb3-13"></span>
<span id="cb3-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># merge datasets</span></span>
<span id="cb3-15">presi_merged <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">Reduce</span>(</span>
<span id="cb3-16">  <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(x, y) <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">merge</span>(x, y, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">by =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"date"</span>),</span>
<span id="cb3-17">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(presi), series)</span>
<span id="cb3-18">)</span>
<span id="cb3-19"></span>
<span id="cb3-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualize</span></span>
<span id="cb3-21"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kbl</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">head</span>(presi_merged), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">booktabs =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">digits =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb3-22">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kable_styling</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">latex_options =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"striped"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"scale_down"</span>))</span></code></pre></div></div>
<div id="tbl-dados" class="cell quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-tbl figure">
<figcaption class="quarto-float-caption-top quarto-float-caption quarto-float-tbl" id="tbl-dados-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Tabela&nbsp;1: Base de dados.
</figcaption>
<div aria-describedby="tbl-dados-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<div class="cell-output-display">
<table class="table do-not-create-environment cell caption-top table-sm table-striped small">
<thead>
<tr class="header">
<th style="text-align: left;" data-quarto-table-cell-role="th">date</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">ratings</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">CPIAUCSL</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">FEDFUNDS</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">GDPC1</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">UNRATE</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">1954-07-01</td>
<td style="text-align: right;">71</td>
<td style="text-align: right;">26.86</td>
<td style="text-align: right;">0.80</td>
<td style="text-align: right;">2880.48</td>
<td style="text-align: right;">5.8</td>
</tr>
<tr class="even">
<td style="text-align: left;">1954-10-01</td>
<td style="text-align: right;">57</td>
<td style="text-align: right;">26.72</td>
<td style="text-align: right;">0.85</td>
<td style="text-align: right;">2936.85</td>
<td style="text-align: right;">5.7</td>
</tr>
<tr class="odd">
<td style="text-align: left;">1955-01-01</td>
<td style="text-align: right;">71</td>
<td style="text-align: right;">26.77</td>
<td style="text-align: right;">1.39</td>
<td style="text-align: right;">3020.75</td>
<td style="text-align: right;">4.9</td>
</tr>
<tr class="even">
<td style="text-align: left;">1955-04-01</td>
<td style="text-align: right;">68</td>
<td style="text-align: right;">26.79</td>
<td style="text-align: right;">1.43</td>
<td style="text-align: right;">3069.91</td>
<td style="text-align: right;">4.7</td>
</tr>
<tr class="odd">
<td style="text-align: left;">1955-07-01</td>
<td style="text-align: right;">79</td>
<td style="text-align: right;">26.76</td>
<td style="text-align: right;">1.68</td>
<td style="text-align: right;">3111.38</td>
<td style="text-align: right;">4.0</td>
</tr>
<tr class="even">
<td style="text-align: left;">1955-10-01</td>
<td style="text-align: right;">73</td>
<td style="text-align: right;">26.82</td>
<td style="text-align: right;">2.24</td>
<td style="text-align: right;">3130.07</td>
<td style="text-align: right;">4.3</td>
</tr>
</tbody>
</table>
</div>
</div>
</figure>
</div>
</div>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># plot</span></span>
<span id="cb4-2">presi_merged <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb4-3">  tidyr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">pivot_longer</span>(<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>date) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb4-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> value)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb4-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb4-6">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_x_date</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">date_labels =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%Y"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb4-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">facet_wrap</span>(<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>name, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">nrow =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">scales =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"free_y"</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div id="fig-series" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-series-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="/pt/posts/202504_all-models-are-wrong/index_files/figure-html/fig-series-1.png" class="img-fluid figure-img" style="width:100.0%">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-series-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figura&nbsp;1: Séries temporais em nível.
</figcaption>
</figure>
</div>
</div>
</div>
</section>
<section id="sec-erro1" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> ERRO #1: NÃO TESTAR SIGNIFICÂNCIA</h1>
<p>O primeiro, e frequentemente único, recurso para seleção de variáveis e especificação de modelos entre aqueles não iniciados em análise de séries temporais é o coeficiente de correlação de Pearson <img src="https://latex.codecogs.com/png.latex?r">. Se tentarmos usá-lo, teremos os seguintes resultados (Tabela&nbsp;2):</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb5-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Pearson correlation</span></span>
<span id="cb5-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cor</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">subset</span>(presi_merged, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">select =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>date)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb5-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kbl</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">booktabs =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">digits =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb5-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kable_styling</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">latex_options =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"striped"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"scale_down"</span>))</span></code></pre></div></div>
<div id="tbl-pearson" class="cell quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-tbl figure">
<figcaption class="quarto-float-caption-top quarto-float-caption quarto-float-tbl" id="tbl-pearson-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Tabela&nbsp;2: Pearson’s <img src="https://latex.codecogs.com/png.latex?r">.
</figcaption>
<div aria-describedby="tbl-pearson-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<div class="cell-output-display">
<table class="table do-not-create-environment cell caption-top table-sm table-striped small">
<thead>
<tr class="header">
<th style="text-align: left;" data-quarto-table-cell-role="th"></th>
<th style="text-align: right;" data-quarto-table-cell-role="th">ratings</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">CPIAUCSL</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">FEDFUNDS</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">GDPC1</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">UNRATE</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">ratings</td>
<td style="text-align: right;">1.00</td>
<td style="text-align: right;">-0.70</td>
<td style="text-align: right;">-0.64</td>
<td style="text-align: right;">-0.65</td>
<td style="text-align: right;">0.10</td>
</tr>
<tr class="even">
<td style="text-align: left;">CPIAUCSL</td>
<td style="text-align: right;">-0.70</td>
<td style="text-align: right;">1.00</td>
<td style="text-align: right;">0.86</td>
<td style="text-align: right;">0.93</td>
<td style="text-align: right;">-0.02</td>
</tr>
<tr class="odd">
<td style="text-align: left;">FEDFUNDS</td>
<td style="text-align: right;">-0.64</td>
<td style="text-align: right;">0.86</td>
<td style="text-align: right;">1.00</td>
<td style="text-align: right;">0.84</td>
<td style="text-align: right;">-0.35</td>
</tr>
<tr class="even">
<td style="text-align: left;">GDPC1</td>
<td style="text-align: right;">-0.65</td>
<td style="text-align: right;">0.93</td>
<td style="text-align: right;">0.84</td>
<td style="text-align: right;">1.00</td>
<td style="text-align: right;">-0.24</td>
</tr>
<tr class="odd">
<td style="text-align: left;">UNRATE</td>
<td style="text-align: right;">0.10</td>
<td style="text-align: right;">-0.02</td>
<td style="text-align: right;">-0.35</td>
<td style="text-align: right;">-0.24</td>
<td style="text-align: right;">1.00</td>
</tr>
</tbody>
</table>
</div>
</div>
</figure>
</div>
</div>
<p>De acordo com a regra de bolso para interpretar o tamanho do efeito do coeficiente de correlação de Pearson<sup>1</sup>, CPI, taxas de juros e PIB têm alta correlação com a aprovação presidencial, enquanto a taxa de desemprego tem correlação pequena.</p>
<p>Mesmo que fosse apropriado usar o coeficiente de correlação de Pearson para selecionar variáveis, seria necessário realizar um teste para verificar se o coeficiente encontrado é estatisticamente significativo. Neste caso, podemos verificar que a correlação de 10% entre aprovação presidencial e taxa de desemprego não é significativa. Ignorar testes de significância resulta em interpretações errôneas, levando o analista a encontrar relações onde, na verdade, não existem.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb6-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># p-values for t-test</span></span>
<span id="cb6-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sapply</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">subset</span>(presi_merged, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">select =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(date, ratings)), <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(serie) {</span>
<span id="cb6-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cor.test</span>(presi_merged<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>ratings, serie)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>p.value</span>
<span id="cb6-4">}) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb6-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kbl</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">booktabs =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">digits =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb6-6">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kable_styling</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">latex_options =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"striped"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"scale_down"</span>))</span></code></pre></div></div>
<div id="tbl-pearson-t" class="cell quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-tbl figure">
<figcaption class="quarto-float-caption-top quarto-float-caption quarto-float-tbl" id="tbl-pearson-t-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Tabela&nbsp;3: P-values for <img src="https://latex.codecogs.com/png.latex?r">
</figcaption>
<div aria-describedby="tbl-pearson-t-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<div class="cell-output-display">
<table class="table do-not-create-environment cell caption-top table-sm table-striped small">
<thead>
<tr class="header">
<th style="text-align: left;" data-quarto-table-cell-role="th"></th>
<th style="text-align: right;" data-quarto-table-cell-role="th">x</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">CPIAUCSL</td>
<td style="text-align: right;">0.00</td>
</tr>
<tr class="even">
<td style="text-align: left;">FEDFUNDS</td>
<td style="text-align: right;">0.00</td>
</tr>
<tr class="odd">
<td style="text-align: left;">GDPC1</td>
<td style="text-align: right;">0.00</td>
</tr>
<tr class="even">
<td style="text-align: left;">UNRATE</td>
<td style="text-align: right;">0.38</td>
</tr>
</tbody>
</table>
</div>
</div>
</figure>
</div>
</div>
<p>Quando se trata de estatística inferencial, fazer qualquer afirmação exige a realização de testes de hipótese. Exceto em casos extremos que impedem a estimação de algum coeficiente, na maioria dos casos, é possível obter alguma medida estatística, como em regressões, análise de variância, correlações, etc. No entanto, obter um número não significa que ele é válido ou pode ser utilizado.</p>
<p>O coeficiente de correlação calculado a partir de uma amostra (<img src="https://latex.codecogs.com/png.latex?r">) é uma estimativa pontual de um parâmetro populacional (<img src="https://latex.codecogs.com/png.latex?%5Crho">). Como qualquer estimativa baseada em amostra, possui variabilidade amostral e, portanto, deve ser acompanhado de um intervalo de confiança (IC) que reflita a incerteza dessa estimativa e forneça um intervalo de valores plausíveis para o verdadeiro parâmetro populacional. Esse valor <img src="https://latex.codecogs.com/png.latex?r"> é um ponto central (média) em torno do qual o intervalo de confiança para o valor verdadeiro é construído.</p>
<p>Se, devido à variabilidade amostral, <img src="https://latex.codecogs.com/png.latex?0%20%5Cin%20IC"> (por exemplo, <img src="https://latex.codecogs.com/png.latex?r=0.05"> com intervalo de confiança de <img src="https://latex.codecogs.com/png.latex?%5B-0.01,0.11%5D">), então não há evidência estatística para afirmar que o valor médio de 0,05 é diferente de zero.</p>
</section>
<section id="erro-2-usar-o-coeficiente-de-correlação-de-pearson" class="level1" data-number="3">
<h1 data-number="3"><span class="header-section-number">3</span> ERRO #2: USAR O COEFICIENTE DE CORRELAÇÃO DE PEARSON</h1>
<p>Na seção Seção&nbsp;2, eu disse “mesmo que fosse apropriado”, porque não é. O coeficiente de Pearson é inadequado para avaliar a correlação entre duas séries temporais porque viola pressupostos fundamentais do coeficiente de Pearson.</p>
<p>Primeiro, viola a independência das observações. Um dos pressupostos de <img src="https://latex.codecogs.com/png.latex?r"> é a independência das observações dentro de cada variável e entre variáveis. Séries temporais, por natureza, geralmente apresentam autocorrelação, ou seja, uma observação <img src="https://latex.codecogs.com/png.latex?y_t"> está correlacionada com <img src="https://latex.codecogs.com/png.latex?y_%7Bt-1%7D,%20y_%7Bt-2%7D,%20%5Cldots,%20y_%7Bt-n%7D">.</p>
<p>Segundo, ignora o relacionamento entre defasagens. A correlação entre duas séries temporais <img src="https://latex.codecogs.com/png.latex?y_t"> e <img src="https://latex.codecogs.com/png.latex?z_t"> pode não ser contemporânea. Uma série pode influenciar a outra com algum atraso (por exemplo, <img src="https://latex.codecogs.com/png.latex?y_t"> correlacionada com <img src="https://latex.codecogs.com/png.latex?z_%7Bt-3%7D">, mas não com <img src="https://latex.codecogs.com/png.latex?z_t">). O coeficiente de Pearson mede apenas a relação linear no mesmo ponto do tempo, ignorando essas relações defasadas.</p>
<p>Existem algumas formas válidas de identificar a relação entre duas séries temporais. Uma das mais simples é a análise do correlograma cruzado. Ela permite identificar não apenas a relação contemporânea, mas também a relação em cada defasagem da série temporal.</p>
<p>Agora vamos observar o correlograma cruzado entre a série temporal da taxa de desemprego e a aprovação presidencial:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb7-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ccf</span>(</span>
<span id="cb7-2">  presi_merged[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"UNRATE"</span>]],</span>
<span id="cb7-3">  presi_merged[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ratings"</span>]],</span>
<span id="cb7-4">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span></span>
<span id="cb7-5">)</span></code></pre></div></div>
<div class="cell-output-display">
<div id="fig-ccf" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-ccf-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="/pt/posts/202504_all-models-are-wrong/index_files/figure-html/fig-ccf-1.png" class="img-fluid figure-img" style="width:100.0%">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-ccf-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figura&nbsp;2: Correlograma cruzado entre a taxa de desemprego e as avaliações de aprovação presidencial.
</figcaption>
</figure>
</div>
</div>
</div>
<p><em>Se fosse</em> apropriado analisar as duas séries temporais diretamente, veríamos que, embora não haja correlação contemporânea significativa — como vemos pela correlação dentro do intervalo de confiança em <em>lag</em> 0 —, elas aparecem a partir de <img src="https://latex.codecogs.com/png.latex?t-2">, o que significaria que a taxa de desemprego de 2 meses atrás impacta a aprovação presidencial atual.</p>



</section>


<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">Referências</h2><div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-box_science_1976" class="csl-entry">
Box, George Edard Pelham. 1976. <span>«Science and Statistics»</span>. <em>Journal of the American Statistical Association</em> 71 (356): 791–99.
</div>
<div id="ref-cambridge_university_faqeffectsize_2021" class="csl-entry">
Cambridge University. 2021. <span>«<span>FAQ</span>/<span>effectSize</span> - <span>CBU</span> statistics Wiki. <span>MRC</span> Cognition and Brain Sciences Unit»</span>. 30 de novembro de 2021. <a href="https://imaging.mrc-cbu.cam.ac.uk/statswiki/FAQ/effectSize">https://imaging.mrc-cbu.cam.ac.uk/statswiki/FAQ/effectSize</a>.
</div>
<div id="ref-gujarati_econometria_2021" class="csl-entry">
Gujarati, Damodar N., e Dawn C. Porter. 2021. <em>Econometria básica</em>. 5.ª ed. Porto alegre: Amgh.
</div>
</div></section><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Um resumo pode ser encontrado em <span class="citation" data-cites="cambridge_university_faqeffectsize_2021">Cambridge University (2021)</span>.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>time-series</category>
  <guid>/pt/posts/202504_all-models-are-wrong/</guid>
  <pubDate>Sat, 19 Apr 2025 03:00:00 GMT</pubDate>
</item>
<item>
  <title>Séries Temporais Hierárquicas: teoria</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202210_series-hierarquicas/</link>
  <description><![CDATA[ 






<p>Já faz quase uma década que chega nessa época do ano e eu trabalho com previsões de séries temporais lá no <a href="https://www.banestes.com.br/">Banestes</a>. Na hora de estabelecer metas e objetivos orçamentários (saldos, receitas, despesas etc), saber modelar e fazer previsões é uma mão na roda.</p>
<p>Claro que sozinhas não devem ser adotadas como finais ou verdadeiras, uma vez que não usam da informação gerencial e expectativas dos <em>stakeholders</em>, por exemplo. Mas são um ponto de partida razoável que serve como base para elaborar e construir expectativas, plano de ação etc.</p>
<section id="séries-hierárquicas-e-séries-agrupadas" class="level2 unnumbered">
<h2 class="unnumbered anchored" data-anchor-id="séries-hierárquicas-e-séries-agrupadas">SÉRIES HIERÁRQUICAS E SÉRIES AGRUPADAS</h2>
<p>Séries temporais hierárquicas são aquelas que podem ser agregadas ou desagregadas naturalmente em uma estrutura aninhada <span class="citation" data-cites="hyndman2021">(R. J. Hyndman e Athanasopoulos 2021)</span>. Para ilustrar, tome a série do PIB brasileiro. Ela pode ser desagregada por estado que, por sua vez, pode ser desagregada por município.</p>
<div class="cell">
<div class="cell-output-display">
<div id="fig-h" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-h-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="/pt/posts/202210_series-hierarquicas/img/hierarq.png" class="img-fluid figure-img" width="600">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-h-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figura&nbsp;1: Séries Hierárquicas.
</figcaption>
</figure>
</div>
</div>
</div>
<p>Essa estrutura pode ser representada por equações para qualquer nível de agregação.</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Balign%7D%0Ay_t%20&amp;=%20y_%7BA,t%7D%20+%20y_%7BB,t%7D%20+%20y_%7BC,t%7D%20%5C%5C%0Ay_t%20&amp;=%20y_%7BAA,t%7D%20+%20y_%7BAB,t%7D%20+%20y_%7BAC,t%7D%20+%20y_%7BBA,t%7D%20+%20y_%7BBC,t%7D%20+%20y_%7BCA,t%7D%20%5C%5C%0Ay_%7BA,t%7D%20&amp;=%20y_%7BAA,t%7D%20+%20y_%7BAB,t%7D%20+%20y_%7BAC,t%7D%0A%5Cend%7Balign%7D%0A"></p>
<p>Assim, o agregado nacional pode ser representado apenas pelos agregados dos estados, através de (1), ou como o agregado dos municípios (2). Já o agregado para o estado do Espírito Santo é representado por (3).</p>
<p>Alternativamente, podemos descrever a estrutura completa de forma matricial:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20y_%7Bt%7D%20%5C%5C%0A%20%20%20%20y_%7BA,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BB,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BC,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAA,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAB,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAC,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBA,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBB,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBC,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BCA,%20t%7D%0A%5Cend%7Bbmatrix%7D%0A=%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20%5C%5C%0A%20%20%20%201%20&amp;%201%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20%5C%5C%0A%20%20%20%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20%5C%5C%0A%5Cend%7Bbmatrix%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20y_%7BAA,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAB,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAC,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBA,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBB,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBC,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BCA,%20t%7D%0A%5Cend%7Bbmatrix%7D%0A"></p>
<p>Por outro lado, o PIB pode ser também desagregado de forma cruzada de acordo com a atividade econômica — lavoura, rebanho, indústria de transformação, extrativa, bens de capital, bens intermediários, comércio de vestuário, automotivos, serviços etc. Essa estrutura não pode ser desagregada naturalmente de uma única forma, como é a hierarquia de estados e municípios. Não pode ser aninhada por um atributo como a própria geografia. A esse tipo de estrutura dá-se o nome de séries agrupadas.</p>
<div class="cell">
<div class="cell-output-display">
<div id="fig-agrupadas" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-agrupadas-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="/pt/posts/202210_series-hierarquicas/img/agrupadas.png" class="img-fluid figure-img" width="600">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-agrupadas-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figura&nbsp;2: Séries agrupadas.
</figcaption>
</figure>
</div>
</div>
</div>
<p>Combinando as duas, temos a estrutura de séries hierárquicas agrupadas. Ao contrário da estrutura hierárquica, que só pode ser agregada de uma forma — como com os municípios abaixo dos estados —, a adição da estrutura agrupada pode ocorrer tanto acima (Figura&nbsp;3) quanto abaixo (Figura&nbsp;4) da hierárquica.</p>
<div class="cell">
<div class="cell-output-display">
<div id="fig-ha1" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-ha1-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="/pt/posts/202210_series-hierarquicas/img/hier_agrup.png" class="img-fluid figure-img" width="600">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-ha1-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figura&nbsp;3: Séries Hierárquicas Agrupadas (a).
</figcaption>
</figure>
</div>
</div>
</div>
<div class="cell">
<div class="cell-output-display">
<div id="fig-ha2" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-ha2-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="/pt/posts/202210_series-hierarquicas/img/hier_agrup_2.png" class="img-fluid figure-img" width="600">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-ha2-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figura&nbsp;4: Séries Hierárquicas Agrupadas (b).
</figcaption>
</figure>
</div>
</div>
</div>
<p>Na notação matricial, a estrutura da Figura&nbsp;4 é representada como abaixo. Formalmente, o primeiro membro da igualdade é composto pelo vetor <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7By%7D_t"> <img src="https://latex.codecogs.com/png.latex?n">-dimensional com todas as observações no tempo <img src="https://latex.codecogs.com/png.latex?t"> para todos os níveis da hierarquia. O segundo membro é composto pela matriz de soma <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BS%7D"> de dimensão <img src="https://latex.codecogs.com/png.latex?n%20%5Ctimes%20m"> que define as equações para todo nível de agregação, e pela matriz <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7Bb%7D_t"> composta pelas séries no nível mais desagregado.</p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Cmathbf%7By%7D_t=%5Cmathbf%7BSb%7D_t%0A%5Cend%7Bequation%7D"></p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20y_%7Bt%7D%20%5C%5C%0A%20%20%20%20y_%7BA,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BB,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BC,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BX,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BY,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BZ,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAX,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAY,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAZ,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBX,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBY,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBZ,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BCX,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BCY,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BCZ,%20t%7D%0A%5Cend%7Bbmatrix%7D%0A=%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20%5C%5C%0A%20%20%20%201%20&amp;%201%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%201%20&amp;%201%20%5C%5C%0A%20%20%20%201%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%201%20%5C%5C%0A%20%20%20%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%0A%5Cend%7Bbmatrix%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20y_%7BAX,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAY,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BAZ,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBX,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBY,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BBZ,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BCX,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BCY,%20t%7D%20%5C%5C%0A%20%20%20%20y_%7BCZ,%20t%7D%0A%5Cend%7Bbmatrix%7D%0A%5Cend%7Bequation%7D"></p>
</section>
<section id="abordagens-top-down-e-bottom-up" class="level2 unnumbered">
<h2 class="unnumbered anchored" data-anchor-id="abordagens-top-down-e-bottom-up">ABORDAGENS TOP-DOWN E BOTTOM-UP</h2>
<p>Talvez as formas mais intuitivas de se pensar em previsões para esses tipos de estrutura sejam as abordagens <em>top-down</em> e <em>bottom-up</em>. Tome a estrutura descrita na Figura&nbsp;1, por exemplo. Podemos realizar a previsão para o horizonte de tempo <img src="https://latex.codecogs.com/png.latex?h"> do agregado do PIB brasileiro, representado no topo da hierarquia por <em>Total</em> (6), e então distribuir os valores previstos proporcionalmente entre os estados e municípios.</p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Chat%7By%7D_%7BT+h%20%7C%20T%7D%20=%20E%5By_%7BT+h%7D%20%7C%20%5COmega_T%5D%0A%5Cend%7Bequation%7D"></p>
<p>Essa é a abordagem <em>top-down</em>. Nela, a previsão para os níveis mais desagregados da hierarquia são determinadas por uma proporção <img src="https://latex.codecogs.com/png.latex?p_i"> do nível agregado. Por exemplo, as previsões para Vitória são dadas pela equação (7).</p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Ctilde%7By%7D_%7BAA,%20T+h%20%7C%20T%7D%20=%20p_%7B1%7D%5Chat%7By%7D_%7BT+h%20%7C%20T%7D%0A%5Cend%7Bequation%7D"></p>
<p>Para isso, temos de definir uma matriz com todos esses pesos, que, seguindo a formulação de <span class="citation" data-cites="hyndman2021">R. J. Hyndman e Athanasopoulos (2021)</span>, vamos chamar de <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BG%7D">:</p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Cmathbf%7BG%7D%0A=%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20p_1%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_2%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_3%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_4%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_5%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_6%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_7%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%0A%5Cend%7Bbmatrix%7D%0A%5Cend%7Bequation%7D"></p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BG%7D"> é uma matriz <img src="https://latex.codecogs.com/png.latex?m%20%5Ctimes%20n"> que multiplica a matriz <img src="https://latex.codecogs.com/png.latex?%5Chat%7B%5Cmathbf%7By%7D%7D_%7BT+h%7CT%7D"> que, por sua vez, é composta pelas previsões base — as previsões individuais para todos os níveis de agregação. A equação para a abordagem <em>top-down</em> será, então:</p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Cmathbf%7B%5Ctilde%7By%7D%7D_%7BT+h%20%7C%20T%7D%20=%20%5Cmathbf%7BSG%5Chat%7By%7D%7D_%7BT+h%20%7C%20T%7D%0A%5Cend%7Bequation%7D"></p>
<p>Na notação matricial para a estrutura da Figura&nbsp;1, temos:</p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%5Ctilde%7By%7D_%7Bt%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BCA,%20t%7D%0A%5Cend%7Bbmatrix%7D%0A=%0A%5Cmathbf%7BS%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20p_1%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_2%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_3%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_4%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_5%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_6%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%20p_7%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%0A%5Cend%7Bbmatrix%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BA,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BB,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BC,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BAA,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BAB,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BAC,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BBA,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BBB,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BBC,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BCA,%20T+h%7CT%7D%0A%5Cend%7Bbmatrix%7D%0A%5Cend%7Bequation%7D"></p>
<p>O que nos dá uma proporção do total para cada elemento no nível mais desagregado. <img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%5Ctilde%7By%7D_%7Bt%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BCA,%20t%7D%0A%5Cend%7Bbmatrix%7D%0A=%0A%5Cmathbf%7BS%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20p_1%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_2%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_3%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_4%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_5%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_6%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_7%5Chat%7By%7D_%7BT+h%7CT%7D%0A%5Cend%7Bbmatrix%7D%0A%5Cend%7Bequation%7D"></p>
<p>Substituindo a matriz <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BS%7D">, temos as equações que definem cada previsão da estrutura em função de proporções da previsão do agregado.</p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%5Ctilde%7By%7D_%7Bt%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BCA,%20t%7D%0A%5Cend%7Bbmatrix%7D%0A=%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20%5C%5C%0A%20%20%20%201%20&amp;%201%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20%5C%5C%0A%20%20%20%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%0A%5Cend%7Bbmatrix%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20p_1%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_2%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_3%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_4%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_5%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_6%5Chat%7By%7D_%7BT+h%7CT%7D%20%5C%5C%0A%20%20%20%20p_7%5Chat%7By%7D_%7BT+h%7CT%7D%0A%5Cend%7Bbmatrix%7D%0A%5Cend%7Bequation%7D"></p>
<p>Já a abordagem <em>bottom-up</em> parte do raciocínio inverso e define as previsões de cada elemento da estrutura a partir das previsões dos elementos mais desagregados. Para tanto, basta modificar a matriz <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BG%7D">.</p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Cmathbf%7BG%7D%0A=%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%0A%5Cend%7Bbmatrix%7D%0A%5Cend%7Bequation%7D"></p>
<p>O que resulta nas equações desejadas. Portanto, <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BG%7D"> define a abordagem — se <em>top-down</em> ou <em>bottom-up</em> —, e <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BS%7D"> define a maneira da qual as previsões são somadas para formar as equações de previsão para cada elemento da estrutura.</p>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bequation%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%5Ctilde%7By%7D_%7Bt%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BAC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBA,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBB,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BBC,%20t%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7By%7D_%7BCA,%20t%7D%0A%5Cend%7Bbmatrix%7D%0A=%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%201%20%5C%5C%0A%20%20%20%201%20&amp;%201%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%201%20&amp;%201%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20%5C%5C%0A%20%20%20%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%20&amp;%200%20%5C%5C%0A%20%20%20%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%200%20&amp;%201%0A%5Cend%7Bbmatrix%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%5Chat%7By%7D_%7BAA,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BAB,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BAC,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BBA,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BBB,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BBC,%20T+h%7CT%7D%20%5C%5C%0A%20%20%20%20%5Chat%7By%7D_%7BCA,%20T+h%7CT%7D%0A%5Cend%7Bbmatrix%7D%0A%5Cend%7Bequation%7D"></p>
</section>
<section id="coerência-e-reconciliação" class="level2 unnumbered">
<h2 class="unnumbered anchored" data-anchor-id="coerência-e-reconciliação">COERÊNCIA E RECONCILIAÇÃO</h2>
<p>Seja somando as previsões do nível mais desagregado para formar os níveis superiores da hierarquia (<em>bottom-up</em>) ou distribuindo proporcionalmente as previsões do nível mais agregado (<em>top-down</em>), o vetor <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7B%5Ctilde%7By%7D%7D_t"> representa as previsões <em>coerentes</em>. Isso significa que as previsões “batem”, ou seja, são totalizadas corretamente — as previsões de cada elemento agregado corresponde ao somatório das previsões dos níveis inferiores da hierarquia. Isso é garantido pela multiplicação das matrizes <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BSG%7D">.</p>
<p>Não fosse essa pré multiplicação, nada garantiria a coerência das previsões. Tomando a estrutura da Figura&nbsp;1 como exemplo, seria um acaso improvável que as previsões do agregado para o estado do Espírito Santo fossem exatamente a soma das previsões individuais de seus municípios. Isso porque cada série pode seguir um processo diferente (e.g., arima) com erros e variâncias distintas.</p>
<p>Os métodos de gerar previsões coerentes a partir de previsões base são chamados de métodos de <em>reconciliação</em>. Os métodos de reconciliação tradicionais apresentados, <em>top-down</em> e <em>bottom-up</em>, utilizam informação limitada. No método <em>top-down</em>, utiliza-se apenas informações do nível mais agregado — por isso, apenas a primeira coluna em (8) é diferente de zero. Já na abordagem <em>bottom-up</em>, utiliza-se apenas as informações dos níveis mais desagregados, o que resulta na submatriz identidade <img src="https://latex.codecogs.com/png.latex?m%20%5Ctimes%20m"> em (13), enquanto as colunas que representam os níveis mais agregados são nulas.</p>
<p>Alternativamente, podemos pensar numa matriz <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BG%7D"> qualquer que utilize toda a informação disponível e tenha algumas propriedades que garantam que as previsões coerentes tenham o menor erro o possível. Esse é o problema de pesquisa trabalhado na <em>reconciliação ótima</em>, e é um assunto relativamente novo. Quer dizer, previsões pontuais de séries temporais hierárquicas é um troço antigo. Ao menos desde a década de 70, pesquisas foram publicadas acerca de abordagens <em>bottom-up</em> e <em>top-down</em>, suas vantagens e desvantagens, e tentativas de se definir qual é o melhor método<sup>1</sup>. Entretanto, é apenas em <span class="citation" data-cites="hyndman2011">R. J. Hyndman et al. (2011)</span> que é formalizada uma abordagem prática que utiliza toda a informação disponível, (i.e.&nbsp;as previsões de todos elementos de todos os níveis da hierarquia) a partir da estimação da matriz <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BG%7D"> via regressão linear por mínimos quadrados generalizados (MQG).</p>
<p>Entretanto, para ser capaz de estimar o modelo por MQG, é necessária a matriz de variância-covariância dos erros. <span class="citation" data-cites="hyndman2011">R. J. Hyndman et al. (2011)</span> usam a matriz de erros de coerência, ou seja, a diferença entre as previsões reconciliadas e as previsões base, que tem posto incompleto e não identificada e, portanto, não pode ser estimada. Os autores contornam esse problema adotando no lugar da matriz de variância-covariância dos erros uma matriz diagonal constante, ou seja, assumem variância constante dos erros de reconciliação, o que acaba caindo na estimação de <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BG%7D"> por mínimos quadrados ordinários (MQO).</p>
<p>A estimação por esse método resulta numa reconciliação ótima que depende apenas da matriz <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7BS%7D">, ou seja, da estrutura hierárquica, e independe da variância e covariância das previsões base <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7B%5Chat%7By%7D_%7BT+h%7D%7D"> — o que não é uma conclusão satisfatória.</p>
<p><span class="citation" data-cites="hyndman2016">Rob J. Hyndman, Lee, e Wang (2016)</span> tentam aperfeiçoar o método usando as variâncias das previsões base estimadas (dentro da amostra) como estimativa para a matriz de variância-covariância dos erros de reconciliação, de forma a as utilizar como pesos e realizar a reconciliação ótima por mínimos quadrados ponderados (MQP). Assim, previsões base mais acuradas têm peso maior do que as mais ruidosas. Entretanto, não fornecem justificativa teórica para usar a diagonal da matriz de variância-covariância de <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7B%5Chat%7Be%7D_%7Bt%7D%7D">.</p>
<p><span class="citation" data-cites="wickramasuriya2019">Wickramasuriya, Athanasopoulos, e Hyndman (2019)</span> argumentam que o que de fato interessa é que as previsões reconciliadas tenham o menor erro — não interessa que a previsão reconciliada seja mais próxima da previsão base, mas que as reconciliadas sejam as mais precisas o possível, já que é a que se vai utilizar!. Então, corrigem a abordagem de reconciliação ótima para o objetivo de minimização dos erros das previsões reconciliadas <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7B%5Ctilde%7Be%7D_%7Bt+h%7D%7D%20=%20%5Cmathbf%7By_%7Bt+h%7D%20-%20%5Cmathbf%7B%5Ctilde%7By%7D_%7Bt+h%7D%7D%7D">, ao invés dos erros de reconciliação das previsões base <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7B%5Chat%7By%7D_%7Bt+h%7D%7D%20-%20%5Cmathbf%7B%5Ctilde%7By%7D_%7Bt+h%7D%7D">. Dado que isso implica na minimização da variância de <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7B%5Ctilde%7Be%7D_%7Bt+h%7D%7D">, ou seja, na minimização do somatório da diagonal, o traço, da matriz de variância-covariância de <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7B%5Ctilde%7Be%7D_%7Bt+h%7D%7D">, eles chamaram esse método de Menor Traço (MinT, na sigla em inglês). Paralelamente, usam desigualdade triangular para demonstrar que as previsões reconciliadas obtidas por esse método são ao menos tão boas quanto as previsões base.</p>
<p>E, de 2021 pra cá, há desenvolvimentos interessantes na extensão probabilística desse corpo teórico (e é onde estou realizando minha pesquisa de mestrado). <span class="citation" data-cites="panagiotelis2021">Panagiotelis et al. (2021)</span> reinterpreta a literatura de coerência e reconciliação de previsões pontuais a partir de uma abordagem geométrica, trazendo provas alternativas para conclusões anteriores ao mesmo tempo em que fornece novos teoremas. Além disso, <span class="citation" data-cites="panagiotelis2021">Panagiotelis et al. (2021)</span> estende essa interpretação geométrica para o contexto probabilístico, fornecendo métodos paramétricos e não paramétricos (via <em>bootstrapping</em>) para reconciliação de previsões probabilísticas, ou seja, para reconciliar previsões <img src="https://latex.codecogs.com/png.latex?%5Chat%7By%7D_t"> obtidas a partir de toda a distribuição, e não apenas a média.</p>
</section>
<section id="anyway" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> Anyway …</h1>
<p>Se você chegou até aqui, recomendo que arrume algo mais interessante pra fazer da vida. No próximo post (talvez) eu trago como fazer esse troço todo na prática com nosso queridão #RStats.</p>



</section>


<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">Referências</h2><div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-athanasopoulos2009" class="csl-entry">
Athanasopoulos, George, Roman A. Ahmed, e Rob J. Hyndman. 2009. <span>«Hierarchical forecasts for Australian domestic tourism»</span>. <em>International Journal of Forecasting</em> 25 (1): 146–66. https://doi.org/<a href="https://doi.org/10.1016/j.ijforecast.2008.07.004">https://doi.org/10.1016/j.ijforecast.2008.07.004</a>.
</div>
<div id="ref-hyndman2011" class="csl-entry">
Hyndman, R. J., R. A. Ahmed, G. Athanasopoulos, e H. L. Shang. 2011. <span>«Optimal Combination Forecasts for Hierarquical Time Series»</span>. <em>Computational Statistics and Data Analysis</em> 55: 2579–89.
</div>
<div id="ref-hyndman2021" class="csl-entry">
Hyndman, R. J., e G. Athanasopoulos. 2021. <em>Forecasting: principles and practice</em>. 3.ª ed. Melbourne, Australia: OTexts. <a href="https://otexts.com/fpp3/">https://otexts.com/fpp3/</a>.
</div>
<div id="ref-hyndman2016" class="csl-entry">
Hyndman, Rob J., Alan J. Lee, e Earo Wang. 2016. <span>«Fast computation of reconciled forecasts for hierarchical and grouped time series»</span>. <em>Computational Statistics and Data Analysis</em> 97: 16–32. https://doi.org/<a href="https://doi.org/10.1016/j.csda.2015.11.007">https://doi.org/10.1016/j.csda.2015.11.007</a>.
</div>
<div id="ref-panagiotelis2021" class="csl-entry">
Panagiotelis, Anastasios, George Athanasopoulos, Puwasala Gamakumara, e Rob J. Hyndman. 2021. <span>«Forecast reconciliation: A geometric view with new insights on bias correction»</span>. <em>International Journal of Forecasting</em> 37 (1): 343–59. https://doi.org/<a href="https://doi.org/10.1016/j.ijforecast.2020.06.004">https://doi.org/10.1016/j.ijforecast.2020.06.004</a>.
</div>
<div id="ref-wickramasuriya2019" class="csl-entry">
Wickramasuriya, Shanika L., George Athanasopoulos, e Rob J. Hyndman. 2019. <span>«Optimal Forecast Reconciliation for Hierarchical and Grouped Time Series Through Trace Minimization»</span>. <em>Journal of the American Statistical Association</em> 114 (526): 804–19. <a href="https://doi.org/10.1080/01621459.2018.1448825">https://doi.org/10.1080/01621459.2018.1448825</a>.
</div>
</div></section><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Uma revisão dessa literatura pode ser encontrada em <span class="citation" data-cites="athanasopoulos2009">Athanasopoulos, Ahmed, e Hyndman (2009)</span>.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>statistics</category>
  <guid>/pt/posts/202210_series-hierarquicas/</guid>
  <pubDate>Tue, 25 Oct 2022 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202210_series-hierarquicas/img/hier_agrup.png" medium="image" type="image/png" height="50" width="144"/>
</item>
<item>
  <title>O Papel Da Educação Matemática Sob A Hegemonia Do Capital</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202208_educacao-pre-capitalista/</link>
  <description><![CDATA[ 






<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Nota
</div>
</div>
<div class="callout-body-container callout-body">
<p>Esse post foi tirado de um capítulo de minha <a href="https://repositorio.ifes.edu.br/handle/123456789/6060">monografia de graduação em Matemática</a>, defendida em 2024.</p>
</div>
</div>
<p>Em uma sociedade capitalista, não se pode compreender a educação desassociada das relações de trabalho. Pois além das técnicas aplicadas à educação – aí compreendidas a pedagogia em suas dimensões filosófica e sociológica –, as normas vigentes e valores compartilhados de uma determinada sociedade também são refletidas e moldam as ações educacionais.</p>
<p>Neste capítulo, procuro sistematizar os mecanismos de reprodução do capitalismo na educação, mostrando evidenciar como a educação matemática, enquanto não rompe com seu papel na reprodução das relações sociais de poder, é ineficaz na promoção de mudanças estruturais na sociedade.</p>
<p>Considere o seguinte exercício mental: Suponha uma sociedade em um futuro muito distante onde não exista trabalho como relação social. Robôs realizam toda a atividade laboral. Como seria a escola nessa sociedade? O que sobra de <em>puro</em> na educação? Qual seria seu propósito? Antes de tentar inferir qualquer coisa acerca de tais perguntas, podemos nos munir de uma breve visão geral do propósito da educação na história da educação.</p>
<p>De acordo com <span class="citation" data-cites="cubberley_history_1920">Cubberley (1920)</span>, na Atenas do século V a.C., antes do tempo dos sofistas, o currículo básico consistia de leitura, escrita, música e ginástica, e era requerido para a obtenção do <em>status</em> de cidadão. Somente detentores desse grau eram autorizados a participar das <em>ekklesia</em>, a principal assembléia da democracia ateniense. A educação, a qual era exclusiva para homens, era privada e as taxas dependiam da capacidade de pagamento dos pais. Apenas professores de grandes escolas tinham algum prestígio, com os demais ocupando posições baixas na hierarquia social ateniense. Gramática, aritimética, ciências ou línguas estrangeiras não faziam parte do currículo – mas apenas aquilo que era necessário para a <em>normalização moral</em> do indivíduo ateniense: Música, literatura, sua própria religião, treinamento físico e instruções acerca das tarefas e obrigações de um cidadão.</p>
<p>Segundo o autor, as fábulas de Homero recheadas de heroismo, Ilíada e Odisséia, eram as primeiras e maiores leituras dos gregos, de forma que “<em>To appeal to the emotions and to stir the will along moral and civic lines was a fundamental purpose of the instruction</em>”. Nessas obras, estavam incluídas lições de ética, política, vida social e, é claro, o que se espera de um soldado. Todos os elementos desejáveis para integração moral do futuro cidadão: severo mas simples e honesto, trabalhador, obediente às leis, que renega o conforto e o vício. O próprio retrato de Perseus refletido em cada menino grego.</p>
<p>Atravessando o Mar Jônico até Roma, suas primeiras escolas, cerca de 300 a.C., eram mais restritas que as atenienses, e tinham o propósito de intruir os jovens para a carreira política, sendo compostas por uma pequena e seleta parcela que tinha acesso à educação. Com a ascensão do império e a queda da grécia no século 2 a.C., o grande fluxo de gregos escolarizados para Roma causou o processo de helenização da cidade, de forma que as escolas romanas eram, de fato, escolas gregas ligeiramente modificadas para se adaptar a Roma. Em adição a gramática, composição, ética, história, mitologia e geografia, as escolas de retórica foram desenvolvidas para preparar os profissionais da lei e da vida pública em Roma. Homero continuava a ser o autor favorito em grego, mas agora as escolas contavam também com autores latino-romanos, como Virgílio e Horácio. Nas ciências, um pouco de geometria e astronomia foram adicionadas por sua utilidade prática. Com isso, as sete artes liberais da idade média – gramática, retórica, dialética, aritmética, geometria, música e astronomia – já estavam presentes <span class="citation" data-cites="cubberley_history_1920">(Cubberley 1920)</span>.</p>
<p>Assim como na sociedade ateniense, a educação era privada e reservada àqueles que pudessem pagar por ela. Os professores eram, ou pagãos, ou indiferentes a religião; e, por conta disso, as escolas eram cada vez menos frequentadas pelos cristãos, que cresciam rapidamente na população do império. Ao século V, as escolas romanas entraram em declínio, desaparecendo no século seguinte <span class="citation" data-cites="williams_history_2016">(Williams 2016)</span>.</p>
<p>Segundo <span class="citation" data-cites="williams_history_2016">Williams (2016)</span>, a intensa instabilidade da europa após a queda de Roma, somada à disseminação do cristianismo, tiveram grande impacto na educação, caracterizando o período da alta idade média como de densa ignorância, não apenas entre a população geral, mas também entre os nobres e apenas “levemente mitigada” entre a maior parte do clero. Ele lista como causas para a prevalência da ignorância: 1) a rejeição dos primeiros cristãos em relação a seus opressores pagãos, aí incluindo sua literatura, por conta não apenas de sua origem, como também pela mitologia que carrega; 2) Fora a bíblia, os livros eram caros e raros em relação ao império, uma vez que eles eram manuscritos e copiados à mão por escravos; 3) Esses poucos e caros livros eram escritos em latim, sendo ininteligíveis para a vasta maioria da população, uma vez que os diversos dialetos que eclodiram na região a partir das invasões bárbaras não eram desenvolvidos ou predominantes o suficiente durante a alta idade média; 4) A própria ideia e tradição de educação formal foi perdida culturalmente, perdendo seu valor como algo necessário; 5) Por fim, a partir do século IX, com a expansão do sistema feudal, o isolamento e os perigos associados às viagens durante o período potencializaram o custo de se obter educação e realizar as interações sociais necessárias para o desenvolvimento intelectual.</p>
<p>A educação formal no início da igreja cristã era apenas catecumenal, e sua principal preocuparação era a <em>regeneração moral da sociedade através da regeneração moral dos convertidos</em> <span class="citation" data-cites="williams_history_2016">(Williams 2016)</span>. Além disso, o esforço educacional da igreja estava fechada nela mesma, com o objetivo de criar sua base teológica, e não voltada para formação intelectual da sociedade a qual servia:</p>
<blockquote class="blockquote">
<p>Almost everything that we today mean by civilization in that age was found within the protecting walls of monastery or church, and these institutions were at first too busy building up the foundations upon which a future culture might rest to spend much time in preserving learning, much less in advancing it @[cubberley_history_1920].</p>
</blockquote>
<p>Contrariamente às escolas clássicas, a educação cristã primitiva não possuía vocação intelectual, mas seu apelo era moral e emocional. De fato, os modelos grego e romano eram inteiramente rejeitados – afinal, a educação intelectual pagã era a única disponível e os pais não desejavam que seus filhos tivessem contato e acabassem admirando as deidades do Olímpo. É apenas em meados do século II, com a fundação da escola catequética de Alexandria, que os membros do clero começam a receber treinamento a partir da educação e filosofia grega, formalizando sistematicamente a fé e doutrina cristã, que passa a receber cada vez mais influência do pensamento e filosofia grega. Entretanto, tal movimento seria revertido gradativamente até o início do século V, quando o concílio de Cartago, sob influência de Santo Agostinho, proíbe definitivamente a leitura de autores pagãos pelo clero <span class="citation" data-cites="cubberley_history_1920">(Cubberley 1920)</span>.</p>
<p>No século VI, a partir da fundação do monastério de Montecassino por São Benedito em 529 e a promulgação da regra Beneditina no ano 529, os monastérios se tornam os centros de educação, abertos não apenas para os meninos dispostos a assumir seus votos, como também, posteriormente (séc. IX), para alunos externos sem intenção de tomar votos. As escolas monásticas ofereciam instrução em leitura e escrita (em latim), música, <em>doutrina cristã e regras de conduta</em>. A cópia de manuscritos e preservação de livros antigos era uma das principais atividades dos monges, e, dentre os cristãos, a preservação da literatura clássica foi em grande parte devido a seus esforços <span class="citation" data-cites="williams_history_2016">(Williams 2016)</span>.</p>
<p>Fora do mundo católico romano, a conservação da literatura clássica na Europa em parte se deu por conta dos esforços da Espanha sarracena, no oeste, e dos bizantinos, no leste. Dentre os maometanos – aqui expandindo a visão para califados como Bagdá, Bucara e Damasco –, a educação iniciava pela alfabetização e estudo do Quran, <em>com professores custeados pelo califado</em>. Para as famílias ricas, a educação continuava com o ensino de lógica, filosofia, teologia, astronomia e medicina. Diferente dos povos europeus da alta idade média, dependentes do latim, os sarracenos contavam com traduções em sírio da ciência grega e da filosofia aristotélica, aí incluindo a matemática de Euclides e a álgebra de Diophantus. Eles também foram responsáveis pela criação da química como ciência, além de grandes avanços na álgebra <span class="citation" data-cites="williams_history_2016">(Williams 2016)</span>.</p>
<p>Nos séculos seguintes, ao longo da Baixa Idade Média, o sistema educacional medieval desenvolvido pela igreja se torna mais organizado, fundamentados no <em>Trivium</em> e <em>Quadrivium</em>. Entretanto, a educação continuava voltada para dentro da igreja, com a teologia como a única profissão e carreira a ser obtida através dela.</p>
<blockquote class="blockquote">
<p>All these schools, too, were completely under the control of the Church. There were no private schools or teachers before about 1200. Only the chivalric education was under the control of princes or kings, and even this the Church kept under its supervision. The Church was still the State, to a large degree, and the Church, unlike Greece or Rome, took the education of the young upon itself as one of its most important functions. The schools taught what the Church approved, and the instruction was for religious and church ends @[cubberley_history_1920].</p>
</blockquote>
<p>Nesse sentido, a educação cristã medieval era, em sua essência, um instrumento de reprodução e perpetuação da própria estrutura de poder da igreja. De manutenção da ordem e da hierarquia social, e não de formação intelectual e crítica dos indivíduos.</p>
<p>Em 1450, o movimento de resgatar a literatura clássica e a filosofia grega e romana, conhecido como Renascimento, começa a se espalhar pela Europa a partir da Itália, trazendo consigo a redescoberta da matemática grega e árabe, além de agregar o estudo das humanidades ao lado da educação moral e física. Esse período marca a ruptura com o pensamento e educação clériga, e lança as bases para a educação moderna. Entretanto, de forma e conteúdo, pouco se tem de diferente da educação clássica grega e romana. Com o apoio das classes dominantes, a ascenção das escolas secundárias e unviersidades renascentistas restauraram a educação do tempo de Cícero, que trazia uma educação aristocrática, em preparação para serviços na Igreja, no Estado e nos grandes negócios.</p>
<blockquote class="blockquote">
<p>History was introduced in these schools for the first time and as a new subject of study, though the history was the history of Greece and Rome and was drawn from the authors studied. Livy and Plutarch were the chief historical writers used. Nothing that happened after the fall of Rome was deemed as of importance. Much emphasis was placed on manners, morality, and reverence, with Livy and Plutarch again as the great guides to conduct. <img src="https://latex.codecogs.com/png.latex?%5B...%5D"> The result was an all-round physical, mental, and moral training, vastly superior to anything previously offered by the cathedral and other church schools @[cubberley_history_1920].</p>
</blockquote>
<p>Há vários outros eventos na história que podem ser analisados sob a ótica do seu impacto na educação: a reforma protestante<sup>1</sup>, que, dentre vários outros desdobramentos, gera um novo nível de tolerância religiosa ao conhecimento que acaba por abrir caminho para o surgimento do método científico moderno <span class="citation" data-cites="cubberley_history_1920">(Cubberley 1920)</span>; o sucesso da contra-reforma e da educação jesuíta nos processos colonizadores, que “promoveram o <strong>controle da fé e da moral</strong> dos habitantes” <span class="citation" data-cites="rosario_educacao_2015">(Rosário e Melo 2015)</span>; o puritanismo na América do Norte, que estabelece as bases do sistema educacional americano. Entretanto, o propósito deste trabalho não é de forma alguma ser exaustivo, mas sim de argumentar um ponto.</p>
<p>Voltando à pergunta inicial: o que sobra de puro na educação ao se retirar as relações sociais de exploracão e poder? Este estudante, ao inciar a leitura para este capítulo, tinha como hipótese e espera encontrar evidências de que a educação pré-capitalista tinha em seu cerne a curiosidade e o espírito humano, com foco nas artes. Entretanto, a história nos mostra que o elemento em comum que aparecem em todas as sociedades é a normalização moral do indivíduo e de reprodução das relações sociais vigentes, através da transmissão de valores e normas sociais e da formação dos filhos das classes dominantes para ocupar determinados postos na sociedade.</p>





<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">Referências</h2><div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-cubberley_history_1920" class="csl-entry">
Cubberley, Ellwood. 1920. <em>The History of Education: Educational Practice and Progress Considered as a Phase of the Development and Spread of Western Civilization</em>. 2.ª ed. Boston: Houghton Mifflin.
</div>
<div id="ref-rosario_educacao_2015" class="csl-entry">
Rosário, Maria José Aviz Do, e Clarice Nascimento De Melo. 2015. <span>«A educação jesuítica no Brasil colônia»</span>. <em>Revista <span>HISTEDBR</span> On-line</em> 15 (61): 379. <a href="https://doi.org/10.20396/rho.v15i61.8640534">https://doi.org/10.20396/rho.v15i61.8640534</a>.
</div>
<div id="ref-williams_history_2016" class="csl-entry">
Williams, Samuel Gardner. 2016. <em>The History of Mediaeval Education: An Account of the Course of Educational Opinion and Practice from the Sixth to the Fifteenth Centuries, Inclusive</em>. Palala Press.
</div>
</div></section><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Calvino escreve para o Príncipe de Genebra, em 1541, que “as artes liberais e a boa educação são bons auxiliares no pleno conhecimento da Palavra”.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>education</category>
  <guid>/pt/posts/202208_educacao-pre-capitalista/</guid>
  <pubDate>Sun, 14 Aug 2022 03:00:00 GMT</pubDate>
</item>
<item>
  <title>Template para dissertações em Quarto</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202208_template/</link>
  <description><![CDATA[ 






<p>Aproveitando que começo a escrever <a href="https://github.com/albersonmiranda/dissertacao/blob/master/dissertacao.pdf">minha dissertação</a> este semestre, porque não matar dois coelhos com uma cajadada só (Luisa Mell me perdoa) e conhecer esse tal de <a href="https://quarto.org/">Quarto</a> que está na boca do povo? Pois bem, <a href="https://github.com/albersonmiranda/dissertacao">aqui está um template</a> para monografia/dissertação/tese em Quarto<sup>1</sup>.</p>
<p>Para facilitar (ou não, o futuro dirá) a vida do povo, parametrizei os elementos pré-textuais — capa, folha de rosto, folha de aprovação, resumo, abstract etc. São esses aqui:</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202208_template/img/preambulo.png" class="img-fluid figure-img"></p>
<figcaption>parâmetros para elementos pré-textuais</figcaption>
</figure>
</div>
<p>Para usar, primeiramente os pré-requisitos:</p>
<ol type="1">
<li><a href="https://quarto.org/docs/get-started/">Instalar o Quarto</a>;</li>
<li>Instalar uma distribuição Tex (porque estamos falando de geração de PDF) <sup>2</sup>;</li>
<li>Como, obviamente, estou usando o VSCode, instalar a <a href="https://marketplace.visualstudio.com/items?itemName=quarto.quarto">extensão do Quarto</a>.</li>
</ol>
<p>Agora você pode <em>forkar</em> o projeto e cair dentro! Basta atualizar os parâmetros em <code>config/preamble.tex</code> e escrever seu trabalho em <code>dissertacao.qmd</code>:</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202208_template/img/1.gif" class="img-fluid figure-img"></p>
<figcaption>atualizando os parâmetros e renderizando</figcaption>
</figure>
</div>




<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Esse template é uma adaptação do <a href="http://www.uel.br/projetos/experimental/pages/modelo-monografiauel.php">modelo padrão da UEL</a>.↩︎</p></li>
<li id="fn2"><p>Para usuários de R, o mais fácil é via <code>tinytex::install_tinytex()</code>.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>tools</category>
  <guid>/pt/posts/202208_template/</guid>
  <pubDate>Wed, 03 Aug 2022 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202208_template/img/quarto.png" medium="image" type="image/png" height="53" width="144"/>
</item>
<item>
  <title>Python a partir do R I: importando pacotes (e por que aprender novas linguagens é difícil)</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202106_python-from-r-i-package-importing/</link>
  <description><![CDATA[ 






<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
<span class="screen-reader-only">Dica</span>Resumo
</div>
</div>
<div class="callout-body-container callout-body">
<p>Ao aprender uma nova linguagem de programação, simplesmente buscar código equivalente para as práticas que você já tem pode ser enganoso. Aqui vemos que um equivalente à chamada <code>library()</code> do R é, na verdade, considerada uma má prática em Python e, se você fizer isso em uma entrevista de emprego, não espere ser chamado de volta.</p>
</div>
</div>
<section id="motivação" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> Motivação</h1>
<p>Me ocorreu uma analogia sobre aprender um idioma estrangeiro: <em>é impossível aprender uma nova língua traduzindo palavra por palavra</em>. Não é apenas uma questão de vocabulário. Cada idioma tem sua própria gramática, verbos frasais, dicção, expressões, ritmo etc. Esse tipo de questão também aparece ao aprender uma nova <em>linguagem de programação</em> e acho que importar pacotes é um bom, ainda que simples, exemplo disso.</p>
</section>
<section id="chamando-uma-função-de-um-pacote" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> Chamando Uma Função De Um Pacote</h1>
<section id="experiência-em-r" class="level2" data-number="2.1">
<h2 data-number="2.1" class="anchored" data-anchor-id="experiência-em-r"><span class="header-section-number">2.1</span> Experiência Em R</h2>
<p>No R, todo pacote instalado nas árvores de bibliotecas é listado sempre que um terminal é aberto. Esses pacotes listados estão disponíveis para os usuários o tempo todo e podem ser chamados explicitamente. Por exemplo:</p>
<section id="caso-1-chamada-explícita" class="level3" data-number="2.1.1">
<h3 data-number="2.1.1" class="anchored" data-anchor-id="caso-1-chamada-explícita"><span class="header-section-number">2.1.1</span> Caso 1: Chamada Explícita</h3>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># procurar por medidas de machine learning que contenham "AUC" no pacote {mlr3}</span></span>
<span id="cb1-2">mlr3<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>mlr_measures<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">keys</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"auc"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] "classif.auc"       "classif.mauc_au1p" "classif.mauc_au1u"
[4] "classif.mauc_aunp" "classif.mauc_aunu" "classif.mauc_mu"  
[7] "classif.prauc"    </code></pre>
</div>
</div>
<p>Mas esse modo de chamar funções geralmente só é usado se aquele pacote não será necessário com frequência. Caso contrário, é cultural para usuários de R carregar e anexar todo o namespace do pacote ao search path<sup>1</sup> com uma chamada <code>library()</code>.</p>
</section>
<section id="caso-2-anexando" class="level3" data-number="2.1.2">
<h3 data-number="2.1.2" class="anchored" data-anchor-id="caso-2-anexando"><span class="header-section-number">2.1.2</span> Caso 2: Anexando</h3>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># cansado: chamada explícita do {ggplot2}</span></span>
<span id="cb3-2">t1 <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> mtcars <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb3-3">  dplyr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mutate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">hp_by_cyl =</span> hp <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> cyl)</span>
<span id="cb3-4"></span>
<span id="cb3-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># animado: anexando o namespace do {ggplot2}</span></span>
<span id="cb3-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(dplyr)</span></code></pre></div></div>
<div class="cell-output cell-output-stderr">
<pre><code>
Anexando pacote: 'dplyr'</code></pre>
</div>
<div class="cell-output cell-output-stderr">
<pre><code>Os seguintes objetos são mascarados por 'package:stats':

    filter, lag</code></pre>
</div>
<div class="cell-output cell-output-stderr">
<pre><code>Os seguintes objetos são mascarados por 'package:base':

    intersect, setdiff, setequal, union</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb7-1">t2 <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> mtcars <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb7-2">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mutate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">hp_by_cyl =</span> hp <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> cyl)</span>
<span id="cb7-3"></span>
<span id="cb7-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># são equivalentes?</span></span>
<span id="cb7-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">all.equal</span>(t1, t2)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] TRUE</code></pre>
</div>
</div>
<p>O problema aparece quando há conflitos de namespace. Você notou o aviso sobre objetos sendo mascarados de {stats} e {base}? Normalmente, os usuários simplesmente ignoram avisos de inicialização 😨 e isso pode eventualmente levar a resultados inconsistentes ou erros difíceis de depurar.</p>
<p>Isso pode ser evitado anexando apenas as funções específicas que você realmente vai usar:</p>
</section>
<section id="caso-3-anexando-funções-específicas" class="level3" data-number="2.1.3">
<h3 data-number="2.1.3" class="anchored" data-anchor-id="caso-3-anexando-funções-específicas"><span class="header-section-number">2.1.3</span> Caso 3: Anexando Funções Específicas</h3>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb9-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># desanexando dplyr</span></span>
<span id="cb9-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">detach</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"package:dplyr"</span>)</span>
<span id="cb9-3"></span>
<span id="cb9-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># anexando apenas mutate():</span></span>
<span id="cb9-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(dplyr, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">include.only =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mutate"</span>)</span></code></pre></div></div>
</div>
<p>E nenhum aviso de conflito será disparado. Infelizmente, não ouço muito falar do argumento <code>include.only</code> na comunidade R 🤷‍♂. Pelo contrário, meta pacotes como o {tidyverse}, que carregam e anexam MUITAS coisas ao namespace — muitas vezes desnecessárias para o que você vai fazer —, são bastante comuns.</p>
</section>
</section>
<section id="experiência-em-python" class="level2" data-number="2.2">
<h2 data-number="2.2" class="anchored" data-anchor-id="experiência-em-python"><span class="header-section-number">2.2</span> Experiência Em Python</h2>
<p>Todos os 3 casos citados antes são possíveis em Python, mas os padrões da comunidade são bem diferentes. Especialmente em relação à consciência do que está carregado no namespace — ou symbol table, como é chamado em Python<sup>2</sup>.</p>
<p>Primeiro, pacotes instalados não ficam imediatamente disponíveis. Então, se eu tentar, por exemplo, listar funções/métodos/atributos do {pandas}, resultará em erro:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># inspecionando módulos em {pandas}</span></span>
<span id="cb10-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas</span>
<span id="cb10-3"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dir</span>(pandas)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>['ArrowDtype', 'BooleanDtype', 'Categorical', 'CategoricalDtype', 'CategoricalIndex', 'DataFrame', 'DateOffset', 'DatetimeIndex', 'DatetimeTZDtype', 'ExcelFile', 'ExcelWriter', 'Flags', 'Float32Dtype', 'Float64Dtype', 'Grouper', 'HDFStore', 'Index', 'IndexSlice', 'Int16Dtype', 'Int32Dtype', 'Int64Dtype', 'Int8Dtype', 'Interval', 'IntervalDtype', 'IntervalIndex', 'MultiIndex', 'NA', 'NaT', 'NamedAgg', 'Period', 'PeriodDtype', 'PeriodIndex', 'RangeIndex', 'Series', 'SparseDtype', 'StringDtype', 'Timedelta', 'TimedeltaIndex', 'Timestamp', 'UInt16Dtype', 'UInt32Dtype', 'UInt64Dtype', 'UInt8Dtype', '__all__', '__builtins__', '__cached__', '__doc__', '__docformat__', '__file__', '__git_version__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_built_with_meson', '_config', '_is_numpy_dev', '_libs', '_pandas_datetime_CAPI', '_pandas_parser_CAPI', '_testing', '_typing', '_version_meson', 'annotations', 'api', 'array', 'arrays', 'bdate_range', 'col', 'compat', 'concat', 'core', 'crosstab', 'cut', 'date_range', 'describe_option', 'errors', 'eval', 'factorize', 'from_dummies', 'get_dummies', 'get_option', 'infer_freq', 'interval_range', 'io', 'isna', 'isnull', 'json_normalize', 'lreshape', 'melt', 'merge', 'merge_asof', 'merge_ordered', 'notna', 'notnull', 'offsets', 'option_context', 'options', 'pandas', 'period_range', 'pivot', 'pivot_table', 'plotting', 'qcut', 'read_clipboard', 'read_csv', 'read_excel', 'read_feather', 'read_fwf', 'read_hdf', 'read_html', 'read_iceberg', 'read_json', 'read_orc', 'read_parquet', 'read_pickle', 'read_sas', 'read_spss', 'read_sql', 'read_sql_query', 'read_sql_table', 'read_stata', 'read_table', 'read_xml', 'reset_option', 'set_eng_float_format', 'set_option', 'show_versions', 'test', 'testing', 'timedelta_range', 'to_datetime', 'to_numeric', 'to_pickle', 'to_timedelta', 'tseries', 'unique', 'util', 'wide_to_long']</code></pre>
</div>
</div>
<p>Você pode checar a symbol table com o seguinte comando.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># o que está anexado à symbol table?</span></span>
<span id="cb12-2"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">globals</span>(), sep <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>__name__
__doc__
__package__
__loader__
__spec__
__builtins__
r
pandas</code></pre>
</div>
</div>
<p>Dependendo do sistema/ferramentas que você está usando, o interpretador Python vai carregar alguns módulos ou não. Se você iniciar um REPL — um terminal interativo Python —, nenhum módulo será carregado. Se iniciar um Jupyter notebook, alguns módulos necessários para ele rodar serão carregados. Neste caso, como estou rodando Python a partir do R via {reticulate}, alguns módulos foram carregados:</p>
<ul>
<li><code>sys</code>: para acesso a variáveis e funções usadas pelo interpretador</li>
<li><code>os</code>: para rotinas do sistema operacional NT ou Posix</li>
</ul>
<p>Então, se quero trabalhar com {pandas}, preciso anexá-lo à symbol table com um equivalente ao <code>library()</code> do R. E assim como sua função prima, o <code>import</code> do Python também tem diferentes formas.</p>
<p>Primeiro, <code>import pandas</code> torna o pacote disponível para chamadas explícitas.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># importar pandas</span></span>
<span id="cb14-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas</span>
<span id="cb14-3"></span>
<span id="cb14-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># o que está anexado à symbol table?</span></span>
<span id="cb14-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">globals</span>(), sep <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>__name__
__doc__
__package__
__loader__
__spec__
__builtins__
r
pandas</code></pre>
</div>
</div>
<p>Note que apenas {pandas} está anexado à symbol table, não suas funções/métodos/atributos. Portanto, essa instrução não é equivalente ao <code>library()</code>. Para criar um dataframe simples com {pandas}:</p>
<section id="Case1py" class="level3" data-number="2.2.1">
<h3 data-number="2.2.1" class="anchored" data-anchor-id="Case1py"><span class="header-section-number">2.2.1</span> Caso 1: Chamada Explícita</h3>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># isso resultará em NameError: name 'DataFrame' is not defined</span></span>
<span id="cb16-2">DataFrame(</span>
<span id="cb16-3">  {</span>
<span id="cb16-4">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"capital"</span>: [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Vitoria"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"São Paulo"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rio de Janeiro"</span>],</span>
<span id="cb16-5">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"state"</span>: [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Espírito Santo"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"São Paulo"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rio de Janeiro"</span>]</span>
<span id="cb16-6">  }</span>
<span id="cb16-7">)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>NameError: name 'DataFrame' is not defined</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># isso funciona</span></span>
<span id="cb18-2">pandas.DataFrame(</span>
<span id="cb18-3">  {</span>
<span id="cb18-4">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"capital"</span>: [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Vitoria"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"São Paulo"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rio de Janeiro"</span>],</span>
<span id="cb18-5">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"state"</span>: [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Espírito Santo"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"São Paulo"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rio de Janeiro"</span>]</span>
<span id="cb18-6">  }</span>
<span id="cb18-7">)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>          capital           state
0         Vitoria  Espírito Santo
1       São Paulo       São Paulo
2  Rio de Janeiro  Rio de Janeiro</code></pre>
</div>
</div>
<p>Se quisermos replicar o comportamento do <code>library()</code> (ou seja, carregar e anexar todas as funções/métodos/atributos do {pandas} à symbol table), então:</p>
</section>
<section id="Case2py" class="level3" data-number="2.2.2">
<h3 data-number="2.2.2" class="anchored" data-anchor-id="Case2py"><span class="header-section-number">2.2.2</span> Caso 2: Anexando</h3>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># importando todo o {pandas} para a symbol table</span></span>
<span id="cb20-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span></span>
<span id="cb20-3"></span>
<span id="cb20-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># symbol table atualizada</span></span>
<span id="cb20-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">globals</span>(), sep <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>__name__
__doc__
__package__
__loader__
__spec__
__builtins__
r
pandas
NA
ArrowDtype
BooleanDtype
Categorical
CategoricalDtype
CategoricalIndex
DataFrame
DateOffset
DatetimeIndex
DatetimeTZDtype
ExcelFile
ExcelWriter
Flags
Float32Dtype
Float64Dtype
Grouper
HDFStore
Index
IndexSlice
Int8Dtype
Int16Dtype
Int32Dtype
Int64Dtype
Interval
IntervalDtype
IntervalIndex
MultiIndex
NaT
NamedAgg
Period
PeriodDtype
PeriodIndex
RangeIndex
Series
SparseDtype
StringDtype
Timedelta
TimedeltaIndex
Timestamp
UInt8Dtype
UInt16Dtype
UInt32Dtype
UInt64Dtype
api
array
arrays
bdate_range
col
concat
crosstab
cut
date_range
describe_option
errors
eval
factorize
from_dummies
get_dummies
get_option
infer_freq
interval_range
io
isna
isnull
json_normalize
lreshape
melt
merge
merge_asof
merge_ordered
notna
notnull
offsets
option_context
options
period_range
pivot
pivot_table
plotting
qcut
read_clipboard
read_csv
read_excel
read_feather
read_fwf
read_hdf
read_html
read_iceberg
read_json
read_orc
read_parquet
read_pickle
read_sas
read_spss
read_sql
read_sql_query
read_sql_table
read_stata
read_table
read_xml
reset_option
set_eng_float_format
set_option
show_versions
test
testing
timedelta_range
to_datetime
to_numeric
to_pickle
to_timedelta
tseries
unique
wide_to_long</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb22" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb22-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># agora isso funciona</span></span>
<span id="cb22-2">DataFrame(</span>
<span id="cb22-3">  {</span>
<span id="cb22-4">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"capital"</span>: [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Vitoria"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"São Paulo"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rio de Janeiro"</span>],</span>
<span id="cb22-5">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"state"</span>: [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Espírito Santo"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"São Paulo"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rio de Janeiro"</span>]</span>
<span id="cb22-6">  }</span>
<span id="cb22-7">)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>          capital           state
0         Vitoria  Espírito Santo
1       São Paulo       São Paulo
2  Rio de Janeiro  Rio de Janeiro</code></pre>
</div>
</div>
<p>Mas você não verá nenhum usuário experiente de Python fazendo isso, pois eles se preocupam em carregar muitos nomes na symbol table e os possíveis conflitos que isso pode causar. Uma abordagem aceitável seria anexar apenas alguns nomes frequentes, como em:</p>
</section>
<section id="Case3py" class="level3" data-number="2.2.3">
<h3 data-number="2.2.3" class="anchored" data-anchor-id="Case3py"><span class="header-section-number">2.2.3</span> Caso 3: Anexando Funções Específicas</h3>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb24" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb24-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># desanexando {pandas}</span></span>
<span id="cb24-2"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> name <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">vars</span>(pandas):</span>
<span id="cb24-3">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">not</span> name.startswith(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'_'</span>):</span>
<span id="cb24-4">        <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">del</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">globals</span>()[name]</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>KeyError: 'annotations'</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb26" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb26-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># anexando apenas DataFrame()</span></span>
<span id="cb26-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> DataFrame</span>
<span id="cb26-3"></span>
<span id="cb26-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># symbol table atualizada</span></span>
<span id="cb26-5"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">globals</span>(), sep <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>__name__
__doc__
__package__
__loader__
__spec__
__builtins__
r
pandas
NA
ArrowDtype
BooleanDtype
Categorical
CategoricalDtype
CategoricalIndex
DataFrame
DateOffset
DatetimeIndex
DatetimeTZDtype
ExcelFile
ExcelWriter
Flags
Float32Dtype
Float64Dtype
Grouper
HDFStore
Index
IndexSlice
Int8Dtype
Int16Dtype
Int32Dtype
Int64Dtype
Interval
IntervalDtype
IntervalIndex
MultiIndex
NaT
NamedAgg
Period
PeriodDtype
PeriodIndex
RangeIndex
Series
SparseDtype
StringDtype
Timedelta
TimedeltaIndex
Timestamp
UInt8Dtype
UInt16Dtype
UInt32Dtype
UInt64Dtype
api
array
arrays
bdate_range
col
concat
crosstab
cut
date_range
describe_option
errors
eval
factorize
from_dummies
get_dummies
get_option
infer_freq
interval_range
io
isna
isnull
json_normalize
lreshape
melt
merge
merge_asof
merge_ordered
notna
notnull
offsets
option_context
options
period_range
pivot
pivot_table
plotting
qcut
read_clipboard
read_csv
read_excel
read_feather
read_fwf
read_hdf
read_html
read_iceberg
read_json
read_orc
read_parquet
read_pickle
read_sas
read_spss
read_sql
read_sql_query
read_sql_table
read_stata
read_table
read_xml
reset_option
set_eng_float_format
set_option
show_versions
test
testing
timedelta_range
to_datetime
to_numeric
to_pickle
to_timedelta
tseries
unique
wide_to_long
name</code></pre>
</div>
</div>
<p>Segundo o The Hitchhiker’s Guide to Python <span class="citation" data-cites="pythonguide">[@pythonguide]</span>, caso 2 é o pior cenário possível e geralmente é considerado má prática, pois “torna o código mais difícil de ler e as dependências menos compartimentalizadas”. Essa afirmação é endossada pela documentação oficial do Python <span class="citation" data-cites="pythontutorial">[@pythontutorial]</span>:</p>
<blockquote class="blockquote">
<p>Embora certos módulos sejam projetados para exportar apenas nomes que seguem certos padrões quando você usa import *, ainda é considerado má prática em código de produção.</p>
</blockquote>
<p>Na opinião dos autores do guia, caso 3 seria uma opção melhor porque destaca nomes específicos<sup>3</sup>, enquanto caso 1 seria a melhor prática, pois “Ser capaz de dizer imediatamente de onde uma classe ou função vem melhora muito a legibilidade e compreensão do código, exceto nos projetos mais simples de arquivo único.”</p>


</section>
</section>
</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Uma lista ordenada onde o R procura por uma função. Pode ser acessada com <code>search()</code>.↩︎</p></li>
<li id="fn2"><p>Acho? Não sei, ainda estou aprendendo lol 😂↩︎</p></li>
<li id="fn3"><p>Python Foundation diz “Não há nada de errado em usar from package import specific_submodule! Na verdade, essa é a notação recomendada, a menos que o módulo importador precise usar submódulos com o mesmo nome de pacotes diferentes.”↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>python</category>
  <guid>/pt/posts/202106_python-from-r-i-package-importing/</guid>
  <pubDate>Sat, 12 Jun 2021 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202106_python-from-r-i-package-importing/img/r-python.jpg" medium="image" type="image/jpeg"/>
</item>
<item>
  <title>Um pouco de conceitos: overfitting &amp; resampling</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202101_overfitting-resampling/</link>
  <description><![CDATA[ 






<p>Apesar de serem termos recorrentes em <em>machine learning</em>, <em>resampling</em> e <em>overfitting</em> são frequentemente discutidos apenas na prática, muitas vezes sem a sua compreensão. Neste post<sup>1</sup>, tentarei introduzir os conceitos de forma genérica.</p>
<section id="o-processo-de-ajuste-e-o-sobreajuste" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> O PROCESSO DE AJUSTE E O SOBREAJUSTE</h1>
<p>Considere uma função de ajuste <img src="https://latex.codecogs.com/png.latex?f">, um conjunto de pontos <img src="https://latex.codecogs.com/png.latex?D%20=%20%7Bd_1,%20...,%20d_n%7D"> com <img src="https://latex.codecogs.com/png.latex?d_i%20=%20(x_i%20y_i)%C2%B4">, variáveis de decisão ou parâmetros <img src="https://latex.codecogs.com/png.latex?x_i%20%5Cin%20%5CR%5Em"> e imagem <img src="https://latex.codecogs.com/png.latex?y_i%20=%20f(x_i)%20%5Cin%20%5CR">. Diferentemente da abordagem clássica, em que, no caso do modelo clássico de regressão linear, há um modelo teórico de coeficientes estimados por mínimos quadrados ordinários (MQO) que é garantido pelo teorema de Gauss-Markov ser o melhor estimador linear não viesado (BLUE), em <em>machine learning</em> o objetivo é encontrar, de forma iterativa, um meta-modelo que melhor aproxima a função <img src="https://latex.codecogs.com/png.latex?f"> usando a informação contida em <img src="https://latex.codecogs.com/png.latex?D">, ou seja, queremos ajustar uma função de regressão <img src="https://latex.codecogs.com/png.latex?%5Chat%7Bf%7D_D"> aos nossos dados <img src="https://latex.codecogs.com/png.latex?D"> de forma que <img src="https://latex.codecogs.com/png.latex?%5Chat%7By%7D%20=%20%5Chat%7Bf%7D_D(x,%20%5Cvarepsilon)"> tenha o menor erro de aproximação <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon">.</p>
<p>Para verificar o quão bem o modelo <img src="https://latex.codecogs.com/png.latex?%5Chat%7Bf%7D_D"> se aproxima da função real <img src="https://latex.codecogs.com/png.latex?f">, é necessário uma função de perda <img src="https://latex.codecogs.com/png.latex?L(y,%20%5Chat%7Bf%7D(x))"> que, no caso de regressão, será a perda quadrática <img src="https://latex.codecogs.com/png.latex?(y%20-%20%5Chat%7Bf%7D(y))%5E2"> ou a perda absoluta <img src="https://latex.codecogs.com/png.latex?%7Cy%20-%20%5Chat%7Bf%7D(y)%7C">. Esses valores são agregados pela média para formar as funções de custo erro médio quadrático (MSE) e erro médio absoluto (MAE).</p>
<p>Dada a função de perda, pode-se definir o risco associado ao modelo de função de ajuste <img src="https://latex.codecogs.com/png.latex?R(f,%20p)%20=%20%5Cint_%7B%5CR%7D%7B%7D%5Cint_%7B%5CR%5Em%7D%7B%7D%20L(y,%20f(x))p(x,%20y)dxdy"> em que <img src="https://latex.codecogs.com/png.latex?p(x,%20y)"> é a função densidade de probabilidade conjunta. Como não temos a função real mas procuramos uma função estimada que se aproxime dela, temos <img src="https://latex.codecogs.com/png.latex?GE(%5Chat%7Bf%7D_D,%20p)%20=%20%5Cint_%7B%5CR%7D%7B%7D%5Cint_%7B%5CR%5Em%7D%7B%7D%20L(y,%20%5Chat%7Bf%7D_D(x))p(x,%20y)dxdy%20%5Ctag%7B1%7D"> que é o erro de generalização ou risco condicional associado ao preditor.</p>
<p>Então, podemos estimar o erro de generalização do modelo. Como não conhecemos a distribuição <img src="https://latex.codecogs.com/png.latex?P">, a substituímos pela amostra de teste <img src="https://latex.codecogs.com/png.latex?D%5E*"> e ficamos com <img src="https://latex.codecogs.com/png.latex?%5Cwidehat%7BGE%7D(%5Chat%7Bf%7D_D,%20D%5E*)%20=%20%5Csum_%7B(xy)%C2%B4%20%5Cin%20D%5E*%7D%20%5Cfrac%7BL(y,%20%5Chat%7Bf%7D_D(x))%7D%7B%7CD%5E*%7C%7D"> Se substituirmos a amostra teste pela amostra treino <img src="https://latex.codecogs.com/png.latex?D"> usada para ajustar o modelo, teremos o chamado erro de resubstituição <img src="https://latex.codecogs.com/png.latex?%5Cwidehat%7BGE%7D_%5Ctext%7Bresub%7D%20=%20%5Cwidehat%7BGE%7D(%5Chat%7Bf%7D_D,%20D)"> Naturalmente, nesse caso estaríamos usando os dados de treino tanto para treinar o preditor quanto para estimar o erro de generalização, o que nos levaria a uma estimativa enviesada do erro de generalização. Caso usássemos essa estimativa para seleção de modelos, esse viés favoreceria modelos mais adaptados à amostra.</p>
<p>O problema é que nesses modelos, dadas suficientes iterações, o erro de resubstituição tende a zero. Isso acontece porque conforme o preditor se adapta cada vez mais aos dados de treinamento ele irá memorizar a relação entre o conjunto de pontos <img src="https://latex.codecogs.com/png.latex?D"> e a imagem <img src="https://latex.codecogs.com/png.latex?f(x_i)">, ou seja, irá se ajustar perfeitamente ao formato da função a ser modelada. E não necessariamente um modelo perfeitamente ajustado se traduz na capacidade de predição de dados futuros (fora da amostra).</p>
<p>De forma geral, espera-se que o preditor reduza seu viés durante o treino apenas o suficiente para que seja capaz de generalizar sua predição para fora da amostra em um nível ótimo de acurácia. A partir desse ponto, a redução no viés é penalizada com o aumento da variância, ou seja, com a redução de sua capacidade de prever dados futuros. A esse processo se dá o nome de <em>overfitting</em> ou <strong>sobreajuste</strong>. Isso quer dizer que não podemos considerar a performance do preditor em <img src="https://latex.codecogs.com/png.latex?D"> se desejamos estimar honestamente a performance real do modelo.</p>
</section>
<section id="reamostragem" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> REAMOSTRAGEM</h1>
<p>Uma forma de se corrigir esse problema é dividindo a amostra em um conjunto para treino <img src="https://latex.codecogs.com/png.latex?D_%5Ctext%7Btreino%7D"> e outro conjunto para teste <img src="https://latex.codecogs.com/png.latex?D_%5Ctext%7Bteste%7D"> de forma que <img src="https://latex.codecogs.com/png.latex?D_%5Ctext%7Btreino%7D%20%5Ccup%20D_%5Ctext%7Bteste%7D%20=%20D"> e <img src="https://latex.codecogs.com/png.latex?D_%5Ctext%7Btreino%7D%20%5Ccap%20D_%5Ctext%7Bteste%7D%20=%20%5Cempty">. Assim, pode-se treinar o modelo em <img src="https://latex.codecogs.com/png.latex?D_%5Ctext%7Btreino%7D"> para se obter <img src="https://latex.codecogs.com/png.latex?%5Chat%7Bf%7D_%7BD_%7B%5Ctext%7Btreino%7D%7D%7D"> e calcular seu erro de generalização usando os dados de <img src="https://latex.codecogs.com/png.latex?D_%5Ctext%7Bteste%7D">. Essa abordagem é chamada de <em>hold-out</em> e ela é de simples implementação e utilização, uma vez que as observações do conjunto teste são completamente independentes das observações com as quais o modelo foi treinado. A estimativa do erro de generalização então se torna <img src="https://latex.codecogs.com/png.latex?%5Cwidehat%7BGE%7D_%5Ctext%7Bhold-out%7D%20=%20%5Cwidehat%7BGE%7D(%5Chat%7Bf%7D_%7BD_%7B%5Ctext%7Btreino%7D%7D%7D,%20D_%7B%5Ctext%7Bteste%7D%7D)"> Dois problemas permanecem:</p>
<ol type="1">
<li><p>É necessária uma amostra grande, uma vez que deve-se ter dados suficientes tanto na amostra treino para ajustar um modelo adequado, quanto na amostra teste para realizar uma avaliação de performance estatisticamente válida.</p></li>
<li><p>Esse método não é suficiente para detectar variância e instabilidades na amostra treino. Modelos mais complexos, especialmente não lineares, podem produzir resultados muito diferentes com mudanças pequenas nos dados de treino.</p></li>
</ol>
<p>É exatamente para lidar com essas situações que foram desenvolvidas as técnicas de reamostragem. Todas essas tecnicas geram repetidamente <img src="https://latex.codecogs.com/png.latex?i"> subconjuntos de treino <img src="https://latex.codecogs.com/png.latex?D_%7B%5Ctext%7Btreino%7D%7D%5E%7B(i)%7D"> e teste <img src="https://latex.codecogs.com/png.latex?D_%7B%5Ctext%7Bteste%7D%7D%5E%7B(i)%7D"> com o dataset disponível, ajustam um modelo com cada conjunto de treino e atestam sua qualidade no conjunto de teste correspondente. A estimativa do erro de generalização então se torna <img src="https://latex.codecogs.com/png.latex?%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D%20=%20%5Cfrac%7B1%7D%7Bk%7D%5Csum_%7Bi=1%7D%5E%7Bk%7D%5Cwidehat%7BGE%7D(%5Chat%7Bf%7D_%7BD_%7B%5Ctext%7Btreino%7D%7D%5E%7B(i)%7D%7D,%20D_%7B%5Ctext%7Bteste%7D%7D%5E%7B(i)%7D)%20%5Ctag%7B2%7D"> O erro de generalização dado na equação (1) depende tanto do tamanho da amostra usada para treinar quanto para testar o modelo ajustado. Portanto, devemos garantir que o tamanho da amostra usado para verificar o erro de generalização de um modelo estimado a partir de <img src="https://latex.codecogs.com/png.latex?n"> <em>data points</em> seja próximo de <em>n</em>. Se, por exemplo, o conjunto de treino for muito menor que a amostra total o erro será superestimado, uma vez que muito menos informação foi usada para calcular o estimador.</p>
<p>Da mesma forma, a qualidade do estimador do erro de generalização obtido em (2) a partir de uma estratégia de reamostragem também depende muito do tamanho dos conjuntos <img src="https://latex.codecogs.com/png.latex?D%5E%7B(i)%7D"> em relação à amostra original, da quantidade <img src="https://latex.codecogs.com/png.latex?k"> de subconjuntos utilizados e da estrutura de dependência entre os subconjuntos <img src="https://latex.codecogs.com/png.latex?D%5E%7B(i)%7D"> — novamente, modelos mais complexos são mais sensíveis a alterações no dataset e a variância entre os subconjuntos tende a ser maior. O erro do estimador é geralmente medido pelo erro médio quadrático (MSE): <img src="https://latex.codecogs.com/png.latex?%5Ctext%7BMSE%7D(%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D)%20=%20%5Cmathbb%7BE%7D%5B(%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D%20-%20GE(%5Chat%7Bf%7D_D,%20P))%5E2%5D"> Esse estimador também pode ser representado como a soma do quadrado do viés e a variância: <img src="https://latex.codecogs.com/png.latex?%5Ctext%7BMSE%7D(%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D)%20=%20%5Ctext%7BBias%7D(%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D)%5E2%20+%20%5Ctext%7BVari%C3%A2ncia%7D(%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D)"> Sendo que o viés expressa a diferença média entre um estimador e o valor real, enquanto a variância mede a dispersão média do estimador. Essas quantidades são definidas da seguinte forma: <img src="https://latex.codecogs.com/png.latex?%5Ctext%7BBias%7D(%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D)%20=%20%5Cmathbb%7BE%7D%5B%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D%5D%20-%20%5Cmathbb%7BE%7D%5BGE(%5Chat%7Bf%7D_D,%20p)%5D"> e <img src="https://latex.codecogs.com/png.latex?%5Ctext%7BVari%C3%A2ncia%7D(%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D)%20=%20%5Cmathbb%7BE%7D%5B(%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D%20-%20%5Cmathbb%7BE%7D%5B%5Cwidehat%7BGE%7D_%5Ctext%7Bsamp%7D%5D)%5E2%5D"></p>
</section>
<section id="por-fim" class="level1" data-number="3">
<h1 data-number="3"><span class="header-section-number">3</span> POR FIM</h1>
<p>Com essa introdução, espero que os conceitos tenham ficado mais claros e que tenha ajudado um pouco na compreensão da meta modelagem. Tenho certeza que eu não verei os resultados da mesma forma na próxima que vez que aplicar técnicas de reamostragem para seleção e <em>tuning</em> de meus modelos!</p>



</section>


<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">Referências</h2><div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-resampling" class="csl-entry">
Bischl B., Trautmann H., Mersmann O. 2012. <span>«Resampling Methods for Meta-Model Validation with Recommendations for Evolutionary Computation»</span>. <em>Evolutionary Computation</em>, maio. <a href="https://doi.org/10.1162/EVCO_a_00069">https://doi.org/10.1162/EVCO_a_00069</a>.
</div>
</div></section><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Totalmente apoiado em <span class="citation" data-cites="resampling">(Bischl B. 2012)</span>.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>machine learning</category>
  <guid>/pt/posts/202101_overfitting-resampling/</guid>
  <pubDate>Sat, 17 Apr 2021 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202101_overfitting-resampling/img/overfitting.png" medium="image" type="image/png" height="70" width="144"/>
</item>
<item>
  <title>R em 2021 com o VSCode</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202101_r-vscode/</link>
  <description><![CDATA[ 






<p>Comecei a usar o VSCode em outubro de 2020 quando comecei a estudar Python. Pesquisando sobre o setup ideal, li que a IDE de menor impacto para usuários de R <span class="citation" data-cites="R">(R Core Team 2020)</span> seria o Spyder, mas que a experiência de um usuário Python nativo seria com o VSCode, então foi pra lá que eu fui, mesmo sendo uma experiência mais complicada.</p>
<p>Rapidamente me apaixonei por sua capacidade e maturidade. Há extensões da comunidade para tudo, o que torna a experiência muito agradável! Entretanto, o ecossistema do R ainda era muito voltado ao RStudio e eu ainda me via preso naquela IDE no meu dia-a-dia com o R. Claro que isso mudou quando vi um tweet do <a href="https://fosstodon.org/@milesmcbain">Miles McBain</a> sobre a adição dos RStudio Addins ao VSCode.</p>
<p>Passando a considerar o VSCode como uma possibilidade real para R, dei uma pesquisada e achei esse <a href="https://renkun.me/2019/12/11/writing-r-in-vscode-a-fresh-start/">post</a> do <a href="https://twitter.com/renkun_ken">Kun Ren</a> que oferece um setup para trabalhar em R no VSCode. Neste post falo das funcionalidades e de como configurar.</p>
<section id="qual-a-boa-do-vscode" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> QUAL A BOA DO VSCODE?</h1>
<p>A maioria das funcionalidades implementadas pela extensão do R ou pelo Language Server já estão detalhadas no <a href="https://renkun.me/2019/12/11/writing-r-in-vscode-a-fresh-start/">post do Kun Ren</a>, então, se ainda não leu, corre lá! Aqui vou demonstrar algumas funcionalidades gerais e extensões que salvam minha vida no dia-a-dia.</p>
<section id="intellisense" class="level2" data-number="1.1">
<h2 data-number="1.1" class="anchored" data-anchor-id="intellisense"><span class="header-section-number">1.1</span> Intellisense</h2>
<p>Esse ouro do VSCode te permite ver a documentação da função (<em>quick info</em>), ou do dataset, e de todos seus argumentos (<em>parameter info</em>) apenas passando o mouse em cima. Além disso, é a funcionalidade que adiciona <em>code completion</em> e <em>member list</em>, dentre outros.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/intellisense.gif" class="img-fluid figure-img"></p>
<figcaption>code completion, hover, quick info, parameter info</figcaption>
</figure>
</div>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/color.gif" class="img-fluid figure-img"></p>
<figcaption>seleção de cores via IDE (｡◕‿◕｡)</figcaption>
</figure>
</div>
</section>
<section id="integração-com-git-e-github" class="level2" data-number="1.2">
<h2 data-number="1.2" class="anchored" data-anchor-id="integração-com-git-e-github"><span class="header-section-number">1.2</span> Integração com Git e GitHub</h2>
<p>As extensões <a href="https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github">GitHub Pull Requests and Issues</a> e <a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens">Git Lens</a> permitem uma integração profunda com o GitHub, de forma que você não precisa deixar o VSCode. Você pode abrir, comentar e fechar issues e PRs; enviar, visualizar e editar commits; realizar quaisquer comandos bash via command pallet (push, pull, checkout, prune, rebase etc), dentre outros.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/issue.gif" class="img-fluid figure-img"></p>
<figcaption>criando issue</figcaption>
</figure>
</div>
<p>Clicando na issue, o VSCode já abre um novo branch e faz o checkout para você trabalhar nela (e ainda deixa engatilhada uma commit message personalizada!).</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/branch.gif" class="img-fluid figure-img"></p>
<figcaption>criando um novo branch via issue</figcaption>
</figure>
</div>
<p>E, ao final do trabalho, basta clicar em criar um novo PR que a própria IDE envia o branch pra origem e traz a interface do PR. Tudo sem abrir o navegador ou o terminal.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/pr.gif" class="img-fluid figure-img"></p>
<figcaption>criando pull request</figcaption>
</figure>
</div>
</section>
<section id="múltiplos-terminais" class="level2" data-number="1.3">
<h2 data-number="1.3" class="anchored" data-anchor-id="múltiplos-terminais"><span class="header-section-number">1.3</span> Múltiplos Terminais</h2>
<p>Enquanto seu blog ou Shiny app está renderizando e, consequentemente, ocupando um terminal, você pode simplesmente abrir outro e continuar trabalhando normalmente!</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/terminais.gif" class="img-fluid figure-img"></p>
<figcaption>pode-se abrir quantos terminais quiser!</figcaption>
</figure>
</div>
</section>
<section id="draw.io" class="level2" data-number="1.4">
<h2 data-number="1.4" class="anchored" data-anchor-id="draw.io"><span class="header-section-number">1.4</span> Draw.io</h2>
<p>Este é um exemplo de uma das inúmeras extensões úteis que a comunidade disponibiliza no VSCode. A <a href="https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio">extensão draw.io</a> integra o <a href="https://app.diagrams.net/">diagrams.net</a> ao VSCode. Com ela, podemos fazer diagramas de forma muito rápida e sem precisar de sair da IDE!</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/draw.gif" class="img-fluid figure-img"></p>
<figcaption>para criar um diagrama, basta criar um arquivo com a extensão .drawio</figcaption>
</figure>
</div>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/diagrama.png" class="img-fluid figure-img"></p>
<figcaption>diagrama que fiz para o <a href="https://datamares.netlify.app/post/2020-11-29-introducao-ao-mlr3-framework/">esse post</a> usando a extensão</figcaption>
</figure>
</div>
</section>
<section id="live-share" class="level2" data-number="1.5">
<h2 data-number="1.5" class="anchored" data-anchor-id="live-share"><span class="header-section-number">1.5</span> Live Share</h2>
<p>Já sonhou em trabalhar no mesmo script com sua galera ao vivasso? A extensão <a href="https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare">Live Share</a> permite isso, além de fornecer canais de chat e de áudio, o que torna desnecessário abrir uma chamada de áudio em outro app enquanto trabalha!</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/me_and_the_boys.png" class="img-fluid figure-img"></p>
<figcaption>praticamente todo mundo agora</figcaption>
</figure>
</div>
<p>Além disso, você não precisa ter o interpretador da linguagem instalado para participar da sessão. Isso significa que mesmo que você esteja em outra máquina, que não tenha o R ou Python (ou qualquer outra) instalados, você pode entrar na sessão e colaborar nos scripts de seus colegas, inclusive usando os terminais deles para executar o código!</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/liveshare.gif" class="img-fluid figure-img"></p>
<figcaption>visão de duas máquinas visualizando uma a outra durante uma sessão de Live Share no VSCode</figcaption>
</figure>
</div>
</section>
<section id="windows-subsystem-for-linux" class="level2" data-number="1.6">
<h2 data-number="1.6" class="anchored" data-anchor-id="windows-subsystem-for-linux"><span class="header-section-number">1.6</span> Windows Subsystem for Linux</h2>
<p>Está em uma máquina Windows e já precisou de depurar alguma treta em ambiente Linux? Então você já teve o desprazer de instalar máquinas virtuais ou dual boot (╯°□°）╯︵ ┻━┻</p>
<p>Boa notícia: com a extensão <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl">Remote - WSL</a> sua pasta (projeto) é copiada e reaberta em um ambiente Linux, com o terminal bonitinho e pronto para o uso. Tudo isso a um clique de distância!</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/wsl.gif" class="img-fluid figure-img"></p>
<figcaption>iniciando uma sessão em ambiente Linux</figcaption>
</figure>
</div>
</section>
<section id="linter-integrado" class="level2" data-number="1.7">
<h2 data-number="1.7" class="anchored" data-anchor-id="linter-integrado"><span class="header-section-number">1.7</span> Linter integrado</h2>
<p>A extensão do R no VSCode integra o pacote {lintr} à IDE, de forma que você tem as informações de ajustes de estilo a se fazer em seu código em tempo real.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/linter.gif" class="img-fluid figure-img"></p>
<figcaption>verificação de estilo em tempo real</figcaption>
</figure>
</div>
</section>
</section>
<section id="configuração" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> CONFIGURAÇÃO</h1>
<p>Para começar você só precisa do VSCode e das extensões R e R-LSP. Mas compartilho aqui o setup que considero fornecer a melhor experiência:</p>
<ol type="1">
<li>Visual Studio Code e suas extensões:</li>
</ol>
<ul>
<li><a href="https://code.visualstudio.com/download">VSCode</a>: a IDE</li>
<li><a href="https://marketplace.visualstudio.com/items?itemName=Ikuyadeu.r">vscode-R</a>: extensão para suporte à linguagem R</li>
<li><del><a href="https://marketplace.visualstudio.com/items?itemName=REditorSupport.r-lsp">vscode-r-lsp</a>: R Language Server Protocol Client para VSCode</del> <sup>1</sup></li>
</ul>
<ol start="2" type="1">
<li>Pacotes:</li>
</ol>
<ul>
<li><a href="https://github.com/REditorSupport/languageserver">languageserver</a> <span class="citation" data-cites="lsp">(Lai 2020)</span>: implementação de Language Server Protocol para R</li>
<li><a href="https://github.com/nx10/httpgd">httpgd</a> <span class="citation" data-cites="httpgd">(Rupprecht 2021)</span> (recomendado): dispositivo gráfico de servidor http assíncrono para R</li>
</ul>
<ol start="3" type="1">
<li>Python &amp; Radian:</li>
</ol>
<ul>
<li><a href="https://www.python.org/downloads/">Python</a> (recomendado): requisito para instalação do Radian, implementado em Python</li>
<li><a href="https://github.com/randy3k/radian">Radian</a> (recomendado): console alternativo para R, com edição multilinha e <em>rich syntax highlighting</em></li>
</ul>
<ol start="4" type="1">
<li><a href="https://pandoc.org/installing.html">Pandoc</a>: conversor universal de documentos, responsável por converter arquivos em R Markdown (.Rmd) para html. Você não precisou de instalar antes porque o instalador do RStudio já vem com uma versão do Pandoc incluído.</li>
</ol>
</section>
<section id="primeiros-passos" class="level1" data-number="3">
<h1 data-number="3"><span class="header-section-number">3</span> PRIMEIROS PASSOS</h1>
<p>Com o VSCode instalado, você verá a tela de boas vindas, que se parece com isso:</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/welcome.png" class="img-fluid figure-img"></p>
<figcaption>tela de boas vindas</figcaption>
</figure>
</div>
<p>A primeira coisa a se notar é que o conceito de projeto do RStudio (.Rproj) não existe no VSCode. Você tem uma pasta e pronto, todos os caminhos relativos apontam para ela. Configurações específicas para a pasta podem ser definidas em um arquivo .json no diretório.</p>
<p>Na barra lateral, o <em>explorer</em> te dará a opção de abrir uma pasta (um projeto) ou clonar um repositório. Abrindo minha pasta do <strong>Advent of Code 2020</strong>, você verá meus diretórios e arquivos à esquerda. Há códigos em Python e em R. Posso abrí-los e organizá-los da forma que eu quiser. Os terminais ficam logo abaixo e também podem ser movidos para qualquer outra parte.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/organizacao.gif" class="img-fluid figure-img"></p>
<figcaption>editor totalmente flexível</figcaption>
</figure>
</div>
<p>As extensões podem ser instaladas pelo menu à esquerda. O próprio VSCode irá recomendar a instalação de extensões quando você abrir algum tipo de arquivo que não tenha interpretador ou <em>formatter</em> instalado, por exemplo.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/extensoes.gif" class="img-fluid figure-img"></p>
<figcaption>extensões da comunidade</figcaption>
</figure>
</div>
<p><strong>Importante: não instale a extensão RTools junto com as extensões citadas acima, pois não são complementares e irá causar conflitos.</strong></p>
<p>Com as extensões instaladas, vamos às configurações. Primeiro, abra a <em>command palette</em> com ctrl+shift+p.&nbsp;Através dela você poderá acessar diversos comandos e atalhos no VSCode, como:</p>
<ul>
<li>criação de novo terminal (R, Python etc)</li>
<li>lançar os <em>RStudio addins</em></li>
<li>compilar arquivos RMarkdown (knit .Rmd)</li>
<li>acessar configurações e teclas de atalho</li>
<li>instalar pacotes</li>
<li>formatar arquivos e MUITOS outros</li>
</ul>
<p>Acessando as configurações do VSCode, podemos configurar tanto o editor quanto suas extensões:</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202101_r-vscode/img/preferencias.gif" class="img-fluid figure-img"></p>
<figcaption>settings.json</figcaption>
</figure>
</div>
<p>Aqui estão as que utilizo atualmente. Altere conforme necessário e sua preferência.</p>
<div class="code-copy-outer-scaffold"><div class="sourceCode" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode json code-with-copy"><code class="sourceCode json"><span id="cb1-1"></span>
<span id="cb1-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">{</span></span>
<span id="cb1-3">    <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">VSCode</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">setup</span></span>
<span id="cb1-4">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"terminal.integrated.shell.windows"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"C:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">WINDOWS</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">System32</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">WindowsPowerShell</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">v1.0</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">powershell.exe"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span></span>
<span id="cb1-5">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"editor.formatOnPaste"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">true</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">recomendado</span></span>
<span id="cb1-6">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"editor.formatOnType"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">true</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">recomendado</span></span>
<span id="cb1-7">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"diffEditor.ignoreTrimWhitespace"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">false</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span></span>
<span id="cb1-8">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"files.autoSave"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"off"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span></span>
<span id="cb1-9"></span>
<span id="cb1-10">    <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">Python</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">setup</span></span>
<span id="cb1-11">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"python.pythonPath"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"C:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">...</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">anaconda3</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">python.exe"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span></span>
<span id="cb1-12">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"jupyter.alwaysTrustNotebooks"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">true</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span></span>
<span id="cb1-13"></span>
<span id="cb1-14">    <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">R</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">setup</span></span>
<span id="cb1-15">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"[r]"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">{</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">obrigatório</span></span>
<span id="cb1-16">        <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"editor.defaultFormatter"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"REditorSupport.r-lsp"</span></span>
<span id="cb1-17">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">},</span></span>
<span id="cb1-18">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"files.associations"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">{</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">obrigatório</span></span>
<span id="cb1-19">        <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"*.rmd"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"markdown"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span></span>
<span id="cb1-20">        <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"*.Rmd"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rmd"</span></span>
<span id="cb1-21">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">},</span></span>
<span id="cb1-22">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"r.sessionWatcher"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">true</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">default</span></span>
<span id="cb1-23">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"r.bracketedPaste"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">true</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">obrigatório</span></span>
<span id="cb1-24">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"r.rterm.windows"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"C:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">...</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">anaconda3</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">Scripts</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">radian.exe"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">caso</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">tenha</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">instalado</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">o</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">Radian</span></span>
<span id="cb1-25">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"r.rpath.windows"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"C:</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">...</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">R</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">R-4.0.3</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">bin</span><span class="ch" style="color: #20794D;
background-color: null;
font-style: inherit;">\\</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">R.exe"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">obrigatório</span></span>
<span id="cb1-26">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"r.lsp.debug"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">true</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">obrigatório</span></span>
<span id="cb1-27">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"r.alwaysUseActiveTerminal"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">true</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">//</span> <span class="er" style="color: #AD0000;
background-color: null;
font-style: inherit;">obrigatório</span></span>
<span id="cb1-28">    <span class="dt" style="color: #AD0000;
background-color: null;
font-style: inherit;">"r.rtermSendDelay"</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">:</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">,</span></span>
<span id="cb1-29"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">}</span></span></code></pre></div></div>
<p>Também são necessárias algumas configurações no .Rprofile:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># opções</span></span>
<span id="cb2-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">options</span>(</span>
<span id="cb2-3">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># permitir RStudio Addins no command pallet</span></span>
<span id="cb2-4">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">vsc.rstudioapi =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>,</span>
<span id="cb2-5">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># gráficos interativos com o {httpgd}</span></span>
<span id="cb2-6">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">vsc.use_httpgd =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>,</span>
<span id="cb2-7">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># alterar o schema de highlight no console Radian</span></span>
<span id="cb2-8">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">radian.color_scheme =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"native"</span>,</span>
<span id="cb2-9">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># adicionar code completion após $</span></span>
<span id="cb2-10">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">languageserver.server_capabilities =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb2-11">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">signatureHelpProvider =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">triggerCharacters =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"("</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">","</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"$"</span>)),</span>
<span id="cb2-12">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">completionProvider =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb2-13">      <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">resolveProvider =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">triggerCharacters =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"."</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">":"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"$"</span>)</span>
<span id="cb2-14">    )</span>
<span id="cb2-15">  )</span>
<span id="cb2-16">)</span></code></pre></div></div>
</div>
<p><strong>Importante: não instalar o {httpgd} ou deixar de incluir essa configuração no .Rprofile vai fazer com que seus gráficos sejam plotados numa janela com tamanho fixo, sem a possibilidade de manuipular o tamanho do plot interativamente.</strong></p>
</section>
<section id="por-fim" class="level1" data-number="4">
<h1 data-number="4"><span class="header-section-number">4</span> POR FIM</h1>
<p>E é isso! Tem ainda um monte de coisas para explorar mas já dá pra ter uma ideia do potencial da ferramenta. Pra quem fica empolgado com anúncio de <em>rainbow parenthesis</em>, eu acho que vale a pena fazer um teste :p</p>



</section>


<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">Referências</h2><div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-lsp" class="csl-entry">
Lai, Randy. 2020. <em>languageserver: Language Server Protocol</em>. <a href="https://CRAN.R-project.org/package=languageserver">https://CRAN.R-project.org/package=languageserver</a>.
</div>
<div id="ref-R" class="csl-entry">
R Core Team. 2020. <em>R: A Language and Environment for Statistical Computing</em>. Vienna, Austria: R Foundation for Statistical Computing. <a href="https://www.R-project.org/">https://www.R-project.org/</a>.
</div>
<div id="ref-httpgd" class="csl-entry">
Rupprecht, Florian. 2021. <em>httpgd: A ’HTTP’ Server Graphics Device</em>. <a href="https://CRAN.R-project.org/package=httpgd">https://CRAN.R-project.org/package=httpgd</a>.
</div>
</div></section><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>agora integrado na extensão vscode-R.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>tools</category>
  <guid>/pt/posts/202101_r-vscode/</guid>
  <pubDate>Tue, 06 Apr 2021 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202101_r-vscode/img/vscode.jpg" medium="image" type="image/jpeg"/>
</item>
<item>
  <title>Introdução ao framework {mlr3}</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202011_introducao-ao-mlr3-framework/</link>
  <description><![CDATA[ 






<p>Esse é o primeiro post de uma série que irá tratar sobre o ecossistema {mlr3} <span class="citation" data-cites="mlr3">(Lang et al. 2019)</span>. Ele é mais completo e também muito mais complexo do que seu predecessor, o {mlr}, que teve sua versão inicial publicada no CRAN em 2013. O ecossistema permite um framework agnóstico (i.e.&nbsp;não depende dos algoritmos escolhidos), extensível e orientado a objeto, e, atualmente, permite vários tipos de tarefas, como classificação, regressão, análise de sobrevivência, forecasting, clustering, dentre outros. O {mlr3} tem diversas vantagens que o faz, IMHO, o <em>framework</em> mais completo para se trabalhar <em>machine learning</em> em R <span class="citation" data-cites="R">(R Core Team 2020)</span> e elas ficarão claras ao longo dos próximos posts.</p>
<section id="introdução" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> INTRODUÇÃO</h1>
<p>O workflow padrão de um projeto de machine learning consiste em:</p>
<ol type="1">
<li>dividir sua amostra em treino e teste (<em>split</em>);</li>
<li>escolher o algoritmo<sup>1</sup> apropriado para o tipo de tarefa;</li>
<li>passar a amostra de treino ao algoritmo para criar um modelo do relacionamento entre a variável de resposta (<em>output features</em>) e as explicativas (<em>input features</em>);</li>
<li>passar os dados de testes ao modelo treinado para produzir predições;</li>
<li>comparar as predições com os dados da amostra;</li>
<li>mensurar a performance do modelo através de medidas de acurácia estabelecidas.</li>
</ol>
<p><img src="/pt/posts/202011_introducao-ao-mlr3-framework/img/basics.svg" class="img-fluid"></p>
<p>O processo de repetir esse workflow várias vezes, separando a amostra treino em várias partes diferentes e usando outras como <em>fake test samples</em> é chamado de <em>resampling</em>, um processo vital para a etapa de calibragem e para evitar o <em>overfitting</em>.</p>
<p>Dependendo dos dados, do tipo de tarefa e algoritmo escolhido, podem ser necessários vários filtros, como normalização, <em>feature selection</em> e tratamento de <em>outliers</em> ou dados faltantes. Para esses casos, o {mlr3} tem novas soluções que se destacam com muita vantagem em relação não só ao seu predecessor {mlr} como também a outros <em>frameworks</em> de <em>machine learning</em> em R, como o {caret} e o {tidymodels}.</p>
<section id="características-de-design" class="level2" data-number="1.1">
<h2 data-number="1.1" class="anchored" data-anchor-id="características-de-design"><span class="header-section-number">1.1</span> CARACTERÍSTICAS DE DESIGN</h2>
<p>Alguns princípios gerais que norteiam o desenvolvimento do pacote e afetam muito seu uso são:</p>
<ul>
<li><p>Foco no <em>backend</em>. A maioria dos pacotes do ecossistema tem objetivo de processar e transformar dados, aplicar algoritmos e computar resultados. Visualizações são providenciadas em pacotes externos;</p></li>
<li><p>Adoção da classe R6 <span class="citation" data-cites="R-R6">(Chang 2020)</span> para design orientado a objeto, <em>modify-in-place</em> e semântica de referência (falaremos um pouco sobre esses conceitos adiante);</p></li>
<li><p>Adoção do {data.table} <span class="citation" data-cites="R-data.table">(Dowle e Srinivasan 2020)</span> para manipulações de <em>data frames</em>. A combinação {R6} + {data.table} torna a performance um dos pontos fortes do ecossistema.</p></li>
<li><p>Baixa dependência. Entretanto, os algortimos não são implementados no ecossistema, como no scikit-learn em Python. Para executar o XGBoost <span class="citation" data-cites="xgboost">(Chen et al. 2020)</span>, por exemplo, deve-se ter instalado o pacote que o implementa.</p></li>
</ul>
</section>
<section id="fora-do-escopo" class="level2" data-number="1.2">
<h2 data-number="1.2" class="anchored" data-anchor-id="fora-do-escopo"><span class="header-section-number">1.2</span> FORA DO ESCOPO</h2>
<p>Como se trata de uma introdução, as etapas de <em>tunning</em> e <em>resampling</em>, assim como funcionalidades como os <em>pipelines</em>, serão abordadas em postagens futuras. Neste post trataremos apenas os conceitos básicos do <em>workflow</em>.</p>
</section>
</section>
<section id="direto-ao-ponto" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> DIRETO AO PONTO</h1>
<p>Para conhecer as funcionalidades básicas do pacote, usaremos um dos <em>datasets</em> inclusos no R, o <code>swiss</code>. Esse <em>dataset</em> consiste na medição padronizada da fertilidade e indicadores socioeconômicos de 47 províncias da Suíça em 1888.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># criando dataframe</span></span>
<span id="cb1-2">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> swiss</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># overview</span></span>
<span id="cb1-5">skimr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">skim</span>(data)</span></code></pre></div></div>
<div class="cell-output-display">
<table class="caption-top table table-sm table-striped small">
<caption>Data summary</caption>
<tbody>
<tr class="odd">
<td style="text-align: left;">Name</td>
<td style="text-align: left;">data</td>
</tr>
<tr class="even">
<td style="text-align: left;">Number of rows</td>
<td style="text-align: left;">47</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Number of columns</td>
<td style="text-align: left;">6</td>
</tr>
<tr class="even">
<td style="text-align: left;">_______________________</td>
<td style="text-align: left;"></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Column type frequency:</td>
<td style="text-align: left;"></td>
</tr>
<tr class="even">
<td style="text-align: left;">numeric</td>
<td style="text-align: left;">6</td>
</tr>
<tr class="odd">
<td style="text-align: left;">________________________</td>
<td style="text-align: left;"></td>
</tr>
<tr class="even">
<td style="text-align: left;">Group variables</td>
<td style="text-align: left;">None</td>
</tr>
</tbody>
</table>
<p><strong>Variable type: numeric</strong></p>
<table class="caption-top table table-sm table-striped small">
<colgroup>
<col style="width: 19%">
<col style="width: 11%">
<col style="width: 15%">
<col style="width: 6%">
<col style="width: 6%">
<col style="width: 6%">
<col style="width: 6%">
<col style="width: 6%">
<col style="width: 6%">
<col style="width: 6%">
<col style="width: 6%">
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">skim_variable</th>
<th style="text-align: right;">n_missing</th>
<th style="text-align: right;">complete_rate</th>
<th style="text-align: right;">mean</th>
<th style="text-align: right;">sd</th>
<th style="text-align: right;">p0</th>
<th style="text-align: right;">p25</th>
<th style="text-align: right;">p50</th>
<th style="text-align: right;">p75</th>
<th style="text-align: right;">p100</th>
<th style="text-align: left;">hist</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Fertility</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">70.14</td>
<td style="text-align: right;">12.49</td>
<td style="text-align: right;">35.00</td>
<td style="text-align: right;">64.70</td>
<td style="text-align: right;">70.40</td>
<td style="text-align: right;">78.45</td>
<td style="text-align: right;">92.5</td>
<td style="text-align: left;">▂▂▇▇▅</td>
</tr>
<tr class="even">
<td style="text-align: left;">Agriculture</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">50.66</td>
<td style="text-align: right;">22.71</td>
<td style="text-align: right;">1.20</td>
<td style="text-align: right;">35.90</td>
<td style="text-align: right;">54.10</td>
<td style="text-align: right;">67.65</td>
<td style="text-align: right;">89.7</td>
<td style="text-align: left;">▃▃▆▇▅</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Examination</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">16.49</td>
<td style="text-align: right;">7.98</td>
<td style="text-align: right;">3.00</td>
<td style="text-align: right;">12.00</td>
<td style="text-align: right;">16.00</td>
<td style="text-align: right;">22.00</td>
<td style="text-align: right;">37.0</td>
<td style="text-align: left;">▅▇▆▂▂</td>
</tr>
<tr class="even">
<td style="text-align: left;">Education</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">10.98</td>
<td style="text-align: right;">9.62</td>
<td style="text-align: right;">1.00</td>
<td style="text-align: right;">6.00</td>
<td style="text-align: right;">8.00</td>
<td style="text-align: right;">12.00</td>
<td style="text-align: right;">53.0</td>
<td style="text-align: left;">▇▃▁▁▁</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Catholic</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">41.14</td>
<td style="text-align: right;">41.70</td>
<td style="text-align: right;">2.15</td>
<td style="text-align: right;">5.20</td>
<td style="text-align: right;">15.14</td>
<td style="text-align: right;">93.12</td>
<td style="text-align: right;">100.0</td>
<td style="text-align: left;">▇▁▁▁▅</td>
</tr>
<tr class="even">
<td style="text-align: left;">Infant.Mortality</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">19.94</td>
<td style="text-align: right;">2.91</td>
<td style="text-align: right;">10.80</td>
<td style="text-align: right;">18.15</td>
<td style="text-align: right;">20.00</td>
<td style="text-align: right;">21.70</td>
<td style="text-align: right;">26.6</td>
<td style="text-align: left;">▁▂▇▆▂</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Dentre as variáveis disponíveis, podemos escolher modelar a mortalidade infantil <code>Infant.Mortality</code> baseada nas demais features, que são:</p>
<ul>
<li><code>Fertility</code>: Medida de fertilidade. Assim como a mortalidade infantil, está escalonada entre 0-100.</li>
<li><code>Agriculture</code>: Percentual de homens envolvidos em agricultura como ocupação.</li>
<li><code>Examination</code>: Percentual de alistados bem avaliados nos exames do exército.</li>
<li><code>Education</code>: Percentual dos alistados com educação superior ao primário.</li>
<li><code>Catholic</code>: Percentual de católicos (em oposto a protestantes).</li>
</ul>
<p>O <em>workflow</em> começa pela criação da <code>task</code>, que é um objeto que contém os dados e informações sobre a tarefa a ser executada, como a variável de resposta<sup>2</sup> e as demais <em>features</em>, além de seus tipos. Como queremos realizar predições para uma variável numérica contínua, é uma tarefa de regressão.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># importando pacote</span></span>
<span id="cb2-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(mlr3verse)</span>
<span id="cb2-3"></span>
<span id="cb2-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># criando task</span></span>
<span id="cb2-5">task_swiss <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> TaskRegr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">new</span>(</span>
<span id="cb2-6">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">id =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"swiss"</span>,</span>
<span id="cb2-7">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">backend =</span> data,</span>
<span id="cb2-8">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">target =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Infant.Mortality"</span></span>
<span id="cb2-9">)</span></code></pre></div></div>
</div>
<p>Notou algo estranho? Como o {mlr3} trabalha com a classe R6, seu manuseio é mais parecido com outras linguagens orientadas a objeto, como o Python. Essa classe tem duas propriedades especiais:</p>
<ul>
<li><p>Métodos pertencem a objetos e são chamados na forma <code>objeto$metodo()</code> e não como funções genéricas como <code>foo()</code>. Esse é o paradigma OOP (programação orientada à objetos). No caso acima, não há uma função para criar uma <em>task</em> como <code>task_regr_new()</code>, mas um método <code>new()</code> associado ao objeto <code>TaskRegr</code>;</p></li>
<li><p>Os objetos da classe R6 são mutáveis, ou seja, eles são modificados no local (<em>modify-in-place</em>) e, portanto, têm semântica de referência. Isso significa que eles não são copiados a cada modificação, como os <em>data frames</em> comuns (classe S3), o que é um fator de alocação de memória e, consequentemente, lentidão.</p></li>
</ul>
<p>O efeito colateral é que isso não é muito familiar para pessoas que não conhecem outras linguagens de programação além do R e no início pode parecer pouco natural e confuso.</p>
<p>Criado o objeto, podemos acessá-lo para verificar e visualizar as informações ali contidas:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># verificando</span></span>
<span id="cb3-2">task_swiss</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
── &lt;TaskRegr&gt; (47x6) ───────────────────────────────────────────────────────────
• Target: Infant.Mortality
• Properties: -
• Features (5):
  • dbl (3): Agriculture, Catholic, Fertility
  • int (2): Education, Examination</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb5-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualizando</span></span>
<span id="cb5-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">autoplot</span>(task_swiss, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">type =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"pairs"</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_introducao-ao-mlr3-framework/index.pt_files/figure-html/task_cont-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Podemos ver que apenas a fertilidade é linearmente correlacionada com a mortalidade infantil — quanto maior a fertilidade, maior a mortalidade —, e podemos esperar que tenha maior peso nas predições. As demais variáveis não apresentam correlação linear significativa com a variável de resposta. Entretanto, apresentam correlação moderada ou forte entre si, mas não a ponto de apresentar colinearidade, o que demandaria tratamento.</p>
<p>Agora selecionamos o algoritmo<sup>3</sup> que será usado para treinar o modelo. Escolhi aqui o <em>XGBoost</em>. A lista completa pode ser acessada <a href="https://mlr3extralearners.mlr-org.com/articles/learners/learner_status.html">por essa lista estática</a>, <a href="https://mlr3extralearners.mlr-org.com/articles/learners/list_learners.html">por essa lista dinâmica</a> ou pela função <code>mlr3extralearners::list_mlr3learners()</code>. Como mencionado anteriormente, os algoritmos não são implementados pelo ecossistema do {mlr3} e nas listas citadas constam os pacotes onde os algoritmos foram implementados e que devem ser baixados para o seu uso.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb6-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># definindo o learner</span></span>
<span id="cb6-2">l_xgboost <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">lrn</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"regr.xgboost"</span>)</span>
<span id="cb6-3"></span>
<span id="cb6-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># checando</span></span>
<span id="cb6-5">l_xgboost</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
── &lt;LearnerRegrXgboost&gt; (regr.xgboost): Extreme Gradient Boosting ──────────────
• Model: -
• Parameters: nrounds=1000, nthread=1, verbose=0, verbosity=0
• Validate: NULL
• Packages: mlr3, mlr3learners, and xgboost
• Predict Types: [response]
• Feature Types: logical, integer, and numeric
• Encapsulation: none (fallback: -)
• Properties: hotstart_forward, importance, internal_tuning, missings, offset,
validation, and weights
• Other settings: use_weights = 'use'</code></pre>
</div>
</div>
<p>Vamos entender o que o objeto <code>l_xgboost</code> nos diz.</p>
<ol type="1">
<li><strong>Model</strong>: Vazio, pois ainda não há um modelo treinado;</li>
<li><strong>Parameters</strong>: Os hiperparâmetros a serem escolhidos e tunados para performance do modelo;</li>
<li><strong>Packages</strong>: O pacote onde o algorítmo foi implementado e de onde será importado pelo {mlr3};</li>
<li><strong>Predict Type</strong>: Se <code>response</code> a predição é retornada como 0 ou 1, no caso de classificação, ou num valor para variável de resposta, no caso de regressão — neste caso, será a mortalidade infantil escalonada no intervalo [1, 100]. Se “prob”, para classificação, a predição retorna a probabilidade entre 0 e 1;</li>
<li><strong>Feature Type</strong>: Os tipos de variáveis que o algoritmo é capaz de manipular. No caso do <em>XGBoost</em>, por exemplo, apenas variáveis numéricas podem ser utilizadas. Isso quer dizer que os fatores devem ser convertidos em valores binários (i.e.&nbsp;0 ou 1), ou seja, deve-se tornar a matriz esparsa — no caso de um fator <code>sexo</code>, por exemplo, na fase de pre-processamento seriam criadas as colunas <code>sexo.masculino</code>, com valores de 1 ou 0, e <code>sexo.feminino</code>, também com 1 ou 0;</li>
<li><strong>Properties</strong>: Propriedades e capacidades adicionais do algoritmo. Neste caso, o <strong>XGBoost</strong> possui a capacidade de computar e retornar os valores da importância das <em>features</em> para o modelo; a capacidade de trabalhar com dados faltantes (<em>missings</em>); a capacidade de computar e retornar os pesos associados às <em>features</em>.</li>
</ol>
<p>Como pode ver em <em>parameters</em>, não há nenhum hiperparâmetro configurado. Podemos acessá-los da seguinte maneira:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb8-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># acessando hiperparâmetros</span></span>
<span id="cb8-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">head</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.data.table</span>(l_xgboost<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>param_set))</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>                  id    class lower upper               levels nlevels
              &lt;char&gt;   &lt;char&gt; &lt;num&gt; &lt;num&gt;               &lt;list&gt;   &lt;num&gt;
1:             alpha ParamDbl     0   Inf               [NULL]     Inf
2:     approxcontrib ParamLgl    NA    NA           TRUE,FALSE       2
3:        base_score ParamDbl  -Inf   Inf               [NULL]     Inf
4:           booster ParamFct    NA    NA gbtree,gblinear,dart       3
5:         callbacks ParamUty    NA    NA               [NULL]     Inf
6: colsample_bylevel ParamDbl     0     1               [NULL]     Inf
   is_bounded special_vals   default storage_type    tags
       &lt;lgcl&gt;       &lt;list&gt;    &lt;list&gt;       &lt;char&gt;  &lt;list&gt;
1:      FALSE    &lt;list[0]&gt;         0      numeric   train
2:       TRUE    &lt;list[0]&gt;     FALSE      logical predict
3:      FALSE    &lt;list[0]&gt;       0.5      numeric   train
4:       TRUE    &lt;list[0]&gt;    gbtree    character   train
5:      FALSE    &lt;list[0]&gt; &lt;list[0]&gt;         list   train
6:       TRUE    &lt;list[0]&gt;         1      numeric   train</code></pre>
</div>
</div>
<p>Como o <em>tunning</em> de hiperparâmetros não é o assunto, vamos apenas configurar algumas coisas básicas para demonstrar como essas informações são acessadas e modificadas. O método para isso é o <code>param_set$values</code>:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb10-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># hiperparâmetros</span></span>
<span id="cb10-2">l_xgboost<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>param_set<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>values <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb10-3">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># mandando o algoritmo treinar mais lentamente</span></span>
<span id="cb10-4">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">eta =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.1</span>,</span>
<span id="cb10-5">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># limitando profundidade da árvore</span></span>
<span id="cb10-6">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">max_depth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>,</span>
<span id="cb10-7">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># quantidade máxima de iterações</span></span>
<span id="cb10-8">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">nrounds =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>,</span>
<span id="cb10-9">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># necessário com versões atuais do xgboost</span></span>
<span id="cb10-10">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">verbose =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb10-11">)</span>
<span id="cb10-12"></span>
<span id="cb10-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># verificando</span></span>
<span id="cb10-14">l_xgboost</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
── &lt;LearnerRegrXgboost&gt; (regr.xgboost): Extreme Gradient Boosting ──────────────
• Model: -
• Parameters: eta=0.1, max_depth=5, nrounds=100, verbose=1
• Validate: NULL
• Packages: mlr3, mlr3learners, and xgboost
• Predict Types: [response]
• Feature Types: logical, integer, and numeric
• Encapsulation: none (fallback: -)
• Properties: hotstart_forward, importance, internal_tuning, missings, offset,
validation, and weights
• Other settings: use_weights = 'use'</code></pre>
</div>
</div>
</section>
<section id="treino-e-predição" class="level1" data-number="3">
<h1 data-number="3"><span class="header-section-number">3</span> TREINO E PREDIÇÃO</h1>
<p>As próximas etapas são o treino e a predição — trataremos de <em>tunning</em> e <em>resampling</em> nos próximos posts. Primeiramente, o <em>split</em> do dataset em treino e teste. Para isso, usaremos a função <code>sample()</code> em dois métodos do objeto <code>task_swiss</code>, o <code>row_ids</code> e <code>nrow</code>. O primeiro enumera os índices de cada linha:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb12-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># método row_ids</span></span>
<span id="cb12-2">task_swiss<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>row_ids</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code> [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47</code></pre>
</div>
</div>
<p>Enquanto o segundo retorna a quantidade de linhas do dataset:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb14-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># método row_ids</span></span>
<span id="cb14-2">task_swiss<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>nrow</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] 47</code></pre>
</div>
</div>
<p>Assim, podemos selecionar os índice do dataset em duas amostras aleatórias:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb16-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># garantindo reprodutibilidade</span></span>
<span id="cb16-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">set.seed</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb16-3"></span>
<span id="cb16-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># índices para amostra treino</span></span>
<span id="cb16-5">train_set <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sample</span>(task_swiss<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>row_ids, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.7</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> task_swiss<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>nrow)</span>
<span id="cb16-6"></span>
<span id="cb16-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># índices para amostra teste</span></span>
<span id="cb16-8">test_set <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">setdiff</span>(task_swiss<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>row_ids, train_set)</span>
<span id="cb16-9"></span>
<span id="cb16-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># verificando</span></span>
<span id="cb16-11"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">head</span>(train_set)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1]  4 39  1 34 23 14</code></pre>
</div>
</div>
<p>Com os índices selecionados, podemos realizar nosso treino apenas nos 70% escolhidos aleatoriamente da amostra, sem copiar os dados e alocar memória desnecessariamente:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb18-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># treino</span></span>
<span id="cb18-2">l_xgboost<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">train</span>(task_swiss, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">row_ids =</span> train_set)</span>
<span id="cb18-3"></span>
<span id="cb18-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># verificando</span></span>
<span id="cb18-5">l_xgboost<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>model</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>##### xgb.Booster
call:
  xgboost::xgb.train(params = pv[names(pv) %in% formalArgs(xgboost::xgb.params)], 
    data = xgb_data, nrounds = pv$nrounds, evals = pv$evals, 
    custom_metric = pv$custom_metric, verbose = pv$verbose, print_every_n = pv$print_every_n, 
    early_stopping_rounds = pv$early_stopping_rounds, maximize = pv$maximize, 
    save_period = pv$save_period, save_name = pv$save_name, callbacks = pv$callbacks %??% 
        list())
# of features: 5 
# of rounds:  100 </code></pre>
</div>
</div>
<p>Como podemos ver, na primeira iteração o modelo obteve <em>rmse</em><sup>4</sup>. de 17.7, o que é alto considerando a escala [1-100] da mortalidade infantil. Ao longo do treino, o erro foi reduzido até 0.03, o que não significa que sua performance permaneça nesse nível quando extrapolado para a amostra teste ou novos dados, mas é um bom sinal. O esperado é que a performance real do modelo, após ser aplicado à amostra teste, fique entre a iteração inicial e final. Se ficar <em>melhor</em> do que a performance do teste, alguma coisa certamente está errada.</p>
<p>Vamos verificar qual a performance real após realizarmos as predições na amostra teste. Primeiro, passamos os índices de teste ao objeto do <em>learner</em> com o modelo e chamamos o método <code>predict()</code> para obter as predições.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb20-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># predições</span></span>
<span id="cb20-2">preds <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> l_xgboost<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">predict</span>(task_swiss, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">row_ids =</span> test_set)</span>
<span id="cb20-3"></span>
<span id="cb20-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># verificando</span></span>
<span id="cb20-5">preds</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
── &lt;PredictionRegr&gt; for 15 observations: ───────────────────────────────────────
 row_ids truth response
       8  24.9 19.90614
      11  24.5 19.05639
      13  19.1 18.36767
     ---   ---      ---
      40  20.5 20.66445
      43  20.0 21.60975
      47  19.3 19.03525</code></pre>
</div>
</div>
<p>No objeto com as predições, são armazenados tanto os valores preditos pelo modelo <code>response</code> quanto os valores da amostra <code>truth</code>. Esses valores então podem ser comparados para calcular a acurácia do modelo através do método <code>score()</code>:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb22" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb22-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># acurácia</span></span>
<span id="cb22-2">preds<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">score</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb22-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">msr</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"regr.rmse"</span>),</span>
<span id="cb22-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">msr</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"regr.mae"</span>)</span>
<span id="cb22-5">))</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>regr.rmse  regr.mae 
 2.419703  1.889676 </code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb24" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb24-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualizando</span></span>
<span id="cb24-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">autoplot</span>(preds)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_introducao-ao-mlr3-framework/index.pt_files/figure-html/accuracy-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>A <em>rmse</em> do modelo na amostra teste ficou em apenas 2.59 unidades, o que é uma performance muito boa!</p>
</section>
<section id="interpretação" class="level1" data-number="4">
<h1 data-number="4"><span class="header-section-number">4</span> INTERPRETAÇÃO</h1>
<p>Como o XGBoost possui a propriedade de <em>feature importance</em>, podemos extraí-la com o método <code>importance()</code>:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb25" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb25-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># feature importance</span></span>
<span id="cb25-2">l_xgboost<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">importance</span>()</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>  Fertility    Catholic Agriculture Examination   Education 
 0.43614832  0.37091549  0.09587702  0.07577311  0.02128606 </code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb27" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb27-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualizando</span></span>
<span id="cb27-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">barplot</span>(l_xgboost<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">importance</span>())</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_introducao-ao-mlr3-framework/index.pt_files/figure-html/importance-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Entretanto, somente a importância não nos descreve o relacionamento da <em>feature</em> com a variável de resposta, nem mesmo sua direção, sendo uma medida muito pobre de interpretação. Discutiremos técnicas de interpretação em outras postagens.</p>



</section>


<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">Referências</h2><div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-R-R6" class="csl-entry">
Chang, Winston. 2020. <em>R6: Encapsulated Classes with Reference Semantics</em>. <a href="https://CRAN.R-project.org/package=R6">https://CRAN.R-project.org/package=R6</a>.
</div>
<div id="ref-xgboost" class="csl-entry">
Chen, Tianqi, Tong He, Michael Benesty, Vadim Khotilovich, Yuan Tang, Hyunsu Cho, Kailong Chen, et al. 2020. <em>xgboost: Extreme Gradient Boosting</em>. <a href="https://CRAN.R-project.org/package=xgboost">https://CRAN.R-project.org/package=xgboost</a>.
</div>
<div id="ref-R-data.table" class="csl-entry">
Dowle, Matt, e Arun Srinivasan. 2020. <em>data.table: Extension of ‘data.frame‘</em>. <a href="https://CRAN.R-project.org/package=data.table">https://CRAN.R-project.org/package=data.table</a>.
</div>
<div id="ref-mlr3" class="csl-entry">
Lang, Michel, Martin Binder, Jakob Richter, Patrick Schratz, Florian Pfisterer, Stefan Coors, Quay Au, Giuseppe Casalicchio, Lars Kotthoff, e Bernd Bischl. 2019. <span>«<span>mlr3</span>: A modern object-oriented machine learning framework in <span>R</span>»</span>. <em>Journal of Open Source Software</em>, dezembro. <a href="https://doi.org/10.21105/joss.01903">https://doi.org/10.21105/joss.01903</a>.
</div>
<div id="ref-R" class="csl-entry">
R Core Team. 2020. <em>R: A Language and Environment for Statistical Computing</em>. Vienna, Austria: R Foundation for Statistical Computing. <a href="https://www.R-project.org/">https://www.R-project.org/</a>.
</div>
</div></section><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>No {mlr3} é chamado de <em>learner</em>.↩︎</p></li>
<li id="fn2"><p>Também chamada de <em>output feature</em> ou <em>label</em>.↩︎</p></li>
<li id="fn3"><p>Aqui trabalharemos apenas com um, mas em posts futuros utilizaremos de diversas formas — pipelines com diferentes <em>features</em>, <em>stacking</em> etc.↩︎</p></li>
<li id="fn4"><p>Raiz do Erro Médio Quadrático↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>machine learning</category>
  <guid>/pt/posts/202011_introducao-ao-mlr3-framework/</guid>
  <pubDate>Sun, 27 Dec 2020 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202011_introducao-ao-mlr3-framework/img/mlr3.png" medium="image" type="image/png" height="73" width="144"/>
</item>
<item>
  <title>Effect Size e a desigualdade de renda entre gêneros em Vitória</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202011_desigualdade-de-renda-entre-generos/</link>
  <description><![CDATA[ 






<p>Ainda há um bocado de coisas para cobrir nessa série de “inferência 101” e, para continuar os estudos, trouxe a base da RAIS (Relação Anual de Informações Sociais) de 2017<sup>1</sup>. Com ela, vamos introduzir o conceito de <em>effect size</em> e de quebra analisar a desigualdade de gênero em nossa querida capital Vitória.</p>
<section id="os-dados" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> OS DADOS</h1>
<p>Coloco aqui duas opções para buscar esses dados:</p>
<ol type="1">
<li>Manualmente, navegando em ftp://ftp.mtps.gov.br/pdet/microdados/RAIS/2017/ES2017.7z</li>
<li>De forma programática via Python.</li>
</ol>
<p>Escolhi o Python aqui porque não conheço um pacote no CRAN<sup>2</sup> que lide com compressão 7zip — se souber, por favor, indique nos comentários! Se escolher baixar e descompactar via script, podemos executar códigos Python através do R com o {reticulate}:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ativando python</span></span>
<span id="cb1-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(reticulate)</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># escolhendo o ambiente</span></span>
<span id="cb1-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">use_condaenv</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"base"</span>)</span></code></pre></div></div>
</div>
<p>Depois de ativar o ambiente Python, vamos baixar e descompactar a base de dados para uma pasta chamada <code>data</code> dentro do diretório do nosso projeto. Se você baixou manualmente, crie a pasta <code>data</code> e cole o arquivo lá.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># importando módulos</span></span>
<span id="cb2-2">import urllib.request as rq</span>
<span id="cb2-3">import py7zr</span>
<span id="cb2-4"></span>
<span id="cb2-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># baixando dados</span></span>
<span id="cb2-6">url <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ftp://ftp.mtps.gov.br/pdet/microdados/RAIS/2017/ES2017.7z"</span></span>
<span id="cb2-7"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rq.urlretrieve</span>(url, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data/rais.7z"</span>)</span>
<span id="cb2-8"></span>
<span id="cb2-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># descompactando</span></span>
<span id="cb2-10">rais <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">py7zr.SevenZipFile</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data/rais.7z"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mode=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"r"</span>)</span>
<span id="cb2-11"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rais.extractall</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">path=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data/"</span>)</span>
<span id="cb2-12"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rais.close</span>()</span></code></pre></div></div>
</div>
<p>Vamos precisar também da tabela do Código Brasileiro de Ocupações para entendermos as profissões das pessoas analisadas. Depois de fazer o <a href="http://www.mtecbo.gov.br/cbosite/pages/downloads.jsf">download</a>, coloque na pasta <code>data</code> junto com o arquivo da Rais.</p>
<p>Com os dados baixados, vamos importá-los, conhecê-los e começar a extrair sentido deles.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># pacotes</span></span>
<span id="cb3-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(tidyverse)</span>
<span id="cb3-3"></span>
<span id="cb3-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># importando a Rais</span></span>
<span id="cb3-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># como os dados possuem caracteres especiais (acentos),</span></span>
<span id="cb3-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># é necessário alterar o encoding para LATIN1</span></span>
<span id="cb3-7">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read_delim</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data/ES2017.txt"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">delim =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">";"</span>,</span>
<span id="cb3-8">                  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">locale =</span> readr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">locale</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">encoding =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"LATIN1"</span>),</span>
<span id="cb3-9">                  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col_names =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">FALSE</span>,</span>
<span id="cb3-10">                  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">skip =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb3-11"></span>
<span id="cb3-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># escolhendo as variáveis de interesse e renomeando colunas</span></span>
<span id="cb3-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># também vamos precisar substituir vírgulas por pontos</span></span>
<span id="cb3-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># se preferir, realize essa etapa via encoding</span></span>
<span id="cb3-15">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb3-16">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">select</span>(X8, X20, X26, X31, X35, X38) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb3-17">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rename</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cod_profissao"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> X8,</span>
<span id="cb3-18">         <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"idade"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> X20,</span>
<span id="cb3-19">         <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"municipio"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> X26,</span>
<span id="cb3-20">         <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cod_raca"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> X31,</span>
<span id="cb3-21">         <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rem_media"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> X35,</span>
<span id="cb3-22">         <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"sexo"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> X38) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb3-23">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mutate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">rem_media =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.numeric</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_replace_all</span>(rem_media, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">","</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"."</span>)),</span>
<span id="cb3-24">         <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sexo =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.integer</span>(sexo),</span>
<span id="cb3-25">         <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">idade =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.integer</span>(idade))</span>
<span id="cb3-26"></span>
<span id="cb3-27"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># importando tabela CBO</span></span>
<span id="cb3-28">cbo <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read_delim</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"data/CBO2002.csv"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">delim =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">";"</span>,</span>
<span id="cb3-29">                 <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">locale =</span> readr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">locale</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">encoding =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"LATIN1"</span>),</span>
<span id="cb3-30">                 <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col_names =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cod_profissao"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"profissao"</span>),</span>
<span id="cb3-31">                 <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col_types =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"d"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"c"</span>),</span>
<span id="cb3-32">                 <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">skip =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb3-33"></span>
<span id="cb3-34"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># juntando ambas tabelas e filtrando apenas Vitória</span></span>
<span id="cb3-35">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb3-36">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">inner_join</span>(cbo, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">by =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cod_profissao"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb3-37">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">filter</span>(municipio <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">320530</span>)</span></code></pre></div></div>
</div>
<p>Nossos dados agora têm essa cara:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualizando dataframe</span></span>
<span id="cb4-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">head</span>(data)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code># A tibble: 6 × 7
  cod_profissao idade municipio cod_raca rem_media  sexo profissao              
          &lt;dbl&gt; &lt;int&gt;     &lt;dbl&gt; &lt;chr&gt;        &lt;dbl&gt; &lt;int&gt; &lt;chr&gt;                  
1        717020    42    320530 04            909.     1 Servente de obras      
2        715210    28    320530 02           1167.     1 Pedreiro               
3        717020    63    320530 02           1022.     1 Servente de obras      
4        717020    59    320530 02            880.     1 Servente de obras      
5        517410    29    320530 08           1880.     1 Porteiro de edifícios  
6        715115    61    320530 08              0      1 Operador de escavadeira</code></pre>
</div>
</div>
</section>
<section id="diferenças-no-agregado" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> DIFERENÇAS NO AGREGADO</h1>
<p>Primeiramente, vamos tentar entender o que temos em mãos em termos de amostra:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb6-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># quantidade de homens e mulheres</span></span>
<span id="cb6-2">data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb6-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(sexo),</span>
<span id="cb6-4">             <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(sexo),</span>
<span id="cb6-5">             <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> scales<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">number</span>(..count..))) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-6">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_bar</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_label</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">stat =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"count"</span>,</span>
<span id="cb6-8">             <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">show.legend =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">FALSE</span>,</span>
<span id="cb6-9">             <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey30"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_y_continuous</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> scales<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>number) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_fill_manual</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">name =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"sexo"</span>,</span>
<span id="cb6-12">                    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homens"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulheres"</span>),</span>
<span id="cb6-13">                    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lightblue"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"salmon"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-14">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>,</span>
<span id="cb6-15">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"quantidade"</span>,</span>
<span id="cb6-16">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"QUANTIDADE DE HOMENS E MULHERES"</span>,</span>
<span id="cb6-17">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"amostra da cidade de Vitória-ES"</span>,</span>
<span id="cb6-18">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">caption =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fonte: Rais/2017"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-19">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-20">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">text =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">family =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Century Gothic"</span>,</span>
<span id="cb6-21">                            <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey30"</span>),</span>
<span id="cb6-22">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">axis.text.x =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_blank</span>())</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/barplot-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Temos praticamente a mesma quantidade de homens e mulheres em nossa amostra. Podemos, antes de realizar qualquer outra análise e aplicar quaisquer filtros, calcular a remuneração média:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb7-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># remuneração média</span></span>
<span id="cb7-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aggregate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data, rem_media <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> sexo, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">FUN =</span> mean)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>  sexo rem_media
1    1  3925.187
2    2  2846.727</code></pre>
</div>
</div>
<p>No agregado, a renda média dos homens em Vitória é quase 40% maior que a das mulheres e mesmo quando consideramos a mediana ainda é quase 30% maior. Podemos verificar se essa diferença é significativa com um teste t, mas antes devemos verificar se seus pré-requisitos são atendidos.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb9-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># quartis</span></span>
<span id="cb9-2">boxplot_data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb9-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">group_by</span>(sexo) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb9-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">summarise</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">stats =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">fivenum</span>(rem_media))) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb9-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">unnest</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">cols =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(stats))</span>
<span id="cb9-6"></span>
<span id="cb9-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># boxplot</span></span>
<span id="cb9-8">data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb9-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(</span>
<span id="cb9-10">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(sexo),</span>
<span id="cb9-11">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> rem_media,</span>
<span id="cb9-12">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(sexo)</span>
<span id="cb9-13">  )) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-14">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_boxplot</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-15">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_label</span>(</span>
<span id="cb9-16">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> boxplot_data,</span>
<span id="cb9-17">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(sexo), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> stats, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> scales<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">number</span>(stats)),</span>
<span id="cb9-18">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">nudge_x =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>,</span>
<span id="cb9-19">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">show.legend =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">FALSE</span></span>
<span id="cb9-20">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-21">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coord_cartesian</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">ylim =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5000</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-22">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_y_continuous</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> scales<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>number) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-23">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_fill_manual</span>(</span>
<span id="cb9-24">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">name =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"sexo"</span>,</span>
<span id="cb9-25">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homens"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulheres"</span>),</span>
<span id="cb9-26">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lightblue"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"salmon"</span>)</span>
<span id="cb9-27">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-28">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(</span>
<span id="cb9-29">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>,</span>
<span id="cb9-30">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"remuneração média"</span>,</span>
<span id="cb9-31">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DISTRIBUIÇÃO DA REMUNERAÇÃO MÉDIA ENTRE HOMENS E MULHERES"</span>,</span>
<span id="cb9-32">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"amostra da cidade de Vitória-ES"</span>,</span>
<span id="cb9-33">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">caption =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fonte: Rais/2017"</span></span>
<span id="cb9-34">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-35">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-36">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(</span>
<span id="cb9-37">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">text =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(</span>
<span id="cb9-38">      <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">family =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Century Gothic"</span>,</span>
<span id="cb9-39">      <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey30"</span></span>
<span id="cb9-40">    ),</span>
<span id="cb9-41">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">axis.text.x =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_blank</span>()</span>
<span id="cb9-42">  )</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/boxplot-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<section id="verificando-a-hipótese-da-normalidade" class="level2" data-number="2.1">
<h2 data-number="2.1" class="anchored" data-anchor-id="verificando-a-hipótese-da-normalidade"><span class="header-section-number">2.1</span> VERIFICANDO A HIPÓTESE DA NORMALIDADE</h2>
<p>Sabemos que o teste t é um teste paramétrico e <a href="https://datamares.netlify.app/post/2020-11-20-comparando-variancias/">já discutimos anteriormente</a> que, quando os dados não seguem uma distribuição próxima da normal, precisamos realizar transformações para alcançar a normalidade.</p>
<p>Você pode pensar que, com uma amostra desse tamanho, o Teorema Central do Limite garante a hipótese da normalidade. Entretanto, principalmente em dados com muitos <em>outliers</em> extremos, o tamanho da amostra necessária para convergência pode ser absurda, invalidando, na prática, a afirmação a partir da TCL.<sup>3</sup>. Portanto, defendo que devemos, sim, ter cuidado com essa hipótese mesmo lidando com grandes amostras.</p>
<p>A primeira análise nesse sentido é a visual. Podemos verificar que a distribuição apresenta <em>fat tail</em> e passa longe de uma normal, tanto pelo histograma quanto pelo <em>Q-Q plot</em>.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb10-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># histograma</span></span>
<span id="cb10-2">data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb10-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(</span>
<span id="cb10-4">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> rem_media,</span>
<span id="cb10-5">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(sexo)</span>
<span id="cb10-6">  )) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb10-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_histogram</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">binwidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">500</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb10-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coord_cartesian</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xlim =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20000</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb10-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_y_continuous</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> scales<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>number) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb10-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_x_continuous</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> scales<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>number) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb10-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_fill_manual</span>(</span>
<span id="cb10-12">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">name =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"sexo"</span>,</span>
<span id="cb10-13">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homens"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulheres"</span>),</span>
<span id="cb10-14">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lightblue"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"salmon"</span>)</span>
<span id="cb10-15">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb10-16">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(</span>
<span id="cb10-17">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"remuneração média"</span>,</span>
<span id="cb10-18">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"quantidade"</span>,</span>
<span id="cb10-19">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DISTRIBUIÇÃO DA REMUNERAÇÃO MÉDIA ENTRE HOMENS E MULHERES"</span>,</span>
<span id="cb10-20">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"amostra da cidade de Vitória-ES"</span>,</span>
<span id="cb10-21">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">caption =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fonte: Rais/2017"</span></span>
<span id="cb10-22">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb10-23">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb10-24">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">text =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(</span>
<span id="cb10-25">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">family =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Century Gothic"</span>,</span>
<span id="cb10-26">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey30"</span></span>
<span id="cb10-27">  ))</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/qqplot-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb11-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># qqplot</span></span>
<span id="cb11-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># os dados estarão em cima da reta caso sejam distribuídos normalmente</span></span>
<span id="cb11-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">par</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mfrow =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>))</span>
<span id="cb11-4"></span>
<span id="cb11-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">qqnorm</span>(data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media,</span>
<span id="cb11-6">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Q-Q PLOT: HOMENS"</span>)</span>
<span id="cb11-7"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">qqline</span>(data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media)</span>
<span id="cb11-8"></span>
<span id="cb11-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">qqnorm</span>(data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media,</span>
<span id="cb11-10">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Q-Q PLOT: MULHERES"</span>)</span>
<span id="cb11-11"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">qqline</span>(data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/qqplot-2.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Podemos realizar um experimento para verificar a velocidade de convergência para a distribuição normal. Calculando a distribuição de mil médias de 30 homens cada, se ela apresentar distribuição próxima da normal poderemos assumir a normalidade e prosseguir com o trabalho. Caso contrário, precisaremos tratar a base.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb12-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># garantir reprodutibilidade</span></span>
<span id="cb12-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">set.seed</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb12-3"></span>
<span id="cb12-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># quantidade de amostras</span></span>
<span id="cb12-5">n <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span></span>
<span id="cb12-6"></span>
<span id="cb12-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># médias</span></span>
<span id="cb12-8">medias <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(<span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">NA</span>, n)</span>
<span id="cb12-9"></span>
<span id="cb12-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># tirando amostras e calculando as médias</span></span>
<span id="cb12-11"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span>n) {</span>
<span id="cb12-12">  medias[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(</span>
<span id="cb12-13">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sample</span>(data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media,</span>
<span id="cb12-14">      <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">replace =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span></span>
<span id="cb12-15">    )</span>
<span id="cb12-16">  )</span>
<span id="cb12-17">}</span>
<span id="cb12-18"></span>
<span id="cb12-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># qqplot</span></span>
<span id="cb12-20"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">qqnorm</span>(medias)</span>
<span id="cb12-21"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">qqline</span>(medias)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/simulacao-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb13-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualização</span></span>
<span id="cb13-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hist</span>(medias,</span>
<span id="cb13-3">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"DISTRIBUIÇÃO DAS MÉDIAS AMOSTRAIS"</span>,</span>
<span id="cb13-4">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xlab =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"médias"</span>,</span>
<span id="cb13-5">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sub =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"seed = 1"</span></span>
<span id="cb13-6">)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/simulacao-2.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Ufa! O TCL se manteve em nossos dados e tanto o <em>Q-Q plot</em> quanto o histograma demonstraram distribuição próxima da normal, nos habilitando a prosseguir com os testes.</p>
</section>
<section id="teste-t" class="level2" data-number="2.2">
<h2 data-number="2.2" class="anchored" data-anchor-id="teste-t"><span class="header-section-number">2.2</span> TESTE T</h2>
<p>Agora que garantimos os pré-requisitos, vamos testar se a diferença entre as médias é significativa. Para isso, vamos usar o pacote {infer}:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb14-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># transformando variável `sexo`</span></span>
<span id="cb14-2">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb14-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mutate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sexo =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ifelse</span>(sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span>))</span>
<span id="cb14-4"></span>
<span id="cb14-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># carregando pacote</span></span>
<span id="cb14-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(infer)</span>
<span id="cb14-7"></span>
<span id="cb14-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando estatística t</span></span>
<span id="cb14-9">estatistica_calculada <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb14-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">specify</span>(rem_media <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> sexo) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb14-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">calculate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">stat =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"t"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">order =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span>))</span>
<span id="cb14-12"></span>
<span id="cb14-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># gerando distribuição nula</span></span>
<span id="cb14-14">distr_nula <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb14-15">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">specify</span>(rem_media <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> sexo) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb14-16">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hypothesise</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">null =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"independence"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb14-17">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">generate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">reps =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">type =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"permute"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb14-18">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">calculate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">stat =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"t"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">order =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span>))</span>
<span id="cb14-19"></span>
<span id="cb14-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualizando distribuição nula e estatística do teste</span></span>
<span id="cb14-21">distr_nula <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb14-22">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">visualize</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">method =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"both"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb14-23">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shade_p_value</span>(estatistica_calculada, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">direction =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"greater"</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/teste t agg-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb15-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando p-valor</span></span>
<span id="cb15-2">distr_nula <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb15-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">get_p_value</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">obs_stat =</span> estatistica_calculada, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">direction =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"greater"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code># A tibble: 1 × 1
  p_value
    &lt;dbl&gt;
1       0</code></pre>
</div>
</div>
<p>Com p-valor de 0% e uma estatística calculada a <em>quilômetros</em> da distribuição nula, fica bem claro que a diferença é significativa. Entretanto, <strong>isso não quer dizer que ela seja grande ou pequena</strong>. É aí que entram os indicadores de tamanho de efeito.</p>
</section>
<section id="tamanho-do-efeito-cohens-d" class="level2" data-number="2.3">
<h2 data-number="2.3" class="anchored" data-anchor-id="tamanho-do-efeito-cohens-d"><span class="header-section-number">2.3</span> TAMANHO DO EFEITO: <em>Cohen’s D</em></h2>
<p><a href="https://datamares.netlify.app/post/2020-11-06-chutou-ou-n%C3%A3o-chutou-o-teste-t-para-uma-amostra/">Nesse post</a> eu mostrei que o tamanho da amostra é determinante para o teste t e tenderemos a rejeitar a hipótese nula quanto maior for a amostra. Aqui, se tratando de mais de 140 mil observações para cada sexo, dificilmente essas diferenças não seriam significativas. Para complementar esse teste, podemos calcular o <strong>tamanho do efeito</strong> com a estatística <em>d de Cohen</em>.</p>
<p>Muito usada no campo da saúde em experimentos com testes t pareados, quando é preciso definir o efeito de uma ação em um grupo de tratamento em relação ao grupo de controle, a estatística <em>d de Cohen</em> é um indicador de diferenças padronizadas e é particularmente valiosa para quantificar o efeito de uma intervenção, seja em políticas públicas ou em ações de marketing na sua empresa. Isso quer dizer que ele enfatiza o tamanho da diferença entre as médias, sem confundir com a questão do tamanho da amostra.</p>
<p>Por ser padronizado (i.e.&nbsp;não é medido na unidade da amostra, aqui em Reais, mas sim em desvios-padrões) pode ser facilmente comparado à diferentes experimentos. Sua forma de cálculo é a seguinte: <img src="https://latex.codecogs.com/png.latex?%20d%20=%20%5Cfrac%7B%5Ctext%7Bm%C3%A9dia%20do%20grupo%20experimental%7D%20-%20%5Ctext%7Bm%C3%A9dia%20do%20grupo%20de%20controle%7D%7D%7B%5Ctext%7Bdesvio%20padr%C3%A3o%20agrupado%7D%7D%20"></p>
<p>Para duas médias fixadas, quanto menor for o desvio padrão, maior será a estatística <em>d</em>. Por outro lado, quanto maior for o desvio padrão, menor será o tamanho do efeito.</p>
<p>No R, vamos utilizar o pacote {effectsize}:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb17-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># carregando pacote</span></span>
<span id="cb17-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(effectsize)</span>
<span id="cb17-3"></span>
<span id="cb17-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando a diferença padronizada</span></span>
<span id="cb17-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cohens_d</span>(</span>
<span id="cb17-6">  data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span>, ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media,</span>
<span id="cb17-7">  data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span>, ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media</span>
<span id="cb17-8">)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>Cohen's d |       95% CI
------------------------
0.26      | [0.25, 0.26]

- Estimated using pooled SD.</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb19" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb19-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># interpretando a estatística d</span></span>
<span id="cb19-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">interpret_cohens_d</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.26</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gignac2016"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] "small"
(Rules: gignac2016)</code></pre>
</div>
</div>
<p>Com uma estatística <img src="https://latex.codecogs.com/png.latex?d=0.26">, a diferença é considerada pequena. Na escala de Gignac &amp; Szodorai (2016):</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb21-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rules</span>(</span>
<span id="cb21-2">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.2</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.41</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.63</span>),</span>
<span id="cb21-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"muito pequeno"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"pequeno"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"moderado"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grande"</span>),</span>
<span id="cb21-4">  <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gignac &amp; Szodorai (2016)"</span></span>
<span id="cb21-5">)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code># Reference Thresholds (Gignac &amp; Szodorai (2016))

           Label            
----------------------------
       muito pequeno &lt;=  0.2
 0.2 &lt;    pequeno    &lt;= 0.41
0.41 &lt;   moderado    &lt;= 0.63
0.63 &lt;    grande            </code></pre>
</div>
</div>
<p>Em uma situação de equidade, 50% das mulheres teriam remuneração abaixo do que o homem médio, enquanto a outra metade teria remuneração superior.</p>
<p>Um efeito de 0.26, equivale a dizer que 62% das mulheres teriam remuneração abaixo da remuneração do homem médio em Vitória, enquanto apenas 38% receberiam mais do que o homem médio<sup>4</sup>.</p>
<p>Claro que analisar o agregado significa olhar para a média. Como serão essas diferenças dentre as diversas profissões?</p>
</section>
</section>
<section id="diferenças-entre-profissões" class="level1" data-number="3">
<h1 data-number="3"><span class="header-section-number">3</span> DIFERENÇAS ENTRE PROFISSÕES</h1>
<p>Podemos estender nossa análise verificando em quais profissões há maior e menor divergência na remuneração.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb23" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb23-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># criando dataframe de diferenças na remuneração</span></span>
<span id="cb23-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># profissões selecionadas</span></span>
<span id="cb23-3">diferencas <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb23-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mutate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">profissao =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">case_when</span>(</span>
<span id="cb23-5">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Advogado"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Advogados"</span>,</span>
<span id="cb23-6">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Engenheiro"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Engenheiros"</span>,</span>
<span id="cb23-7">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Médico"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Médicos"</span>,</span>
<span id="cb23-8">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gerente"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gerentes"</span>,</span>
<span id="cb23-9">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Dirigentes|Diretor"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Diretores"</span>,</span>
<span id="cb23-10">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Economista"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Economistas"</span>,</span>
<span id="cb23-11">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Analista"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Analistas"</span>,</span>
<span id="cb23-12">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Técnico"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Técnicos"</span>,</span>
<span id="cb23-13">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Enfermeiro"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Enfermeiros"</span>,</span>
<span id="cb23-14">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao,</span>
<span id="cb23-15">      <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"(Professor)(.*)(ensino superior)(.*)"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Prof. Ensino Superior"</span>,</span>
<span id="cb23-16">    <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Outros"</span></span>
<span id="cb23-17">  )) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb23-18">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">group_by</span>(sexo, profissao) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb23-19">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">summarise</span>(</span>
<span id="cb23-20">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">renda =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(rem_media),</span>
<span id="cb23-21">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">n =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">n</span>()</span>
<span id="cb23-22">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb23-23">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ungroup</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb23-24">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">pivot_wider</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">names_from =</span> sexo, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values_from =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(renda, n)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb23-25">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mutate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">dif =</span> renda_homem <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> renda_mulher) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb23-26">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">arrange</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">desc</span>(dif))</span>
<span id="cb23-27"></span>
<span id="cb23-28"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualizando tabela</span></span>
<span id="cb23-29">diferencas</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code># A tibble: 11 × 6
   profissao             renda_homem renda_mulher n_homem n_mulher   dif
   &lt;chr&gt;                       &lt;dbl&gt;        &lt;dbl&gt;   &lt;int&gt;    &lt;int&gt; &lt;dbl&gt;
 1 Diretores                  13559.        6994.     393      228 6565.
 2 Engenheiros                13997.       10446.    1850      409 3550.
 3 Advogados                   8625.        5658.     244      342 2966.
 4 Economistas                 8251.        5576.     168      184 2675.
 5 Gerentes                    6599.        4463.    3659     3477 2136.
 6 Técnicos                    4790.        2731.   10434    10493 2060.
 7 Analistas                   5647.        4039.    2931     1869 1607.
 8 Prof. Ensino Superior       7384.        6470.    1248     1062  914.
 9 Outros                      3427.        2606.  121362   120682  820.
10 Médicos                     8232.        7704.    1840     1984  528.
11 Enfermeiros                 4166.        4439.     540     2139 -273.</code></pre>
</div>
</div>
<p>Dentre as profissões selecionadas, apenas a de enfermagem tem remuneração média maior para as mulheres. Os homens levam vantagem em todos os demais. Colocando em gráfico:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb25" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb25-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># gráfico</span></span>
<span id="cb25-2">diferenca_media <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3925.18</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2846.727</span></span>
<span id="cb25-3">setas <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">tibble</span>(</span>
<span id="cb25-4">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x1 =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.9</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">9.6</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">8.3</span>),</span>
<span id="cb25-5">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x2 =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.5</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">9.2</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">7.4</span>),</span>
<span id="cb25-6">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y1 =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2000</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6000</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>),</span>
<span id="cb25-7">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y2 =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1200</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6300</span>, <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">270</span>)</span>
<span id="cb25-8">)</span>
<span id="cb25-9"></span>
<span id="cb25-10">diferencas <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb25-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">reorder</span>(profissao, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">desc</span>(profissao)), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> dif)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_hline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">yintercept =</span> diferenca_media, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-13">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_segment</span>(</span>
<span id="cb25-14">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> diferenca_media, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">yend =</span> dif, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xend =</span> profissao),</span>
<span id="cb25-15">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> .<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span></span>
<span id="cb25-16">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-17">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> renda_homem), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#F06337"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-18">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_y_continuous</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> scales<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>number) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-19">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_size_continuous</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> scales<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>number, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">range =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-20">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">annotate</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"text"</span>,</span>
<span id="cb25-21">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2000</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span>,</span>
<span id="cb25-22">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"a diferença média é de</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">R$ 1.078"</span></span>
<span id="cb25-23">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-24">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">annotate</span> (<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"text"</span>,</span>
<span id="cb25-25">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">10.5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5500</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span>,</span>
<span id="cb25-26">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"posições de executivo"</span>,</span>
<span id="cb25-27">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"é onde a diferença é maior"</span>,</span>
<span id="cb25-28">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"e é também onde estão</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">os maiores salários"</span>,</span>
<span id="cb25-29">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sep =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span></span>
<span id="cb25-30">  )) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-31">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">annotate</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"text"</span>,</span>
<span id="cb25-32">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">250</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span>,</span>
<span id="cb25-33">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(</span>
<span id="cb25-34">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dentre essas profissões,"</span>,</span>
<span id="cb25-35">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"apenas as enfermeiras"</span>,</span>
<span id="cb25-36">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"recebem mais que homens"</span>,</span>
<span id="cb25-37">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sep =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>),</span>
<span id="cb25-38">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-39">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_curve</span>(</span>
<span id="cb25-40">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> setas, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> x1, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> y1, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xend =</span> x2, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">yend =</span> y2),</span>
<span id="cb25-41">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">arrow =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">arrow</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">length =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">unit</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.1</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"inch"</span>)),</span>
<span id="cb25-42">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">curvature =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span></span>
<span id="cb25-43">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-44">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coord_flip</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-45">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(</span>
<span id="cb25-46">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">""</span>,</span>
<span id="cb25-47">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"diferença salarial em R$"</span>,</span>
<span id="cb25-48">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rem. média</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">(homem)"</span>,</span>
<span id="cb25-49">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"desigualdade de gênero"</span>,</span>
<span id="cb25-50">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"as disparidades salarias evidenciam o longo caminho na superação da colocação"</span>,</span>
<span id="cb25-51">    <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"da mulher como profissional de segunda categoria no mercado de trabalho"</span>,</span>
<span id="cb25-52">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sep =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>),</span>
<span id="cb25-53">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">caption =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"fonte: Rais 2017, Vitória/ES | elaboração: Alberson Miranda"</span></span>
<span id="cb25-54">  ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb25-55">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(</span>
<span id="cb25-56">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">panel.grid =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_blank</span>(),</span>
<span id="cb25-57">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.background =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_rect</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#002538"</span>),</span>
<span id="cb25-58">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">panel.background =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_rect</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#002538"</span>),</span>
<span id="cb25-59">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">text =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(</span>
<span id="cb25-60">      <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">family =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Century Gothic"</span>,</span>
<span id="cb25-61">      <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span></span>
<span id="cb25-62">    ),</span>
<span id="cb25-63">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">axis.text =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>),</span>
<span id="cb25-64">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">axis.ticks =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span>),</span>
<span id="cb25-65">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">36</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">margin =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">margin</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)),</span>
<span id="cb25-66">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.subtitle =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(</span>
<span id="cb25-67">      <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">hjust =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>,</span>
<span id="cb25-68">      <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">margin =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">margin</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>),</span>
<span id="cb25-69">      <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span></span>
<span id="cb25-70">    ),</span>
<span id="cb25-71">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.caption =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">hjust =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>),</span>
<span id="cb25-72">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title.position =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"plot"</span>,</span>
<span id="cb25-73">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">panel.border =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_rect</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"grey85"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">NA</span>),</span>
<span id="cb25-74">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">legend.background =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_rect</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#002538"</span>),</span>
<span id="cb25-75">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">legend.key =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_rect</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#002538"</span>)</span>
<span id="cb25-76">  )</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/grafico-1.png" class="img-fluid figure-img" width="1152"></p>
</figure>
</div>
</div>
</div>
<p>Dentre essas profissões que escolhemos, vamos analisar o tamanho do efeito para médicos e executivos (dirigentes e diretores).</p>
<section id="disparidade-salarial-entre-médicos" class="level2" data-number="3.1">
<h2 data-number="3.1" class="anchored" data-anchor-id="disparidade-salarial-entre-médicos"><span class="header-section-number">3.1</span> DISPARIDADE SALARIAL ENTRE MÉDICOS</h2>
<p>Primeiramente, vamos verificar a significância da diferença. Como esperado, ela é significativa.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb26" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb26-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando estatística t</span></span>
<span id="cb26-2">estatistica_calculada <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb26-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">filter</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Médico"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb26-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">specify</span>(rem_media <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> sexo) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb26-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">calculate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">stat =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"t"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">order =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span>))</span>
<span id="cb26-6"></span>
<span id="cb26-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># gerando distribuição nula</span></span>
<span id="cb26-8">distr_nula <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb26-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">filter</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Médico"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb26-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">specify</span>(rem_media <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> sexo) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb26-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hypothesise</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">null =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"independence"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb26-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">generate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">reps =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">type =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"permute"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb26-13">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">calculate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">stat =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"t"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">order =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span>))</span>
<span id="cb26-14"></span>
<span id="cb26-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando intervalo de confiança</span></span>
<span id="cb26-16">percentile_ci <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">get_ci</span>(distr_nula)</span>
<span id="cb26-17"></span>
<span id="cb26-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualizando distribuição nula e estatística do teste</span></span>
<span id="cb26-19">distr_nula <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb26-20">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">visualize</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">method =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"both"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb26-21">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shade_p_value</span>(estatistica_calculada, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">direction =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"greater"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb26-22">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shade_confidence_interval</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">endpoints =</span> percentile_ci)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/medicos-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb27" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb27-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando p-valor</span></span>
<span id="cb27-2">distr_nula <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb27-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">get_p_value</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">obs_stat =</span> estatistica_calculada, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">direction =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"greater"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code># A tibble: 1 × 1
  p_value
    &lt;dbl&gt;
1       0</code></pre>
</div>
</div>
<p>Em seguida, vamos calcular o tamanho do efeito.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb29" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb29-1"> <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando a diferença padronizada</span></span>
<span id="cb29-2"> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cohens_d</span>(</span>
<span id="cb29-3">   data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb29-4">     <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Médico"</span>), ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media,</span>
<span id="cb29-5">   data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb29-6">     <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Médico"</span>), ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media</span>
<span id="cb29-7"> )</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>Cohen's d |       95% CI
------------------------
0.12      | [0.06, 0.19]

- Estimated using pooled SD.</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb31" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb31-1"> <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># interpretando a estatística d</span></span>
<span id="cb31-2"> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">interpret_cohens_d</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.12</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gignac2016"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] "very small"
(Rules: gignac2016)</code></pre>
</div>
</div>
<p>Com uma estatística <em>d</em> de 0.12, temos um efeito <em>muito pequeno</em> na escala de Gignac &amp; Szodorai (2016). Isso significa que 54% das médicas da cidade de Vitória teriam remuneração abaixo do que o médico médio do município, enqaunto 46% receberiam mais que o médico médio.</p>
</section>
<section id="disparidade-salarial-em-cargos-executivos" class="level2" data-number="3.2">
<h2 data-number="3.2" class="anchored" data-anchor-id="disparidade-salarial-em-cargos-executivos"><span class="header-section-number">3.2</span> DISPARIDADE SALARIAL EM CARGOS EXECUTIVOS</h2>
<p>Repetindo o mesmo procedimento para as pessoas em cargos executivos, vemos que a diferença também é significativa.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb33" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb33-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando estatística t</span></span>
<span id="cb33-2">estatistica_calculada <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb33-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">filter</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Dirigentes|Diretor"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb33-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">specify</span>(rem_media <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> sexo) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb33-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">calculate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">stat =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"t"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">order =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span>))</span>
<span id="cb33-6"></span>
<span id="cb33-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># gerando distribuição nula</span></span>
<span id="cb33-8">distr_nula <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb33-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">filter</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Dirigentes|Diretor"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb33-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">specify</span>(rem_media <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> sexo) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb33-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hypothesise</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">null =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"independence"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb33-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">generate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">reps =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">type =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"permute"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb33-13">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">calculate</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">stat =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"t"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">order =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span>))</span>
<span id="cb33-14"></span>
<span id="cb33-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando intervalo de confiança</span></span>
<span id="cb33-16">percentile_ci <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">get_ci</span>(distr_nula)</span>
<span id="cb33-17"></span>
<span id="cb33-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualizando distribuição nula e estatística do teste</span></span>
<span id="cb33-19">distr_nula <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb33-20">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">visualize</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">method =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"both"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb33-21">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shade_p_value</span>(estatistica_calculada, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">direction =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"greater"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb33-22">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shade_confidence_interval</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">endpoints =</span> percentile_ci)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_desigualdade-de-renda-entre-generos/index_files/figure-html/executivos-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>E calculando o tamanho do efeito:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb34" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb34-1"> <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando a diferença padronizada</span></span>
<span id="cb34-2"> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cohens_d</span>(</span>
<span id="cb34-3">   data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"homem"</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb34-4">     <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Dirigentes|Diretor"</span>), ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media,</span>
<span id="cb34-5">   data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>sexo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mulher"</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span></span>
<span id="cb34-6">     <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">str_detect</span>(data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>profissao, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Dirigentes|Diretor"</span>), ]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>rem_media</span>
<span id="cb34-7"> )</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>Cohen's d |       95% CI
------------------------
0.47      | [0.30, 0.63]

- Estimated using pooled SD.</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb36" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb36-1"> <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># interpretando a estatística d</span></span>
<span id="cb36-2"> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">interpret_cohens_d</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.47</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gignac2016"</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] "moderate"
(Rules: gignac2016)</code></pre>
</div>
</div>
<p>Com uma estatística <em>d</em> de 0.47, temos um efeito <em>moderado</em> na escala de Gignac &amp; Szodorai (2016). Isso significa dizer que 69% das mulheres em posição de dirigentes e diretoras receberiam menos do que o homem médio na mesma posição.</p>
</section>
</section>
<section id="considerações" class="level1" data-number="4">
<h1 data-number="4"><span class="header-section-number">4</span> CONSIDERAÇÕES</h1>
<p>A escala de Gignac &amp; Szodorai é apenas uma <em>rule of thumb</em> dentre outras — além dela, duas regras muito usadas são as regras de Cohen (1988) e de Sawilowsky (2009). Pode ser que para a natureza desse problema a interpretação sugerida por essas regras não seja razoável. Nelas, uma estatística <em>d</em> de 0.47 é considerada pequena ou moderada. No entanto, se tratando de disparidades salariais entre gêneros, podemos argumentar que uma taxa de 69% das mulheres com remuneração menor que a do homem médio seja um resultado expressivo, justificando uma escala específica.</p>
<p>De qualquer forma, a desigualdade é escancarada e ainda há várias variáveis a serem exploradas nesse contexto — se adicionarmos raça, qual será o comportamento?</p>
<p><em>Se você chegou até aqui e tem sugestão de variáveis, escalas para interpretação ou outras profissões para analisarmos, deixe seu comentário que a gente atualiza com um edit!</em></p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Escolhi 2017 porque os dados mais atuais estão agrupados com Minas Gerais e Rio de Janeiro, ficando muito pesado para uma análise casual.↩︎</p></li>
<li id="fn2"><p>Compreehensive R Archive Network.↩︎</p></li>
<li id="fn3"><p>Há vários estudos que tratam disso, vide <a href="https://rev-inv-ope.univ-paris1.fr/fileadmin/rev-inv-ope/files/40119/40119-10.pdf">este</a> exemplo.↩︎</p></li>
<li id="fn4"><p>A tabela de interpretação de <em>effect sizes</em> pode ser consultada <a href="https://www.leeds.ac.uk/educol/documents/00002182.htm">neste artigo</a>.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>statistics</category>
  <guid>/pt/posts/202011_desigualdade-de-renda-entre-generos/</guid>
  <pubDate>Tue, 24 Nov 2020 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202011_desigualdade-de-renda-entre-generos/img/gender.jpg" medium="image" type="image/jpeg"/>
</item>
<item>
  <title>Comparando variâncias: o teste F</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202011_comparando-variancias/</link>
  <description><![CDATA[ 






<p>Antes de eu entrar no assunto <em>machine learning</em>, porque <del>é um buraco sem fundo</del> devo me demorar quando entrar, quero cobrir um pouco mais do básico em inferência.</p>
<p><a href="https://datamares.netlify.app/post/atestando-diferencas-em-medias-o-teste-t-para-amostras-independentes/">Nesse post</a> eu disse que para realizar o teste t em duas amostras independentes deveríamos saber antes se as variâncias dessas amostras são iguais ou diferentes. Vamos ver como atestar isso agora. A base utilizada será a <a href="https://www.kaggle.com/uciml/german-credit">german credit data</a>.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># importando dados</span></span>
<span id="cb1-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># obs.: o -1 é para remover a primeira coluna, que é apenas o índice</span></span>
<span id="cb1-3">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> readr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read_csv</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"german_credit_data.csv"</span>)[<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span></code></pre></div></div>
<div class="cell-output cell-output-stderr">
<pre><code>New names:
Rows: 1000 Columns: 10
── Column specification
──────────────────────────────────────────────────────── Delimiter: "," chr
(5): Sex, Housing, Saving accounts, Checking account, Purpose dbl (5): ...1,
Age, Job, Credit amount, Duration
ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
Specify the column types or set `show_col_types = FALSE` to quiet this message.
• `` -&gt; `...1`</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualizando</span></span>
<span id="cb3-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">print</span>(data)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code># A tibble: 1,000 × 9
     Age Sex      Job Housing `Saving accounts` `Checking account`
   &lt;dbl&gt; &lt;chr&gt;  &lt;dbl&gt; &lt;chr&gt;   &lt;chr&gt;             &lt;chr&gt;             
 1    67 male       2 own     &lt;NA&gt;              little            
 2    22 female     2 own     little            moderate          
 3    49 male       1 own     little            &lt;NA&gt;              
 4    45 male       2 free    little            little            
 5    53 male       2 free    little            little            
 6    35 male       1 free    &lt;NA&gt;              &lt;NA&gt;              
 7    53 male       2 own     quite rich        &lt;NA&gt;              
 8    35 male       3 rent    little            moderate          
 9    61 male       1 own     rich              &lt;NA&gt;              
10    28 male       3 own     little            moderate          
# ℹ 990 more rows
# ℹ 3 more variables: `Credit amount` &lt;dbl&gt;, Duration &lt;dbl&gt;, Purpose &lt;chr&gt;</code></pre>
</div>
</div>
<p>Da mesma forma que o teste t, podemos testar se a medida de uma amostra é significativamente diferente de um valor escolhido ou podemos testar em relação à outra amostra — se maior, menor ou diferente. Para este exercício, vamos testar se a variância da variável <code>Credit amount</code> (limite de crédito) é o mesmo para homens e mulheres que vivem de aluguel. Primeiro, vamos calcular os desvios-padrão populacionais:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb5-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># obtendo amostras</span></span>
<span id="cb5-2">homens <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Sex <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"male"</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Housing <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rent"</span>,]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">`</span><span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Credit amount</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">`</span></span>
<span id="cb5-3">mulheres <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Sex <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"female"</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Housing <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rent"</span>,]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">`</span><span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Credit amount</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">`</span></span>
<span id="cb5-4"></span>
<span id="cb5-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando desvio padrão</span></span>
<span id="cb5-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sd</span>(homens)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] 2846.647</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb7-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sd</span>(mulheres)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] 2235.225</code></pre>
</div>
</div>
<p>Verificamos que o limite de crédito dos homens tem um desvio-padrão de DM$ 2.846, enquanto o das mulheres é de DM$ 2235<sup>1</sup>, o que quer dizer que o limite de crédito dos homens varia mais em torno da média do que das mulheres. O que gostaríamos de saber agora é se essa diferença é significativamente diferente. Vamos ao teste!</p>
<section id="o-teste" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> O TESTE</h1>
<p>O teste F, dentre suas várias outras aplicações, é usado em conjunto com o teste t de duas amostras — quando é preciso conhecer se as duas populações amostradas têm a mesma variância ou não.</p>
<p>Ele também é um teste paramétrico, o que significa que ele supõe que as populações têm aproximadamente uma certa de distribuição, neste caso a normal. Portanto, temos de primeiramente garantir que essa hipótese seja atendida.</p>
<section id="verificando-a-hipótese-de-normalidade" class="level2" data-number="1.1">
<h2 data-number="1.1" class="anchored" data-anchor-id="verificando-a-hipótese-de-normalidade"><span class="header-section-number">1.1</span> VERIFICANDO A HIPÓTESE DE NORMALIDADE</h2>
<p>Primeiramente, vamos plotar as densidades para verificar se sua distribuição é plausível com a hipótese de normalidade:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb9-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># dados de densidade</span></span>
<span id="cb9-2">d1 <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">density</span>(homens)</span>
<span id="cb9-3">d2 <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">density</span>(mulheres)</span>
<span id="cb9-4"></span>
<span id="cb9-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># separando o grid em 2 colunas</span></span>
<span id="cb9-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">par</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mfrow =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>))</span>
<span id="cb9-7"></span>
<span id="cb9-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualização</span></span>
<span id="cb9-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">plot</span>(d1,</span>
<span id="cb9-10">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Density Plot: homens"</span>)</span>
<span id="cb9-11"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">polygon</span>(d1, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lightblue"</span>)</span>
<span id="cb9-12"></span>
<span id="cb9-13"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">plot</span>(d2,</span>
<span id="cb9-14">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Density Plot: mulheres"</span>)</span>
<span id="cb9-15"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">polygon</span>(d2, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"salmon"</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_comparando-variancias/index_files/figure-html/unnamed-chunk-3-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Com esse formato, a normalidade é bastante implausível e não há necessidade de realizar quaisquer testes. Para contornar esse problema, podemos tentar realizar uma transformação logarítmica:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb10-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># transformação logarítimica</span></span>
<span id="cb10-2">log_homens <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">log</span>(homens)</span>
<span id="cb10-3">log_mulheres <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">log</span>(mulheres)</span>
<span id="cb10-4"></span>
<span id="cb10-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando a variância após transformação</span></span>
<span id="cb10-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">var</span>(log_homens)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] 0.5614271</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb12-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">var</span>(log_mulheres)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] 0.5229548</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb14-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># dados de densidade</span></span>
<span id="cb14-2">d3 <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">density</span>(log_homens)</span>
<span id="cb14-3">d4 <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">density</span>(log_mulheres)</span>
<span id="cb14-4"></span>
<span id="cb14-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># separando o grid em 2 colunas</span></span>
<span id="cb14-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">par</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mfrow =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>))</span>
<span id="cb14-7"></span>
<span id="cb14-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualização</span></span>
<span id="cb14-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">plot</span>(d3,</span>
<span id="cb14-10">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Density Plot: log(homens)"</span>)</span>
<span id="cb14-11"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">polygon</span>(d3, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lightblue"</span>)</span>
<span id="cb14-12"></span>
<span id="cb14-13"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">plot</span>(d4,</span>
<span id="cb14-14">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Density Plot: log(mulheres)"</span>)</span>
<span id="cb14-15"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">polygon</span>(d4, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"salmon"</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_comparando-variancias/index_files/figure-html/unnamed-chunk-4-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Os dados agora parecem seguir uma distribuição próxima da normal. Para verificar, pode-se realizar um teste de normalidade mas, como não é esse o tema, exploraremos o assunto em outra postagem. Por hora, vamos apenas registrar que a transformação foi exitosa e os dados agora apresentam uma distribuição próxima da normal.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb15-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># teste de normalidade</span></span>
<span id="cb15-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shapiro.test</span>(log_homens)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
    Shapiro-Wilk normality test

data:  log_homens
W = 0.98624, p-value = 0.5147</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb17-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shapiro.test</span>(log_mulheres)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
    Shapiro-Wilk normality test

data:  log_mulheres
W = 0.98171, p-value = 0.2071</code></pre>
</div>
</div>
</section>
<section id="as-hipóteses" class="level2" data-number="1.2">
<h2 data-number="1.2" class="anchored" data-anchor-id="as-hipóteses"><span class="header-section-number">1.2</span> AS HIPÓTESES</h2>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cbegin%7Bcases%7D%0AH_0:%20%5Csigma_1%20=%20%5Csigma_2%20%5C%5C%0AH_1:%20%5Csigma_1%20%5Cneq%20%5Csigma_2%0A%5Cend%7Bcases%7D%0A"></p>
<p>A hipótese nula é de que não se pode inferir, com certo nível de significância, que as variâncias são diferentes. E a hipótese alternativa é de que elas são significamente distintas.</p>
</section>
<section id="nível-de-significância" class="level2" data-number="1.3">
<h2 data-number="1.3" class="anchored" data-anchor-id="nível-de-significância"><span class="header-section-number">1.3</span> NÍVEL DE SIGNIFICÂNCIA</h2>
<p><img src="https://latex.codecogs.com/png.latex?%20%5Calpha%20=%200.05%20"></p>
<p>Vamos utilizar um nível de significância padrão de 5%, o que quer dizer que a probabilidade de rejeitarmos a hipótese nula quando ela não deve ser rejeitada é de apenas 5%. Quanto menor for essa probabilidade, maior deve ser a diferença entre as variâncias para que possamos atestar a diferença significativa entre elas.</p>
</section>
<section id="estatística-do-teste" class="level2" data-number="1.4">
<h2 data-number="1.4" class="anchored" data-anchor-id="estatística-do-teste"><span class="header-section-number">1.4</span> ESTATÍSTICA DO TESTE</h2>
<p><img src="https://latex.codecogs.com/png.latex?%20F%20=%20%5Cfrac%7Bs%5E2_1%7D%7Bs%5E2_2%7D%20"></p>
<p>Como a estatística do teste é a razão entre as variâncias amostrais, o teste é para verificar se essa razão é diferente da unidade. Para verificarmos a estatística tabelada, precisamos de saber quantos graus de liberdade temos nas amostras:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb19" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb19-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># graus de liberdade (n-1)</span></span>
<span id="cb19-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">table</span>(data[data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Housing <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rent"</span>,]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Sex)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
female   male 
    95     84 </code></pre>
</div>
</div>
<p>E então a estatística tabelada será:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb21-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># F-statistic para 95º percentil</span></span>
<span id="cb21-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">qf</span>(.<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">95</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">83</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">94</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] 1.419123</code></pre>
</div>
</div>
</section>
<section id="valor-crítico" class="level2" data-number="1.5">
<h2 data-number="1.5" class="anchored" data-anchor-id="valor-crítico"><span class="header-section-number">1.5</span> VALOR CRÍTICO</h2>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb23" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb23-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># calculando valor crítico</span></span>
<span id="cb23-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">var</span>(log_homens) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">var</span>(log_mulheres)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] 1.073567</code></pre>
</div>
</div>
<p><img src="https://latex.codecogs.com/png.latex?%20F%20=%20%5Cfrac%7Bs%5E2_1%7D%7Bs%5E2_2%7D%20=%201.07%20"></p>
</section>
<section id="decisão" class="level2" data-number="1.6">
<h2 data-number="1.6" class="anchored" data-anchor-id="decisão"><span class="header-section-number">1.6</span> DECISÃO</h2>
<p>Como o valor de 1.07 não excede 1.42, não podemos rejeitar a hipótese nula ao nível de 5% de significância. As variâncias não são significativamente distintas.</p>
</section>
</section>
<section id="o-teste-f-no-r" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> O TESTE F NO R</h1>
<p>No base R, a sintaxe do teste é muito semelhante a do teste t:</p>
<div class="cell">
<div class="cell-output cell-output-stdout">
<pre><code>
    F test to compare two variances

data:  log_homens and log_mulheres
F = 1.0736, num df = 83, denom df = 94, p-value = 0.7362
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.707196 1.638814
sample estimates:
ratio of variances 
          1.073567 </code></pre>
</div>
</div>
<p>O sumário do teste nos diz que para que pudéssemos rejeitar a hipótese nula com <img src="https://latex.codecogs.com/png.latex?%5Calpha"> = 5%, a razão deveria ser na ordem de 1.64 (variância de <code>log_homens</code> maior do que <code>log_mulheres</code>) ou 0.70 (variância de <code>log_homens</code> menor do que <code>log_mulheres</code>). Alternativamente, poderíamos rejeitar a hipótese nula se aumentássemos <img src="https://latex.codecogs.com/png.latex?%5Calpha"> para 1-0.7362 = 26.38%, o que é uma probabilidade de incorrer no erro tipo II muito alta para ser considerada razoável.</p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Marcos alemães.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>statistics</category>
  <guid>/pt/posts/202011_comparando-variancias/</guid>
  <pubDate>Fri, 20 Nov 2020 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202011_comparando-variancias/variancia.png" medium="image" type="image/png" height="72" width="144"/>
</item>
<item>
  <title>Chutou ou não chutou? O test t para uma amostra</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202011_chutou-ou-nao/</link>
  <description><![CDATA[ 






<p>No <a href="https://datamares.netlify.app/pt/posts/202011_t-test/">post anterior</a>, falei sobre o teste t para duas amostras independentes. Coincidentemente, no dia seguinte apareceu <a href="https://forumdematematica.org/viewtopic.php?f=69&amp;t=14319&amp;sid=88c3f5cb4248d2096eb36656bbb95c45">essa dúvida</a> no <a href="https://forumdematematica.org/">fórum de matemática</a> do qual sou contribuidor. Não podemos perder essa oportunidade, não é mesmo?</p>
<section id="o-problema" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> O PROBLEMA</h1>
<blockquote class="blockquote">
<p>Considere uma questão de múltipla escolha com quatro respostas possíveis. A pergunta foi formulada para ser muito difícil, sendo que nenhuma das quatro respostas são consideradas erradas, mas com apenas uma única resposta correta. Foi feito um teste com 400 alunos. O teste tem objetivo de verificar se mais pessoas respondem à pergunta corretamente do que seria esperado apenas devido ao acaso (ou seja, se todos adivinhassem por pura sorte a resposta correta).</p>
<p>Realize o teste de hipóteses (seguindo os 5 passos), sabendo-se que de 400 alunos, 125 responderam corretamente a questão. Use α = 2%.</p>
</blockquote>
<p>Acredito que o maior desafio aqui para os alunos iniciantes seja entender o problema e estruturá-lo de uma forma que possa ser respondido com assertividade. A chave está no seguinte trecho:</p>
<blockquote class="blockquote">
<p>do que seria esperado apenas devido ao acaso (ou seja, se todos adivinhassem por pura sorte a resposta correta).</p>
</blockquote>
<p>A probabilidade de se escolher a resposta certa dentre 4 opções ao acaso é de 25%. Entretanto, 125 dos 400 alunos acertaram a questão, ou seja, 31.25%. O problema então consiste em inferir se a média de 31.25% é significantemente diferente da média esperada, 25%, dado o tamanho da amostra e sua variância. Isso pode ser alcançado com o <em>teste t para uma amostra</em>.</p>
</section>
<section id="um-pouco-de-simulação" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> UM POUCO DE SIMULAÇÃO</h1>
<p>Antes de entrarmos no teste em si, sabemos que ele é bem simples de calcular mas nem sempre seu conceito é tão facilmente assimilado. Para auxiliar, vamos simular os dados e tentar colocar de maneira visual o que vamos fazer.</p>
<p>Como são dados binários (acertos ou erros) vamos utilizar 1 para acertos e 0 para erros.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># criando amostra</span></span>
<span id="cb1-2">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">125</span>), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">275</span>))</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># para que você chegue nos mesmos números aleatórios do exemplo</span></span>
<span id="cb1-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">set.seed</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb1-6"></span>
<span id="cb1-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># randomizando</span></span>
<span id="cb1-8">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sample</span>(data)</span>
<span id="cb1-9"></span>
<span id="cb1-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># checando</span></span>
<span id="cb1-11">data</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>  [1] 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 1
 [38] 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0
 [75] 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 1
[112] 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0
[149] 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0
[186] 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0
[223] 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1
[260] 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1
[297] 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1
[334] 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1
[371] 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0</code></pre>
</div>
</div>
<p>Agora que já temos nosso vetor com os dados aleatórios dos alunos que acertaram e erraram as questões, vamos visualizá-lo:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># gráfico de barras</span></span>
<span id="cb3-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">par</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mar =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>))</span>
<span id="cb3-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">barplot</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">table</span>(data), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"lightblue"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"salmon"</span>))</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_chutou-ou-nao/index_files/figure-html/unnamed-chunk-1-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>A intuição do teste t é dizer se essa diferença entre os acertos e erros ocorre por mero acaso no processo de amostragem ou não. Mas o que isso significa? Neste caso, a média amostral foi de 31.25% com 400 estudantes. As características da distribuição, o desvio padrão e o tamanho da amostra permitem atestar que a diferença entre a média amostral e a média esperada é significante?</p>
<p>Para ilustrar o raciocínio, vamos tomar 10 amostras de 10 estudantes aleatoriamente e observar o comportamento das médias. Essas amostras de 10 estudantes podem ter média de acertos (linha vermelha) muito próxima dos 25% esperados (linha azul) e longe da média dos 400 alunos (linha verde).</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># garantir reprodutibilidade</span></span>
<span id="cb4-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">set.seed</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>)</span>
<span id="cb4-3"></span>
<span id="cb4-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># quantidade de amostras</span></span>
<span id="cb4-5">n <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span></span>
<span id="cb4-6"></span>
<span id="cb4-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># médias</span></span>
<span id="cb4-8">medias <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(<span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">NA</span>, n)</span>
<span id="cb4-9"></span>
<span id="cb4-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># tirando amostras e calculando as médias</span></span>
<span id="cb4-11"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span>n) {</span>
<span id="cb4-12">  medias[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(</span>
<span id="cb4-13">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sample</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">runif</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">min =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">max =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">replace =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>))</span>
<span id="cb4-14">}</span>
<span id="cb4-15"></span>
<span id="cb4-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualização</span></span>
<span id="cb4-17"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hist</span>(medias,</span>
<span id="cb4-18">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"1ª tiragem: 10 amostras de 10 alunos"</span>,</span>
<span id="cb4-19">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xlab =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"média"</span>,</span>
<span id="cb4-20">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sub =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"seed = 3"</span>)</span>
<span id="cb4-21"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(medias, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">na.rm =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>)</span>
<span id="cb4-22"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>)</span>
<span id="cb4-23"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3125</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>)</span>
<span id="cb4-24"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">legend</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"topright"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">legend =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(</span>
<span id="cb4-25">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hat</span>(mu)),</span>
<span id="cb4-26">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(mu, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"= 0.25"</span>)),</span>
<span id="cb4-27">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(mu, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"= 0.3325"</span>))),</span>
<span id="cb4-28">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>),</span>
<span id="cb4-29">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">lty =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_chutou-ou-nao/index_files/figure-html/unnamed-chunk-2-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Mas também é possível realizar outra tiragem de 10 amostras com 10 alunos diferentes e encontrarmos uma média completamente diferente, próxima dos 45%:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb5-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># garantir reprodutibilidade</span></span>
<span id="cb5-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">set.seed</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>)</span>
<span id="cb5-3"></span>
<span id="cb5-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># quantidade de amostras</span></span>
<span id="cb5-5">n <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span></span>
<span id="cb5-6"></span>
<span id="cb5-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># médias</span></span>
<span id="cb5-8">medias <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(<span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">NA</span>, n)</span>
<span id="cb5-9"></span>
<span id="cb5-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># tirando amostras e calculando as médias</span></span>
<span id="cb5-11"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span>n) {</span>
<span id="cb5-12">  medias[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(</span>
<span id="cb5-13">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sample</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">runif</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">min =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">max =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">replace =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>))</span>
<span id="cb5-14">}</span>
<span id="cb5-15"></span>
<span id="cb5-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualização</span></span>
<span id="cb5-17"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hist</span>(medias,</span>
<span id="cb5-18">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"2ª tiragem: 10 amostras de 10 alunos"</span>,</span>
<span id="cb5-19">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xlab =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"média"</span>,</span>
<span id="cb5-20">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sub =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"seed = 4"</span>)</span>
<span id="cb5-21"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(medias, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">na.rm =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>)</span>
<span id="cb5-22"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>)</span>
<span id="cb5-23"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3125</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>)</span>
<span id="cb5-24"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">legend</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"topright"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">legend =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(</span>
<span id="cb5-25">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hat</span>(mu)),</span>
<span id="cb5-26">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(mu, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"= 0.25"</span>)),</span>
<span id="cb5-27">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(mu, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"= 0.3325"</span>))),</span>
<span id="cb5-28">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>),</span>
<span id="cb5-29">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">lty =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_chutou-ou-nao/index_files/figure-html/unnamed-chunk-3-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Conforme vamos aumentando a quantidade de amostras, o desvio padrão se estabiliza e a média amostral vai se aproximando da média populacional. Veja as médias de 50 amostras de 10 alunos, cada:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb6-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># garantir reprodutibilidade</span></span>
<span id="cb6-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">set.seed</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>)</span>
<span id="cb6-3"></span>
<span id="cb6-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># quantidade de amostras</span></span>
<span id="cb6-5">n <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span></span>
<span id="cb6-6"></span>
<span id="cb6-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># médias</span></span>
<span id="cb6-8">medias <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(<span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">NA</span>, n)</span>
<span id="cb6-9"></span>
<span id="cb6-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># tirando amostras e calculando as médias</span></span>
<span id="cb6-11"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span>n) {</span>
<span id="cb6-12">  medias[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(</span>
<span id="cb6-13">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sample</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">runif</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">min =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">max =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">replace =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>))</span>
<span id="cb6-14">}</span>
<span id="cb6-15"></span>
<span id="cb6-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># separando o grid em 2 colunas</span></span>
<span id="cb6-17"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">par</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mfrow =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>))</span>
<span id="cb6-18"></span>
<span id="cb6-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualização 1ª tiragem</span></span>
<span id="cb6-20"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hist</span>(medias,</span>
<span id="cb6-21">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"1ª tiragem: 50 amostras de 10 alunos"</span>,</span>
<span id="cb6-22">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xlab =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"média"</span>,</span>
<span id="cb6-23">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sub =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"seed = 3"</span>)</span>
<span id="cb6-24"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(medias, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">na.rm =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>)</span>
<span id="cb6-25"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>)</span>
<span id="cb6-26"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3125</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>)</span>
<span id="cb6-27"></span>
<span id="cb6-28"><span class="do" style="color: #5E5E5E;
background-color: null;
font-style: italic;">################################################################################</span></span>
<span id="cb6-29"></span>
<span id="cb6-30"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># garantir reprodutibilidade</span></span>
<span id="cb6-31"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">set.seed</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>)</span>
<span id="cb6-32"></span>
<span id="cb6-33"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># quantidade de amostras</span></span>
<span id="cb6-34">n <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span></span>
<span id="cb6-35"></span>
<span id="cb6-36"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># médias</span></span>
<span id="cb6-37">medias <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(<span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">NA</span>, n)</span>
<span id="cb6-38"></span>
<span id="cb6-39"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># tirando amostras e calculando as médias</span></span>
<span id="cb6-40"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span>n) {</span>
<span id="cb6-41">  medias[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(</span>
<span id="cb6-42">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sample</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">runif</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">min =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">max =</span> n), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">replace =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>))</span>
<span id="cb6-43">}</span>
<span id="cb6-44"></span>
<span id="cb6-45"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualização 2ª tiragem</span></span>
<span id="cb6-46"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hist</span>(medias,</span>
<span id="cb6-47">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"2ª tiragem: 50 amostras de 10 alunos"</span>,</span>
<span id="cb6-48">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xlab =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"média"</span>,</span>
<span id="cb6-49">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sub =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"seed = 4"</span>)</span>
<span id="cb6-50"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(medias, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">na.rm =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>)</span>
<span id="cb6-51"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>)</span>
<span id="cb6-52"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3125</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>)</span>
<span id="cb6-53"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">legend</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"topright"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">legend =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(</span>
<span id="cb6-54">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hat</span>(mu)),</span>
<span id="cb6-55">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(mu, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"= 0.25"</span>)),</span>
<span id="cb6-56">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(mu, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"= 0.3325"</span>))),</span>
<span id="cb6-57">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>),</span>
<span id="cb6-58">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">lty =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>,</span>
<span id="cb6-59">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">cex =</span> .<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_chutou-ou-nao/index_files/figure-html/unnamed-chunk-4-1.png" class="img-fluid figure-img" style="width:80.0%"></p>
</figure>
</div>
</div>
</div>
<p>Pode-se observar que tomando duas tiragens de 50 amostras de 10 alunos aleatoriamente cada, as médias começam a convergir para a média observada no total dos 400 alunos.</p>
<p>E se aumentarmos para 100 amostras de 10 alunos?</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb7-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># garantir reprodutibilidade</span></span>
<span id="cb7-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">set.seed</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>)</span>
<span id="cb7-3"></span>
<span id="cb7-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># quantidade de amostras</span></span>
<span id="cb7-5">n <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span></span>
<span id="cb7-6"></span>
<span id="cb7-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># médias</span></span>
<span id="cb7-8">medias <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(<span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">NA</span>, n)</span>
<span id="cb7-9"></span>
<span id="cb7-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># tirando amostras e calculando as médias</span></span>
<span id="cb7-11"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span>n) {</span>
<span id="cb7-12">  medias[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(</span>
<span id="cb7-13">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sample</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">runif</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">min =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">max =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">replace =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>))</span>
<span id="cb7-14">}</span>
<span id="cb7-15"></span>
<span id="cb7-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># separando o grid em 2 colunas</span></span>
<span id="cb7-17"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">par</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mfrow =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>))</span>
<span id="cb7-18"></span>
<span id="cb7-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualização 1ª tiragem</span></span>
<span id="cb7-20"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hist</span>(medias,</span>
<span id="cb7-21">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"1ª tiragem: 100 amostras de 10 alunos"</span>,</span>
<span id="cb7-22">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xlab =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"média"</span>,</span>
<span id="cb7-23">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sub =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"seed = 3"</span>)</span>
<span id="cb7-24"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(medias, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">na.rm =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>)</span>
<span id="cb7-25"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>)</span>
<span id="cb7-26"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3125</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>)</span>
<span id="cb7-27"></span>
<span id="cb7-28"><span class="do" style="color: #5E5E5E;
background-color: null;
font-style: italic;">################################################################################</span></span>
<span id="cb7-29"></span>
<span id="cb7-30"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># garantir reprodutibilidade</span></span>
<span id="cb7-31"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">set.seed</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>)</span>
<span id="cb7-32"></span>
<span id="cb7-33"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># médias</span></span>
<span id="cb7-34">medias <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(<span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">NA</span>, n)</span>
<span id="cb7-35"></span>
<span id="cb7-36"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># tirando amostras e calculando as médias</span></span>
<span id="cb7-37"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span>n) {</span>
<span id="cb7-38">  medias[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(</span>
<span id="cb7-39">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sample</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">runif</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">min =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">max =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">replace =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>))</span>
<span id="cb7-40">}</span>
<span id="cb7-41"></span>
<span id="cb7-42"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># visualização 2ª tiragem</span></span>
<span id="cb7-43"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hist</span>(medias,</span>
<span id="cb7-44">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">main =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"2ª tiragem: 100 amostras de 10 alunos"</span>,</span>
<span id="cb7-45">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xlab =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"média"</span>,</span>
<span id="cb7-46">     <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sub =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"seed = 4"</span>)</span>
<span id="cb7-47"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(medias, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">na.rm =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>)</span>
<span id="cb7-48"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>)</span>
<span id="cb7-49"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">abline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">v =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3125</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>)</span>
<span id="cb7-50"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">legend</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"topright"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">legend =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(</span>
<span id="cb7-51">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">hat</span>(mu)),</span>
<span id="cb7-52">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(mu, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"= 0.25"</span>)),</span>
<span id="cb7-53">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">expression</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(mu, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"= 0.3325"</span>))),</span>
<span id="cb7-54">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"green"</span>),</span>
<span id="cb7-55">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">lty =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>,</span>
<span id="cb7-56">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">cex =</span> .<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="/pt/posts/202011_chutou-ou-nao/index_files/figure-html/unnamed-chunk-5-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>Perceba que com 100 amostras aleatórias, as médias já ficam muito próximas dos 33.25% observados em ambas tiragens. Isso acontece porque conforme o número de observações aumenta, o desvio padrão tende a se estabilizar e a incerteza diminui. Seria muito difícil de os primeiros 400<sup>1</sup> alunos terem uma determinada média de acertos e os próximos 50 alunos todos acertassem ou errassem de forma a gerar mudanças no desvio padrão e afetar a média significativamente. É por isso que, em último caso, <strong>o teste t é um teste de tamanho de amostra</strong>. A pergunta por trás de tudo é: minha amostra é grande o suficiente para que a diferença seja significativa?</p>
<p>Agora, com a intuição do teste em mente, vamos formalizá-lo.</p>
</section>
<section id="o-teste" class="level1" data-number="3">
<h1 data-number="3"><span class="header-section-number">3</span> O TESTE</h1>
<p>Para tornar o processo bem transparente e fixar bem os conceitos, é sempre recomendável utilizar o framework das 5 etapas do teste de hipótese, que são:</p>
<section id="declarar-as-hipóteses-nula-e-alternativa" class="level2" data-number="3.1">
<h2 data-number="3.1" class="anchored" data-anchor-id="declarar-as-hipóteses-nula-e-alternativa"><span class="header-section-number">3.1</span> Declarar as hipóteses nula e alternativa</h2>
<p><img src="https://latex.codecogs.com/png.latex?%5Cbegin%7Bcases%7D%0A%20%20%20%20%20%20H_0:%20%5Cmu%20=%200.25%20%5C%5C%0A%20%20%20%20%20%20H_1:%20%5Cmu%20%5Cneq%200.25%20%5C%5C%0A%20%20%20%20%5Cend%7Bcases%7D"></p>
<p>A hipótese nula é que não se pode afirmar que a média de acerto observada é significativamente diferente da média esperada. Já a hipótese alternativa é que elas são significativamente distintas.</p>
</section>
<section id="declarar-o-nível-de-significância" class="level2" data-number="3.2">
<h2 data-number="3.2" class="anchored" data-anchor-id="declarar-o-nível-de-significância"><span class="header-section-number">3.2</span> Declarar o nível de significância</h2>
<p><img src="https://latex.codecogs.com/png.latex?%5Calpha%20=%200.02"> O <img src="https://latex.codecogs.com/png.latex?%5Calpha%20=%200.02"> é o que dá sentido ao termo <strong>significantemente diferente</strong>. É a probabilidade de se cometer o erro do tipo II, ou seja, rejeitar a hipótese nula quando não deveria ser rejeitada. Quanto menor o <img src="https://latex.codecogs.com/png.latex?%5Calpha">, maior deverá ser a diferença entre as médias para que ela seja considerada significante.</p>
</section>
<section id="calcular-a-estatística-do-teste" class="level2" data-number="3.3">
<h2 data-number="3.3" class="anchored" data-anchor-id="calcular-a-estatística-do-teste"><span class="header-section-number">3.3</span> Calcular a estatística do teste</h2>
<p><img src="https://latex.codecogs.com/png.latex?z%20=%20%5Cfrac%7B%5Cbar%7Bx%7D%20-%20%5Cmu_0%7D%7B%5Cfrac%7B%5Csigma%7D%7B%5Csqrt%7Bn%7D%7D%7D"> Note que: <img src="https://latex.codecogs.com/png.latex?%5Clim_%7Bn%20%5Cto%20%5Cinfty%7Dz(n)%20=%20%5Cinfty"> Podemos rejeitar a hipótese nula se <img src="https://latex.codecogs.com/png.latex?z"> crítico for maior que o <img src="https://latex.codecogs.com/png.latex?z"> tabelado. Conforme <img src="https://latex.codecogs.com/png.latex?n"> aumenta, eventualmente a diferença será significativa, demonstrando matematicamente o que verificamos intuitivamente.</p>
</section>
<section id="calcular-o-valor-crítico" class="level2" data-number="3.4">
<h2 data-number="3.4" class="anchored" data-anchor-id="calcular-o-valor-crítico"><span class="header-section-number">3.4</span> Calcular o valor crítico</h2>
<p><img src="https://latex.codecogs.com/png.latex?z%20=%20%5Cfrac%7B0.3125%20-%200.25%7D%7B%5Cfrac%7B0.464%7D%7B%5Csqrt%7B400%7D%7D%7D%20=%202.693"></p>
</section>
<section id="decidir-se-rejeitamos-a-hipótese-nula" class="level2" data-number="3.5">
<h2 data-number="3.5" class="anchored" data-anchor-id="decidir-se-rejeitamos-a-hipótese-nula"><span class="header-section-number">3.5</span> Decidir se rejeitamos a hipótese nula</h2>
<p>Como o valor de 2.693 excede o valor de <img src="https://latex.codecogs.com/png.latex?z"> a 98% de significância (2.33), pode-se rejeitar a hipótese nula. A diferença é significativa e não pode ser atribuída ao acaso de amostragem.</p>
</section>
</section>
<section id="ok-mas-e-no-r" class="level1" data-number="4">
<h1 data-number="4"><span class="header-section-number">4</span> Ok, mas e no R?</h1>
<p>No R, o teste não poderia ser mais simples:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb8-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">t.test</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mu =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">conf.level =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.98</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
    One Sample t-test

data:  data
t = 2.6934, df = 399, p-value = 0.00737
alternative hypothesis: true mean is not equal to 0.25
98 percent confidence interval:
 0.2583002 0.3666998
sample estimates:
mean of x 
   0.3125 </code></pre>
</div>
</div>
<p>Note que 0.25 não está no intervalo de confiança, de forma que podemos rejeitar <img src="https://latex.codecogs.com/png.latex?H_o">. Como ilustração, para que não pudessemos rejeitar a hipótese nula, teríamos de aumentar o nível de significância para 1 - p-valor, ou seja, para 99.263%:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb10-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">t.test</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mu =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">conf.level =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.99263</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
    One Sample t-test

data:  data
t = 2.6934, df = 399, p-value = 0.00737
alternative hypothesis: true mean is not equal to 0.25
99.263 percent confidence interval:
 0.2499995 0.3750005
sample estimates:
mean of x 
   0.3125 </code></pre>
</div>
</div>
<p>Ou aumentar a média para 25.83%:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb12-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">t.test</span>(data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mu =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.2583</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">conf.level =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.98</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
    One Sample t-test

data:  data
t = 2.3357, df = 399, p-value = 0.02
alternative hypothesis: true mean is not equal to 0.2583
98 percent confidence interval:
 0.2583002 0.3666998
sample estimates:
mean of x 
   0.3125 </code></pre>
</div>
</div>
<p>Bem mais fácil do que fazer na mão, não é mesmo?</p>
</section>
<section id="conclusão" class="level1" data-number="5">
<h1 data-number="5"><span class="header-section-number">5</span> CONCLUSÃO</h1>
<p>Agora que temos todo o instrumental, podemos responder a pergunta do rapaz do fórum. O professor, sim, pode ficar orgulhoso, pois podemos rejeitar a hipótese de que a média de acerto de seus alunos foi mero chute. Parabéns à turma! :p</p>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Ou mil, 10 mil, 100 mil… Quanto maior for <img src="https://latex.codecogs.com/png.latex?n">, mais difícil será causar mudanças no desvio padrão, de forma que a incerteza é cada vez menor.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>statistics</category>
  <guid>/pt/posts/202011_chutou-ou-nao/</guid>
  <pubDate>Fri, 06 Nov 2020 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202011_chutou-ou-nao/img/statistics.jpg" medium="image" type="image/jpeg"/>
</item>
<item>
  <title>Atestando diferenças em médias: o teste t para amostras independentes</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202011_t-test/</link>
  <description><![CDATA[ 






<p>Suponha que você tenha duas amostras (i.e.&nbsp;as rendas da população negra e branca de sua cidade) e você queira comprovar que suas médias sejam <em>significantemente</em> diferentes, ou seja, que sejam diferentes mesmo considerando a variância e o tamanho das amostras. Isso é possível com um teste t de Student, um dos mais populares testes na estatística.</p>
<p>Vamos utilizar um dos datasets nativos do R para aplicar esse conceito, o <code>mtcars</code>. Primeiramente, vamos dar uma olhada em nossos dados.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> mtcars</span>
<span id="cb1-2">knitr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kable</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">head</span>(data), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">booktabs =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">digits =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">|&gt;</span></span>
<span id="cb1-3">  kableExtra<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kable_styling</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">latex_options =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"striped"</span>))</span></code></pre></div></div>
<div id="tbl-dados" class="cell quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-tbl figure">
<figcaption class="quarto-float-caption-top quarto-float-caption quarto-float-tbl" id="tbl-dados-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Tabela&nbsp;1: Base de dados.
</figcaption>
<div aria-describedby="tbl-dados-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<div class="cell-output-display">
<table class="table do-not-create-environment cell caption-top table-sm table-striped small">
<thead>
<tr class="header">
<th style="text-align: left;" data-quarto-table-cell-role="th"></th>
<th style="text-align: right;" data-quarto-table-cell-role="th">mpg</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">cyl</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">disp</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">hp</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">drat</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">wt</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">qsec</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">vs</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">am</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">gear</th>
<th style="text-align: right;" data-quarto-table-cell-role="th">carb</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Mazda RX4</td>
<td style="text-align: right;">21.0</td>
<td style="text-align: right;">6</td>
<td style="text-align: right;">160</td>
<td style="text-align: right;">110</td>
<td style="text-align: right;">3.90</td>
<td style="text-align: right;">2.62</td>
<td style="text-align: right;">16.46</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">4</td>
<td style="text-align: right;">4</td>
</tr>
<tr class="even">
<td style="text-align: left;">Mazda RX4 Wag</td>
<td style="text-align: right;">21.0</td>
<td style="text-align: right;">6</td>
<td style="text-align: right;">160</td>
<td style="text-align: right;">110</td>
<td style="text-align: right;">3.90</td>
<td style="text-align: right;">2.88</td>
<td style="text-align: right;">17.02</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">4</td>
<td style="text-align: right;">4</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Datsun 710</td>
<td style="text-align: right;">22.8</td>
<td style="text-align: right;">4</td>
<td style="text-align: right;">108</td>
<td style="text-align: right;">93</td>
<td style="text-align: right;">3.85</td>
<td style="text-align: right;">2.32</td>
<td style="text-align: right;">18.61</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">4</td>
<td style="text-align: right;">1</td>
</tr>
<tr class="even">
<td style="text-align: left;">Hornet 4 Drive</td>
<td style="text-align: right;">21.4</td>
<td style="text-align: right;">6</td>
<td style="text-align: right;">258</td>
<td style="text-align: right;">110</td>
<td style="text-align: right;">3.08</td>
<td style="text-align: right;">3.21</td>
<td style="text-align: right;">19.44</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">3</td>
<td style="text-align: right;">1</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Hornet Sportabout</td>
<td style="text-align: right;">18.7</td>
<td style="text-align: right;">8</td>
<td style="text-align: right;">360</td>
<td style="text-align: right;">175</td>
<td style="text-align: right;">3.15</td>
<td style="text-align: right;">3.44</td>
<td style="text-align: right;">17.02</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">3</td>
<td style="text-align: right;">2</td>
</tr>
<tr class="even">
<td style="text-align: left;">Valiant</td>
<td style="text-align: right;">18.1</td>
<td style="text-align: right;">6</td>
<td style="text-align: right;">225</td>
<td style="text-align: right;">105</td>
<td style="text-align: right;">2.76</td>
<td style="text-align: right;">3.46</td>
<td style="text-align: right;">20.22</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">0</td>
<td style="text-align: right;">3</td>
<td style="text-align: right;">1</td>
</tr>
</tbody>
</table>
</div>
</div>
</figure>
</div>
</div>
<p>Uma boa forma de ilustrar o teste é verificar se as médias de consumo dos carros (<code>mpg</code>, miles per gallon) com 4, 6 e 8 cilindros (<code>cyl</code>) diferem significantemente entre si.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Médias amostrais</span></span>
<span id="cb2-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aggregate</span>(mpg <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> cyl, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">FUN =</span> mean)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>  cyl      mpg
1   4 26.66364
2   6 19.74286
3   8 15.10000</code></pre>
</div>
</div>
<p>Verificamos que as médias amostrais são diferentes. Resta saber se são <em>significantemente</em> diferentes. Plotar um boxplot pode nos ajudar a ter uma intuição. Podemos ver que, exceto pelo grupo de 4 cilindros que possui uma variância maior, os grupos são bem concentrados, de forma que podemos suspeitar que as diferenças sejam significantes.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Boxplot</span></span>
<span id="cb4-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">boxplot</span>(mpg <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> cyl, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data)</span></code></pre></div></div>
<div class="cell-output-display">
<div id="fig-boxplot" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-boxplot-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="/pt/posts/202011_t-test/index_files/figure-html/fig-boxplot-1.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-boxplot-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figura&nbsp;1: Boxplot de consumo por quantidade de cilindros.
</figcaption>
</figure>
</div>
</div>
</div>
<p>O teste t possui diversas variações — uma amostra, duas amostras pareadas, duas amostras independentes —, e correções para tratar diferenças na variância. Para este caso, temos três amostras independentes e, por hora, vamos supor que as variâncias do grupo 4 difere das demais e que a dos grupos 6 e 8 são iguais — deixaremos a análise de variâncias para outra postagem. Isso nos deixa com o <strong>teste t para duas amostras independentes</strong>.</p>
<p>A hipótese nula do teste é que as médias são significativamente iguais. Já a hipótese alternativa pode ser formulada como a não nulidade da diferença entre as médias ou <img src="https://latex.codecogs.com/png.latex?%5Cbar%7BX_1%7D"> maior ou menor que <img src="https://latex.codecogs.com/png.latex?%5Cbar%7BX_2%7D">. Aqui vamos usar a primeira opção:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0Ah_0:%20%5Cbar%7BX_1%7D%20-%20%5Cbar%7BX_2%7D%20=%200%20%5C%5C%0Ah_1:%20%5Cbar%7BX_1%7D%20-%20%5Cbar%7BX_2%7D%20%5Cneq%200%0A"> A estatística t para esse teste é calculada da maneira abaixo. Note que se tomarmos o limite de <img src="https://latex.codecogs.com/png.latex?t(n)">, com <img src="https://latex.codecogs.com/png.latex?n%20%5Crightarrow%20%5Cinfty">, <img src="https://latex.codecogs.com/png.latex?t%5Crightarrow%20%5Cinfty">, causando a rejeição de <img src="https://latex.codecogs.com/png.latex?h_0">. Dessa forma, em último caso, <strong>o teste t é um teste de tamanho de amostra</strong>, ou seja, se sua amostra for suficientemente grande e as médias divergirem, elas tenderão a ser também significantemente diferentes.</p>
<p><img src="https://latex.codecogs.com/png.latex?%20t%20=%20%5Cfrac%7B%5Cbar%7BX_1%7D%20-%20%5Cbar%7BX_2%7D%7D%7Bs_p%20.%20%5Csqrt%7B%5Cfrac%7B1%7D%7Bn_1%7D+%5Cfrac%7B1%7D%7Bn_2%7D%7D%7D%20"></p>
<p>Como primeiro caso, vamos comparar as médias de consumo dos veículos com 6 e 8 cilindros. Como estamos considerando que suas variâncias são iguais, temos de usar o argumento <code>var.equal = TRUE</code>:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb5-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># teste t para 6 e 8 cilindros</span></span>
<span id="cb5-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">t.test</span>(mpg <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> cyl, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data[<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">which</span>(data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>cyl <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>),], <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">var.equal =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
    Two Sample t-test

data:  mpg by cyl
t = 4.419, df = 19, p-value = 0.0002947
alternative hypothesis: true difference in means between group 6 and group 8 is not equal to 0
95 percent confidence interval:
 2.443809 6.841905
sample estimates:
mean in group 6 mean in group 8 
       19.74286        15.10000 </code></pre>
</div>
</div>
<p>Com p-valor de zero, podemos rejeitar a hipótese nula e considerar que as médias de consumo entre os veículos de 6 e 8 cilindros diferem.</p>
<p>Para as demais comparações, vamos usar o default para <code>var.equal</code> que é <code>FALSE</code>. Isso significa aplicar a correção de Welch para amostras independentes e de variância diferentes. Como esperado, também podemos rejeitar a hipótese nula e confirmar a diferença nas médias de consumo entre os veículos de 4 e 6 cilindros e 4 e 8 cilindros.</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb7-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># teste t para 4 e 8 cilindros</span></span>
<span id="cb7-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">t.test</span>(mpg <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> cyl, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data[<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">which</span>(data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>cyl <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>),])</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
    Welch Two Sample t-test

data:  mpg by cyl
t = 7.5967, df = 14.967, p-value = 1.641e-06
alternative hypothesis: true difference in means between group 4 and group 8 is not equal to 0
95 percent confidence interval:
  8.318518 14.808755
sample estimates:
mean in group 4 mean in group 8 
       26.66364        15.10000 </code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb9-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># teste t para 4 e 6 cilindros</span></span>
<span id="cb9-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">t.test</span>(mpg <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> cyl, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data[<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">which</span>(data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>cyl <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>),])</span></code></pre></div></div>
<div class="cell-output cell-output-stdout">
<pre><code>
    Welch Two Sample t-test

data:  mpg by cyl
t = 4.7191, df = 12.956, p-value = 0.0004048
alternative hypothesis: true difference in means between group 4 and group 6 is not equal to 0
95 percent confidence interval:
  3.751376 10.090182
sample estimates:
mean in group 4 mean in group 6 
       26.66364        19.74286 </code></pre>
</div>
</div>
<p><em>Easy peasy lemon squeezy</em>, não é?</p>



 ]]></description>
  <category>statistics</category>
  <guid>/pt/posts/202011_t-test/</guid>
  <pubDate>Mon, 02 Nov 2020 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202011_t-test/img/statistics.jpg" medium="image" type="image/jpeg"/>
</item>
<item>
  <title>Qualidade gráfica no painel do RStudio</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202010_graphics-rstudio/</link>
  <description><![CDATA[ 






<p>Se você já plotou um gráfico de linhas no R e, quando viu o plot no painel do RStudio pensou “uau, que qualidade terrível!”, você não está só. Mas não se preocupe, a solução é bem simples!</p>
<p>Primeiramente, vamos plotar um gráfico na configuração padrão do RStudio:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1">knitr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">include_graphics</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"img/Rplot.png"</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div id="fig-plot1" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-plot1-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="/pt/posts/202010_graphics-rstudio/img/Rplot.png" class="img-fluid figure-img" width="411">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-plot1-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figura&nbsp;1: Gráfico sem anti-aliasing.
</figcaption>
</figure>
</div>
</div>
</div>
<p>Wow, imagine usando algo assim em um banner! Vamos tentar de novo, agora com o Cairo como dispositivo gráfico e usando anti-aliasing:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Adicionando anti-aliasing</span></span>
<span id="cb2-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">trace</span>(grDevices<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>png, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">quote</span>({</span>
<span id="cb2-3">  <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> (<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">missing</span>(type) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;&amp;</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">missing</span>(antialias)) {</span>
<span id="cb2-4">    type <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"cairo-png"</span></span>
<span id="cb2-5">    antialias <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"subpixel"</span></span>
<span id="cb2-6">  }</span>
<span id="cb2-7">}), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">print =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">FALSE</span>)</span></code></pre></div></div>
<div class="cell-output cell-output-stderr">
<pre><code>Tracing function "png" in package "grDevices"</code></pre>
</div>
<div class="cell-output cell-output-stdout">
<pre><code>[1] "png"</code></pre>
</div>
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb5-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Plotando novamente</span></span>
<span id="cb5-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">plot</span>(mtcars<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>mpg, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">type =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"l"</span>)</span></code></pre></div></div>
<div class="cell-output-display">
<div id="fig-plot2" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-plot2-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="/pt/posts/202010_graphics-rstudio/index_files/figure-html/fig-plot2-1.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-plot2-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figura&nbsp;2: Gráfico com anti-aliasing.
</figcaption>
</figure>
</div>
</div>
</div>
<p>Santo anti-aliasing, não é? (Dê zoom nos dois para ver bem a diferença)</p>
<p>Bom, preciso fazer isso toda vez que for plotar um gráfico ou iniciar uma sessão no R? De forma alguma, basta adicionar essas linhas ao seu .Rprofile. Eu recomendo sempre usar o {usethis} para alterar os arquivos de configuração, pois você pode acabar se perdendo dentre os caminhos possíveis onde o R irá consultar. Usando o {usethis} você garante que estará criando ou editando o arquivo correto.</p>
<p><code>usethis::edit_r_profile()</code> irá abrir uma janela com o arquivo para edição. Então, cole a chamada acima (retirando a linha do plot, claro), certifique-se que o .Rprofile acabe com uma linha vazia (porque o R ignora a última linha), salve e reinicie a sessão. Pronto! Agora o anti-aliasing sempre será aplicado aos seus plots no R, independente do pacote utilizado, seja o base ou o {ggplot}, por exemplo.</p>



 ]]></description>
  <category>tools</category>
  <guid>/pt/posts/202010_graphics-rstudio/</guid>
  <pubDate>Mon, 19 Oct 2020 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202010_graphics-rstudio/img/rstudio.png" medium="image" type="image/png" height="144" width="144"/>
</item>
<item>
  <title>Configurando git em um servidor proxy</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202010_git-proxy/</link>
  <description><![CDATA[ 






<p>Se você estiver trabalhando em uma organização que leva a sério a segurança da informação, então, provavelmente, você está atrás de um servidor proxy e com dificuldades para usar o Git. Para resolvermos isso, precisaremos de passar por 3 etapas:</p>
<ol type="1">
<li>descobrir o endereço do servidor proxy</li>
<li>escolher um método de autenticação</li>
<li>atualizar as configurações do git</li>
</ol>
<section id="endereço-proxy" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> ENDEREÇO PROXY</h1>
<p>O endereço do servidor proxy fica salvo em um arquivo de configuração que pode ser obtido via navegador. Se você estiver no Windows, terá de acessar o famigerado Internet Explorer, ir em <code>Opções da Internet</code>, <code>Conexões</code> e <code>Configurações da Lan</code>.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="/pt/posts/202010_git-proxy/img/1.png" class="img-fluid figure-img"></p>
<figcaption>localização do arquivo de configuração</figcaption>
</figure>
</div>
<p>Copie e cole o caminho exibido no campo <code>Endereço</code> no navegador e você irá baixar um arquivo .dat com as configurações de proxy. Abra o arquivo em algum leitor<sup>1</sup>. No arquivo, busque por “PROXY”, essa variável conterá o endereço do servidor proxy no formato <code>dominio.com:porta</code>.</p>
</section>
<section id="escolher-o-método-de-autenticação" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> ESCOLHER O MÉTODO DE AUTENTICAÇÃO</h1>
<p>Com o endereço proxy em mãos, precisamos escolher como vamos nos autenticar:<br>
<br>
1. Digitar a senha a cada push/pull<br>
2. Salvar a senha no .gitconfig<br>
</p>
<p>O primeiro método se aplica quando temos preocupação com nossa senha, ou seja, quando o computador é compartilhado ou a configuração é salva em rede, por exemplo.</p>
<p>Quando esse não é o caso, pode-se simplesmente salvar o usuário e senha no arquivo de configuração e o push/pull ocorrerá diretamente.</p>
<section id="gitconfig-sem-salvar-senha" class="level2" data-number="2.1">
<h2 data-number="2.1" class="anchored" data-anchor-id="gitconfig-sem-salvar-senha"><span class="header-section-number">2.1</span> .gitconfig sem salvar senha</h2>
<p>Recomendo usar o pacote {usethis} para alterar qualquer arquivo de configuração no R. Para a primeira opção, faríamos da seguinte maneira:</p>
<div class="cell">
<div class="code-copy-outer-scaffold"><div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># abrir o arquivo de configuração</span></span>
<span id="cb1-2">usethis<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">edit_git_config</span>()</span></code></pre></div></div>
</div>
<p>Na janela do .gitconfig que será aberta, adicione as seguintes linhas:</p>
<pre><code>[http]
    proxy = http[s]://dominio.com:porta

[credential]
    helper = wincred

[credential "helperselector"]
    selected = manager
</code></pre>
<p>Em que “domínio.com” é o endereço proxy que você achou no arquivo .dat e as demais configurações definem a forma como você será solicitado a incluir usuário e senha, nesse caso através de uma janela pop up a cada push/pull.</p>
</section>
<section id="gitconfig-com-senha-gravada" class="level2" data-number="2.2">
<h2 data-number="2.2" class="anchored" data-anchor-id="gitconfig-com-senha-gravada"><span class="header-section-number">2.2</span> .gitconfig com senha gravada</h2>
<p>A outra alternativa é gravar o usuário e senha no próprio .gitconfig. Novamente, se o arquivo ficar em rede ou se outras pessoas tiverem acesso à máquina, evite essa opção. Para deixar seu usuário e senha salvas no .gitconfig, basta adicioná-los antes do domínio. A vantagem desse método a não ter de inserir as informações a cada push/pull.</p>
<pre><code>[http]
    proxy = http[s]://usuario:senha@dominio.com:porta
</code></pre>
<p>Lembre-se de atualizar a senha no .gitconfig sempre que ela for alterada!</p>


</section>
</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Notas de rodapé</h2>

<ol>
<li id="fn1"><p>Evite o bloco de notas para exibir corretamente as quebras de linha. Sugiro o Wordpad.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>tools</category>
  <guid>/pt/posts/202010_git-proxy/</guid>
  <pubDate>Fri, 25 Sep 2020 03:00:00 GMT</pubDate>
  <media:content url="/pt/posts/202010_git-proxy/img/git.png" medium="image" type="image/png" height="144" width="144"/>
</item>
<item>
  <title>Hello World</title>
  <dc:creator>Alberson Miranda</dc:creator>
  <link>/pt/posts/202009_hello-world/</link>
  <description><![CDATA[ 






<p>Depois de uma ou outra postagem no LinkedIn e Kaggle, já era hora de eu montar meu próprio blog para ciência de dados, não é mesmo?</p>
<p><em>First things first</em>, que nome é esse? <strong>Datamares &amp; Dreamscapes</strong> faz referência ao título de uma coletânea de contos do Stephen King <em>Nightmares &amp; Dreamscapes</em> (Pesadelos e Paisagens Noturnas, no Brasil) e faz bastante jus à minha relação com esse mundo. Eu smepre quero aprender mais, ir mais longe, conquistar novos horiontes, mas o aprendizado envolve certos sacrifícios e noites perdidas ou mal dormidas. Entretanto, quando você consegue aquele resultado esperado é como se um portal se abrisse para um novo mundo.</p>
<p>Então, sobre o que pretendo falar por aqui? Principalmente acerca dos projetos em R nos quais estiver trabalhando, machine learning, estatística clássica, forecasting, frameworks… e um pouco de matemática, economia e ensino. Basicamente ideias, insights e trabalhos que devo consultar vez ou outra.</p>
<p>E se alguma dessas coisas te ajudar de alguma forma, eu vou ficar bastante feliz :p</p>



 ]]></description>
  <category>news</category>
  <guid>/pt/posts/202009_hello-world/</guid>
  <pubDate>Fri, 11 Sep 2020 03:00:00 GMT</pubDate>
</item>
</channel>
</rss>
