<style> @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap'); :root { --ink:#172b4d; --teal:#087e82; --mint:#e8f5f3; --amber:#bf6b25; --paper:#f7f9fc; --line:#d9e2ec; --muted:#536878; } .remark-slide-content { font-family:'DM Sans',sans-serif; color:var(--ink); background:linear-gradient(145deg,#fff 0%,var(--paper) 100%); border-top:7px solid var(--teal); padding:1.0em 1.65em; font-size:20px; } .remark-slide-content.compact { font-size:16px; } /* 80% da fonte-base nos slides indicados; MathJax ajustado para fórmulas longas */ .remark-slide-content .MathJax_Display { max-width:100%; overflow-x:auto; overflow-y:hidden; margin:.35em 0 !important; font-size:90% !important; } .remark-slide-content .MathJax { max-width:100%; } .remark-slide-content h1 { font-family:'Manrope',sans-serif; color:var(--ink); font-size:1.48em; font-weight:800; letter-spacing:-.035em; margin:0 0 .38em; } .remark-slide-content h2 { color:var(--teal); font-family:'Manrope',sans-serif; font-size:1.02em; margin:.32em 0 .2em; } .remark-slide-content p { margin:.25em 0; } .remark-slide-content ul,.remark-slide-content ol { margin:.25em 0 .25em 1.05em; } .remark-slide-content li { margin:.13em 0; } .remark-slide-content table { font-size:.78em; width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:10px; margin:.38em 0; box-shadow:0 5px 18px rgba(23,43,77,.08); } .remark-slide-content th { background:var(--ink); color:#fff; } .remark-slide-content td,.remark-slide-content th { padding:.34em .48em; border:1px solid var(--line); vertical-align:middle; } .remark-slide-content tr:nth-child(even) { background:#eef3f8; } .inverse { background:radial-gradient(ellipse at 85% 15%,#1b777a 0%,#123e59 38%,#122842 100%); border-top:0; color:#fff; text-shadow:none; } .inverse h1,.inverse h2 { color:#fff; } .remark-slide-container:first-child .remark-slide-content { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; color:#fff; background:radial-gradient(ellipse at 82% 12%,#176b70 0%,#123e59 38%,#102A43 100%); border-top:0; text-shadow:none; } .remark-slide-container:first-child .remark-slide-content h1,.remark-slide-container:first-child .remark-slide-content h2,.remark-slide-container:first-child .remark-slide-content strong { color:#fff; } .remark-slide-container:first-child .remark-slide-content h1 { max-width:940px; font-size:1.8em; } .remark-slide-container:first-child .remark-slide-content h2 { color:#B9F2E9; } .cover-kicker { color:#B9F2E9; text-transform:uppercase; letter-spacing:.12em; font-size:.68em; font-weight:700; margin-bottom:.5em; } .cover-subtitle { display:inline-block; max-width:880px; margin:.4em auto .45em; padding:.45em .85em; color:#fff !important; background:rgba(3,25,53,.82); border:1px solid rgba(255,255,255,.42); border-radius:10px; font-size:.84em; font-weight:700; line-height:1.3; } .cover-event { margin:.2em 0 .35em; color:#D9E2EC; font-size:.76em; font-weight:600; letter-spacing:.04em; } .cover-details { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; max-width:950px; margin:.3em auto; } .cover-detail { padding:.38em .68em; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.32); border-radius:8px; color:#fff; font-size:.72em; font-weight:600; } .cover-instructor { margin:.35em 0 0; color:#fff; font-size:.76em; font-weight:700; } .cover-challenge { margin:.45em 0 0; color:#FFF1C7; font-size:.78em; font-weight:700; } .question { color:#087e82; font-weight:700; } .takeaway { color:#a95718; font-weight:700; } .small { font-size:.76em; color:#43576b; } .box { background:var(--mint); border-left:5px solid var(--teal); border-radius:0 10px 10px 0; padding:9px 14px; margin:8px 0; } .warning { background:#fff4e7; border-left:5px solid var(--amber); border-radius:0 10px 10px 0; padding:9px 14px; margin:8px 0; } .twocol { display:grid; grid-template-columns:1fr 1fr; gap:13px; } .threecol { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; } .card { background:rgba(255,255,255,.9); border:1px solid var(--line); border-top:4px solid var(--teal); border-radius:12px; padding:10px 13px; box-shadow:0 5px 16px rgba(23,43,77,.07); } .card.amber { border-top-color:var(--amber); } .visual-panel { background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 16px; margin:8px 0; box-shadow:0 5px 16px rgba(23,43,77,.07); } .visual-title { color:var(--teal); font-family:'Manrope',sans-serif; font-weight:800; margin-bottom:7px; } .tiles { display:grid; grid-template-columns:repeat(10,1fr); gap:5px; } .tile { background:#e8f5f3; border:1px solid #b8dcd7; border-radius:7px; text-align:center; padding:7px 2px; font-weight:700; font-size:.82em; } .tile.hit { background:#fff0dc; border-color:#d89a58; color:#8b4a14; } .flowrow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:7px; align-items:center; text-align:center; } .flowbox { background:#f1f5f8; border:1px solid var(--line); border-radius:9px; padding:9px; } .flowbox.emphasis { background:var(--mint); border-color:#89c4bd; } .flowarrow { color:var(--teal); font-size:1.25em; font-weight:800; } .metric-row { display:grid; grid-template-columns:145px 1fr 90px; gap:8px; align-items:center; margin:7px 0; } .track { height:19px; background:#edf1f5; border-radius:99px; overflow:hidden; } .fill { height:100%; background:linear-gradient(90deg,#087e82,#54aaa3); border-radius:99px; } .fill.amber { background:linear-gradient(90deg,#bf6b25,#e8aa63); } .formula-chip { display:inline-block; padding:5px 9px; margin:3px; border-radius:8px; background:var(--mint); color:var(--ink); font-weight:700; } .timeline { display:grid; grid-template-columns:repeat(8,1fr); gap:5px; align-items:end; height:100px; margin:8px 0; } .tpoint { text-align:center; color:var(--muted); font-size:.65em; } .tbar { width:70%; margin:0 auto 4px; border-radius:5px 5px 0 0; background:#54aaa3; } .tbar.high { background:#bf6b25; } @media (max-width:700px) { .tiles {grid-template-columns:repeat(5,1fr)} .flowrow {grid-template-columns:1fr} .flowarrow {transform:rotate(90deg)} .metric-row {grid-template-columns:100px 1fr 60px} } </style> <div class="cover-kicker">Minicurso · Tópicos de Estatística para IA</div> # Modelos para contar, medir e prever ## Aula 02 | Aprendizagem Baseada em Problemas <div class="cover-subtitle">Da distribuição à relação entre variáveis — e da previsão à decisão responsável.</div> <div class="cover-event">CONECTech · Conferência de Tecnologia do ICET</div> <div class="cover-details"><span class="cover-detail">28 e 30/09 · 14h</span><span class="cover-detail">Laboratório 309 · Bloco D</span></div> <div class="cover-instructor">Instrutor: Prof. Dr. Hidelbrando Ferreira Rodrigues</div> <div class="cover-challenge">Desafio: os dados de monitoramento permitem antecipar problemas no serviço?</div> *Tópicos de Estatística para IA — Engenharia de Software e Sistemas de Informação* --- # O problema: agir antes que o serviço degrade Uma equipe monitora uma API usada por clientes. Em alguns períodos, aumentam os erros e a latência; em outros, o serviço parece estável. A equipe quer planejar capacidade, investigar anomalias e decidir quando intervir. .question[Que dados seriam úteis para antecipar uma degradação? E que modelo ajudaria a responder cada pergunta?] <div class="threecol"><div class="card"><b>Contar</b><br>Quantas requisições falham? Quantos incidentes ocorrem por hora?</div><div class="card"><b>Medir</b><br>Quanto demora uma resposta? Quanto tempo separa dois incidentes?</div><div class="card"><b>Relacionar e prever</b><br>Como a latência varia com carga? O que pode ocorrer no próximo período?</div></div> Não escolhemos um modelo pelo nome mais sofisticado. Começamos pela **pergunta**, pelo **tipo de variável** e pelas **condições dos dados**. --- # Retomada da Aula 01 — o alerta acerta? Na Aula 01, comparamos o alerta com o que ocorreu depois. O alerta funciona como uma classificação; a ocorrência real é a referência observada. | Realidade observada | Alerta: sim | Alerta: não | Total | |---|---:|---:|---:| | Falha | 32 — verdadeiro positivo | 8 — falso negativo | 40 | | Sem falha | 96 — falso positivo | 864 — verdadeiro negativo | 960 | | **Total** | **128** | **872** | **1.000** | <div class="visual-panel"><div class="visual-title">A matriz compara duas respostas para cada implantação</div><div class="flowrow"><div class="flowbox">O que o monitoramento previu?<br><b>Alerta / sem alerta</b></div><div class="flowarrow">×</div><div class="flowbox">O que foi observado depois?<br><b>Falha / sem falha</b></div><div class="flowarrow">→</div><div class="flowbox emphasis">Acerto ou confusão<br><b>quatro células</b></div></div></div> .question[Essa matriz prevê quantos milissegundos terá a próxima resposta?] --- # Da classificação à previsão numérica A matriz de confusão responde se o sistema **classificou** corretamente casos positivos e negativos. Ela não descreve, por si só, o valor de uma medida contínua nem sua evolução no tempo. <div class="twocol"><div class="card amber"><b>Classificação</b><br>“Haverá falha grave nas próximas 24 horas?”<br>Saída: classe ou probabilidade de classe.</div><div class="card"><b>Regressão / previsão numérica</b><br>“Qual será a latência, em milissegundos, sob esta carga?”<br>Saída: valor numérico previsto.</div></div> <div class="box"><b>Ponte conceitual:</b> a Aula 01 ensinou a representar e atualizar incerteza sobre eventos. Agora vamos representar incerteza sobre contagens, tempos e medidas — e estudar relações e padrões temporais.</div> .question[Se temos 500 requisições e observamos 12 falhas, estamos contando, medindo ou classificando?] --- # Primeiro, identificar o tipo de variável <div class="twocol"><div class="card"><b>Discreta: contagens</b><br>Número de requisições com erro em um lote.<br>Valores: 0, 1, 2, 3, ...<br>Modelos da aula: Binomial, Poisson, Binomial Negativa.</div><div class="card"><b>Contínua: medidas</b><br>Latência, duração ou tempo entre eventos.<br>Valores em intervalos contínuos.<br>Modelos da aula: Exponencial, Normal e Normal Padrão.</div></div> <div class="visual-panel"><div class="visual-title">Esquema de decisão — que tipo de resultado observamos?</div><div class="flowrow"><div class="flowbox">Resultado incerto<br><b>O que varia?</b></div><div class="flowarrow">→</div><div class="flowbox">Contagem inteira<br><b>discreta</b></div><div class="flowarrow">ou</div><div class="flowbox emphasis">Medida em escala contínua<br><b>contínua</b></div></div></div> A variável e o mecanismo que a gera orientam a distribuição candidata. A escolha ainda precisa ser confrontada com dados e conhecimento do sistema. --- # Um mapa para a investigação | Pergunta operacional | Variável-resposta | Modelo candidato | Hipótese que merece atenção | |---|---|---|---| | Quantas requisições falham em um lote fixo? | Contagem de sucessos | Binomial | Tentativas comparáveis e probabilidade estável | | Quantos incidentes ocorrem por hora? | Contagem por intervalo | Poisson | Taxa média estável e eventos não agrupados | | A contagem varia mais do que a Poisson prevê? | Contagem sob heterogeneidade | Binomial Negativa | Dispersão excedente / mistura de taxas | | Quanto até o próximo incidente? | Tempo de espera | Exponencial | Taxa de eventos aproximadamente constante | | Como se distribui uma medida estável? | Latência ou outra medida | Normal | Forma aproximadamente simétrica, sem caudas extremas dominantes | | Como relacionar latência e carga? | Medida numérica | Regressão linear | Relação média aproximadamente linear e resíduos adequados | | O comportamento muda ao longo do tempo? | Medida indexada no tempo | Série temporal | Ordem temporal e dependência preservadas | .question[Essas hipóteses são garantias sobre o sistema ou condições a investigar?] --- # Distribuição Binomial — sucessos em tentativas fixas Considere um lote de **20 requisições**. Para um exemplo didático, suponha que cada requisição tenha probabilidade de erro de **0,02**, com tentativas independentes e probabilidade constante. Seja `\(X\)` o número de requisições com erro. Então `\(X\)` pode ser modelada por uma Binomial com tamanho `\(n=20\)` e probabilidade `\(p=0{,}02\)`: $$ P(X=k)=\binom{20}{k}(0{,}02)^k(0{,}98)^{20-k}. $$ Sua média é `\(np=0{,}4\)` erro por lote, em média. Isso **não** significa que cada lote terá 0,4 erro: a contagem observada é inteira. <div class="visual-panel"><div class="visual-title">Esquema — 20 tentativas; cada bloco é uma requisição</div><div class="tiles"><div class="tile">1</div><div class="tile">2</div><div class="tile">3</div><div class="tile">4</div><div class="tile">5</div><div class="tile">6</div><div class="tile">7</div><div class="tile">8</div><div class="tile">9</div><div class="tile">10</div><div class="tile">11</div><div class="tile">12</div><div class="tile">13</div><div class="tile">14</div><div class="tile">15</div><div class="tile">16</div><div class="tile">17</div><div class="tile">18</div><div class="tile">19</div><div class="tile">20</div></div><div class="small">Em cada tentativa: erro (sucesso para a contagem) ou não erro; o evento contado precisa ser definido.</div></div> .question[O que deixa de ser plausível se todas as requisições de um lote tiverem riscos muito diferentes?] --- class: compact # Binomial — cálculo e leitura com contexto Qual é a probabilidade de observar **ao menos um erro** em 20 requisições, sob as hipóteses do exemplo? É mais simples usar o complemento: “ao menos um” é o contrário de “nenhum”. $$ P(X\geq 1)=1-P(X=0)=1-(0{,}98)^{20}\approx 0{,}332. $$ A probabilidade calculada é aproximadamente **33,2% por lote** no cenário hipotético. Não é a probabilidade de cada requisição falhar, nem uma previsão certa para o próximo lote. <div class="box"><b>Parâmetros:</b> `\(n\)` = número fixo de tentativas; `\(p\)` = probabilidade de sucesso em cada tentativa. Média: `\(np\)`. Variância: `\(np(1-p)\)`.</div> .question[Se aumentarmos o lote de 20 para 100 requisições, mantendo `\(p\)`, o número esperado de erros muda? E a chance de pelo menos um?] --- class: compact # Distribuição de Poisson — contar eventos em um intervalo Agora a pergunta é diferente: quantos incidentes são registrados em uma hora? Suponha, apenas para ilustrar, uma taxa média de **2 incidentes por hora** sob condições operacionais comparáveis. Seja `\(N\)` o número de incidentes em uma hora. O modelo de Poisson com média `\(\lambda=2\)` atribui: $$ P(N=k)=\frac{e^{-2}2^k}{k!},\qquad E(N)=\lambda=2,\qquad Var(N)=\lambda=2. $$ <div class="visual-panel"><div class="visual-title">Contagem em uma janela fixa de observação</div><div class="flowrow"><div class="flowbox">Definir intervalo<br><b>1 hora</b></div><div class="flowarrow">→</div><div class="flowbox">Contar eventos<br><b>0, 1, 2, 3, ...</b></div><div class="flowarrow">→</div><div class="flowbox emphasis">Resumir a taxa<br><b>$\lambda=2$/hora</b></div></div></div> .question[Qual é a diferença entre o total fixo de tentativas da Binomial e a janela de tempo da Poisson?] --- class: compact # Poisson — uma probabilidade para apoiar o planejamento Com média de 2 incidentes por hora, qual é a probabilidade de **nenhum incidente** em uma hora? $$ P(N=0)=\frac{e^{-2}2^0}{0!}=e^{-2}\approx 0{,}135. $$ No modelo, a chance é aproximadamente **13,5%**. A interpretação depende de a taxa média continuar adequada ao serviço, período e unidade de tempo analisados. <div class="visual-panel"><div class="visual-title">Esquema — a taxa média não fixa a contagem de cada hora</div><div class="outcomes"><div class="card"><b>Hora 1</b><br>0 incidentes</div><div class="card"><b>Hora 2</b><br>1 incidente</div><div class="card"><b>Hora 3</b><br>3 incidentes</div><div class="card"><b>Resumo</b><br>média hipotética: 2/h</div></div></div> <div class="warning"><b>Cuidado:</b> a mesma média pode esconder horários de pico, agrupamentos de eventos ou mudanças de versão. Examine a estabilidade da taxa antes de usar o modelo.</div> --- # Binomial e Poisson — perguntas parecidas, mecanismos diferentes | Aspecto | Binomial | Poisson | |---|---|---| | O que fica fixo? | Número de tentativas `\(n\)` | Intervalo de tempo ou espaço | | O que é contado? | Sucessos em `\(n\)` tentativas | Eventos no intervalo | | Parâmetros | `\(n\)` e `\(p\)` | `\(\lambda\)` (taxa média no intervalo) | | Média / variância | `\(np\)` / `\(np(1-p)\)` | `\(\lambda\)` / `\(\lambda\)` | | Exemplo | Requisições com erro em 20 chamadas | Incidentes em uma hora | Em condições adequadas, a Poisson pode aproximar uma Binomial quando há muitas tentativas, probabilidade pequena e `\(np\)` moderado. Aqui, `\(n=20\)` é ilustrativo: não tratamos essa aproximação como exata por definição. <div class="box">**Raciocínio antes da fórmula:** há um total fixo de oportunidades ou contamos eventos que surgem em uma janela? Essa distinção ajuda a formular o modelo.</div> --- # Binomial Negativa — quando a contagem varia além do esperado Serviços podem atravessar períodos calmos e períodos de instabilidade. Uma única taxa média pode não representar bem essa heterogeneidade: incidentes tendem a se agrupar, e a variância observada pode superar a média. A **Binomial Negativa** é uma alternativa comum para contagens sob sobredispersão. Na parametrização de média `\(\mu\)` e parâmetro de dispersão `\(\kappa\)`: $$ E(X)=\mu,\qquad Var(X)=\mu+\frac{\mu^2}{\kappa}. $$ À medida que a dispersão aumenta (menor `\(\kappa\)`), a variância pode exceder a média, ao contrário da Poisson, que impõe igualdade entre elas. <div class="visual-panel"><div class="visual-title">Comparação da dispersão para contagens com média 2</div><div class="metric-row"><b>Poisson</b><div class="track"><div class="fill" style="width:50%"></div></div><b>Var = 2</b></div><div class="metric-row"><b>Negativa binomial*</b><div class="track"><div class="fill amber" style="width:86%"></div></div><b>Var > 2</b></div><div class="small">*Esquema ilustrativo: a variância depende do parâmetro de dispersão estimado.</div></div> --- # Dois usos da Binomial Negativa — explicitar a convenção A mesma família de distribuições aparece em duas perguntas relacionadas, mas diferentes: <div class="twocol"><div class="card"><b>Modelo de contagem com sobredispersão</b><br>Número de incidentes em períodos comparáveis, quando a variabilidade excede a Poisson.</div><div class="card amber"><b>Interpretação por tentativas até sucessos</b><br>Número de tentativas necessárias até atingir `\(r\)` sucessos (ou falhas antes do `\(r\)`-ésimo sucesso, conforme a convenção).</div></div> Neste curso, ao modelar incidentes por intervalo, usaremos principalmente a primeira interpretação. Ao aplicar fórmulas, declararemos a parametrização, pois programas e livros podem contar tentativas de maneiras diferentes. .question[Se a variância da contagem é muito maior que a média, que evidência favorece a Binomial Negativa em vez da Poisson?] <div class="warning">A sobredispersão também pode indicar períodos misturados, dependência, sazonalidade ou dados de exposição diferentes. Trocar a distribuição não dispensa investigar o mecanismo.</div> --- # Variáveis contínuas — probabilidades em intervalos Latência e tempo entre incidentes são medidas contínuas. Para uma variável contínua idealizada, a probabilidade de um valor pontual exato é zero; perguntas probabilísticas referem-se a **intervalos**, como `\(P(100\leq X\leq 200)\)` milissegundos. Uma densidade descreve como a probabilidade se distribui ao longo da escala: a área sob a curva em um intervalo corresponde à probabilidade desse intervalo. <div class="visual-panel"><div class="visual-title">Esquema conceitual — área, não altura pontual, representa probabilidade</div><svg viewBox="0 0 900 220" width="100%" role="img" aria-label="Curva de densidade com uma região sombreada correspondente a um intervalo de latência"><path d="M70 185 C160 180 210 35 430 35 C650 35 700 180 830 185" fill="none" stroke="#087e82" stroke-width="5"/><path d="M300 112 C340 58 375 38 430 35 C485 38 520 58 560 112 L560 185 L300 185 Z" fill="#b8dcd7" opacity=".8"/><line x1="70" y1="185" x2="830" y2="185" stroke="#8293a5" stroke-width="2"/><line x1="300" y1="185" x2="300" y2="120" stroke="#bf6b25" stroke-width="2"/><line x1="560" y1="185" x2="560" y2="120" stroke="#bf6b25" stroke-width="2"/><text x="410" y="215" text-anchor="middle" font-size="18" fill="#172b4d">latência (ms): probabilidade = área no intervalo</text><text x="430" y="100" text-anchor="middle" font-size="18" fill="#172b4d">área = P(a ≤ X ≤ b)</text></svg></div> .question[Por que a altura da curva em 150 ms não é a probabilidade de a latência ser exatamente 150 ms?] --- class: compact # Distribuição Exponencial — tempo até o próximo evento Se incidentes ocorrem aproximadamente segundo uma taxa constante, o tempo de espera entre eventos pode ser modelado pela Exponencial. Para taxa `\(\lambda\)` por hora: $$ f(t)=\lambda e^{-\lambda t},\quad t\geq0;\qquad P(T>t)=e^{-\lambda t}. $$ Suponha `\(\lambda=2\)` incidentes/hora. A probabilidade de esperar **mais de meia hora** pelo próximo incidente é: $$ P(T>0{,}5)=e^{-2(0{,}5)}=e^{-1}\approx0{,}368. $$ <div class="flowrow"><div class="flowbox">Taxa média<br><b>2 incidentes/h</b></div><div class="flowarrow">→</div><div class="flowbox">Espera observada<br><b>$T$ em horas</b></div><div class="flowarrow">→</div><div class="flowbox emphasis">Sobrevivência<br><b>$P(T\gt 0{,}5)\approx 36{,}8\%$</b></div></div> .question[Essa probabilidade garante que haverá um incidente depois de 30 minutos?] --- # Exponencial e Poisson — duas faces de um processo Sob as hipóteses de um processo de Poisson homogêneo, a distribuição de Poisson modela **quantos** eventos ocorrem em um intervalo; a Exponencial modela **quanto tempo** decorre entre eventos. <div class="visual-panel"><div class="visual-title">Mesma hipótese de taxa, duas perguntas complementares</div><div class="flowrow"><div class="flowbox">Janela de 1 hora<br><b>quantos incidentes?</b><br>Poisson(`\(\lambda\)`)</div><div class="flowarrow">⇄</div><div class="flowbox emphasis">Entre incidentes<br><b>quanto esperar?</b><br>Exponencial(`\(\lambda\)`)</div><div class="flowarrow">⇄</div><div class="flowbox">Mesma taxa<br><b>$\lambda=2$/hora</b></div></div></div> A Exponencial tem propriedade sem memória: dado que o processo permaneceu sem evento até agora, o modelo mantém a mesma distribuição de espera adicional. Isso decorre da hipótese do processo, não de uma regra universal dos sistemas. <div class="warning"><b>Limite importante:</b> falhas causadas por desgaste, carga crescente, manutenção ou dependências podem não ter taxa constante. Nesse caso, a hipótese exponencial pode ser inadequada.</div> --- class: compact # Distribuição Normal — variação em torno de uma média A Normal é um modelo contínuo, simétrico e unimodal, descrito pela média `\(\mu\)` e pelo desvio-padrão `\(\sigma\)`. Pode ser uma aproximação útil para medidas ou erros agregados em condições relativamente estáveis. $$ X\sim N(\mu,\sigma^2),\qquad Z=\frac{X-\mu}{\sigma}. $$ Exemplo didático: latência média de **200 ms**, com desvio-padrão de **30 ms**, sob um regime estável. A Normal pode servir como aproximação inicial; não presumimos que os dados reais sejam normais só porque são medidas. <div class="visual-panel"><div class="visual-title">Leitura visual dos parâmetros</div><div class="flowrow"><div class="flowbox">Centro da distribuição<br><b>$\mu=200$ ms</b></div><div class="flowarrow">±</div><div class="flowbox">Escala da variação<br><b>$\sigma=30$ ms</b></div><div class="flowarrow">→</div><div class="flowbox emphasis">Modelo candidato<br><b>$N(200,30^2)$</b></div></div></div> .question[Latências sempre são simétricas? O que uma cauda longa à direita poderia indicar?] --- # Normal Padrão — comparar em unidades de desvio-padrão A Normal Padrão tem média 0 e desvio-padrão 1. O escore `\(z\)` indica quantos desvios-padrão uma observação está acima ou abaixo da média. Com média de 200 ms e desvio-padrão de 30 ms, uma latência de 260 ms tem: $$ z=\frac{260-200}{30}=2. $$ Ela está **dois desvios-padrão acima** da média do cenário. O escore não é, sozinho, uma probabilidade nem prova de anomalia; para obter probabilidades, relacionamos `\(z\)` à distribuição assumida e verificamos se ela é plausível. <div class="visual-panel"><div class="visual-title">Padronização — mesma posição relativa em uma escala sem unidade</div><div class="flowrow"><div class="flowbox">Valor observado<br><b>260 ms</b></div><div class="flowarrow">−</div><div class="flowbox">Média<br><b>200 ms</b></div><div class="flowarrow">÷ 30 ms</div><div class="flowbox emphasis">Escore<br><b>$z=2$</b></div></div><div class="small">A unidade milissegundo é cancelada: o escore z é adimensional.</div></div> .question[Se dois serviços usam escalas diferentes, por que escores z podem ajudar a comparar posições relativas?] --- # Comparar distribuições — não escolher no piloto automático | Modelo | Tipo | Pergunta típica | Sinal para investigar | Cautela central | |---|---|---|---|---| | Binomial | Discreto | Sucessos em `\(n\)` tentativas? | Total fixo de oportunidades | Independência e `\(p\)` constante | | Poisson | Discreto | Eventos em uma janela? | Contagem por exposição | Taxa estável; média ≈ variância | | Binomial Negativa | Discreto | Contagem sob sobredispersão? | Variância maior que a média | Entender heterogeneidade/dependência | | Exponencial | Contínuo | Tempo até o evento? | Espera entre eventos | Taxa constante; sem memória | | Normal | Contínuo | Medida aproximadamente simétrica? | Forma em sino | Caudas, assimetria e limites físicos | **Um modelo é uma representação simplificada.** A adequação depende da pergunta, das hipóteses, da qualidade dos registros e do custo de errar. --- # Agora, outra pergunta: como a carga se relaciona à latência? Até aqui, descrevemos a distribuição de uma variável ou de uma contagem. A equipe também quer entender como a **latência média** varia com a carga de requisições. <div class="visual-panel"><div class="visual-title">Diagrama — pergunta associativa, não apenas uma distribuição</div><div class="flowrow"><div class="flowbox">Variável explicativa `\(X\)`<br><b>carga (requisições/s)</b></div><div class="flowarrow">→</div><div class="flowbox emphasis">Relação a investigar<br><b>como varia a resposta média?</b></div><div class="flowarrow">→</div><div class="flowbox">Resposta `\(Y\)`<br><b>latência (ms)</b></div></div></div> Uma variável pode ajudar a prever outra sem que isso prove causalidade. Mudanças de versão, tamanho de payload e recursos disponíveis também podem influenciar a latência. .question[Se observamos que carga e latência crescem juntas, já sabemos que aumentar carga causou toda a mudança?] --- # Regressão linear simples — uma resposta, um preditor A regressão linear simples descreve a média da resposta `\(Y\)` em função de um preditor `\(X\)`: $$ Y_i=\beta_0+\beta_1X_i+\varepsilon_i. $$ - `\(Y\)`: latência observada, em milissegundos; - `\(X\)`: carga, em centenas de requisições por segundo; - `\(\beta_0\)`: intercepto do modelo; `\(\beta_1\)`: variação média associada a uma unidade de `\(X\)`; - `\(\varepsilon_i\)`: variação não explicada pelo modelo. Exemplo didático ajustado: `\(\widehat{Y}=80+24X\)`. A cada **100 requisições/s** adicionais, o modelo estima aumento médio de **24 ms**, dentro do intervalo observado e sob as condições estudadas. <div class="visual-panel"><div class="visual-title">A reta resume a tendência média, não todos os pontos</div><svg viewBox="0 0 900 260" width="100%" role="img" aria-label="Diagrama de dispersão crescente de carga e latência com reta de regressão e resíduos verticais"><line x1="85" y1="215" x2="830" y2="215" stroke="#8293a5" stroke-width="2"/><line x1="85" y1="215" x2="85" y2="25" stroke="#8293a5" stroke-width="2"/><line x1="120" y1="192" x2="795" y2="55" stroke="#087e82" stroke-width="4"/><circle cx="180" cy="186" r="7" fill="#bf6b25"/><circle cx="265" cy="174" r="7" fill="#bf6b25"/><circle cx="350" cy="143" r="7" fill="#bf6b25"/><circle cx="435" cy="151" r="7" fill="#bf6b25"/><circle cx="520" cy="118" r="7" fill="#bf6b25"/><circle cx="605" cy="121" r="7" fill="#bf6b25"/><circle cx="690" cy="78" r="7" fill="#bf6b25"/><circle cx="775" cy="89" r="7" fill="#bf6b25"/><line x1="520" y1="118" x2="520" y2="111" stroke="#172b4d" stroke-dasharray="4,3" stroke-width="2"/><text x="525" y="105" font-size="16" fill="#172b4d">resíduo</text><text x="455" y="250" text-anchor="middle" font-size="17" fill="#172b4d">carga X</text><text x="28" y="130" transform="rotate(-90 28,130)" text-anchor="middle" font-size="17" fill="#172b4d">latência Y</text><text x="680" y="48" font-size="16" fill="#087e82">reta ajustada</text></svg></div> --- # Interpretar coeficientes — e respeitar a escala No exemplo `\(\widehat{Y}=80+24X\)`, com `\(X\)` medido em centenas de requisições/s: - **Inclinação 24:** diferença média prevista de 24 ms para cada 100 requisições/s adicionais; - **Intercepto 80:** valor previsto quando `\(X=0\)`; pode não ter interpretação operacional se zero estiver fora do cenário observado; - **Previsão:** para `\(X=5\)` (500 requisições/s), `\(\widehat{Y}=80+24(5)=200\)` ms. <div class="box">A reta representa uma **média condicional**. Observações reais podem ficar acima ou abaixo dela; essa distância é o resíduo `\(e_i=Y_i-\widehat{Y}_i\)`.</div> .question[Uma previsão para 2.000 requisições/s seria defensável se os dados só cobrem até 700?] --- # Resíduos — o que a reta não explicou? Um bom ajuste não se resume a uma reta visualmente convincente. Examinamos se os resíduos mostram estrutura que o modelo ignorou. <div class="threecol"><div class="card"><b>Curvatura</b><br>Pode sugerir que a relação não é linear.</div><div class="card amber"><b>Funil</b><br>A dispersão aumenta com a carga; a variância pode não ser constante.</div><div class="card"><b>Padrão temporal</b><br>Resíduos consecutivos podem estar relacionados; a ordem importa.</div></div> <div class="visual-panel"><div class="visual-title">Diagnóstico desejável (esquemático): resíduos sem padrão sistemático</div><div class="flowrow"><div class="flowbox">Resíduo positivo<br><b>acima da previsão</b></div><div class="flowarrow">↕</div><div class="flowbox emphasis">Em torno de zero<br><b>sem desenho claro</b></div><div class="flowarrow">↕</div><div class="flowbox">Resíduo negativo<br><b>abaixo da previsão</b></div></div></div> <div class="warning"><b>Associação não é causalidade:</b> o coeficiente descreve uma relação no conjunto e período analisados. Para uma alegação causal, é preciso desenho e argumentos adicionais.</div> --- class: compact # Regressão linear múltipla — vários preditores A latência pode se relacionar simultaneamente à carga, ao uso de CPU e ao tamanho do payload. Um modelo múltiplo representa a média de `\(Y\)` condicionada a vários preditores: $$ Y_i=\beta_0+\beta_1X_{1i}+\beta_2X_{2i}+\cdots+\beta_pX_{pi}+\varepsilon_i. $$ Exemplo conceitual: $$ \text{Latência (ms)}=\beta_0+\beta_1(\text{carga})+\beta_2(\text{CPU})+\beta_3(\text{payload})+\varepsilon. $$ <div class="visual-panel"><div class="visual-title">Vários fatores observados em conjunto</div><div class="flowrow"><div class="flowbox">Carga<br><b>$X_1$</b></div><div class="flowarrow">+</div><div class="flowbox">CPU<br><b>$X_2$</b></div><div class="flowarrow">+</div><div class="flowbox">Payload<br><b>$X_3$</b></div></div><div style="text-align:center;color:#087e82;font-weight:800;margin:7px">↓ explicam parte da variação média de ↓</div><div class="flowbox emphasis" style="text-align:center">Latência `\(Y\)` (ms)</div></div> --- # Interpretar a regressão múltipla — “mantendo os demais constantes” Suponha, apenas para ilustrar a interpretação, que o coeficiente da carga seja 18 ms por 100 requisições/s e que CPU e payload também estejam no modelo. A leitura é: **entre observações comparáveis quanto aos demais preditores incluídos**, 100 requisições/s adicionais estão associados a 18 ms a mais na latência média prevista pelo modelo. <div class="box">“Mantendo os demais constantes” descreve a comparação implícita no modelo; não garante que todos os fatores relevantes foram medidos ou controlados.</div> .question[Se CPU e carga aumentam juntas, por que pode ser difícil separar estatisticamente suas contribuições?] Colinearidade, variáveis omitidas, medidas imprecisas e mudanças de regime afetam a interpretação. A seleção de variáveis exige contexto do sistema, não apenas uma busca automática por coeficientes. --- # Simples e múltipla — decidir pelo problema | Aspecto | Regressão simples | Regressão múltipla | |---|---|---| | Preditores | Um | Dois ou mais | | Pergunta ilustrativa | Como latência varia com carga? | Como varia com carga, CPU e payload? | | Vantagem didática | Interpretação visual direta | Considera vários fatores medidos | | Cuidado | Pode omitir explicações relevantes | Colinearidade e interpretação condicional | As duas modelam uma resposta numérica. “Múltipla” significa múltiplos **preditores**, não múltiplas respostas; não significa, automaticamente, melhor previsão. .question[Que evidência usariam para comparar modelos: só o ajuste aos dados usados para estimá-los?] --- # Séries temporais — quando a ordem é parte dos dados Uma série temporal é uma sequência de observações indexadas no tempo, geralmente em intervalos regulares: latência por minuto, erros por hora ou requisições por dia. <div class="visual-panel"><div class="visual-title">Exemplo esquemático — latência observada ao longo de oito períodos</div><div class="timeline"><div class="tpoint"><div class="tbar" style="height:35px"></div>t1</div><div class="tpoint"><div class="tbar" style="height:40px"></div>t2</div><div class="tpoint"><div class="tbar" style="height:38px"></div>t3</div><div class="tpoint"><div class="tbar" style="height:50px"></div>t4</div><div class="tpoint"><div class="tbar" style="height:55px"></div>t5</div><div class="tpoint"><div class="tbar" style="height:62px"></div>t6</div><div class="tpoint"><div class="tbar high" style="height:82px"></div>t7</div><div class="tpoint"><div class="tbar high" style="height:76px"></div>t8</div></div><div class="small">Desenho ilustrativo, não dados reais. A sequência pode conter tendência, ciclos e variação irregular.</div></div> Ao contrário de observações sem ordem, períodos próximos podem ser relacionados. Embaralhar a série pode destruir informação e produzir avaliação enganosa. .question[Que padrão seria invisível se mostrássemos apenas a média de todas as horas?] --- # Três componentes para observar na série <div class="threecol"><div class="card"><b>Tendência</b><br>Movimento persistente de longo prazo: latência subindo após aumento gradual da carga.</div><div class="card amber"><b>Sazonalidade</b><br>Padrão que se repete em período conhecido: picos diários em horários de uso intenso.</div><div class="card"><b>Variação irregular</b><br>Flutuações e eventos não explicados por tendência ou sazonalidade.</div></div> <div class="visual-panel"><div class="visual-title">Da sequência observada à pergunta sobre o futuro</div><div class="flowrow"><div class="flowbox">Observar no tempo<br><b>nível + tendência</b></div><div class="flowarrow">→</div><div class="flowbox">Investigar repetição<br><b>ciclo/sazonalidade</b></div><div class="flowarrow">→</div><div class="flowbox emphasis">Prever e monitorar<br><b>com incerteza</b></div></div></div> Uma previsão temporal deve declarar horizonte, frequência e informação disponível no momento da previsão. Padrões passados podem mudar após uma implantação, migração ou alteração de tráfego. --- # Prever sem vazar informação do futuro Para avaliar uma previsão, separamos os períodos em ordem cronológica: <div class="visual-panel"><div class="visual-title">Esquema de validação temporal</div><div class="flowrow"><div class="flowbox">Passado para ajustar<br><b>treino</b></div><div class="flowarrow">→</div><div class="flowbox">Período posterior<br><b>teste</b></div><div class="flowarrow">→</div><div class="flowbox emphasis">Comparar previsto e observado<br><b>erro fora da amostra</b></div></div></div> Uma referência simples é a **previsão ingênua**: usar o último valor observado como previsão do próximo. Um modelo mais complexo deve ser comparado com essa linha de base, em períodos não usados no ajuste. <div class="warning"><b>Vazamento temporal:</b> usar informação que só estaria disponível depois do instante previsto faz a avaliação parecer melhor do que seria em operação.</div> --- # Métrica de erro e monitoramento Uma métrica intuitiva para previsões numéricas é o erro absoluto médio: $$ MAE=\frac{1}{m}\sum_{t=1}^{m}|y_t-\widehat{y}_t|. $$ Ela resume, na unidade da variável, a distância média entre observado e previsto. Por exemplo, MAE de 12 ms significa erro absoluto médio de 12 ms naquele conjunto de avaliação — não que toda previsão erre exatamente 12 ms. <div class="box">Além da métrica global, inspecione erros por horário, carga, versão e tipo de tráfego. Uma média aceitável pode esconder falhas críticas em grupos específicos.</div> .question[Qual custo operacional importa: errar 12 ms em horário calmo ou 12 ms durante o pico?] --- # Desafio PBL — equipe de confiabilidade da API Uma equipe recebe estes registros **hipotéticos**: - em um lote de 20 requisições, há 2% de chance histórica de erro por requisição, se as tentativas forem comparáveis; - em períodos estáveis, a média registrada é de 2 incidentes por hora, mas em horários de pico as contagens variam muito; - uma amostra de latências tem média de 200 ms e desvio-padrão de 30 ms; carga, CPU e payload também foram medidos; - os valores de latência foram registrados em sequência ao longo de semanas, incluindo uma implantação recente. <div class="box"><b>Missão:</b> preparar uma recomendação para a equipe: que modelos usar como ponto de partida, que evidência calcular ou visualizar e que limitações devem impedir uma decisão automática?</div> Organizem-se em grupos. Registrem a pergunta antes do modelo; indiquem as hipóteses e distingam **descrever**, **explicar associação** e **prever**. --- # Roteiro de trabalho em grupo 1. **Classificar as variáveis:** quais são contagens, medidas contínuas e observações indexadas no tempo? 2. **Escolher distribuições:** Binomial, Poisson, Binomial Negativa, Exponencial, Normal ou Normal Padrão — justificar ao menos duas escolhas. 3. **Propor relações:** definir resposta e preditor para uma regressão simples; depois sugerir uma regressão múltipla com unidades explícitas. 4. **Planejar uma previsão temporal:** definir frequência, horizonte, divisão cronológica treino/teste e uma linha de base. 5. **Declarar limites:** apontar uma hipótese não verificada, um risco de viés ou mudança de regime e a evidência necessária antes de agir. <div class="visual-panel"><div class="visual-title">Entrega do grupo — uma recomendação justificável</div><div class="flowrow"><div class="flowbox">Pergunta + variável</div><div class="flowarrow">→</div><div class="flowbox">Modelo + hipótese</div><div class="flowarrow">→</div><div class="flowbox emphasis">Previsão + limite + ação</div></div></div> --- # Compartilhamento — defendam a escolha, não apenas o cálculo Cada grupo apresenta em até **dois minutos**: - uma pergunta operacional e a variável que a representa; - o modelo escolhido e por que ele é plausível como ponto de partida; - uma interpretação numérica ou visual, com unidades; - uma hipótese, limitação ou verificação antes de recomendar uma ação. <div class="threecol"><div class="card"><b>O que convence?</b><br>Correspondência entre pergunta, variável e modelo.</div><div class="card"><b>O que merece pergunta?</b><br>Hipóteses, denominadores, unidades e origem dos dados.</div><div class="card amber"><b>O que não vale como prova?</b><br>Uma associação isolada ou um bom ajuste no próprio conjunto de treino.</div></div> .question[Que recomendação mudaria se a taxa de incidentes tivesse dobrado após a implantação?] --- # Avaliação do produto do grupo — 0 a 10 pontos | Critério | Pontuação | Evidência esperada | |---|---:|---| | Identificação das variáveis | 0–2 | Distingue contagens, medidas contínuas e série temporal | | Escolha e interpretação dos modelos | 0–2 | Relaciona pergunta, distribuição ou modelo, parâmetros e unidades | | Regressão | 0–2 | Define resposta e preditores; interpreta associação sem extrapolação indevida | | Séries temporais | 0–2 | Preserva ordem e propõe avaliação cronológica fora da amostra | | Limitações e comunicação | 0–2 | Declara hipótese, risco e implicação para decisão operacional | | **Total** | **0–10** | Recomendação clara, sustentada e cautelosa | A pontuação valoriza o raciocínio e a adequação do modelo, não a quantidade de fórmulas utilizadas. --- # Retomada do problema — modelos apoiam, não automatizam a decisão Uma distribuição resume um mecanismo probabilístico; uma regressão resume uma relação média condicionada; uma série temporal usa a ordem para estudar padrões e previsões. Nenhuma dessas representações elimina incerteza. <div class="threecol"><div class="card"><b>Verificar</b><br>Os dados representam a versão, o período e a carga atuais?</div><div class="card"><b>Comparar</b><br>O modelo supera uma referência simples em dados futuros não vistos?</div><div class="card amber"><b>Decidir</b><br>Qual é o custo de alarme falso, falha não detectada ou previsão imprecisa?</div></div> **Conclusão da investigação:** selecionar um modelo é formular uma hipótese útil e testável — não certificar que o sistema se comportará sempre da mesma maneira. --- # Síntese — da incerteza à previsão responsável <div class="threecol"><div class="card"><b>Contar e medir</b><br>Tipo de variável e mecanismo orientam Binomial, Poisson, Binomial Negativa, Exponencial ou Normal.</div><div class="card"><b>Relacionar</b><br>Regressões simples e múltiplas descrevem associações e apoiam previsões numéricas, sob hipóteses verificáveis.</div><div class="card"><b>Respeitar o tempo</b><br>Séries temporais preservam sequência, possíveis padrões e avaliação cronológica.</div></div> A matriz de confusão da Aula 01 avaliava **classes**; nesta aula ampliamos a investigação para distribuições, valores numéricos, relações e evolução temporal. --- # Bilhete de saída Responda individualmente, em até cinco linhas: 1. Uma pergunta que levaria à Binomial e outra que levaria à Poisson. 2. O que uma variância muito maior que a média sugere ao modelar contagens? 3. Interprete um coeficiente de regressão com unidade e sem afirmar causalidade indevida. 4. Por que o conjunto de teste temporal deve vir depois do treino? 5. Escreva uma hipótese que você verificaria antes de usar uma previsão para agir. .keep[Use as respostas para decidir o que retomar antes de avançar para inferência e avaliação de modelos.] --- # Nota de condução docente — encontro de 120 minutos | Minutos | Condução | Produto de aprendizagem | |---|---|---| | 0–10 | Problema-mote e hipóteses iniciais | Perguntas operacionais dos grupos | | 10–20 | Retomada da matriz de confusão; classificação × previsão numérica | Distinção entre classe e medida | | 20–38 | Binomial, Poisson e condições de uso | Escolha orientada pela variável e exposição | | 38–48 | Binomial Negativa e sobredispersão | Leitura de média, variância e heterogeneidade | | 48–63 | Contínuas, Exponencial, Normal e escore z | Interpretação de tempos, medidas e unidades | | 63–83 | Regressão simples e múltipla; resíduos e limites | Interpretação de coeficientes e associações | | 83–95 | Série temporal, linha de base e validação cronológica | Plano de previsão sem vazamento temporal | | 95–113 | Desafio PBL em equipes | Recomendação técnica sucinta | | 113–118 | Compartilhamento e avaliação formativa | Justificativa pública e questionamento | | 118–120 | Bilhete de saída | Evidências para planejar a retomada | **Condução:** mantenha os cálculos demonstrativos curtos e use as perguntas para elicitar hipóteses. A amplitude do encontro pede introdução comparativa e aplicada; estimação, diagnóstico e previsão detalhados devem ser retomados em aulas posteriores. **Dados:** os valores e coeficientes numéricos apresentados são hipotéticos e didáticos; não descrevem uma empresa, produto ou sistema real. --- # Referências essenciais - Blitzstein, J. K., & Hwang, J. (2019). *Introduction to Probability* (2nd ed.). CRC Press. - DeGroot, M. H., & Schervish, M. J. (2012). *Probability and Statistics* (4th ed.). Pearson. - Hyndman, R. J., & Athanasopoulos, G. (2021). *Forecasting: Principles and Practice* (3rd ed.). OTexts. - Montgomery, D. C., Peck, E. A., & Vining, G. G. (2021). *Introduction to Linear Regression Analysis* (6th ed.). Wiley. - Ross, S. M. (2014). *Introduction to Probability Models* (11th ed.). Academic Press. ---