====== Paola Bongiovani ====== {{:01_curso_atual:alunos:trabalho_final:paola.bongiovani:paola.png?200|}} **Mestrado:** Engenharia de Sistemas Agrícolas (Agrometeorologia) - Universidade de São Paulo **Orientador:** Dr. Paulo Cesar Sentelhas **Projeto:** Mudanças climáticas e seus impactos na cultura da mandioca no Semiárido brasileiro e estratégias de manejo para mitigação das perdas **Áreas de interesse:** agrometeorologia, modelagem (modelos de crescimento de culturas), mudanças climáticas. **Contato:** paola.f.bongiovani@gmail.com / paola.bongiovani@usp.br ---- ---- ===== Link para exercícios ===== [[.:exec]] ---- ---- ===== Trabalho final ===== ---- ==== PROPOSTA A: ==== === Análise estatística de dados observados x simulados com modelos === **1. Contextualização** Um modelo de simulação é composto por dois ou mais modelos matemáticos, os quais consistem em um conjunto de equações que visam fornecer uma descrição matemática simplificada de um determinado fenômeno complexo do mundo real. A utilização de modelos de simulação tem sido cada vez mais difundida, pois eles nos permitem compreender de forma mais simples algo complexo da natureza, além de testar diferentes cenários e condições (de local, de solo, de clima, entre outros) e analisar padrões. A partir de dados empíricos, inúmeras simulações são realizadas alterando-se os parâmetros ou coeficientes inerentes ao modelo, até que este esteja devidamente calibrado para os dados observados obtidos, ou seja, até que se atinja a melhor relação possível entre os dados simulados pelo modelo e os empíricos (ou observados). A análise dessa relação é realizada utilizando-se indicadores estatísticos, os quais devem ser recalculados a cada nova simulação, ou seja, a cada novo conjunto de dados simulados obtidos. A performance do modelo em relação aos dados observados é verificado com base em indicadores estatísticos, como: coeficiente de determinação (r²), índice de Pearson ( r ) (Tabela 1), índice de concordância (d) (WILLMOTT, 1982), índice de confiança ou de desempenho ( c ) (CAMARGO; SENTELHAS, 1997) (Tabela 2), o erro médio (EM), erro absoluto médio (EAM), raíz do erro quadrático médio (REQM) e eficiência do método utilizado ou simulação realizada (EF). {{ :01_curso_atual:alunos:trabalho_final:paola.bongiovani:equacoes.jpg?400 |}} Em que Si corresponde aos valores simulados pelo modelo; Oi, aos valores observados; Ō é a média dos valores observados, n é o número total de valores observados ou estimados. Tabela 1. Classificação dos valores do coeficiente de correlação de Pearson ( r ) (HOPKINS, 2000). {{ :01_curso_atual:alunos:trabalho_final:paola.bongiovani:tab_r.jpg?400 |}} Tabela 2. Critério de interpretação do desempenho do modelo, pelo índice “c” de Camargo e Sentelhas (1997). {{ :01_curso_atual:alunos:trabalho_final:paola.bongiovani:tab_c.jpg?400 |}} Nesse contexto, destaca-se a necessidade de uma função que, a partir de um conjunto de dados observados e vários conjuntos de dados provenientes de simulações com modelos, realize todos os cálculos de indicadores estatísticos automaticamente - para analisarmos a performance dos modelos de modo mais prático e eficiente -, e que também crie um gráfico com os dados observados e a cada conjunto de dados simulados - de modo a permitir uma melhor visualização da relação entre eles. A função vai pegar um conjunto de dados observados e diferentes conjuntos de dados simulados (sendo um conjunto de dados simulados em cada coluna de uma planilha) e realizar todos os cálculos estatísticos e análises dos indicadores que apresentam classificações, simultaneamente, gerando uma tabela com os resultados dos indicadores estatísticos, além de um gráfico de dispersão dos dados observados por cada grupo de dados simulados, com a reta e equação da regressão linear, além de uma reta 1:1. **2. Planejamento da função** **Entrada:** obs.sim(''obs'', ''sim'', ''indice'') * ''obs'' = conjunto de dados observados (classe:numeric, obs ≥ 0); * ''sim'' = conjuntos de dados simulados, cada conjunto em uma coluna diferente (classe: data.frame, sim ≥ 0); * ''indice'' = índice(s) estatístico(s) desejado(s) (classe: fator); **Verificando os parâmetros:** * ''obs'' é um número e é maior ou igual a zero? Se não, escreve: “obs precisa ser número e ≥ 0.” * ''sim'' é um número e é maior ou igual a zero? Se não, escreve: “sim precisa ser da classe data.frame e ≥ 0.” * ''obs'' e ''sim'' apresentam mesma quantidade de dados? Se não, escreve: “obs e sim devem apresentar mesma quantidade de dados.” * ''indice'' é diferente de ''all'',''r2'', ''r'', ''d'', ''c'', ''EM'', ''EAM'', ''REQM'' ou ''EF''? Se for, escreve: “indice pode ser all, r2, r, d, c, EM, EAM, REQM ou EF.” **Pseudocódigo:** - Cria objeto ''obs'' com ''obs''; - Cria data.frame ''sim'' com ''sim''; - Cria um objeto com resultado dos índice estatísticos selecionados: - Calcula o r² e guarda em ''r2''; - Calcula o r e guarda em ''r'', - Calcula o d e guarda no ''d''; - Calcula o c e guarda no ''c''; - Calcula o erro médio e guarda no ''EM''; - Calcula o erro absoluto médio e guarda no ''EAM''; - Calcula a raíz do erro quadrático médio e guarda no ''REQM''; - Calcula a eficiência da simulação e guarda em ''EF''; - Cria data frame com ''r2'', ''r'' e a classificação da correlação, ''d'', ''c'' e a interpretação do desempenho, ''EM'', ''EAM'', ''REQM'', ''EF'', sendo uma linha para cada coluna de ''sim''; - Cria objeto ''xy'' com a regressão linear de ''obs'' com cada coluna de ''sim''; - Cria gráfico de dispersão com ''obs'' (eixo x) e cada coluna de ''sim'' (eixo y), com a reta da regressão linear, a equação da reta, o ''r²'' e uma reta 1:1. **Saída:** * Gráfico de dispersão dos dados observados e simulados pelo modelo, com a reta obtida com a regressão linear, o r² e uma reta 1:1; * Data frame com os resultados dos índices estatísticos escolhidos, sendo uma linha de resultados para cada coluna de dados simulados. **3. Referências** CAMARGO, A. P.; SENTELHAS, P. C. Avaliação do desempenho de diferentes métodos de estimativa da evapotranspiração potencial no estado de São Paulo. Revista Brasileira de Agrometeorologia, v. 5, n. 1, p. 89-97, 1997. HOPKINS, W. G. Correlation coefficient: a new view of statistics, 2000. WILLMOTT, C. J. Some comments on the evaluation of model performance. Bulletin of the American Meteorological Society, v. 63, n. 11, p. 1309–1313, 1982. ---- ---- ==== PROPOSTA B: ==== === Estimativa do álcool no sangue e efeitos no corpo e condução veicular === **1. Contextualização** O consumo de álcool é algo presente em nosso dia-a-dia. Com a criação da Lei Seca no Brasil, houve um aumento de conscientização sobre os perigos do consumo de álcool, em geral, e seus efeitos em nossas ações e reações à determinados estímulos, como os relacionados à condução veicular. A proposta de “Tolerância Zero” trazida pela Lei foi uma estratégia que pune, basicamente, qualquer usuário que tenha ingerido bebidas alcóolicas. Por consequência, há pessoas que deixam de ingerir álcool por medo de pagar multas ou perder a CNH (e se tornam “o motorista da vez”), e outras que consomem e montam estratégias para evitar caminhos com possibilidade de haver barreiras policiais. Entretanto, nem sempre estamos cientes dos efeitos causados em nosso organismo de acordo com a quantidade de álcool que ingerimos, sejam elas maiores ou menores. Widmark (1981) criou uma fórmula para determinar a quantidade de álcool no sangue ( c ) a partir de cálculos que demandam três informações: quantidade de álcool ingerida (A), peso corporal do consumidor (p) e o coeficiente de redução (r, cujos valores médios variam de acordo com o gênero). A quantidade de álcool ingerida, em grama de álcool por quilo de álcool, é obtida a partir dos teores alcóolicos das bebidas consumidas (em %), o volume consumido (em ml) e o peso específico (ou densidade) do álcool, padronizado em 0.79 gramas. {{ :01_curso_atual:alunos:trabalho_final:paola.bongiovani:aprc_ateor.jpg?500 |}} A função proposta receberia, então, o gênero e peso do consumidor, o tipo de bebida ingerida e o volume ingerido, e faria cálculos de acordo com os valores de entrada utilizando-se dados como os exemplificados na tabela abaixo: {{ :01_curso_atual:alunos:trabalho_final:paola.bongiovani:tab_beb.jpg?450 |}} Para concordar com o sistema atualizado no Brasil, em que a Taxa de Álcool no Sangue (TAS) é obtida em gramas por litro de sangue (g/L ou dg/L), a função converteria automaticamente o resultado obtido na função de Widmark (1981), utilizando-se do fator de conversão de Simonin (1982). Em seguida, a quantidade de álcool no sangue seria utilizada para verificar quais os seus eventuais efeitos no corpo do consumidor, além dos possíveis efeitos e riscos de acidente ao conduzir um veículo. **2. Planejamento da função** **Entrada:** drink.n.drive(''gen'', ''p'', ''beb'', ''vol'') * ''gen'' = gênero do consumidor (classe: fator, ''gen'' = M ou F); * ''p'' = peso do consumidor, em kg (classe: numeric, ''p'' > 0); * ''beb'' = tipo(s) de bebida(s) consumida(s) (classe: fator); * ''vol'' = volume(s) consumido(s) de (cada) bebida, em ml (classe: integer, ''vol'' > 0). **Verificando os parâmetros:** * ''gen'' é um fator? Se não, escreve: “gen precisa ser um fator.” * ''p'' está em kg e é um número maior que zero? Se não, escreve: “p precisa estar em kg, ser um número e ser > 0.” * ''beb'' é um fator? Se não, escreve: “beb deve ser um fator.” * ''vol'' está em ml e é um número inteiro e maior que zero? Se não, escreve: “vol deve estar em ml, ser um número inteiro e ser > 0.” **Pseudocódigo:** - Cria data frame ''fem'' se ''gen''=F ou ''masc'' se ''gen''=M, com respectivo r; - Calcula A com vol e a lista ''beb'' e guarda no ''fem'' ou ''masc''; - Calcula c com A, p e r; - Converte unidade de c; - Seleciona no ''body.ef'' os valores para c e guarda em ''fem'' ou ''masc''; - Seleciona no ''cond.ef'' os valores para c e guarda em ''fem'' ou ''masc''; - Recupera data frame com a estimativa de c e os efeitos no corpo e condução. **Saída:** * Data frame com a estimativa da quantidade de álcool no sangue do consumidor, os efeitos da quantidade no corpo e os efeitos e/ou riscos de acidente na condução. **3. Referências** SIMONIN, C. Medicina legal judicial. Barcelona: Editorial JIMS, 1962. WIDMARK, E. M. P. Principle and applications of medicolegal alcohol determination. California (USA): Biomedical Publications, 1981. --- //[[aleadalardo@gmail.com|Alexandre Adalardo de Oliveira]] 2018/05/14 11:10// Oi Paola, **A proposta 1** é interessante, mas simples de implementar, já que o acoplamento entre dados e simulação é um cálculo simples dos índices apresentados. Deve incorporar algo mais para que a função seja um desafio na implementação da linguagem. Uma sugestão é que os dados simulados não seja apenas uma simulação, mas um conjunto de simulações em um data.frame. Algo muito comum em modelos computacionais. Nesse sentido, vc poderia fazer uma distribuição dos índices e apresentá-los não apenas como um valor médio, mas a média (de todas as simulações) e o intervalo de confiança. ** A proposta 2** é interessante tb. mas apresenta o mesmo problema da primeira, a sua implementação, como apresentada, é muito simples. Minha sugestão é fazer o calculo não para uma pessoa, mas para um grupo de pessoas e retornar o valor para esse grupo. Algumas coisas precisam ser melhor explicadas, por exemplo "Em seguida, a quantidade de álcool no sangue seria utilizada para verificar quais os seus eventuais efeitos no corpo do consumidor, além dos possíveis efeitos e riscos de acidente ao conduzir um veículo"... essa frase sugere que a função fará muito mais do que é apresentado no psedocodigo, mas essa parte não está especificada. Minha sugestão é que atualize a proposta 1 com as sugestões, mas caso queira ir pela 2, não há problema, mas precisa trabalhar melhor a descrição. Aguardamos seu retorno para fechar a propostas. ---- ---- ===== Proposta final: A ===== Links para acesso: * Link para a página função obs.sim: [[.:Função obs.sim]] * Link para a página do help da função obs.sim: [[.:Help]]