class: center, middle, inverse, title-slide .title[ # Metodologia de Pesquisa Jurimétrica ] .subtitle[ ##
] --- ## O que estamos fazendo aqui? Neste semestre, tentaremos responder à pergunta: <center> <b>Como desenvolver um projeto de jurimetria?</b> </center> -- Nossa jornada começa com as definições básicas de jurimetria e, através de diversos exemplos, discutiremos todos os aspectos metodológicos envolvidos. -- No final, você será capaz de - pensar um problema cientificamente, - construir boas perguntas de pesquisa, - planejar um estudo jurimétrico e - desenhar o passo-a-passo para realizá-lo na prática. -- Se quiser, você poderá até realizar algumas análises e programas! --- ## VAMOS APRENDER IA??!?!!11 -- - Sim, mas provavelmente não da forma que você espera 😉 -- - Tem muito *hype* em torno da Inteligência Artificial. <img src="img/toad-hype-hype.gif" style="display: block; margin: auto;" /> -- - Vamos discutir o tema a partir de aplicações. --- ## As aulas - As aulas acontecerão às sextas, das 10h15 às 11h55. -- Uso do tempo de aula (aproximado) |Horario |Atividade | |:-------------|:-------------------------------------------| |10h15 - 10h30 |Dúvidas e correção do quiz da aula anterior | |10h30 - 11h30 |Aula expositiva | |11h30 - 11h55 |Dúvidas e quiz | --- class: middle ## Dinâmica das aulas - Pode me interromper para dúvidas e comentários. O plano de aula é apenas um guia, mas a aula vai para onde a gente quiser. -- - Algumas dúvidas serão respondidas na hora. Outras serão respondidas mais tarde na própria aula ou em aulas futuras. --- class: middle ## Materiais - Os slides, quizzes etc serão disponibilizados na [página do curso](https://ndtj.github.io/202203-m-jurimetria). - Outros materiais poderão ser disponibilizados no __Teams__. - Perguntas podem ser enviadas pelo Teams ou no e-mail [jaztrecenti@pucsp.br](mailto:jaztrecenti@pucsp.br) --- ## Por onde vamos? Jurimetria não é software, é processo. Vamos aprender como isso funciona e o que devemos levar em conta. <center> <img src = "img/ml-jurimetria.png" width="100%"> </center> --- class: center, middle, inverse # Plano de aulas --- ## 1. Aspectos gerais da pesquisa jurimétrica __Data__: 04/03/2022 __Tipo__: aula __Bimestre__: 1 __Atividades__: - Metodologia geral de pesquisa científica - Formulação de hipóteses - Fontes de dados - Estudo prospectivo e retrospectivo __Obs__: aula 1, não tem quiz --- ## 2. Estatística básica __Data__: 11/03/2022 __Tipo__: aula __Bimestre__: 1 __Atividades__: - Base de dados arrumada - Tipos de variáveis - Estatísticas de posição - Estatísticas de variabilidade - Quiz --- ## 3. Introdução à programação em R __Data__: 18/03/2022 __Tipo__: aula __Bimestre__: 1 __Atividades__: - Vantagens de usar programação - R como calculadora - Tipos de objetos - Estatísticas de posição e variabilidade no R - Quiz --- ## 4. Introdução à programação em R __Data__: 25/03/2022 __Tipo__: aula __Bimestre__: 1 __Atividades__: - Vantagens de usar programação - R como calculadora - Tipos de objetos - Estatísticas de posição e variabilidade no R - Quiz --- ## 5. Pesquisa jurimétrica utilizando dados da jurisprudência __Data__: 01/04/2022 __Tipo__: aula __Bimestre__: 1 __Atividades__: - Consulta de jurisprudência do TJSP - Análise descritiva - Exemplo: boletim - Quiz --- ## 6. Pesquisa jurimétrica utilizando classificação manual __Data__: 08/04/2022 __Tipo__: aula __Bimestre__: 1 __Atividades__: - Formulário de classificação - Controle de inconsistências - Exemplo: observatório das falências - Quiz --- ## 7. Prova 1 __Data__: 29/04/2022 __Tipo__: prova __Bimestre__: 1 __Atividades__: - --- ## 8. Probabilidade e inferência __Data__: 06/05/2022 __Tipo__: aula __Bimestre__: 1 __Atividades__: - O que é probabilidade - O que é inferência estatística - Viés e variância - Amostragem - Quiz --- ## 9. Regressão linear __Data__: 13/05/2022 __Tipo__: aula __Bimestre__: 2 __Atividades__: - Modelos de regressão - Variável resposta e explicativa - Intercepto e coeficiente angular - Qualidade do ajuste - Quiz --- ## 10. Pesquisa jurimétrica utilizando dados agregados do judiciário __Data__: 20/05/2022 __Tipo__: aula __Bimestre__: 2 __Atividades__: - Justiça em números - Módulo de produtividade mensal - Datajud - Exemplo: litigiosidade e desenvolvimento - Quiz --- ## 11. Modelagem preditiva __Data__: 27/05/2022 __Tipo__: aula __Bimestre__: 2 __Atividades__: - Duas culturas - IA no direito - Sobreajuste - Treino/teste - Quiz --- ## 12. Tópicos de pesquisa jurimétrica __Data__: 03/06/2022 __Tipo__: aula __Bimestre__: 2 __Atividades__: - Pesquisa jurimétrica utilizando diários de justiça - Pesquisa jurimétrica usando sistemas administrativos e dados do executivo - Pesquisa jurimétrica usando dados de leis - Pesquisa jurimétrica utilizando inteligência artificial - Quiz --- ## 13. Prova 2 __Data__: 10/06/2022 __Tipo__: prova __Bimestre__: 2 __Atividades__: - --- ## 14. Sub __Data__: 17/06/2022 __Tipo__: prova __Bimestre__: 2 __Atividades__: - __Obs__: emenda de feriado --- ## 15. (extra) exemplo de projeto no R __Data__: 24/06/2022 __Tipo__: aula __Bimestre__: 2 __Atividades__: Modelagem preditiva e inteligência artificial --- ## 16. Exame __Data__: 01/07/2022 __Tipo__: prova __Bimestre__: 2 __Atividades__: - --- ## Notas Para cada bimestre: - __Quiz do final da aula__: 50% - Cada quiz vale 1,0 na nota do bimestre. - Cada quiz terá ~5 questões de múltipla escolha. - Poderemos ter questões extras, valendo __pontos extras__. - Os quizes podem ser feitos individualmente ou em grupo, mas a entrega é individual. - O prazo de cada quiz é de 1 semana: 23h59 da quinta-feira anterior à aula. - __Prova__: 50% - Cada prova vale 5,0 na nota do bimestre - A prova poderá ter questões extras, valendo pontos extras. - Dependendo do andar das aulas, poderemos substituir alguma prova por um trabalho em grupo. --- class: middle # Guia para os slides #### Slides sobre cases: __<span style="color:#3B0F70;">marca azul</span>__ #### Slides sobre conceitos: __<span style="color:#DE4968;">marca rosa</span>__ #### Slides sobre metodologia: __<span style="color:#7AD151;">marca verde</span>__ --- class: center, middle, inverse # Aspectos gerais da pesquisa jurimétrica --- class: stats # O que é jurimetria? - Jurimetria é a __estatística__ aplicada ao __direito__. -- - Fazer jurimetria é pensar o direito de forma __concreta__, colocando nosso objeto de estudo no __tempo__ e no __espaço__. -- .pull-left[ ### Estudo clássico Princípios jurídicos e pensamento de especialistas sobre o valor de indenização por dano moral a ser concedido no contexto de direito do consumidor. ] -- .pull-right[ ### Estudo jurimétrico Valores típicos de dano moral em sentenças de primeira instância de processos envolvendo direito do consumidor no Tribunal de Justiça de São Paulo em 2021. ] -- A jurimetria __complementa__ o estudo clássico do direito, considerando leis, __princípios__ jurídicos e pensamentos abstratos como __hipóteses__ que se manifestam ou não na __realidade__ através das __decisões__ judiciais. --- class: stats # Definição de hipóteses <img src="img/metodologia.png" style="max-width:200%;width:1500px;"> --- class: stats # Definição de hipóteses <img src="img/metodologia.png" style="max-width:200%;width:1500px;margin: 0px 0px 0px -700px;"> --- class: stats, middle, inverse, center # Exemplo (em sala) --- class: stats # Ciclo da ciência de dados Sabemos onde estão os dados. O que fazer? <img src="img/ciclo-ciencia-de-dados.png" width="90%" style="display: block; margin: auto;" /> --- class: jurimetrics # Nosso dia-a-dia .pull-left[ #### Download <img src="img/download_esaj.png" width="100%" style="display: block; margin: auto;" /> ] -- .pull-right[ #### Arrumação <img src="img/tidy_esaj.png" width="100%" style="display: block; margin: auto;" /> ] -- .center[ #### Visualização / Modelagem ] <img src="img/model_esaj.png" width="50%" style="display: block; margin: auto;" /> --- class: jurimetrics ## Resumo __Conceitos__ - Pensar jurimetria é pensar de forma __concreta__ - A jurimetria é complementar ao estudo clássico do direito, e tem limites - Para fazer jurimetria, precisamos de dados! -- __Metodologia__ - Antes de realizar a coleta, precisamos definir nossas perguntas de pesquisa. Entender a teoria é muito importante! - Os parâmetros da coleta precisam ser bem especificados. - Algumas perguntas podem surgir durante a análise dos dados. -- __Next__: Estatística básica 🤓 --- class: middle, center, inverse # Estatística básica --- class: jurimetrics # O que é estatística? - Conjunto de ferramentas e técnicas para tratar dados. - Fazemos estatísticas para extrair informações sumarizadas de dados. - Também pode ser pensada como a *metaciência*, ou seja, ela organiza a forma que a ciência funciona. --- class: jurimetrics # Para que serve estatística? - Usamos estatística para fazer afirmações sobre o desconhecido. - Detectamos *tendências* para fazer previsões. - Organizamos processos complexos de decisão. - Aprendemos a controlar a incerteza que existe no mundo. --- # Perguntas respondidas com estatística - __Advogando__: quanto cobrar por esse processo? - __No tribunal__: o estoque de processos está caindo? - __Na minha empresa__: vale a pena fazer acordo? - __No legislativo__: essa lei aumentou a litigiosidade? --- # Perguntas não respondidas com estatística* - __Advogando__: qual tese aplicar nesse caso? - __No tribunal__: quais temas do direito devem ser especializados? - __Na minha empresa__: como prevenir novos conflitos? - __No legislativo__: essa lei é justa? -- __Obs__: essas perguntas podem ser respondidas com estatística a partir de algumas suposições. --- class: stats # O que é um modelo estatístico? - É uma redução da realidade a partir de uma fórmula matemática. - Em outras palavras, é a formalização de uma teoria. - A fórmula é uma representação do *mecanismo de geração dos dados*. ## Exemplos: - Leis da física (gravidade, por exemplo) - Distribuição das alturas da turma --- class: stats # O que é um modelo estatístico? - Fórmulas matemáticas sempre apresentam erros - A estatística assume que esses erros existem e colocam isso nas fórmulas, usando *distribuições de probabilidades* - Por isso, aprender estatística envolve também aprender sobre teoria de probabilidades --- class: middle, center, inverse, stats # Medidas de posição --- class: stats # Média - É a soma dos valores dividida pela quantidade de valores - Está presente em tudo: desde as notas da faculdade até as redes neurais --- class: stats # Mediana - São úteis quando temos dados assimétricos - [Exemplo da Oprah](https://forum.abj.org.br/t/diferenca-entre-media-e-mediana/84/2) <img src="img/oprah.jpg" width="40%" style="display: block; margin: auto;" /> --- class: stats # Limitações - Conjuntos de dados muito diferentes levam a estatísticas de posição iguais. - Exemplo das notas --- class: middle, center, inverse, stats # Medidas de variabilidade --- class: stats # Variância e desvio padrão - __Variância__: É a soma dos valores em relação à média (ao quadrado), dividida pela quantidade de observações - __Desvio padrão__: É a raiz quadrada da variância. A vantagem do desvio padrão é que está na mesma escala dos dados. Por exemplo, se temos uma variável em reais, o desvio padrão está em reais. --- class: center, middle, inverse, stats # Programação --- class: stats # Conteúdo <center> <img src = "img/conteudo.png" width = "80%"> </center> --- class: stats ## Introdução ao R .pull-left[ <br> - R e RStudio - Trabalhando com projetos - Objetos e funções - Pacotes ] .pull-right[ <center> <img src="img/arte_comunidade.png"> <a href = "https://github.com/allisonhorst/stats-illustrations" target = "blank_"> <img src = "img/ref_horst.png" width = "75%" style = "margin-top: -30px;"> </a> </center> ] --- class: stats ## Importação .pull-left[ <br> - Arquivos de texto - Arquivos do excel - Arquivos de outros softwares (SAS, SPSS) - Conexão com banco de dados ] .pull-right[ <br> <center> <img src="img/arte_janitor.png"> <a href = "https://github.com/allisonhorst/stats-illustrations" target = "blank_"> <img src = "img/ref_horst.png" width = "75%" style = "margin-top: -30px;"> </a> </center> ] --- class: stats ## Transformação .pull-left[ <br> - Selecionar colunas - Filtrar linhas - Criar ou modificar colunas - Agrupar e sumarizar - Juntar tabelas ] .pull-right[ <center> <img src="img/arte_dplyr.png"> <a href = "https://github.com/allisonhorst/stats-illustrations" target = "blank_"> <img src = "img/ref_horst.png" width = "75%" style = "margin-top: -30px;"> </a> </center> ] --- class: stats ## Visualização <center> <img src="img/arte_ggplot2.png" width = 70%> <a href = "https://github.com/allisonhorst/stats-illustrations" target = "blank_"> <img src = "img/ref_horst.png" width = "35%" style = "margin-top: -30px;"> </a> </center> --- class: stats ## Comunicação - Relatórios automatizados - Dashboards estáticos <center> <img src="img/arte_rmarkdown.png" width = 70%> <a href = "https://github.com/allisonhorst/stats-illustrations" target = "blank_"> <img src = "img/ref_horst.png" width = "35%" style = "margin-top: -30px;"> </a> </center> --- class: stats ## Referência <br> <center> <a href = "https://r4ds.had.co.nz"> <img src="img/r4ds.png" width = 40%> </a> </center> --- class: middle, center, stats # As vantagens de analisar dados usando linguagens de programação --- class: middle, center, stats ### As principais linguagens para ciência de dados são # Código Aberto --- class: stats # O que significa ser código aberto? <br> 1. Acesso gratuito. 2. Estudantes podem usar as mesmas ferramentas que os profissionais. 3. Possibilita a existência de uma comunidade ativa. 4. Você pode corrigir problemas e aprimorar a linguagem. 5. Você pode desenvovler suas próprias ferramentas. --- class: middle, center, stats # O código é texto --- class: stats # Podemos copiar e colar <br> <center> <img src="img/copy-paste.png" style="width: 70%"> </center> --- class: stats # Reprodutibilidade <img src="https://github.com/allisonhorst/stats-illustrations/raw/master/rstats-artwork/reproducibility_court.png" width="100%" style="display: block; margin: auto;" /> --- class: middle, center, stats # O código é uma linguagem --- class: stats # Podemos documentar a nossa análise ```r image_read("https://jeroen.github.io/images/frink.png") |> image_rotate(270) |> image_background("blue", flatten = TRUE) |> image_border("red", "10x10") |> image_annotate("Linguagens de programação ainda\nsão linguagens!", color = "white", size = 30) ``` -- .pull-left[ #### Entrada <img src = "https://jeroen.github.io/images/frink.png" style="width:25%"> ] -- .pull-right[ #### Saída <img src="index_files/figure-html/frink-out-1.png" width="620" style="display: block; margin: auto;" /> ] --- class: middle, center, stats # A relevância do R --- class: stats ## O ciclo da ciência de dados <img src="img/ciclo-ciencia-de-dados.png" style = "display: block; margin-left: auto; margin-right: auto;"> --- class: stats ## O ciclo da ciência de dados com o R <img src="img/ciclo-ciencia-de-dados-pacotes.png" style = "display: block; margin-left: auto; margin-right: auto;"> --- class: middle, center, stats # Sugestões --- class: stats # Pratique ### O objetivo de hoje é ajudar a quebrar inércia da etapa inicial de aprendizado. Assim como um idioma, o único jeito de aprender uma linguagem de programação é praticando. <img src="https://media.giphy.com/media/o0vwzuFwCGAFO/giphy.gif" style = "display: block; margin-left: auto; margin-right: auto;"> --- class: stats # Pedindo ajuda .pull-left[ <br> - Documentação do R - [Discourse Curso-r](https://discourse.curso-r.com) - Google - Stack Overflow ] .pull-right[ <img src="img/stack.png"> ] --- class: stats # Regras, boas práticas e estilo <br> Na grande maioria das vezes, você poderá resolver uma tarefa de diversas maneiras. Isso porque, apesar de existirem várias **regras**, linguagens de programação também possuem **boas práticas** e **estilos**. - __Regras__: devem ser seguidas para o código funcionar (sintaxe, vocabulário) - __Boas práticas__: recomenda-se seguir para a criação de códigos legíveis (espaçamento, nomes, organização) - __Estilo__: cada um pode escolher aquele com o qual se sentir mais à vontade (tipos de indentação, formatação) --- class: middle, center, inverse # Pesquisa jurimétrica usando dados de jurisprudência (estudos retrospectivos) --- class: jurimetrics # Objetivos de aprendizagem - Entender sobre estudos prospectivos e retrospectivos - Entender quando realizar uma análise de jurisprudência - Fazer uma análise de jurisprudência live coding --- class: stats # Fontes de dados - __Diários de Justiça__: PDFs gigantescos contendo toda a movimentação judiciária. Não é fácil lista processos a partir desses arquivos. É útil para estudos prospectivos. -- - __Consulta de jurisprudência__: Ferramentas de pesquisa dos tribunais. É mais fácil de consultar, mas ficamos reféns da qualidade da ferramenta de pesquisa. -- - __DataJud__: No futuro, teremos uma base de dados acessível e completa disponibilizada pelo CNJ (Resolução 331/2020). --- class: stats # Estudos prospectivos e retrospectivos - Estudos __prospectivos__ acompanham processos desde seu __nascimento__, identificado pela data de distribuição, até sua morte, identificada pela sentença, trânsito em julgado, arquivamento, etc. - Importante em análise de tempos. - Análise de sobrevivência. -- - Já estudos __retrospectivos__ são aqueles que indexam os processos por alguma data de __desfecho__, como uma sentença, um acórdão ou a data de arquivamento. - Importante para análise de decisões. - Modelos preditivos. --- class: stats # Estudo prospectivo e retrospectivo <img src="img/tempos.png" width="1537" style="display: block; margin: auto;" /> --- class: stats # Estrutura de dados - __Capa__: contém classe, assunto, vara, comarca, status, indicador de processo digital, local físico, entre outras. - __Partes__: contém nomes dos autores e dos réus, advogado e tipo de participação. - __Movimentações__: contém datas, títulos e conteúdo de todas as movimentações públicas do processo. São movimentações desde despachos simples, remessas e conclusos até ata de audiências e sentenças completas. - __Pasta digital__: contém todos os autos do processo, incluindo petição inicial, contestação e outros documentos não publicáveis. Os documentos só estão disponíveis em processos digitais, com acesso somente a advogados e pesquisadores credenciados. --- class: jurimetrics # Tempos em estudos retrospectivos .panelset[ .panel[.panel-name[O que observamos] <img src="index_files/figure-html/unnamed-chunk-13-1.png" style="display: block; margin: auto;" /> ] .panel[.panel-name[O que é de verdade] <img src="index_files/figure-html/unnamed-chunk-14-1.png" style="display: block; margin: auto;" /> ] ] --- class: stats # Análise de tempos - Quando o estudo é prospectivo, utilizamos uma técnica chamada __análise de sobrevivência__. - A técnica é capaz de lidar corretamente com casos que ainda estão ativos no momento da análise. Denominamos esses casos como __censura__. - A censura é capaz de lidar com informações incompletas. No nosso caso, sabemos que um processo ativo nascido em janeiro de 2021 durou __pelo menos 7 meses__ até agora. --- class: case # Exemplo! <img src="img/cat.gif" style="display: block; margin: auto;" /> --- class: center, middle, inverse # Classificação Manual --- # Objetivos de aprendizagem de hoje #### Conhecer os observatórios da ABJ #### Compreender sobre classificação manual de processos #### Compreender sobre análise de inconsistências --- class: case # Introdução - Os observatórios da ABJ são estudos que analisam e monitoram processos complexos utilizando jurimetria. - O objetivo principal dos projetos é esclarecer assuntos complexos e relevantes do Direito, com o intuito de formular melhores políticas públicas. - Todos os relatórios dos observatórios são disponibilizados publicamente. --- class: case # Metodologia 1. Formulação de hipóteses, questões norteadoras e plano de execução. 1. Listagem de processos e obtenção da população de casos a serem analisados. 1. Elaboração e validação do questionário, através de aplicação de pré-teste. 1. Coleta e organização dos dados. 1. Análise dos dados obtidos e elaboração do relatório de análise. --- class: jurimetrics # Fluxo de trabalho - Geralmente, os Observatórios são iniciados a partir da identificação de um tema interessante de análise. - Em seguida, especialistas no tema formulam hipóteses que levam às questões norteadoras da pesquisa. - Essas questões são organizadas em um documento contendo o plano de execução, que é passado para instituições apoiadoras em busca de recursos. - Após o levantamento dos recursos necessários, damos início ao cronograma de execução do projeto. --- class: case # Insolvência - Recuperações judiciais <img src="https://abj.org.br/img/cases/obsfase2.png" width="80%" style="display: block; margin: auto;" /> --- class: case # Insolvência - Falências <img src="https://abjur.github.io/obsFase3/relatorio/obs_fase3_abj_files/figure-html/razao-dist-1.svg" style="display: block; margin: auto;" /> --- class: case # Mercado de Capitais <img src="https://abj.org.br/img/cases/cvm.png" width="80%" style="display: block; margin: auto;" /> --- class: stats # Automação - Leitura, filtros, seleções - Detecção das inconsistências - Construção da base de dados arrumada --- class: stats # O que é faxina? **Faxina de dados** é o processo de modificar uma ou mais tabelas até que elas atendam o princípio **tidy**, proposto por Hadley Wickham em um artigo de 2014. Cada base exigirá uma **Faxina** diferente, pois não existe um único tipo de bagunça: _Tidy data ~~Happy families~~ are all alike; every untidy data ~~unhappy family~~ is untidy ~~unhappy~~ in its own way (Hadley Wickham ~~Leon Tolstoi~~)_ [Material do curso de faxina de dados](https://curso-r.github.io/202110-faxina/). --- class: stats # Por que faxina é importante? Dados são o subproduto de muitos __processos complexos__, administrado por várias pessoas que podem fazer __usos diferentes__ dos mesmos registros. Isso faz com que os __formatos__ e __convenções__ de armazenamento de dados sejam muito __variados__, dificultando análises futuras. Por isso, a Faxina é praticamente uma __constante__ em qualquer contexto de análise de dados, e isso não se deve **só** a erros ou falhas no processo de armazenamento. --- class: stats # O que é um banco de dados **arrumado** *Tidy data* é um princípio para arrumação de base de dados que resolve 90% dos problemas reais. Uma base tidy é **uma única tabela** que satisfaz: - Cada observação é uma (e só uma) linha da tabela. - Cada variável é uma coluna da tabela. Não existe uma coluna que represente duas variáveis, por exemplo. Essas definições são relacionadas, a depender do que entendermos por **variável** e **observação**. O que realmente importa é a filosofia por trás das sugestões. --- class: case # ObsDash <img src="img/obsdash.png" width="2516" style="display: block; margin: auto;" /> --- class: case # ObsDash - Serve para acompanhar as inconsistências dos dados - Corrigimos as informações na fonte de dados, que alimentam os trabalhos. --- class: inverse, middle, center # Modelagem --- # Objetivos de aprendizagem #### Contextualizar sobre a aplicação de jurimetria em empresas #### Diferenças entre inferência e predição #### Conhecer a regressão linear simples #### Conhecer como funcionam e para que servem modelos preditivos --- class: jurimetrics # Lawtechs - [AB2L](https://ab2l.org.br/radar-lawtechs/) surgiu em 2016 - Brasil apresenta um dos maiores mercados mercados <img src="img/lawtechs.png" width="1707" style="display: block; margin: auto;" /> --- class: jurimetrics # Ciclo de maturidade de dados <img src="img/maturidade-dados.png" width="60%" style="display: block; margin: auto;" /> --- class: jurimetrics # Cenário atual - Por conta da dificuldade de acesso aos dados, ainda existe oportunidade para empresas especializadas em __extração de dados__. - A maior parte das aplicações que vimos hoje são relacionadas a __visualização de dados__, com algumas aplicações pontuais de __modelagem__. -- - A tomada de __decisão baseada em dados__ ainda é bastante incipente no mercado atual (mesmo que as empresas não falem isso explicitamente). > Fake it until you make it. > > Simon & Garfunkel (?) --- class: jurimetrics <img src="img/jurimetria_empresas.png" width="1460" style="display: block; margin: auto;" /> --- class: jurimetrics # Regressão Linear ("duas culturas") * Predição * Inferência ## Predição Em muitas situações X está disponível facilmente mas, Y não é fácil de descobrir. (Ou mesmo não é possível descobrí-lo). `$$\hat{Y} = \hat{f}(X)$$` Neste caso não estamos interessados em como é a estrutura `\(\hat{f}\)` desde que ela apresente predições boas para `\(Y\)`. Por exemplo: Meu processo caiu com certo Juiz. Vou ganhar ou perder? --- class: jurimetrics # Regressão Linear ("duas culturas") * Predição * Inferência ## Inferência Em inferência estamos mais interessados em entender a relação entre as variáveis explciativas `\(X\)` e a variável resposta `\(Y\)`. Por exemplo: * O perfil do juiz está relacionado com o resultado do processo? --- class: stats ## Referências - [Aprendizagem de Máquinas: Uma Abordagem Estatística (Rafael Izbicki e Thiago Mendonça, 2020)](http://www.rizbicki.ufscar.br/AME.pdf) - [Introduction to Statistical Learning (Hastie, et al)](http://faculty.marshall.usc.edu/gareth-james/ISL/ISLR%20Seventh%20Printing.pdf) - [Ciência de Dados: Fundamentos e Aplicações](https://curso-r.github.io/main-regressao-linear/referencias/Ci%C3%AAncia%20de%20Dados.%20Fundamentos%20e%20Aplica%C3%A7%C3%B5es.%20Vers%C3%A3o%20parcial%20preliminar.%20maio%20Pedro%20A.%20Morettin%20Julio%20M.%20Singer.pdf) --- class: stats ## O que é e quando usar .pull-left[ ### Regressão Linear Simples $$ y = \beta_0 + \beta_1x $$ ### Exemplo: $$ dist = \beta_0 + \beta_1speed $$ ] .pull-right[ <img src="index_files/figure-html/unnamed-chunk-24-1.png" style="display: block; margin: auto;" /> ] .footnote[ Ver [ISL](https://www.ime.unicamp.br/~dias/Intoduction%20to%20Statistical%20Learning.pdf) página 61 (Simple Linear Regression). ] --- class: stats ## O que é e quando usar .pull-left[ ### Regressão Linear Simples $$ y = \beta_0 + \beta_1x $$ ### Exemplo: $$ dist = \beta_0 + \beta_1speed $$ ] .pull-right[ <img src="index_files/figure-html/unnamed-chunk-25-1.png" style="display: block; margin: auto;" /> ] .footnote[ Ver [ISL](https://www.ime.unicamp.br/~dias/Intoduction%20to%20Statistical%20Learning.pdf) página 61 (Simple Linear Regression). ] --- class: stats ## O que é e quando usar .pull-left[ ### Regressão Linear Simples $$ y = \beta_0 + \beta_1x $$ ### Exemplo: $$ dist = \beta_0 + \beta_1speed $$ ] .pull-right[ <img src="index_files/figure-html/unnamed-chunk-26-1.png" style="display: block; margin: auto;" /> ] .footnote[ Ver [ISL](https://www.ime.unicamp.br/~dias/Intoduction%20to%20Statistical%20Learning.pdf) página 61 (Simple Linear Regression). ] --- class: stats ## O que é e quando usar .pull-left[ ### Regressão Linear Simples $$ y = \beta_0 + \beta_1x $$ ] .pull-right[ ] ```r # ajuste de uma regressão linear simples no R *melhor_reta <- lm(dist ~ speed, data = cars) melhor_reta ``` ``` ## ## Call: ## lm(formula = dist ~ speed, data = cars) ## ## Coefficients: ## (Intercept) speed ## -17.579 3.932 ``` .footnote[ Ver [ISL](https://www.ime.unicamp.br/~dias/Intoduction%20to%20Statistical%20Learning.pdf) página 61 (Simple Linear Regression). ] --- class: stats ## Interpretação dos parâmetros .pull-left[ <img src="index_files/figure-html/unnamed-chunk-28-1.png" style="display: block; margin: auto;" /> $$ y = \color{darkgblue}{\beta_0} + \color{darkgreen}{\beta_1}x $$ ] .pull-right[ ### Interpretações matemáticas `\(\color{darkgblue}{\beta_0}\)` é o lugar em que a reta cruza o eixo Y. `\(\color{darkgreen}{\beta_1}\)` é a derivada de Y em relação ao X. É quanto Y varia quando X varia em 1 unidade. ### Interpretações estatísticas `\(\color{darkgblue}{\beta_0}\)` é a distância percorrida esperada quando o carro está parado (X = 0). `\(\color{darkgreen}{\beta_1}\)` é o efeito médio na distância por variar 1 ml/h na velocidade do carro. ] --- class: stats ## "Melhor Reta" segundo o quê? Queremos a reta que **erre menos**. Uma medida de erro: **E**rro **Q**uadrático **M**édio. Calculado fazendo-se a média dos erros ao quadrado. A fórmula parece com a variância: $$ EQM = \frac 1 N \left((y_1-\hat{y_1})^2 + (y_2-\hat{y_2})^2 + \cdots + (y_N-\hat{y_N})^2\right) $$ Usando o símbolo da soma `\(\sum\)`: $$ EQM = \frac{1}{N}\sum(y_i - \hat{y_i})^2 $$ --- class: stats ## "Melhor Reta" segundo o quê? Queremos a reta que **erre menos**. Uma medida de erro: **E**rro **Q**uadrático **M**édio. Substituindo `\(\hat y\)` pela sua definição: $$ EQM = \frac{1}{N}\sum(y_i - (\hat{\beta_0} + \hat{\beta_1}x_i))^2 $$ -- <img src="index_files/figure-html/unnamed-chunk-29-1.png" style="display: block; margin: auto;" /> --- class: stats ## "Melhor Reta" segundo o quê? Queremos a reta que **erre menos**. Uma medida de erro: **E**rro **Q**uadrático **M**édio. $$ EQM = \frac{1}{N}\sum(y_i - \hat{y_i})^2 $$ Ou seja, nosso **objetivo** é ## Encontrar `\(\hat{\beta}_0\)` e `\(\hat{\beta}_1\)` que nos retorne o **menor** EQM -- ... que é o mesmo que dizer "encontrar a melhor reta que explique os dados". --- class: stats ## Depois de estimar... $$ \hat{y} = \hat{\beta}_0 + \hat{\beta}_1x $$ ### Exemplo: $$ \hat{dist} = \hat{\beta}_0 + \hat{\beta}_1speed $$ Colocamos um `\(\hat{}\)` em cima dos termos para representar "estimativas". Ou seja, `\(\hat{y}_i\)` é uma estimativa de `\(y_i\)`. No nosso exemplo, - `\(\hat{\beta}_0\)` é uma estimativa de `\(\beta_0\)` e vale `-17.579`. - `\(\hat{\beta}_1\)` é uma estimativa de `\(\beta_1\)` e vale `3.932`. - `\(\hat{dist}\)` é uma estimativa de `\(dist\)` e vale `-17.579 + 3.932 x speed`. --- class: case # Exemplo! <img src="img/cat.gif" style="display: block; margin: auto;" /> --- class: stats # Modelagem preditiva - Área da estatística destinada à construção de __modelos estatísticos__ capazes de fornecer boas predições para determinado fenômeno. - Melhor introdução para o tema: [ISLR](https://www.statlearning.com) <img src="img/islr.png" width="1556" style="display: block; margin: auto;" /> - __Machine learning__ e __statistical learning__ são __sinônimos__. --- class: stats # O que é um modelo preditivo? Paradigma programação vs paradigma do aprendizado estatístico. .pull-left[ <img src="img/ia_esquerda.png" width="605" style="display: block; margin: auto;" /> ] -- .pull-right[ <img src="img/ia_direita.png" width="657" style="display: block; margin: auto;" /> ] --- class: stats # Mas e as redes neurais? - Redes neurais / deep learning é uma área de aprendizado de máquinas (aprendizado estatístico). <img src="img/artificial-intelligence.png" width="60%" style="display: block; margin: auto;" /> --- class: stats # Mas e a inteligência artificial?! <img src="img/ml-stats.jpeg" width="60%" style="display: block; margin: auto;" /> A inteligência artificial *está* machine learning nos dias de hoje. --- class: stats # Inputs e outputs - Nós temos inputs e outputs, e queremos predizer um output que ainda não existe a patir de um input que temos em mãos. - Por exemplo, queremos predizer o resultado de um processo (output) com base nas suas características (input). - Geralmente associamos os inputs à variável `\(X\)` e os outputs à variável `\(Y\)`. - Queremos criar uma função (uma fórmula) `\(g\)` que, a partir de um `\(X\)`, consegue dar um valor de `\(Y\)` `$$Y = g(X)$$` --- class: stats # Sobreajuste Para isso, podemos aplicar um modelo super complexo, que se ajusta perfeitamente aos dados que eu observo, como se cada caso fosse um caso... <img src="img/overfiting_sem_teste.gif" width="80%" style="display: block; margin: auto;" /> Fonte: [Curso-R](https://curso-r.com) --- class: stats # Erro de generalização - Um modelo de aprendizado estatístico precisa funcionar bem para bases que nós __não observamos__. Para isso, tentamos criar um modelo que se adeque bem aos dados que observamos. <img src="img/alvo.jpg" width="1707" style="display: block; margin: auto;" /> --- class: stats # Sobreajuste ... mas quando eu vou aplicar isso no mundo real, os modelos mais complicados não se aplicam. <img src="img/overfiting_com_teste.gif" width="80%" style="display: block; margin: auto;" /> Fonte: [Curso-R](https://curso-r.com) --- class: stats # Sobreajuste No fundo, preciso escolher um modelo que seja suficientemente complexo para captar o __sinal__ (tendência) do fenômeno estudado, sem com isso fazer com que meu modelo seja suscetível a __ruídos__ (erros aleatórios), <img src="img/overfiting_scatter_eqm.gif" style="display: block; margin: auto;" /> Fonte: [Curso-R](https://curso-r.com) --- class: stats # Treino e teste - Para lidar com esse problema, separamos nossa base em duas: uma base de __treino__ e uma base de __teste__. - Na base de treino, ajustamos nosso modelo. Na base de teste, testamos o quão bom está o modelo. Dessa forma, não tem como sermos enganados pelo sobreajuste. - A base de treino, por sua vez, passa por um procedimento chamado __validação cruzada__, que consiste em testar vários modelos escondendo uma parte da base de treino e testando os melhores candidatos. --- class: case # Sobre o case __Objetivos__: Visualização e modelagem de dados a partir de uma base de uma lista de processos enviada pela Vivo. __Recorte temporal__: processos distribuídos entre 2009 e 2019. __Recorte regional__: Processos distribuídos em 6 comarcas distintas: Fernandópolis, Jales, Palmeira D'Oeste, Presidente Prudente, Santa Fé do Sul e São José do Rio Preto. __Recorte de escopo__: Processos relacionados a direito do consumidor com a Vivo no polo passivo. --- class: stats # O Dashboard <img src="img/vivopoc.gif" style="display: block; margin: auto;" /> --- class: case # Voltando ao case <img src="img/diagnostico.png" width="2157" style="display: block; margin: auto;" /> - Acurácia do modelo: 88%. É bom? - Precisão do modelo: 89%. --- class: case # Aprendizado estatístico interpretável Art. 20 da LGPD: > § 1º O controlador deverá fornecer, sempre que solicitadas, informações claras e adequadas a respeito dos critérios e dos procedimentos utilizados para a decisão automatizada, observados os segredos comercial e industrial. - Conforme obtemos mais dados, conseguimos ajustar modelos cada vez mais complexos. - Modelos mais complexos são mais difíceis de interpretar: não tem só um `\(X\)` para explicar o `\(Y\)`, e as funções `\(g\)` podem ser bem complicadas de ler por seres humanos. --- class: case # Machine Leaning Interpretável Uma das áreas de pesquisa que mais cresce na atualidade é a de intepretação de modelos. O problema de *fairness* é igualmente relevante, e também é levada em conta na área de interpretabilidade. Livro: [Interpretable Machine Learning](https://christophm.github.io/interpretable-ml-book/). <img src="img/iml.jpg" width="50%" style="display: block; margin: auto;" /> --- # Resumo - Aprendizado de máquinas é o mesmo que __aprendizado estatístico__, e inteligência artificial é uma área do conhecimento que contém como área mais importante (atualmente) o aprendizado de máquinas. - Modelos preditivos buscam minimizar o erro de generalização. Para isso, precisamos separar a base entre __treino__ e __teste__. - Um modelo pode otimizar __métricas diferentes__, e essas métricas dependem do modelo de negócio. --- class: middle, center, inverse # Tópicos de Jurimetria --- # Tópicos ### Teoria da decisão ### Causalidade ### Priest & Klein --- # Teoria da decisão - Área do conhecimento que envolve tomar decisões *racionais* em um ambiente de incerteza - A maior parte dos modelos estatísticos podem ser pensados como problemas de teoria da decisão --- # Exemplo: guarda-chuva **Pergunta**: Devo levar guarda-chuva quando sair de casa? **Utilidade/perda**: Quanto eu fico feliz ou triste em cada situação **Probabilidade**: Qual a probabilidade do evento ocorrer -- ## Exemplo no excel --- class: middle, inverse, center # Causalidade --- # O que é causalidade? A pesquisa em causalidade busca descobrir uma relação funcional entre duas ou mais variáveis. Por exemplo: $$ y = f(x) = a + bx $$ No mundo real, observamos essa relação com ruídos. O importante é que esse ruído não tenha relação com outras variáveis que explicam o fenômeno. Exemplo: $$ y = f(x) = a + bx + \varepsilon, \ \ \varepsilon\sim\mathcal N(0,\sigma^2) $$ --- # Três passos da causalidade Vamos pensar em um problema onde estamos estudando se a grama fica molhada, observando o céu e um regador. -- - __Predição__: dado que eu observei o regador funcionando, qual a probabilidade da grama estar molhada? 2) dado que eu observei o céu nublado, qual a probabilidade da grama estar molhada? -- - __Intervenção__: se eu girar o regador, qual a probabilidade da grama se molhar? 2) Se eu fizer a dança da chuva, qual a probabilidade da grama se molhar? -- - __Contrafactual__: Sabendo que eu observei o regador desligado e o chão seco, qual a probabilidade do chão estar molhado se eu tivesse ligado o regador? 2) Sabendo que eu observei o céu azul e o chão seco, qual a probabilidade do chão estar molhado se eu tivesse feito a dança da chuva? --- # Judea Pearl <img src="img/judeapearl.png" width="100%" style="display: block; margin: auto;" /> --- # Três estruturas básicas -- ### Mediadores A -> B -> C -- ### Confundidores / garfos A <- B -> C -- ### Colisores A -> B <- C --- # Paradoxos ## Monty Hall <img src="img/montyhallproblem.png" width="100%" style="display: block; margin: auto;" /> --- ## Colisor!
--- ## Paradoxo de Simpson <img src="img/simpson1.png" width="100%" style="display: block; margin: auto;" /> --- ## Paradoxo de Simpson <img src="img/simpson2.png" width="100%" style="display: block; margin: auto;" /> --- ## Confundimento!
--- # Priest & Klein - O artigo sobre viés de seleção em disputas judiciais está relacionado a um colisor: um viés de seleção que existe. **Ver**: [Fórum ABJ](https://forum.abj.org.br/t/o-que-e-o-teorema-de-priest-klein/39) --- class: middle, center # Apoio .pull-left[ <img src="https://ndtj.com.br/img/logo.png" width="80%" style="display: block; margin: auto;" /> [Núcleo de Direito, Tecnologia e Jurimetria / PUC-SP](https://ndtj.com.br) ] .pull-right[ <img src="https://abj.org.br/assets/logo-home.png" width="80%" style="display: block; margin: auto;" /> [Associação Brasileira de Jurimetria](https://abj.org.br)]