Prévia do material em texto
85 CIÊNCIA DE DADOS Unidade II 5 PREPARAÇÃO E PRÉ‑PROCESSAMENTO DE DADOS A preparação e o pré-processamento de dados são etapas cruciais no processo de ciência de dados e mineração de dados. Essas etapas visam transformar e organizar os dados brutos em um formato adequado para análise e modelagem. Constam a seguir algumas das principais tarefas envolvidas na preparação e pré-processamento de dados: Limpeza de dados Envolve a identificação e o tratamento de dados ausentes, inconsistentes ou incorretos. Os dados ausentes podem ser preenchidos por meio de técnicas como imputação, em que os valores faltantes são estimados com base em outros dados. Já os dados inconsistentes ou incorretos podem ser corrigidos ou removidos, dependendo do contexto. Por exemplo: vamos imaginar que você tenha um conjunto de dados com os seguintes campos para cada cliente. Nome Idade E-mail Número de telefone Endereço Durante a limpeza de dados, é possível encontrar várias questões que precisam ser abordadas: • Valores ausentes: alguns campos podem estar vazios. Por exemplo, certos clientes podem não ter fornecido o número de telefone ou o endereço. • Outliers: valores que são muito diferentes da maioria dos outros. Por exemplo, uma idade de 150 anos pode ser um outlier e precisa ser examinada. • Formato incorreto: e-mails e números de telefone podem ter formatos incorretos ou inválidos. • Duplicatas: pode haver registros duplicados no conjunto de dados. • Erros de digitação: nomes mal escritos, endereços incorretos e outras formas de erros de digitação podem ocorrer. 86 Unidade II Normalização e padronização Os dados podem estar em diferentes escalas e unidades de medida, o que talvez afete a análise. A normalização e a padronização são técnicas para transformar os dados em uma escala comum. A primeira ajusta os dados para um intervalo específico, como entre 0 e 1, enquanto a segunda transforma os dados para ter média zero e desvio padrão um. Codificação de variáveis categóricas Variáveis categóricas, como cores, categorias ou estados civis, precisam ser codificadas de forma numérica para que os algoritmos de aprendizado de máquina possam processá-las adequadamente. Isso pode ser feito por meio da técnica de codificação one-hot, em que cada categoria se torna uma nova coluna binária. Redução de dimensionalidade Em conjuntos de dados com muitas características ou variáveis, a redução de dimensionalidade pode ser aplicada para diminuir a complexidade do modelo e melhorar a eficiência computacional. Técnicas como análise de componentes principais (PCA) ou seleção de características podem ser utilizadas para identificar os aspectos mais relevantes ou combinar propriedades correlacionadas. Tratamento de outliers Como vimos, outliers são valores atípicos que se desviam significativamente do padrão geral dos dados. Eles podem afetar negativamente a análise e os modelos. Os outliers podem ser detectados e tratados, seja removendo-os, substituindo-os por valores próximos ou atribuindo um valor especial a eles, dependendo da situação. Divisão de dados É comum dividir o conjunto de dados em conjuntos de treinamento, validação e teste. O conjunto de treinamento é usado para treinar o modelo, o conjunto de validação é utilizado para ajustar os hiperparâmetros do modelo e o conjunto de teste é empregado para avaliar o desempenho final do modelo. Essa divisão é importante a fim de evitar o sobreajuste do modelo aos dados de treinamento. Essas são apenas algumas das tarefas comuns na preparação e pré-processamento de dados. O objetivo é obter um conjunto de dados limpo, consistente e bem-estruturado, pronto para ser utilizado em análises estatísticas, algoritmos de aprendizado de máquina e outras técnicas de mineração de dados. Uma boa preparação e pré-processamento de dados consegue impactar diretamente a qualidade e a eficácia dos resultados obtidos. Em alguns casos, os conjuntos de dados podem ser muito grandes e, portanto, trabalhar com o conjunto completo torna-se inviável ou demorado. Nessas hipóteses, é comum realizar amostragem dos dados, selecionando uma parte representativa do conjunto completo. Existem diferentes técnicas de 87 CIÊNCIA DE DADOS amostragem, como amostragem aleatória simples, estratificada ou por conglomerados, dependendo da natureza dos dados e do objetivo da análise. Em problemas de classificação, é possível que as classes não estejam balanceadas, ou seja, exista uma grande diferença no número de amostras entre as classes. Isso pode levar a um viés no modelo de aprendizado de máquina. Nesses casos, devemos aplicar técnicas de balanceamento de classes, como oversampling (aumento da quantidade de amostras da classe minoritária) ou undersampling (redução da quantidade de amostras da classe majoritária), para criar um conjunto de dados equilibrado. Além do balanceamento de classes, é importante lidar com dados desbalanceados em outras variáveis, como atributos categóricos. Por exemplo, se um atributo categórico tem uma categoria dominante que ocorre com frequência muito maior do que as outras, isso pode introduzir um viés no modelo. Consequentemente, é possível agrupar as categorias menos frequentes em uma única ou aplicar técnicas de amostragem estratificada para garantir uma representação adequada de todas as categorias. Em problemas com dados temporais, como séries temporais, precisamos considerar a dependência temporal dos dados. É comum aplicar técnicas como suavização, diferenciação ou decomposição para identificar tendências, padrões sazonais ou componentes de erro nos dados. Além disso, é importante garantir que a ordem temporal seja preservada ao dividir o conjunto de dados em treinamento, validação e teste. Dados duplicados podem afetar negativamente a análise e os modelos. Portanto, devemos identificar e lidar com essas duplicações. Isso pode ser feito por meio da remoção de linhas duplicadas ou por técnicas mais avançadas, como detecção de duplicatas baseada em algoritmos de hashing. Quando os dados estão desbalanceados em termos de distribuição, como, por exemplo, em dados que seguem uma distribuição exponencial ou log-normal, é possível aplicar técnicas de normalização para torná-los mais adequados a modelos de aprendizado de máquina. Isso pode incluir transformações logarítmicas ou exponenciais a fim de ajustar a distribuição dos dados. A preparação e o pré-processamento de dados são etapas cruciais para garantir a qualidade e a utilidade dos dados em análises posteriores. Essas etapas ajudam a tornar os dados mais adequados para a aplicação de algoritmos de aprendizado de máquina, melhorando a eficácia e a confiabilidade dos modelos resultantes. Ao realizá-las, é importante também manter um registro claro e documentado de todas as transformações aplicadas. Isso ajuda a rastrear e reproduzir as etapas de pré-processamento, garantindo a consistência dos resultados. Além disso, é fundamental considerar a aplicação de técnicas de pré-processamento específicas para lidar com problemas e características dos dados em questão. Por exemplo, dados textuais podem exigir etapas de pré-processamento adicionais, como remoção de stopwords, stemming ou lematização, para extrair informações relevantes. 88 Unidade II Observação Remoção de stopwords: as “stopwords” são palavras muito comuns em um idioma e em geral não contribuem significativamente para o significado de uma frase. Elas incluem artigos, preposições, pronomes e outras palavras de ligação. A remoção de stopwords envolve eliminar essas palavras de um texto para reduzir a dimensionalidade e focar nos termos mais importantes para análise. Exemplo: Frase original: “o cachorro pulou sobre a cerca.” Frase após a remoção de stopwords: “cachorro pulou cerca.” Stemming: o stemming é um processo de redução de palavras ao seu “stem” (raiz), removendo os sufixos e prefixos para encontrar a forma básica da palavra. Isso pode ajudar a tratar diferentesformas de uma mesma palavra como iguais, reduzindo a sua variabilidade e simplificando o processamento. Exemplo: Palavra original: “correndo” Stem: “corr” Lematização: a lematização também envolve a redução das palavras às suas formas básicas, mas de uma maneira mais precisa do que o stemming. Ela considera a morfologia da palavra e a transforma em seu “lemma” (forma base), que é um dicionário ou forma padrão do termo. Isso é mais preciso do que o stemming, mas também pode ser mais complexo computacionalmente. Exemplo: Palavra original: “correndo” Lemma: “correr” Vale ressaltar que a preparação e o pré-processamento de dados não são etapas únicas e imutáveis. Dependendo dos resultados obtidos na análise ou nos modelos de aprendizado de máquina, pode ser necessário iterar e ajustar as etapas de pré-processamento para melhorar a qualidade dos dados ou refinar os resultados. 89 CIÊNCIA DE DADOS A preparação e o pré-processamento de dados são etapas essenciais na jornada de análise de dados e modelagem de aprendizado de máquina. Elas envolvem desde a limpeza e a transformação dos dados até a seleção e o ajuste das variáveis relevantes para a análise. Um pré-processamento adequado pode contribuir significativamente para a qualidade dos resultados e garantir que os modelos de aprendizado de máquina sejam treinados em dados confiáveis e representativos. 5.1 Principais fontes de dados Existem várias fontes de dados disponíveis para os profissionais de ciência de dados e análise de dados. Constam a seguir algumas das principais delas utilizadas: • Bases de dados internas: muitas organizações possuem bases de dados internas que contêm informações sobre seus processos, operações, clientes, transações, entre outros. Elas são fonte valiosa de dados estruturados que podem ser explorados para obter insights e impulsionar a tomada de decisões. • Bases de dados públicas: há uma grande variedade de bases de dados públicas disponíveis, fornecidas por instituições governamentais, organizações de pesquisa, instituições acadêmicas e outras fontes. Elas podem conter informações demográficas, econômicas, ambientais, científicas e muito mais, sendo úteis para diversas análises e estudos. • Redes sociais e plataformas online: as redes sociais e outras plataformas online são fontes ricas de dados não estruturados, como postagens, comentários, fotos e vídeos. Esses dados podem ser coletados e analisados para entender o comportamento do usuário, opiniões, tendências de mercado e até mesmo a fim de identificar padrões e insights relevantes. • Sensores e dispositivos conectados: com o avanço da Internet das Coisas (IoT), cada vez mais dispositivos estão conectados à internet, gerando uma quantidade massiva de dados em tempo real. Sensores em veículos, aparelhos domésticos, wearables e outros dispositivos coletam dados sobre localização, temperatura, atividades, saúde e muito mais. Eles podem ser utilizados para análises em tempo real, previsões e otimização de processos. • Dados de pesquisas e estudos: dados provenientes de pesquisas e estudos acadêmicos também podem ser uma fonte valiosa de informações. Eles abrangem áreas como saúde, ciências sociais, economia, psicologia, entre outras. Muitas vezes, esses dados estão disponíveis publicamente ou podem ser adquiridos por meio de colaborações ou acordos com instituições de pesquisa. • Dados externos de terceiros: existem várias empresas que coletam e fornecem dados para fins comerciais. Esses dados podem incluir informações de mercado, dados demográficos, dados de vendas, dados de comportamento do consumidor, entre outros. O acesso a eles pode ser pago ou gratuito, dependendo da fonte e das informações desejadas. • Web scraping: o web scraping envolve a extração de dados de sites e páginas da web por meio de técnicas automatizadas. Trata-se de uma forma de obter dados não estruturados ou 90 Unidade II semiestruturados de fontes diversas, como notícias, blogs, fóruns, e-commerce, entre outros. No entanto, é importante seguir as diretrizes éticas e legais ao realizá-lo. Essas são apenas algumas das principais fontes de dados utilizadas na ciência de dados e análise de dados. É importante lembrar que a escolha das fontes de dados depende do contexto, do objetivo da análise e dos dados necessários para responder às perguntas ou resolver os problemas específicos em mãos. Além disso, é fundamental garantir a qualidade e a confiabilidade dos dados obtidos, realizando verificações e validações a fim de garantir sua integridade. Isso inclui a verificação da procedência dos dados, a detecção e correção de erros ou inconsistências e a aplicação de técnicas de limpeza e normalização, conforme necessário. Ademais, ao utilizar fontes de dados externas ou dados coletados de terceiros, devemos considerar questões de privacidade e conformidade legal. Certifique-se de ter permissão para acessar e utilizar esses dados de acordo com as leis e regulamentações aplicáveis, como a Lei Geral de Proteção de Dados Pessoais (LGPD) no Brasil. Ao trabalhar com diferentes fontes de dados, pode ser necessário realizar processos de integração e fusão de dados para combinar informações provenientes de várias fontes em um único conjunto coeso e abrangente. Essa etapa envolve mapear e relacionar as variáveis correspondentes entre as fontes de dados, garantindo a consistência e a interoperabilidade dos dados combinados. A escolha das fontes de dados adequadas desempenha um papel importante no sucesso de um projeto de ciência de dados. Ao utilizar uma variedade de fontes de dados relevantes, conseguimos obter uma visão mais abrangente e precisa do problema em questão. No entanto, devemos garantir a qualidade, a integridade e a conformidade dos dados, além de seguir as práticas éticas e legais ao coletar, processar e utilizar essas informações. 5.2 Coleta, limpeza e organização das informações A coleta, limpeza e organização das informações são etapas essenciais no processo de análise de dados. Elas visam obter dados confiáveis, livres de ruídos e prontos para serem utilizados na análise. Vamos explorar cada uma delas: Coleta de dados O primeiro passo é definir o problema a ser resolvido, mas fazê-lo nem sempre é tão simples quanto parece, por uma variedade de razões, que incluem a complexidade dos dados, as expectativas dos stakeholders e a clareza dos objetivos. Após definido o problema, com base nele, são selecionados os dados a serem utilizados na análise. A coleta de dados envolve a obtenção das informações necessárias para a análise. Isso pode ser feito por meio de diferentes fontes de dados, como bases de dados internas, fontes públicas, redes sociais, dispositivos conectados, entre outros. Dependendo da fonte, os dados podem ser obtidos por meio de consultas a bancos de dados, APIs, web scraping ou até mesmo coleta manual. É importante definir 91 CIÊNCIA DE DADOS quais variáveis e informações são relevantes para a análise e garantir que os dados coletados sejam representativos e abrangentes o suficiente a fim de responder às perguntas da pesquisa. Antes de iniciar a coleta de dados, é fundamental definir claramente o objetivo do projeto. Compreender o que você deseja alcançar ajuda a determinar quais dados são necessários, quais fontes devem ser exploradas e como os dados precisam ser coletados e organizados. Identificar as fontes de onde os dados podem ser obtidos é uma etapa muito importante. Crie um plano detalhado de como os dados serão coletados. Isso inclui decidir quais campos ou variáveis são relevantes, como os dados serão estruturados, qual a frequência da coleta e como eles serão armazenados. É importante garantir que os dados coletados sejam precisos, completos e representativos do seu objetivo. A qualidade dos dados é essencial. Ao coletar dados, necessitamos respeitar a privacidade das pessoas e seguir diretrizes éticas. Certifique-se de estar em conformidade com as regulamentaçõesde proteção de dados, especialmente se eles envolverem informações pessoais. Os dados coletados devem ser armazenados de forma organizada e segura. Use sistemas de gerenciamento de banco de dados ou estruturas de armazenamento adequadas para garantir que os dados sejam acessíveis e protegidos. Mantenha um registro detalhado de todo o processo de coleta, incluindo fontes, datas, métodos, transformações aplicadas, e quaisquer problemas encontrados. Isso ajuda a preservar um histórico confiável dos dados. Em muitos casos, os dados precisam ser atualizados regularmente para permanecerem relevantes. Certifique-se de ter um plano para manter seus dados atualizados e refletindo as mudanças ao longo do tempo. Após coletar e preparar os dados, eles estão prontos para análise, modelagem ou outras atividades específicas de seu projeto. A qualidade dos resultados dependerá da qualidade dos dados coletados e da forma como foram processados. A coleta de dados é um processo iterativo que envolve planejamento, execução, revisão e ajustes conforme necessário. A qualidade dos dados coletados e a precisão das informações que eles representam são fundamentais para tomar decisões informadas e obter insights significativos. Limpeza de dados A limpeza de dados é uma etapa crítica para garantir a qualidade dos dados. Nessa etapa, são identificados e tratados problemas como dados ausentes, erros de digitação, valores inconsistentes ou outliers. Também é comum lidar com dados duplicados ou inconsistentes, que precisam ser removidos ou corrigidos. A limpeza de dados pode envolver a aplicação de técnicas estatísticas, como imputação de dados faltantes, remoção de outliers, padronização de valores, entre outros. É importante realizar uma análise exploratória dos dados para identificar possíveis problemas e aplicar as estratégias corretas de limpeza. 92 Unidade II Explicaremos melhor os três tipos principais de problemas que frequentemente são tratados na limpeza de dados: valores ausentes, valores ruidosos (outliers) e valores inconsistentes. Valores ausentes Valores ausentes ocorrem quando um campo ou variável não possui um valor válido. Lidar com valores ausentes é importante para evitar distorções e imprecisões em análises. Exemplo: suponha que você esteja trabalhando com um conjunto de dados de avaliações de produtos, e alguns registros não possuam uma classificação atribuída. Nesse caso, será possível optar por preencher esses valores ausentes com a média das classificações existentes ou remover as entradas sem classificação, dependendo do contexto. Decida se os valores ausentes podem ser preenchidos com valores calculados (média, mediana) ou se a linha inteira deve ser removida. A escolha depende do impacto nos resultados e do contexto. Valores ruidosos (outliers) Outliers são valores que se desviam significativamente do padrão dos demais dados e podem distorcer análises e modelos. Tratar outliers envolve decidir se eles são erros reais ou representam informações valiosas. Exemplo: considere um conjunto de dados de renda familiar, em que a maioria das famílias possui rendas na faixa de $ 3.000 a $ 10.000, mas há um registro com renda de $ 1.000.000. Nesse caso, precisaremos avaliar se esse valor é um erro de entrada ou representa uma situação legítima, como uma família de alto rendimento. Avalie a legitimidade dos outliers e considere se eles são erros de entrada ou representam situações reais. Em alguns casos, você pode decidir mantê-los para não perder informações valiosas. Valores inconsistentes Valores inconsistentes ocorrem quando os dados não seguem as regras ou padrões esperados. Isso pode ser causado por erros de entrada, problemas na coleta de dados ou outras fontes. Exemplo: se você está trabalhando com um conjunto de dados de idade de pessoas e encontra registros de pessoas com idades negativas, isso é uma inconsistência. Eles precisam ser revisados e corrigidos, já que a idade não pode ser negativa. Identifique os padrões de inconsistência e aplique transformações para corrigir os valores ou remova as entradas com inconsistências graves. 93 CIÊNCIA DE DADOS A limpeza de dados requer uma combinação de conhecimento de domínio, senso crítico e técnicas analíticas. Ela pode ser uma etapa iterativa, na qual você avalia os resultados após cada etapa de limpeza a fim de garantir que os dados estejam prontos para análises subsequentes. Organização dos dados A organização dos dados refere-se à estruturação e formatação dos dados para facilitar a análise. Isso inclui a definição de variáveis e seus tipos, a criação de tabelas ou matrizes estruturadas, a organização de dados em formatos específicos, como CSV, JSON ou bancos de dados relacionais. Também pode envolver a criação de variáveis derivadas ou transformações nos dados para melhor representar a informação desejada. A organização adequada dos dados facilita a aplicação de técnicas de análise e modelagem posteriormente. Precisamos ressaltar que coleta, limpeza e organização de dados não são tarefas únicas, mas sim um processo contínuo. À medida que novos dados são coletados ou novas necessidades surgem na análise, pode ser necessário iterar e repetir essas etapas. Além disso, é fundamental documentar todas as transformações e decisões tomadas durante esse processo para garantir a rastreabilidade e a replicabilidade da análise. A coleta, limpeza e organização das informações são etapas muito importantes para garantir a qualidade e a confiabilidade dos dados utilizados na análise. Essas etapas permitem que os dados sejam preparados de forma adequada, livres de ruídos e prontos para a análise exploratória e modelagem de dados. 5.3 Métodos de raspagem A raspagem de dados, também conhecida como web scraping, é uma técnica utilizada para extrair informações de páginas da web de forma automatizada. Essa abordagem permite coletar dados de diferentes fontes online de maneira eficiente e rápida, sem a necessidade de intervenção manual. Existem diversos métodos de raspagem de dados, cada um com suas particularidades e aplicações específicas. Alguns dos mais comuns incluem: Análise de HTML Este método envolve a análise do código HTML da página web para identificar os elementos desejados e extrair as informações relevantes. É possível utilizar bibliotecas e ferramentas específicas para realizar essa análise, como BeautifulSoup em Python. Web scraping baseado em API Alguns sites e plataformas fornecem APIs (application programming interfaces) que permitem acessar e obter dados de maneira estruturada. Por meio delas, é possível enviar requisições e receber respostas em um formato específico, como JSON, facilitando a extração de dados de forma mais direta e organizada. 94 Unidade II Uso de bibliotecas específicas Existem várias bibliotecas e frameworks disponíveis em diferentes linguagens de programação que facilitam a raspagem de dados. Exemplos populares incluem Scrapy em Python e Selenium, que permite automatizar a interação com páginas web, preenchendo formulários, clicando em botões e navegando por diversas seções do site. Raspagem de dados de mídias sociais Para extrair dados de plataformas de mídia social, como Twitter, Facebook ou Instagram, podem ser utilizadas APIs específicas fornecidas pelas próprias plataformas ou bibliotecas que simplificam a interação com essas APIs. Além disso, algumas bibliotecas de raspagem de dados podem ser usadas para coletar informações publicamente disponíveis nessas plataformas. É importante ressaltar que, ao realizar a raspagem de dados, precisamos seguir as diretrizes éticas e legais. Alguns sites podem ter políticas específicas que proíbem a raspagem de dados sem permissão, portanto, devemos verificar os termos de serviço e as políticas de privacidade dos sites antes de efetuar qualquer raspagem de dados. Ademais, é importante considerar a estrutura e o layout do site-alvo, uma vez que esses elementos podem mudar ao longo dotempo, exigindo ajustes na lógica de raspagem. Também recomenda-se monitorar a taxa de solicitações para evitar sobrecarregar os servidores do site e respeitar os limites impostos. Os métodos de raspagem de dados são ferramentas poderosas para extrair informações de páginas web e outras fontes online. Ao utilizar esses métodos de forma ética e respeitando as políticas dos sites, é possível obter dados valiosos para análise e tomada de decisões. 5.4 Tabulação Tabulação, também conhecida como tabulação cruzada ou tabulação de dados, é uma técnica estatística usada para resumir e analisar dados em forma de tabelas. Essa técnica é utilizada em pesquisas de opinião, estudos de mercado, análise de dados quantitativos e em várias outras áreas. Ela permite visualizar e compreender os relacionamentos entre diferentes variáveis em um conjunto de dados. Seu objetivo principal é apresentar as frequências e proporções de cada combinação de valores das variáveis, permitindo identificar padrões, tendências e associações. O processo de tabulação envolve os seguintes passos: 1. Identificação das variáveis: determine quais variáveis são relevantes para a análise e quais categorias ou valores elas podem assumir. Por exemplo, em uma pesquisa de opinião, as variáveis podem ser idade, gênero, nível educacional e preferências. É importante defini-las de forma clara e precisa para garantir uma tabulação adequada. 95 CIÊNCIA DE DADOS 2. Organização dos dados: organize os dados em uma tabela, na qual cada linha representa uma observação (indivíduo ou caso) e cada coluna uma variável. Os valores correspondentes às variáveis são registrados nas células da tabela. 3. Contagem de frequências: conte o número de ocorrências para cada combinação de valores das variáveis. Isso pode ser feito manualmente ou utilizando software estatístico ou ferramentas de análise de dados. 4. Cálculo de proporções: calcule as proporções ou percentagens em relação ao total ou a um subconjunto específico. Isso permite comparar as frequências relativas das diferentes combinações de valores e obter insights sobre a distribuição dos dados. 5. Apresentação dos resultados: os resultados da tabulação podem ser apresentados em tabelas ou gráficos, dependendo da natureza dos dados e da finalidade da análise. Tabelas de frequência, tabelas de contingência e gráficos de barras ou de pizza são comumente utilizados para visualizar os resultados da tabulação. A tabulação permite analisar dados de forma rápida e eficiente, identificando associações entre variáveis e destacando padrões relevantes. Trata-se de uma técnica fundamental para a exploração inicial de um conjunto de dados e pode servir como base para análises mais avançadas, como testes de hipóteses, modelagem estatística e tomada de decisões. No entanto, devemos destacar que a tabulação é uma técnica descritiva e não inferencial. Ela fornece informações sobre as relações observadas nos dados, mas não permite estabelecer relações causais ou fazer inferências sobre a população em geral. A tabulação é uma técnica estatística utilizada para resumir e analisar dados em forma de tabelas. Ela permite identificar padrões e associações entre variáveis, facilitando a compreensão dos dados e fornecendo insights valiosos para a análise e interpretação dos resultados. 5.5 Seleção de atributos A seleção de atributos, também conhecida como seleção de variáveis, é uma etapa importante no processo de análise de dados e modelagem preditiva. Ela envolve a escolha dos atributos mais relevantes e informativos em um conjunto de dados para construir modelos mais eficientes e precisos. Tal seleção é realizada com o objetivo de reduzir a dimensionalidade dos dados, ou seja, diminuir o número de atributos a serem considerados no modelo, sem comprometer a qualidade da análise. Existem diversas técnicas e abordagens para efetuar essa seleção, sendo que a escolha da técnica mais adequada depende do tipo de dados, do objetivo do modelo e das características do problema em questão. Ao selecionar os atributos mais relevantes, o modelo tende a ser mais preciso, uma vez que se concentra nas informações mais importantes e descarta ruídos ou dados irrelevantes. Ao reduzir o número de atributos, o modelo se torna mais simples de interpretação, facilitando a compreensão dos 96 Unidade II fatores que influenciam nas previsões ou classificações. Com menos atributos, o tempo de treinamento do modelo é reduzido, o que é especialmente útil em conjuntos de dados grandes e complexos. Existem diferentes técnicas de seleção de atributos, que podem ser divididas em três categorias principais: • Métodos baseados em filtros: utilizam métricas estatísticas ou heurísticas para avaliar a relação entre cada atributo e a variável-alvo, sem levar em consideração o modelo de aprendizado. Exemplos comuns incluem a análise de correlação, testes de independência, ganho de informação e índice de relevância. • Métodos baseados em wrappers: um modelo de aprendizado é utilizado para avaliar a importância dos atributos. Ele é treinado repetidamente, removendo ou adicionando atributos de forma iterativa e avaliando a performance do modelo em cada iteração. Exemplos incluem busca exaustiva, busca para frente e busca para trás. • Métodos incorporados: incorporam a seleção de atributos diretamente no processo de treinamento do modelo. Alguns algoritmos de aprendizado, como, por exemplo, árvores de decisão, possuem mecanismos internos para selecionar automaticamente os atributos mais relevantes durante o processo de construção do modelo. A seleção de atributos não é uma etapa trivial e requer análise cuidadosa dos dados e do problema em questão. Precisamos considerar fatores como relevância, redundância, correlação entre atributos, impacto na performance do modelo e interpretabilidade. Além disso, é recomendado utilizar técnicas de validação cruzada para avaliar o desempenho do modelo com diferentes conjuntos de atributos. Essa seleção visa escolher os atributos mais relevantes e informativos a fim de construir modelos mais precisos, eficientes e interpretativos. 5.6 Engenharia de características A engenharia de características, também conhecida como seleção ou criação de atributos, é um processo essencial na análise de dados e modelagem preditiva. Envolve a transformação dos dados brutos em um conjunto de características relevantes e informativas, que possam ser utilizadas pelos algoritmos de aprendizado de máquina para construir modelos mais precisos e eficientes. A importância da engenharia de características reside no fato de que nem sempre os dados brutos estão em um formato adequado para a construção de modelos. Muitas vezes, os dados originais contêm informações irrelevantes, ruídos ou podem estar incompletos. Através da engenharia de características, é possível extrair e criar informações que sejam mais relevantes para o problema em questão, melhorando a performance dos modelos. A primeira abordagem é a seleção de características, que consiste em selecionar um subconjunto relevante de características do conjunto de dados original. A seleção pode ser feita com base em critérios estatísticos, como a análise de correlação, testes de independência ou ganho de informação. Também é 97 CIÊNCIA DE DADOS possível utilizar algoritmos de aprendizado de máquina para avaliar a importância das características. A seleção de características reduz a dimensionalidade do conjunto de dados, eliminando características irrelevantes ou redundantes, o que pode resultar em modelos mais simples e eficientes. A segunda abordagem é a criação de características que envolve a origem de novas características com base nas características existentes no conjunto de dados. Essa abordagem busca capturar informações adicionais e relevantes que possam estar ocultas nos dados originais. Alguns exemplos de técnicas de criação de características incluem a combinação linear de características, aextração de características a partir de textos ou imagens e a criação de variáveis categóricas a partir de variáveis contínuas. A criação de características pode ser feita com base no conhecimento do domínio do problema, em técnicas de processamento de linguagem natural, em algoritmos de extração de características ou em métodos de aprendizado não supervisionado. Devemos ressaltar que a engenharia de características é um processo iterativo e criativo. Requer um bom entendimento do domínio do problema, além de uma análise aprofundada dos dados. Também é recomendado avaliar o desempenho dos modelos com diferentes conjuntos de características, utilizando técnicas de validação cruzada, para selecionar as melhores características e evitar overfitting. A engenharia de características envolve a seleção e criação de características relevantes e informativas a partir dos dados brutos, com o objetivo de melhorar a performance dos modelos de aprendizado de máquina. A escolha adequada das características pode levar a modelos mais precisos, eficientes e interpretáveis. 5.7 Normalização dos dados A normalização dos dados é um processo importante na preparação e pré-processamento de dados antes de aplicar algoritmos de aprendizado de máquina. Consiste em ajustar a escala dos dados para que eles estejam em um intervalo específico ou sigam uma distribuição padrão, tornando-os comparáveis e facilitando a análise. Existem diferentes técnicas de normalização que podem ser aplicadas, dependendo das características dos dados e dos requisitos do problema. Algumas das técnicas mais comuns são: Normalização Min-Max Nesta técnica, os valores dos dados são ajustados para um intervalo específico, geralmente entre 0 e 1. A fórmula utilizada é dada por: x_norm = (x- min(x) / (max(x) - min(x) Onde: • x é o valor original; 98 Unidade II • x norm_ é o valor normalizado; • min(x) é o menor valor dos dados; • max(x) é o maior valor dos dados. A normalização Min-Max é útil quando os dados possuem limites bem definidos e não são sensíveis a outliers. Ela preserva a distribuição dos dados, mantendo as relações proporcionais entre eles. Exemplo: Suponha que você tenha as seguintes notas dos alunos em uma escala de 0 a 100: • Aluno A: 75 • Aluno B: 90 • Aluno C: 60 • Aluno D: 85 Vamos normalizar essas notas usando a fórmula Min-Max: 1 – Encontre min( )x e max( )x das notas: min( ) max( ) x x = = 60 90 2 – Aplique a fórmula de normalização Min-Max para cada aluno: Para o aluno A: xnormA � � � � ( ) ( ) . 75 60 90 60 0 5 Para o aluno B: xnormB � � � � ( ) ( ) . 90 60 90 60 1 0 Para o aluno C: xnormC � � � � ( ) ( ) . 60 60 90 60 0 0 99 CIÊNCIA DE DADOS Para o aluno D: xnormD � � � � ( ) ( ) . 85 60 90 60 0 8 Agora as notas dos alunos foram normalizadas na faixa de 0 a 1: • Aluno A: 0.5 • Aluno B: 1.0 • Aluno C: 0.0 • Aluno D: 0.8 A normalização Min-Max é útil quando você deseja trazer diferentes variáveis para a mesma escala, especialmente quando se trabalha com algoritmos sensíveis à escala dos dados, como redes neurais e algoritmos de otimização. Normalização Z-score Também conhecida como padronização, esta técnica ajusta os dados de forma que tenham uma média zero e um desvio padrão de um. A fórmula utilizada é dada por: x_norm = (x- mean(x)) /std(x) Onde: • x é o valor original; • x_norm é o valor normalizado; • mean(x) é a média dos dados; • std(x) é o desvio padrão dos dados. A normalização Z-score é útil quando se deseja comparar os dados com base na sua posição relativa em relação à média e ao desvio padrão. Ela é sensível a outliers, uma vez que considera a média e o desvio padrão dos dados. Exemplo: Vamos utilizar as mesmas notas dos alunos: 100 Unidade II • Aluno A: 75 • Aluno B: 90 • Aluno C: 60 • Aluno D: 85 Primeiramente, calcule a mean(x) e std(x) o das notas: mean(x)= 75 90 60 85 4 77 5 � � � � . std(x)= ( ( ))x mean x n ii n ��� 21 std(x)= ( ( , ) ( . ) ( . ) ( . ) ) 75 77 5 90 77 5 60 77 5 85 77 5 4 5 152 2 2 2� � � � � � � � � 66 25 306 25 56 25 4 . . .� � std x( ) .=11 4 Na sequência, aplique a fórmula de normalização Z-score para cada aluno: Para o aluno A: xnorm A_ . . .� � � � 75 77 5 11 4 0 2 Para o aluno B: xnorm B_ . . .� � � 90 77 5 11 4 1 1 Para o aluno C: xnorm C_ . . .� � � � 60 77 5 11 4 1 5 Para o aluno D: xnorm D_ . . .� � � 85 77 5 11 4 0 6 101 CIÊNCIA DE DADOS Por fim, as notas dos alunos foram normalizadas usando o Z-score: • Aluno A: -0.2 • Aluno B: 1.1 • Aluno C: -1.5 • Aluno D: 0.6 A normalização Z-score é útil quando você deseja comparar e analisar dados que podem ter diferentes médias e desvios padrão. Ela transforma os dados para terem uma distribuição normal com média zero e desvio padrão um. Quanto mais próximo de 0 for o desvio padrão, mais homogêneo são os dados. Normalização por escala logarítmica Em alguns casos, os dados podem apresentar distribuição assimétrica ou amplitude muito grande. Nesses casos, a normalização por escala logarítmica pode ser aplicada para reduzir a variação e tornar os dados mais comparáveis. A fórmula utilizada é dada por: x norm x_ log( )= Onde: • x é o valor original; • x norm_ é o valor normalizado. A normalização por escala logarítmica é útil quando se deseja reduzir a influência de valores extremos e ampliar a capacidade de distinguir diferenças nos valores menores. Exemplo: Vamos considerar as mesmas notas dos alunos: • Aluno A: 75 • Aluno B: 90 • Aluno C: 60 • Aluno D: 85 102 Unidade II Primeiramente, aplique a normalização por escala logarítmica a cada nota: • Para o aluno A: log( ) .75 4 317≈ • Para o aluno B: log( ) .90 4 499≈ • Para o aluno C: log( ) .60 4 094≈ • Para o aluno D: log( ) .85 4 442≈ Na sequência, as notas dos alunos foram normalizadas usando a escala logarítmica: • Aluno A: 4.317 • Aluno B: 4.499 • Aluno C: 4.094 • Aluno D: 4.442 A normalização por escala logarítmica é útil quando os dados possuem ampla variação e a escala logarítmica pode torná-los mais comparáveis. Essa técnica é frequentemente usada quando os dados originalmente variam em ordens de magnitude diferentes. Vale lembrar que a normalização por escala logarítmica pode distorcer as diferenças relativas entre valores e é mais adequada quando os dados têm distribuição assimétrica ou as diferenças relativas são menos importantes do que as diferenças absolutas. Precisamos ressaltar que a escolha da técnica de normalização depende do tipo de dados, da distribuição dos dados e dos requisitos específicos do problema. Além disso, a normalização deve ser aplicada separadamente em conjuntos de treinamento e teste, para evitar vazamento de informações. A normalização dos dados permite que os algoritmos de aprendizado de máquina tratem os dados de forma adequada, evitando que variáveis com escalas diferentes dominem a análise. Ela facilita a comparação, interpretação e visualização dos dados, além de melhorar a performance e a convergência dos modelos de machine learning. 5.8 Dados ausentes Dados ausentes são um desafio comum na análise de dados, e ocorrem quando não há valores disponíveis para uma ou mais variáveis em determinadas observações. A presença de dados ausentes pode comprometer a qualidade da análise e dos modelos de aprendizado de máquina, pois a falta de informações leva a conclusões imprecisas ou enviesadas. 103 CIÊNCIA DE DADOS Existem diferentes razões pelas quais os dados podem estar ausentes, devido a erros de coleta, problemas técnicos, recusa dos respondentes em fornecer certas informações ou simplesmente por não terem sido registrados. Independentemente da causa, é importante lidar de forma adequada com os dados ausentes para evitar viés nos resultados. Há várias abordagens para lidar com dados ausentes, algumas delas são as seguintes: • Exclusão de casos ou variáveis: uma abordagem simples é excluir os casos ou variáveis com dados ausentes. Sea proporção de dados ausentes for pequena em relação ao tamanho total do conjunto de dados, essa abordagem pode ser viável. No entanto, a exclusão de dados pode levar a perda de informações importantes, além de potencialmente introduzir viés nos resultados, especialmente se os dados ausentes não estiverem aleatoriamente distribuídos. • Preenchimento com valor fixo: outra abordagem é preencher os valores ausentes com um valor fixo, como a média, mediana ou moda dos dados existentes. Essa abordagem é simples de implementar, mas pode distorcer as propriedades estatísticas dos dados, especialmente se os dados ausentes forem significativos. • Preenchimento com valor estimado: uma abordagem mais sofisticada é estimar os valores ausentes com base em técnicas de imputação. Isso envolve a utilização de algoritmos e modelos estatísticos para prever os valores ausentes com base nos dados disponíveis. Alguns métodos populares de imputação incluem imputação por regressão, imputação por médias condicionais e imputação por múltiplas imputações. Essas técnicas levam em consideração as relações entre as variáveis e fornecem estimativas mais precisas dos valores ausentes. • Modelagem especializada: em alguns casos, é possível construir modelos especializados para lidar com dados ausentes. Por exemplo, podem ser aplicados modelos de aprendizado de máquina que levam em consideração explicitamente a presença de dados ausentes. Esses modelos podem ser treinados para lidar com a ausência de dados e fornecer previsões mais precisas. Ao lidar com dados ausentes, precisamos avaliar cuidadosamente a abordagem mais adequada, considerando a natureza dos dados, a proporção de dados ausentes e o impacto potencial nas análises subsequentes. Além disso, é fundamental documentar e relatar o tratamento dos dados ausentes para garantir a transparência e a reprodutibilidade das análises. A presença de dados ausentes é uma realidade comum na análise de dados. Lidar com esses dados de maneira apropriada é fundamental para evitar viés e garantir resultados confiáveis. Diversas técnicas estão disponíveis para tratar dados ausentes, e a escolha da abordagem depende das características dos dados e das necessidades específicas do problema. 104 Unidade II 6 MODELOS PREDITIVOS Modelos preditivos são algoritmos ou sistemas que utilizam dados históricos para fazer previsões ou estimativas sobre eventos futuros. Eles são utilizados em diversas áreas, como ciência de dados, aprendizado de máquina, estatística e inteligência artificial, com o objetivo de obter insights e tomar decisões informadas. A ideia por trás dos modelos preditivos é identificar padrões e relações nos dados disponíveis e usá-los para prever o resultado de um evento futuro. Esses modelos podem ser aplicados a uma ampla variedade de problemas, como previsão de vendas, detecção de fraudes, previsão de demanda, diagnóstico médico, recomendação de produtos e muito mais. Existem vários tipos de modelos preditivos, cada um com suas próprias características e técnicas de construção. Alguns dos mais comuns incluem: • Regressão: é usada para prever um valor contínuo com base em variáveis independentes. Há diferentes tipos de regressão, como regressão linear, regressão logística, regressão polinomial, entre outros. • Árvores de decisão: são modelos que dividem os dados com base em perguntas ou condições em uma estrutura hierárquica de decisões. Cada ramo representa uma decisão apoiada nas características dos dados. • Redes neurais: são modelos inspirados no funcionamento do cérebro humano, compostos de camadas de neurônios interconectados. Eles são capazes de aprender padrões complexos nos dados e realizar previsões com base nessas aprendizagens. • Máquinas de vetores de suporte (SVM): são modelos que mapeiam os dados em um espaço dimensional superior e separam as classes de forma otimizada. Elas são regularmente usadas em problemas de classificação, mas também podem ser aplicadas a problemas de regressão. • Naive Bayes: é um modelo baseado no teorema de Bayes, que utiliza a probabilidade condicional para fazer previsões. Ele assume que as características são independentes entre si, o que simplifica o processo de modelagem. • Random forest: é uma técnica que combina várias árvores de decisão para tomar decisões coletivas. Ela cria múltiplas árvores e faz previsões com base na média das previsões de todas as árvores. Esses são apenas alguns exemplos de modelos preditivos. A escolha do modelo adequado depende do tipo de problema, dos dados disponíveis e dos objetivos específicos da previsão. Cada modelo tem suas vantagens e limitações, e a seleção correta é fundamental para obter previsões precisas e confiáveis. 105 CIÊNCIA DE DADOS Uma parte importante do desenvolvimento de modelos preditivos é o treinamento e a validação do modelo. Isso envolve a utilização de dados históricos conhecidos para ajustar os seus parâmetros e, em seguida, testá-lo em dados desconhecidos para avaliar sua capacidade de fazer previsões precisas. No entanto, é importante ter em mente que os modelos preditivos não são uma solução mágica e apresentam desafios próprios, como, por exemplo, a necessidade de identificar quais variáveis ou recursos são relevantes para a tarefa de previsão. Nem todos os dados disponíveis podem ser úteis ou informativos, e a seleção cuidadosa dos recursos certos é fundamental para a obtenção de um modelo preciso e eficiente. Os dados nem sempre estão prontos para serem usados diretamente nos modelos preditivos. É necessário realizar tarefas de limpeza, como tratamento de dados ausentes, remoção de outliers e normalização dos dados. Além disso, a transformação e o pré-processamento dos dados podem ser necessários para melhorar a qualidade das previsões. Pode ocorrer o overfitting quando o modelo se ajusta em excesso aos dados de treinamento, capturando ruídos e detalhes irrelevantes, o que prejudica a capacidade de generalização para novos dados. Por outro lado, o underfitting ocorre quando o modelo não é capaz de capturar adequadamente os padrões nos dados. Encontrar o equilíbrio certo entre esses extremos é essencial para a obtenção de um modelo preditivo robusto e preciso. A avaliação e a validação do modelo são etapas indispensáveis para determinar sua eficácia e desempenho. Isso envolve a separação dos dados em conjuntos de treinamento, validação e teste, e a utilização de métricas apropriadas para medir a precisão, o recall, a precisão, entre outros aspectos relevantes. À medida que os modelos se tornam mais complexos, a interpretação dos resultados pode se tornar desafiadora. Compreender como o modelo toma suas decisões e quais características são mais importantes para a previsão pode ser fundamental para obter insights úteis e confiar nas previsões geradas. A construção de modelos preditivos envolve um conjunto de etapas que vão desde a seleção de recursos e preparação dos dados até a avaliação e interpretação dos resultados. Trata-se de um processo iterativo que requer habilidades técnicas, compreensão do domínio e experiência para obter previsões precisas e relevantes. Quando usado corretamente, o aprendizado de máquina e os modelos preditivos têm o potencial de trazer insights valiosos e melhorar a tomada de decisões em uma ampla variedade de setores e aplicativos. 6.1 Regressão linear simples A regressão linear simples é uma técnica estatística que busca estabelecer relação linear entre duas variáveis: uma variável dependente (alvo de previsão) e uma variável independente (variável de entrada). Seu objetivo é encontrar a melhor linha reta que representa essa relação e pode ser usada para prever valores da variável dependente com base nos valores da variável independente. A equação da regressão linear simples é uma representação matemática da relação linear entre uma variável independente (x) e outra dependente (y). A forma geral da equação da regressão linear simples é: yx� �� �0 1 106 Unidade II Nesta equação: • y é a variável dependente (a que queremos prever); • x é a variável independente (a que usamos para fazer a previsão); • β0 é o coeficiente linear (intercepto), que representa o valor de y quando x é igual a 0; • β1 é o coeficiente angular (inclinação), que representa a mudança em y para uma unidade de mudança em x. Em termos simples, a equação descreve uma reta que melhor se ajusta aos dados, tentando minimizar a soma dos quadrados dos resíduos (diferenças entre os valores reais de y e os valores previstos pela equação). Quando você treina um modelo de regressão linear, o objetivo é encontrar os valores de β0 e β1 que minimizam o erro total entre os valores observados e aqueles previstos pela equação da regressão. Uma vez que o modelo está treinado, será possível usar essa equação para fazer previsões com base em novos valores de x. Para estimar os valores de β0 e β1, são utilizados os dados disponíveis de x e y. O método mais comumente utilizado para estimar esses coeficientes é o método dos mínimos quadrados, que busca minimizar a soma dos quadrados dos erros entre os valores previstos pela equação da regressão e os valores reais observados. Após obter os coeficientes, o modelo de regressão linear simples pode ser usado para fazer previsões. Dado um novo valor de x, pode-se calcular o valor correspondente de y usando a equação da regressão. Além da previsão, a regressão linear simples permite avaliar a força e a direção da relação entre as variáveis. O coeficiente de correlação (r) é uma medida comum usada para avaliar a correlação linear entre as variáveis. O valor de r varia de -1 a 1, onde -1 indica uma relação negativa perfeita, 1 indica uma relação positiva perfeita e 0 indica ausência de relação linear. No entanto, é importante considerar algumas suposições ao aplicar a regressão linear simples, como a linearidade da relação entre as variáveis, a independência dos erros, a homoscedasticidade (variância constante dos erros) e a normalidade dos erros. Violar essas suposições pode levar a resultados imprecisos ou inválidos. A regressão linear simples é uma técnica básica, porém poderosa, que pode ser aplicada em uma variedade de problemas. É utilizada em áreas como estatística, economia, ciências sociais e engenharia para fazer previsões, entender relações entre variáveis e tomar decisões informadas com base nos resultados da análise. 107 CIÊNCIA DE DADOS A regressão linear simples oferece várias vantagens. Algumas delas incluem: • Interpretabilidade: a natureza simples da regressão linear torna os resultados facilmente interpretáveis. Os coeficientes β0 e β1 fornecem informações sobre o intercepto e a inclinação da linha de regressão, respectivamente. Isso permite entender a direção e a magnitude da relação entre as variáveis. • Facilidade de implementação: a regressão linear simples é uma técnica estudada e implementada em várias plataformas e linguagens de programação. Há muitas bibliotecas e pacotes disponíveis que facilitam a implementação da regressão linear em projetos de análise de dados. • Eficiência computacional: a regressão linear simples é um método computacionalmente eficiente, especialmente quando comparado a modelos mais complexos. A análise de um conjunto de dados relativamente grande pode ser realizada em um tempo razoável. • Baixa dimensionalidade: a regressão linear simples é adequada para problemas de baixa dimensionalidade, ou seja, quando há apenas uma variável independente. É particularmente útil quando se deseja entender o efeito de uma variável específica no resultado. • Base para modelos mais complexos: a regressão linear simples serve como uma base importante para modelos de regressão mais avançados, como a regressão linear múltipla e os modelos de aprendizado de máquina. Ela permite compreender e estabelecer as bases da análise de regressão antes de explorar métodos mais complexos. Exemplo: suponha que temos um conjunto de dados que relaciona a quantidade de horas de estudo (variável independente) com as notas obtidas em um exame (variável dependente). Queremos criar um modelo de regressão linear simples para prever a nota em um exame com base no número de horas de estudo. Neste exemplo, LinearRegression é um modelo de regressão linear da biblioteca scikit-learn. Ele é treinado com os dados de horas de estudo e notas do exame, e depois é usado para fazer previsões com base em novos valores de horas de estudo. A reta de regressão é plotada com os dados reais para visualizar a relação entre as variáveis. 1. import numpy as np 2. from sklearn.linear_model import LinearRegression 3. import matplotlib.pyplot as plt 4. # Dados de exemplo 5. horas_de_estudo = np.array([2, 4, 6, 7, 8, 10]) 6. notas_do_exame = np.array([65, 75, 80, 82, 90, 95]) 7. # Reshape para o formato necessário 8. horas_de_estudo = horas_de_estudo.reshape(-1, 1) 108 Unidade II 9. # Criar o modelo de regressão linear 10. modelo = LinearRegression() 11. # Treinar o modelo com os dados de treinamento 12. modelo.fit(horas_de_estudo, notas_do_exame) 13. # Fazer previsões para novos valores 14. horas_novas = np.array([[5], [9]]) 15. notas_previstas = modelo.predict(horas_novas) 16. # Coeficiente angular (inclinação da reta) 17. coef_angular = modelo.coef_[0] 18. # Coeficiente linear (intercepto da reta) 19. coef_linear = modelo.intercept_ 20. # Imprimir os coeficientes 21. print(“Coeficiente Angular:”, coef_angular) 22. print(“Coeficiente Linear:”, coef_linear) 23. # Plotar os dados e a reta de regressão 24. plt.scatter(horas_de_estudo, notas_do_exame, label=’Dados reais’) 25. plt.plot(horas_novas, notas_previstas, color=’red’, label=’Reta de regressão’) 26. plt.xlabel(‘Horas de Estudo’) 27. plt.ylabel(‘Notas do Exame’) 28. plt.legend() 29. plt.show() Saída: Coeficiente angular: 3.693877551020409 Coeficiente linear: 58.38775510204081 109 CIÊNCIA DE DADOS No ta s d o ex am e 2 3 4 5 6 7 8 9 10 Horas de estudo 95 90 85 80 75 70 65 Dados reais Reta de regressão Figura 18 No entanto, a regressão linear simples também possui algumas limitações: • Pressuposições: assume uma relação linear entre as variáveis e a independência dos erros. Se essas pressuposições não forem atendidas, os resultados podem ser inválidos ou imprecisos. • Sensibilidade a outliers: pode afetar significativamente os resultados da regressão linear através da presença de outliers. Os outliers influenciam a estimativa dos coeficientes e distorcem a linha de regressão. • Limitação da complexidade do modelo: é limitada em sua capacidade de capturar relações não lineares entre as variáveis. Se a relação entre as variáveis não for linear, o modelo de regressão linear simples pode fornecer resultados inadequados. • Dependência da qualidade dos dados: deve haver qualidade dos dados de entrada para a obtenção de resultados confiáveis. Dados ausentes, erros de medição ou outras inconsistências podem afetar a precisão das previsões. A regressão linear simples é uma técnica estatística utilizada para modelar a relação linear entre duas variáveis. Ela oferece simplicidade, interpretabilidade e eficiência computacional. No entanto, precisa estar ciente das suas limitações e das suposições subjacentes. Em muitos casos, a regressão linear simples serve como uma ferramenta inicial para análise de dados antes de explorar modelos mais complexos e avançados. 110 Unidade II 6.2 Ajuste com mínimos quadrados O ajuste com mínimos quadrados é uma técnica estatística utilizada para encontrar os parâmetros de um modelo matemático que melhor se ajusta a um conjunto de dados observados. Essa abordagem busca minimizar a soma dos quadrados dos resíduos, que são as diferenças entre os valores observados e aqueles previstos pelo modelo. O método dos mínimos quadrados é utilizado em várias áreas, como estatística, econometria e ciência de dados, sendo especialmente comum em problemas de regressão, quandoo objetivo é encontrar uma função que relacione uma variável dependente com uma ou mais variáveis independentes. O processo de ajuste com mínimos quadrados envolve os seguintes passos: 1. Especificação do modelo: escolher o modelo matemático que representa a relação entre as variáveis. Por exemplo, em um problema de regressão linear, o modelo pode ser uma função linear da forma y = β0 + β1*x, onde y é a variável dependente, x é a variável independente e β0 e β1 são os coeficientes a serem estimados. 2. Cálculo dos resíduos: com o modelo especificado, calculam-se os valores previstos para a variável dependente com base nos valores das variáveis independentes. Em seguida, computam-se os resíduos subtraindo os valores observados por aqueles previstos. Os resíduos representam as diferenças entre os dados observados e as previsões do modelo. 3. Estimação dos parâmetros: o próximo passo é estimar os parâmetros do modelo que minimizam a soma dos quadrados dos resíduos. Isso é feito por meio de técnicas de otimização, como o método dos mínimos quadrados. O objetivo é encontrar os valores dos coeficientes do modelo que tornem a soma dos quadrados dos resíduos o menor possível. 4. Avaliação do ajuste: após estimar os parâmetros, devemos avaliar a qualidade do ajuste. Isso pode ser feito por meio de diversas métricas, como o coeficiente de determinação (R²), que mede a proporção da variabilidade dos dados explicada pelo modelo. Também é possível realizar testes estatísticos para avaliar a significância dos coeficientes e a adequação do modelo aos dados. 5. Interpretação dos resultados: por fim, interpreta-se os coeficientes estimados do modelo. Eles representam a relação entre as variáveis e podem ser utilizados para fazer previsões ou inferências sobre o comportamento do sistema estudado. Por exemplo, em um modelo de regressão linear simples, o coeficiente β1 representa o efeito médio da variável independente sobre a variável dependente. Um valor positivo indica uma relação positiva, enquanto um valor negativo indica uma relação negativa. Exemplo: faremos o ajuste de uma regressão linear simples utilizando o método dos mínimos quadrados em Python. Suporemos que temos os seguintes dados de horas de estudo e notas do exame: 111 CIÊNCIA DE DADOS 1. import numpy as np 2. import matplotlib.pyplot as plt 3. # Dados de exemplo 4. horas_de_estudo = np.array([2, 4, 6, 7, 8, 10]) 5. notas_do_exame = np.array([65, 75, 80, 82, 90, 95]) 6. # Calculando as médias das variáveis 7. media_x = np.mean(horas_de_estudo) 8. media_y = np.mean(notas_do_exame) 9. # Calculando os desvios em relação às médias 10. desvio_x = horas_de_estudo - media_x 11. desvio_y = notas_do_exame - media_y 12. # Calculando o coeficiente angular (beta_1) 13. beta_1 = np.sum(desvio_x * desvio_y) / np.sum(desvio_x ** 2) 14. # Calculando o coeficiente linear (beta_0) 15. beta_0 = media_y - beta_1 * media_x 16. # Criando a reta de regressão 17. reta_regressao = beta_0 + beta_1 * horas_de_estudo 18. # Imprimindo os coeficientes 19. print(“Coeficiente Angular (beta_1):”, beta_1) 20. print(“Coeficiente Linear (beta_0):”, beta_0) 21. # Plotando os dados e a reta de regressão 22. plt.scatter(horas_de_estudo, notas_do_exame, label=’Dados reais’) 23. plt.plot(horas_de_estudo, reta_regressao, color=’red’, label=’Reta de regressão’) 24. plt.xlabel(‘Horas de Estudo’) 25. plt.ylabel(‘Notas do Exame’) 26. plt.legend() 27. plt.show() Saída: Coeficiente angular (beta_1): 3.693877551020408 Coeficiente linear (beta_0): 58.38775510204082 112 Unidade II No ta s d o ex am e 2 3 4 5 6 7 8 9 10 Horas de estudo 95 90 85 80 75 70 65 Dados reais Reta de regressão Figura 19 Neste exemplo, estamos calculando manualmente os coeficientes da regressão linear (coeficiente angular β1 e coeficiente linear β0) usando o método dos mínimos quadrados. Depois, criamos a reta de regressão utilizando esses coeficientes e plotamos os dados com a reta de regressão para visualizar como o ajuste foi feito. Lembrete Em aplicações reais, normalmente usaríamos bibliotecas como NumPy e SciPy para realizar esses cálculos de maneira mais eficiente. O ajuste com mínimos quadrados é uma abordagem poderosa, pois fornece uma maneira sistemática de encontrar os parâmetros que melhor descrevem os dados observados. No entanto, é importante estar ciente de algumas considerações: • Suposições: o método dos mínimos quadrados assume que os erros de medição são independentes e têm distribuição normal com média zero e variância constante. É importante verificar se essas suposições são atendidas antes de aplicar o procedimento. • Outliers: valores discrepantes ou extremos podem ter um impacto significativo no ajuste com mínimos quadrados, pois eles têm um peso maior na soma dos quadrados dos resíduos. É importante identificar e lidar com esses outliers de forma adequada para evitar que eles distorçam o ajuste. 113 CIÊNCIA DE DADOS • Overfitting: o ajuste com mínimos quadrados pode levar ao overfitting (sobreajuste) quando o modelo se torna muito complexo e se ajusta demais aos dados de treinamento. Isso pode resultar em um modelo que não generaliza bem para novos dados. É importante ter cuidado ao escolher a complexidade do modelo e considerar técnicas como validação cruzada para avaliar seu desempenho em dados não observados. O ajuste com mínimos quadrados é uma técnica fundamental na modelagem estatística e na análise de dados. Ele permite encontrar os parâmetros que melhor descrevem a relação entre as variáveis em um modelo matemático. No entanto, devemos compreender suas suposições e considerar as limitações associadas a outliers e overfitting. Com uma abordagem cuidadosa, o ajuste com mínimos quadrados fornece resultados úteis e insights sobre o comportamento dos dados. 6.3 Gradiente descendente O gradiente descendente é um algoritmo de otimização utilizado em aprendizado de máquina e em outras áreas relacionadas, como otimização de função e aprendizado de parâmetros. Ele é utilizado para encontrar o mínimo de uma função de perda, ou seja, minimizar a diferença entre os valores previstos e os valores reais. O algoritmo do gradiente descendente é baseado no cálculo do gradiente da função de perda em relação aos parâmetros do modelo. O gradiente indica a direção e a magnitude do maior aumento da função de perda. Portanto, ao caminhar na direção oposta ao gradiente, é possível aproximar-se do mínimo global ou local da função. O processo do gradiente descendente pode ser resumido nas seguintes etapas: 1. Inicialização dos parâmetros: os parâmetros do modelo são inicializados com valores aleatórios ou predefinidos. 2. Cálculo do gradiente: o gradiente da função de perda em relação aos parâmetros é calculado. Isso envolve calcular as derivadas parciais da função de perda em relação a cada parâmetro. 3. Atualização dos parâmetros: os parâmetros do modelo são atualizados usando a seguinte fórmula: novo_parâmetro = parâmetro_atual - taxa_aprendizado * gradiente, onde a taxa de aprendizado é um hiperparâmetro que controla o tamanho do passo dado em cada iteração. 4. Repetição: os passos 2 e 3 são repetidos até que uma condição de parada seja atendida. Isso pode ser um número fixo de iterações, uma tolerância para a melhoria da função de perda ou outros critérios definidos. Existem diferentes variantes do gradiente descendente, como o gradiente descendente estocástico (SGD) e o gradiente descendente em lote (batch gradient descent). O SGD atualiza os parâmetros a cada exemplo de treinamento, enquanto o batch gradient descent usa todo o conjunto de treinamento para 114 Unidade II calcular o gradiente e atualizar os parâmetros. O SGD é mais rápido, mas pode ser mais ruidoso, enquanto o batch gradient descent é mais preciso, mas pode ser mais lento em grandes conjuntos de dados. O gradiente descendente é utilizado em algoritmos de aprendizado de máquina, como regressão linear, regressão logística e redesneurais. Ele permite ajustar os parâmetros do modelo de forma iterativa, buscando minimizar a função de perda e melhorar o desempenho do modelo na tarefa desejada. Exemplo: utilizaremos um exemplo simples de como implementar o gradiente descendente para ajustar uma regressão linear em Python: 1. import numpy as np 2. import matplotlib.pyplot as plt 3. # Dados de exemplo 4. horas_de_estudo = np.array([2, 4, 6, 7, 8, 10]) 5. notas_do_exame = np.array([65, 75, 80, 82, 90, 95]) 6. # Inicialização dos parâmetros 7. alpha = 0.01 # Taxa de aprendizado 8. num_iteracoes = 1000 # Número de iterações 9. # Inicialização dos coeficientes 10 beta_0 = 0.0 11. beta_1 = 0.0 12. # Gradiente Descendente 13. for _ in range(num_iteracoes): 14. predicoes = beta_0 + beta_1 * horas_de_estudo 15. erro = predicoes - notas_do_exame 16. # Atualização dos coeficientes usando o Gradiente Descendente 17. beta_0 -= alpha * (1.0 / len(horas_de_estudo)) * np.sum(erro) 18. beta_1 -= alpha * (1.0 / len(horas_de_estudo)) * np.sum(erro * horas_de_estudo) 19. # Coeficientes ajustados 20. print(“Coeficiente Linear (beta_0):”, beta_0) 21. print(“Coeficiente Angular (beta_1):”, beta_1) 22. # Criação da reta de regressão 23. reta_regressao = beta_0 + beta_1 * horas_de_estudo 115 CIÊNCIA DE DADOS 24. # Plotando os dados e a reta de regressão 25. plt.scatter(horas_de_estudo, notas_do_exame, label=’Dados reais’) 26. plt.plot(horas_de_estudo, reta_regressao, color=’red’, label=’Reta de regressão’) 27. plt.xlabel(‘Horas de Estudo’) 28. plt.ylabel(‘Notas do Exame’) 29. plt.legend() 30. plt.show() Saída: Coeficiente linear (beta_0): 45.597677085080264 Coeficiente angular (beta_1): 5.458972545781039 No ta s d o ex am e 2 3 4 5 6 7 8 9 10 Horas de estudo 100 90 80 70 60 Dados reais Reta de regressão Figura 20 Neste exemplo, estamos usando o gradiente descendente para ajustar os coeficientes da regressão linear. O algoritmo itera várias vezes, atualizando os coeficientes com base nas derivadas parciais da função de erro em relação a esses coeficientes. A taxa de aprendizado (α) determina o tamanho dos passos que o algoritmo dá em direção ao mínimo da função de erro. 116 Unidade II Lembrete Em problemas reais, é mais comum utilizar bibliotecas como NumPy e scikit-learn para fazer ajustes de regressão linear e otimização, uma vez que elas já implementam esses algoritmos de maneira eficiente. No entanto, é importante ajustar a taxa de aprendizado adequadamente, pois um valor muito pequeno pode levar a um treinamento lento ou a um mínimo local subótimo, e um valor muito grande pode causar oscilações ou não convergir para o mínimo global. Além disso, o gradiente descendente pode sofrer com problemas de gradientes esparsos, que ocorrem quando a função de perda tem áreas planas ou regiões onde o gradiente é próximo de zero. O gradiente descendente é um algoritmo fundamental para otimização de modelos em aprendizado de máquina. Ele utiliza o cálculo do gradiente da função de perda para atualizar iterativamente os parâmetros do modelo, buscando minimizar a função de perda e melhorar o desempenho do modelo na tarefa de aprendizado. Com o gradiente descendente, conseguimos ajustar os parâmetros de forma iterativa, permitindo que o modelo se adapte aos dados de treinamento e generalize para novos exemplos. Nem sempre o gradiente descendente converge para o mínimo global da função de perda. Em alguns casos, ele pode convergir para um mínimo local ou ficar preso em um platô. Existem técnicas, como o uso de diferentes variantes do gradiente descendente ou a inicialização dos parâmetros com valores diferentes, que podem ajudar a melhorar a convergência. Em problemas com muitas características (alta dimensionalidade), o gradiente descendente pode enfrentar dificuldades devido ao chamado “espaço emagrecido” (vanishing gradient) ou “espaço inchado” (exploding gradient). Nestes casos, é comum aplicar técnicas como regularização ou redução de dimensionalidade para mitigar esses problemas. Como dito, a escolha inicial dos parâmetros pode afetar o desempenho do gradiente descendente. Uma inicialização inadequada leva a um treinamento ineficiente ou a uma convergência para mínimos subótimos. Precisamos explorar diferentes técnicas de inicialização e encontrar a mais adequada para o modelo específico. Trata-se de uma técnica poderosa que permite a otimização iterativa dos parâmetros de um modelo de aprendizado de máquina. Com suas variantes e considerações, é uma ferramenta essencial para treinar modelos em uma ampla gama de problemas. Ao entender as nuances do gradiente descendente e ajustar adequadamente seus hiperparâmetros, obtemos modelos bem ajustados e com bom desempenho. 117 CIÊNCIA DE DADOS 6.4 Regressão linear múltipla A regressão linear múltipla é uma técnica de aprendizado de máquina que visa modelar a relação entre uma variável dependente contínua e várias variáveis independentes. Trata-se de uma extensão da regressão linear simples, na qual apenas uma variável independente é considerada. Aqui, o objetivo é encontrar uma equação que represente a relação linear entre as variáveis independentes e a variável dependente. Ela é chamada de modelo de regressão, sendo expressa da seguinte forma: Y X X n Xn� � � � � �� � � �0 1 1 2 2 ... Onde: • Y é a variável dependente (variável a ser prevista); • X1, X2,..., Xn são as variáveis independentes; • β0, β1, β2,..., βn são os coeficientes que representam os pesos atribuídos a cada variável independente. O processo de ajuste de um modelo de regressão linear múltipla envolve encontrar os valores ideais para os coeficientes β0, β1, β2,..., βn, de modo a minimizar a diferença entre os valores previstos pelo modelo e os valores reais da variável dependente. A seleção adequada das variáveis independentes é um aspecto crítico na regressão linear múltipla. Devemos escolher as variáveis que possuem uma forte correlação com a variável dependente e que sejam relevantes para o problema em questão. A inclusão de variáveis irrelevantes ou altamente correlacionadas pode levar a problemas de multicolinearidade e ao superajuste do modelo. Existem diferentes técnicas e métodos para estimar os coeficientes do modelo de regressão linear múltipla, sendo os mais comuns: • Mínimos quadrados ordinários (OLS): é o método mais utilizado, que minimiza a soma dos quadrados das diferenças entre os valores previstos e os valores reais. Ele encontra os coeficientes que minimizam essa soma, produzindo o melhor ajuste linear aos dados. • Regularização (como Lasso e Ridge): são técnicas que adicionam um termo de penalização aos coeficientes do modelo para evitar o superajuste e reduzir a influência de variáveis menos relevantes. O Lasso realiza uma seleção automática de variáveis, enquanto o Ridge reduz os coeficientes, mas não os zera. • Métodos de seleção de variáveis: existem abordagens para selecionar automaticamente as variáveis mais relevantes para o modelo, como Stepwise, Forward, Backward, entre outros. Esses métodos consideram diferentes combinações de variáveis para encontrar o melhor conjunto de preditores. 118 Unidade II Exemplo: suponha que temos um conjunto de dados que relaciona a quantidade de horas de estudo, a quantidade de horas de sono e a quantidade de exercícios feitos (três variáveis independentes) com as notas obtidas em um exame (variável dependente). Queremos criar um modelo de regressão linear múltipla para prever a nota do exame com base nessas variáveis independentes. 1. import numpy as np 2. from sklearn.linear_model import LinearRegression 3. # Dados de exemplo 4. horas_de_estudo = np.array([2, 4, 6, 7, 8, 10]) 5. horas_de_sono = np.array([7, 6, 8, 7, 9, 6]) 6. exercicios_feitos = np.array([0, 1, 2, 3, 2, 1]) 7. notas_do_exame = np.array([65, 75, 80, 82, 90, 95]) 8. # Preparando os dados em uma matriz de características (X) e um vetor de rótulos (y) 9. X = np.column_stack((horas_de_estudo, horas_de_sono, exercicios_feitos))10. y = notas_do_exame 11. # Criar o modelo de regressão linear múltipla 12. modelo = LinearRegression() 13. # Treinar o modelo com os dados de treinamento 14. modelo.fit(X, y) 15. # Coeficientes (parâmetros) ajustados pelo modelo 16. coeficientes = modelo.coef_ 17. coef_intercepto = modelo.intercept_ 18. # Imprimir os coeficientes 19. print(“Coeficientes:”, coeficientes) 20. print(“Intercepto:”, coef_intercepto) 21. # Fazer previsões para novos valores 22. novos_dados = np.array([[5, 8, 1], [9, 7, 2]]) 23. notas_previstas = modelo.predict(novos_dados) 24. print(“Notas previstas:”, notas_previstas) Saída: Coeficientes: [3.82157969 0.57299013 -0.83533145] Intercepto: 54.74682651622003 Notas previstas: [77.60331453 91.48131171] 119 CIÊNCIA DE DADOS Neste exemplo, estamos criando um modelo de regressão linear múltipla usando as três variáveis independentes: horas de estudo, horas de sono e exercícios feitos. O modelo é treinado com esses dados e, em seguida, o utilizamos para fazer previsões com base em novos valores de horas de estudo, horas de sono e exercícios feitos. A regressão linear múltipla é utilizada em várias áreas, como economia, ciências sociais, finanças, saúde e muitas outras. Ela permite fazer previsões e entender a relação entre múltiplas variáveis independentes e uma variável dependente contínua. Ao interpretar os coeficientes do modelo, é possível inferir o impacto das variáveis independentes sobre a variável dependente, bem como prever com base nos valores das variáveis independentes. 6.5 Regressão logística A regressão logística é um modelo estatístico utilizado para realizar análise de classificação binária, ou seja, para prever a probabilidade de um evento pertencer a uma das duas categorias possíveis. Apesar do nome “regressão”, ela é, na verdade, um modelo de classificação. A regressão logística é especialmente útil quando a variável dependente é categórica e não contínua. Ela estima a probabilidade de um evento ocorrer com base em um conjunto de variáveis independentes. A variável dependente é binária, assumindo valores como 0 e 1, ou Verdadeiro e Falso. O modelo de regressão logística utiliza a função logística, também conhecida como função sigmoide, para mapear a saída linear da combinação linear das variáveis independentes em um intervalo entre 0 e 1. Essa transformação permite interpretar a saída como uma probabilidade. A equação da regressão logística é dada por: p X X n Xn� � � � � � � �1 1 0 1 1 2 2/ ( exp( ( ... )))� � � � Onde: • p é a probabilidade de o evento ocorrer; • β0, β1, β2,..., βn são os coeficientes que representam os pesos atribuídos a cada variável independente; • X1, X2,..., Xn são as variáveis independentes. Os coeficientes β0, β1, β2,..., βn são estimados utilizando técnicas de otimização, como a máxima verossimilhança, de forma a encontrar os melhores valores que maximizem a probabilidade de observar os dados reais. A interpretação dos coeficientes na regressão logística é feita em termos de odds ratio. O odds ratio representa a mudança na razão de chances de ocorrência do evento quando uma variável independente aumenta em uma unidade, mantendo todas as outras variáveis constantes. 120 Unidade II A regressão logística tem diversas aplicações em ciência de dados e análise preditiva, sendo utilizada em problemas de classificação, como prever se um e-mail é spam ou não, se um cliente fará uma compra ou não, se um paciente tem uma doença ou não, entre outros. Além da regressão logística simples, existem variantes, como a regressão logística multinomial para classificação em mais de duas categorias e a regressão logística ordinal para classificação ordenada. Elas permitem lidar com problemas de classificação mais complexos. Exemplo: suponha que temos um conjunto de dados que contém informações sobre alunos e queremos prever se um deles será aprovado (1) ou reprovado (0) com base em suas horas de estudo e notas em exames anteriores. Usaremos a regressão logística para construir um modelo que faça essa previsão. 1. import numpy as np 2. from sklearn.model_selection import train_test_split 3. from sklearn.linear_model import LogisticRegression 4. from sklearn.metrics import accuracy_score 5. # Dados de exemplo 6. horas_de_estudo = np.array([5, 1, 6, 7, 4, 9, 2, 8, 3, 10]) 7. notas_exame = np.array([85, 50, 80, 90, 60, 95, 55, 92, 70, 98]) 8. aprovado = np.array([1, 0, 1, 1, 0, 1, 0, 1, 0, 1]) 9. # Preparando os dados em uma matriz de características (X) e um vetor de rótulos (y) 10. X = np.column_stack((horas_de_estudo, notas_exame)) 11. y = aprovado 12. # Dividindo os dados em conjuntos de treinamento e teste 13. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) 14. # Criar o modelo de regressão logística 15. modelo = LogisticRegression() 16. # Treinar o modelo com os dados de treinamento 17. modelo.fit(X_train, y_train) 18. # Fazer previsões para os dados de teste 19. previsoes = modelo.predict(X_test) 20. # Calcular a acurácia do modelo 21. acuracia = accuracy_score(y_test, previsoes) 22. print(“Acurácia do modelo:”, acuracia) Saída: Acurácia do modelo: 1.0 121 CIÊNCIA DE DADOS Neste exemplo, estamos usando a regressão logística para classificar se um aluno será aprovado ou reprovado com base nas horas de estudo e nas notas em exames anteriores. O modelo é treinado com os dados de treinamento e, em seguida, é avaliado usando os dados de teste para calcular a acurácia do modelo. A regressão logística é um método poderoso para a análise de classificação binária, permitindo estimar a probabilidade de um evento ocorrer com base em um conjunto de variáveis independentes. Ela é utilizada na prática de ciência de dados e fornece insights valiosos para a tomada de decisões. 7 PLANEJAMENTO DE EXPERIMENTOS O planejamento de experimentos (design of experiments, DoE) é uma abordagem estatística para investigar e otimizar processos, sistemas ou produtos por meio de experimentos controlados. Seu objetivo principal é identificar fatores que afetam a resposta desejada e determinar as melhores configurações desses fatores para atingir os resultados desejados. Ele envolve a seleção cuidadosa das variáveis de interesse, a definição das configurações ou níveis dessas variáveis e a realização de experimentos controlados para coletar os dados necessários. Esses experimentos são projetados de forma sistemática e eficiente, de modo a obter informações relevantes com o menor número possível de tentativas. Existem vários tipos de designs de experimentos, cada um adequado para diferentes situações e objetivos. Alguns dos designs mais comuns incluem: Design fatorial Tipo de design em que todas as combinações possíveis dos níveis dos fatores são testadas. Isso permite investigar o efeito de cada fator individualmente, bem como as interações entre eles. Design fracionado Design que permite testar apenas uma fração dos possíveis tratamentos. Fato útil quando o número de combinações possíveis é muito grande, não sendo possível realizar todos os experimentos. O design fracionado possibilita a obtenção de informações úteis sobre os efeitos principais dos fatores, mas não a investigação de interações entre eles. Design de blocos Design em que os experimentos são divididos em blocos ou grupos. Em cada bloco, os tratamentos são atribuídos de forma aleatória. Isso é útil quando há fontes de variação não controladas que podem afetar os resultados, e os blocos ajudam a controlar essas variações. 122 Unidade II Design central composto Tipo que combina um desenho fatorial completo com pontos adicionais no centro do espaço de trabalho. Esses pontos permitem estimar os efeitos quadráticos dos fatores e verificar se existe uma região ótima de operação. O planejamento de experimentos possibilita que os cientistas de dados e os engenheiros obtenham informações valiosas sobre os processos e sistemas que estão investigando. Eles podem identificar quais