·
Ciências Econômicas ·
Inferência Estatística 2
Send your question to AI and receive an answer instantly
Recommended for you
Preview text
Q Capítulo 10 NESTE CAPÍTULO Apresentando testes de hipóteses Testando hipóteses sobre médias Testando hipóteses sobre variâncias Visualizando distribuições Teste de Hipóteses para Amostra Única ualquer que seja a profissão muitas vezes precisamos avaliar alguma coisa nova e diferente do que aconteceu Às vezes começamos com uma população sobre a qual sabemos muito como sua média e desviopadrão e retiramos uma amostra Essa amostra é como o resto da população ou representa algo fora do comum Para responder a essa pergunta medimos cada indivíduo na amostra e calculamos suas estatísticas Então comparamos essas estatísticas com os parâmetros populacionais São iguais São diferentes A amostra é extraordinária de alguma forma O uso adequado da estatística nos ajuda a tomar uma decisão Porém às vezes não conhecemos os parâmetros da população da qual vem a amostra Então o que acontece Neste capítulo falarei sobre técnicas estatísticas e funções R para lidar com ambos os casos Hipóteses Testes e Erros Hipótese é um palpite sobre como o mundo funciona É uma tentativa de explicação de algum processo ocorra ele na natureza ou em um laboratório Antes de estudar e medir os indivíduos em uma amostra um pesquisador formula hipóteses que preveem como os dados devem ser Geralmente uma hipótese prevê que os dados não exibirão nada novo ou fora do comum Isso é chamado de hipótese nula abreviada como H0 De acordo com a hipótese nula se os dados desviarem da norma de algum jeito esse desvio se deverá estritamente ao acaso Outra hipótese a hipótese alternativa abreviada como H1 explica as coisas de um jeito diferente De acordo com ela os dados mostram algo importante Depois de reunir os dados cabe ao pesquisador tomar uma decisão A lógica funciona de forma que a decisão é centrada na hipótese nula O pesquisador deve decidir rejeitar ou não a hipótese nula No teste de hipótese você Formula hipóteses nula e alternativa Reúne dados Decide rejeitar ou não a hipótese nula Nada na lógica envolve aceitar qualquer uma das hipóteses Nem tomar decisões sobre a hipótese alternativa Tudo é uma questão de rejeitar ou não H0 Independentemente da decisão de rejeitar ou não é possível cometer um erro Um tipo de erro ocorre quando acreditamos que os dados mostram algo importante e rejeitamos H0 mas na verdade os dados só estavam expostos ao acaso Isso é chamado de erro Tipo I No início de um estudo estabelecemos os critérios para rejeitar H0 Ao fazer isso estabelecemos a probabilidade de um erro Tipo I Essa probabilidade é chamada alfa α Outro tipo de erro ocorre quando não rejeitamos H0 e os dados realmente estavam expostos a algo fora do comum Por qualquer razão deixamos algo passar Isso é chamado de erro Tipo II Sua probabilidade é chamada beta β A Tabela 101 resume as decisões e os erros possíveis TABELA 101 Decisões e Erros em Testes de Hipótese Estado Real do Mundo H0 é Verdadeira H1 é Verdadeira 0 Erro Tipo I Corrigir Decisão 0 Corrigir Decisão Erro Tipo II Note que nunca sabemos o verdadeiro estado do mundo Se soubéssemos não precisaríamos fazer o estudo Tudo o que podemos fazer é medir os indivíduos em uma amostra calcular as estatísticas e tomar uma decisão sobre H0 Eu explico as hipóteses e os testes de hipótese no Capítulo 1 Testes de Hipótese e Distribuições Amostrais No Capítulo 9 eu analiso as distribuições amostrais Lembrese de que uma distribuição amostral é o conjunto de todos os valores possíveis de uma estatística para um tamanho amostral dado Também no Capítulo 9 explico o teorema do limite central Esse teorema informa que a distribuição amostral da média se aproxima de uma distribuição normal se o tamanho amostral é grande de pelo menos 30 para propósitos práticos Isso funciona com uma população normalmente distribuída ou não Se a população tiver uma distribuição normal a distribuição amostral será normal para qualquer tamanho de amostra Veja dois outros pontos do teorema do limite central A média da distribuição amostral da média é igual à média populacional A equação para isso é O erro padrão da média o desviopadrão da distribuição amostral é igual ao desviopadrão populacional dividido pela raiz quadrada do tamanho da amostra A equação é A distribuição amostral da média aparece com destaque no tipo de teste de hipótese visto neste capítulo Teoricamente quando testamos uma hipótese nula e uma hipótese alternativa cada hipótese corresponde a uma distribuição amostral separada A Figura 101 mostra o que quero dizer Ela tem duas distribuições normais Posicioneias arbitrariamente Cada distribuição normal representa uma distribuição amostral da média A da esquerda representa a distribuição de médias amostrais possíveis se a hipótese nula é realmente como o mundo funciona A da direita representa a distribuição de médias amostrais possíveis se a hipótese alternativa é como o mundo funciona FIGURA 101 H0 e H1 correspondem a uma distribuição amostral É claro que quando fazemos um teste de hipótese nunca sabemos qual distribuição produz os resultados Trabalhamos com uma média amostral ou um ponto no eixo horizontal A decisão de rejeitar ou não se resume a decidir de qual distribuição a média amostral faz parte Estabelecemos um valor crítico um critério de decisão Se a média amostral estiver de um lado do valor crítico rejeitaremos H0 Do contrário não Nessa linha a figura também mostra α e β Como já mencionado são as probabilidades dos erros de decisão A área que corresponde a α está na distribuição H0 sombreada em cinza escuro Ela representa a probabilidade de uma média amostral vir da distribuição H0 mas ser tão extrema que rejeitamos H0 O que determina α é onde o valor crítico é estabelecido Na maioria dos testes de hipótese estabelecemos α como 005 Isso significa que estamos dispostos a tolerar um erro Tipo I rejeitar H0 quando não deveríamos em 5 das vezes Graficamente o valor crítico corta 5 da área da distribuição amostral A propósito se estamos falando de 5 da área na cauda direita da distribuição veja a Figura 101 estamos falando sobre os 5 superiores Se forem os 5 na cauda esquerda são os 5 inferiores A área que corresponde a β está na distribuição H1 sombreada em cinza claro Essa área representa a probabilidade de uma média amostral vir da distribuição H1 mas estar tão próxima do centro da distribuição H0 que não rejeitamos H0 mas deveríamos Não podemos definir β O tamanho dessa área depende da separação entre as médias das duas distribuições e isso é de responsabilidade do mundo em que vivemos não nossa Essas distribuições amostrais são adequadas quando nosso trabalho corresponde às condições do teorema do limite central se sabemos que a população em que trabalhamos tem uma distribuição normal ou se temos uma amostra grande Pegando Alguns Zs de Novo Veja um exemplo de teste de hipótese que envolve uma amostra de uma população normalmente distribuída Como a população é normalmente distribuída qualquer tamanho de amostra resulta em uma distribuição amostral normalmente distribuída Como é uma distribuição normal usamos escoresz no teste de hipótese Mais uma explicação como usamos o escorez no teste de hipótese ele é chamado de estatística de teste Suponha que pensemos que as pessoas vivendo em um CEP específico tenham QIs acima da média Pegamos uma amostra de nove pessoas desse CEP aplicamos testes de QI tabulamos os resultados e calculamos as estatísticas Para a população de pontuações de QI μ 100 e σ 15 As hipóteses são H0 μZIP cep 100 H1 μZIP cep 100 Suponha que α 005 Essa é a área sombreada na cauda da distribuição H0 na Figura 101 Por que o sinal em H0 Usamos esse símbolo porque rejeitaremos H0 apenas se a média amostral for maior do que o valor hipotético Qualquer outra coisa é prova a favor de não rejeitar H0 Suponha que a média amostral seja 10867 Podemos rejeitar H0 O teste envolve transformar 10867 em uma pontuação padrão na distribuição amostral da média O valor da estatística de teste é grande o suficiente para possibilitar a rejeição de H0 com α 005 Sim O valor crítico ou seja o valor de z que corta 5 da área em uma distribuição padrão normal é 1645 Depois de anos trabalhando com a distribuição normal padrão agora sei disso Leia o Capítulo 8 descubra a função qnorm de R e você também terá informações como essa na ponta da língua O valor calculado 173 excede 1645 então está na área de rejeição A decisão é rejeitar H0 Isso significa que se H0 for verdadeira a probabilidade de obter um valor de estatística de teste que seja pelo menos desse tamanho será menor que 005 É uma evidência forte a favor de rejeitar H0 No jargão estatístico sempre que rejeitamos H0 falamos que o resultado é estatisticamente significante Esse tipo de teste de hipótese é unicaudal porque a região de rejeição está em uma cauda da distribuição amostral Um teste de hipótese pode ser unicaudal na outra direção Suponha que tenhamos razões para acreditar que as pessoas nesse CEP têm QIs abaixo da média Nesse caso as hipóteses são H0 μCEP 100 H1 μCEP 100 Para esse teste de hipótese o valor crítico da estatística de teste é 1645 se α 005 Um teste de hipótese pode ser bicaudal o que significa que a região de rejeição está em ambas as caudas da distribuição amostral H0 Isso acontece quando as hipóteses são como estas H0 μCEP 100 H1 μCEP 100 Nesse caso a hipótese alternativa apenas especifica que a média é diferente do valor da hipótese nula sem dizer se é para mais ou para menos A Figura 102 mostra como fica uma região de rejeição bicaudal para α 005 Os 5 estão divididos igualmente entre as caudas esquerda também chamada de cauda inferior e direita cauda superior FIGURA 102 Região de rejeição bicaudal para α 005 Para uma distribuição normal aliás o escorez que corta 25 na cauda direita é de 196 O que corta 25 na cauda esquerda é de 196 Novamente conheço esses valores depois de anos trabalhando com distribuições normais padrão O escorez no exemplo anterior 173 não excede 196 A decisão no caso bicaudal é a de não rejeitar H0 Isso levanta um ponto importante Um teste de hipótese unicaudal pode rejeitar H0 enquanto um teste bicaudal nos mesmos dados pode não fazêlo Um teste bicaudal indica que estamos procurando uma diferença entre a média amostral e a média da hipótese nula mas não sabemos em qual direção Um teste unicaudal mostra que temos uma boa ideia da diferença que deve resultar Para propósitos práticos isso significa que devemos tentar ter conhecimento suficiente para sermos capazes de especificar um teste unicaudal isso nos dá uma chance melhor de rejeitar H0 quando é necessário Teste Z em R Uma função R chamada ztest seria ótima para fazer o tipo de teste analisado na seção anterior O problema é que essa função não existe na base R Embora possamos encontrála em outros pacotes é fácil criar uma e aprender um pouco sobre programação R no processo A função funciona assim IQdata c100101104109125116105108110 ztestIQdata10015 z 1733 onetailed probability 0042 twotailed probability 0084 Comece criando o nome da função e seus argumentos ztest functionxmupopvar O primeiro argumento é o vetor de dados o segundo é a média da população e o terceiro é a variância populacional A chave esquerda significa que o restante do código acontece dentro da função Em seguida crie um vetor que conterá a probabilidade unicaudal do escorez que será calculado onetailp NULL Depois calcule o escorez e arredondeo para três casas decimais zscore roundmeanxmupopvarsqrtlengthx3 Sem arredondar R pode calcular muitas casas decimais e o resultado ficará confuso Por fim calcule a probabilidade unicaudal a proporção da área além do escorez calculado e novamente arredonde para três casas decimais onetailp roundpnormabszscorelowertail FALSE3 Por que colocar abs valor absoluto no argumento para pnorm Lembrese de que uma hipótese alternativa pode especificar um valor abaixo da média e os dados podem resultar em um escorez negativo O próximo passo é configurar a exibição do resultado Para isso use a função cat Eu utilizei essa função no Capítulo 7 para exibir um conjunto razoável de números de maneira organizada O nome cat é a abreviação de concatenate and print concatenar e imprimir que é exatamente o que queremos fazer aqui concatenar reunir strings como onetailed probability com expressões como onetailp então exibir tudo na tela Também queremos começar uma nova linha para cada concatenação e R faz isso com Veja a declaração cat cat z zscore onetailed probability onetailp twotailed probability 2onetailp O espaço entre as aspas do lado esquerdo e z alinha a primeira linha com as outras duas na tela As chaves do lado direito fecham a função Veja tudo reunido ztest functionxmupopvar onetailp NULL zscore roundmeanxmupopvarsqrtlengthx3 onetailp roundpnormabszscorelowertail FALSE3 cat z zscore onetailed probability onetailp twotailed probability 2onetailp Executar essa função produz o que vimos no começo desta seção t para Um No exemplo anterior trabalhamos com pontuações de QI A população de pontuações de QI é uma distribuição normal com uma média e desviopadrão bem conhecidos Assim podemos trabalhar com o teorema do limite central e descrever a distribuição amostral da média como uma distribuição normal Depois podemos usar z como a estatística de teste Contudo no mundo real normalmente não temos o luxo de trabalhar com populações bem definidas Geralmente temos amostras pequenas e medimos algo que não é tão bem conhecido quanto o QI Resumindo em geral não sabemos os parâmetros populacionais nem se a população é normalmente distribuída Quando isso acontece usamos os dados amostrais para estimar o desvio padrão populacional e tratamos a distribuição amostral da média como um membro de uma família de distribuição chamada distribuiçãot Usamos t como uma estatística de teste No Capítulo 9 apresento essa distribuição e menciono que distinguimos os membros dessa família por um parâmetro chamado grau de liberdade df A fórmula para a estatística de teste é Pense em df como o denominador da estimativa da variância da população Para os testes de hipótese nesta seção isso será N1 onde N é o número de pontuações na amostra Quanto maior o df mais a distribuiçãot lembra a distribuição normal Veja um exemplo a FarKlempt Robotic Inc comercializa microrrobôs A empresa afirma que seu produto tem em média quatro defeitos por unidade Um grupo de consumidores acredita que essa média é maior Eles pegam uma amostra de nove microrrobôs da FarKlempt e encontram uma média de sete defeitos com um desviopadrão de 312 O teste de hipótese é H0 μ 4 H1 μ 4 α 005 A fórmula é Podemos rejeitar H0 A função R na próxima seção lhe dirá Teste t em R Fiz uma prévia da função ttest no Capítulo 2 e falei sobre ela em mais detalhes no Capítulo 9 Aqui vamos usála para o teste de hipótese Comece com os dados da FarKlempt Robotics FarKlemptdata c36994106412 Depois aplique ttest Para o exemplo fica assim ttestFarKlemptdatamu4 alternativegreater O segundo argumento especifica que estamos testando em uma média hipotética de 4 e o terceiro argumento indica que a hipótese alternativa é a de que a média real é maior que 4 Observea em ação ttestFarKlemptdatamu4 alternativegreater One Sample ttest data c3 6 9 9 4 10 6 4 12 t 28823 df 8 pvalue 001022 alternative hypothesis true mean is greater than 4 95 percent confidence interval 5064521 Inf sample estimates mean of x 7 O resultado fornece o valort e o valorp baixo mostra que podemos rejeitar a hipótese nula com α 005 Essa função ttest é versátil Trabalharemos com ela novamente no Capítulo 11 quando testaremos hipóteses sobre duas amostras Trabalhando com Distribuiçõest Assim como podemos usar os prefixos d p q e r para a família da distribuição normal podemos usar dt função densidade pt função densidade cumulativa qt quantis e rt geração de número aleatório para a família de distribuiçãot Veja dt e rt em ação para uma distribuiçãot com df 12 tvalues seq441 rounddttvalues122 1 000 001 006 023 039 023 006 001 000 roundpttvalues122 1 000 001 003 017 050 083 097 099 100 Mostrarei como usar mais dt na próxima seção Muito mais Acredite Para obter informações de quantis sobre a distribuiçãot com df 12 quartiles c02550751 qtquartiles12 1 Inf 06954829 00000000 06954829 Inf Inf e Inf informam que a curva nunca toca o eixo x em nenhuma cauda Para gerar oito números aleatórios arredondados da distribuiçãot com df 12 roundrt8122 1 073 013 132 133 127 091 048 083 Todas essas funções nos dão a opção de trabalhar com distribuiçõest não centradas em zero Fazemos isso inserindo um valor para ncp o parâmetro de não centralidade Na maioria das aplicações da distribuiçãot a não centralidade não aparece Para completar explico esse conceito em mais detalhes no Apêndice 3 online Visualizando as Distribuiçõest Visualizar uma distribuiçãot normalmente nos ajuda a entendêla O processo pode ser um pouco complicado em R mas vale o esforço A Figura 97 mostra três membros da família de distribuiçãot no mesmo gráfico O primeiro tem df3 o segundo df10 e o terceiro é uma distribuição normal padrão dfinfinito Nesta seção mostro como criar esse gráfico em gráficos de base R e em ggplot2 Com qualquer método o primeiro passo é configurar um vetor dos valores que as funções de densidade utilizarão tvalues seq441 Mais uma coisa e vamos começar Depois que os gráficos estiverem completos colocaremos o símbolo de infinito nas legendas para indicar o df da distribuição normal padrão Para isso instale um pacote chamado grDevices na aba Packages clique em Install depois na caixa de diálogo Install Packages digite grDevices e clique em Install Quando grDevices aparecer na aba Packages marque sua caixa de verificação Ter grDevices instalado adiciona o símbolo de infinito à legenda expressioninfinity Fugi do assunto Diagramando t em gráficos de base R Comece com a função plot e diagrame a distribuiçãot com df 3 plotx tvaluesy dttvalues3 type l lty dotted ylim c04 xlab t ylab ft Os dois primeiros argumentos são bem claros Os dois seguintes estabelecem o tipo de gráfico type l significa gráfico de linha é um L minúsculo não o número 1 e lty dotted indica o tipo de linha O argumento ylim estabelece os limites inferior e superior do eixo y ylim c04 Alguns ajustes mostram que se não fizermos isso as curvas subsequentes serão cortadas no topo Os dois últimos argumentos rotulam os eixos A Figura 103 mostra o gráfico que temos até agora FIGURA 103 Distribuiçãot com df 3 base R As duas linhas seguintes adicionam a distribuiçãot para df10 e para a normal padrão dfinfinito linestvaluesdttvalues10lty dashed linestvaluesdnormtvalues A linha para a normal padrão é sólida o valor padrão de lty A Figura 104 mostra o progresso Tudo o que falta é a legenda identificando as curvas FIGURA 104 Três distribuições em busca de uma legenda Uma vantagem da base R é que não é difícil posicionar e preencher a legenda legendtopright title dflegend cexpressioninfinity103 lty csoliddasheddotted bty n O primeiro argumento posiciona a legenda no canto superior direito O segundo dá título a ela O terceiro argumento é um vetor que especifica o que está na legenda Como podemos ver o primeiro elemento é a expressão infinita que mostrei anteriormente e corresponde ao df da normal padrão O segundo e terceiro elementos são os df das duas distribuiçõest restantes Organizamos assim porque é a ordem na qual as curvas aparecem em seus centros O argumento lty é o vetor que especifica a ordem dos tipos de linhas correspondem ao df O argumento final btyn remove a borda da legenda E isso produz a Figura 105 Diagramando t em ggplot2 A abordagem gramática dos gráficos exige consideravelmente mais esforço do que a base R Mas siga em frente e você aprenderá muito sobre ggplot2 Comece colocando os números relevantes em um data frame tframe dataframetvalues df3 dttvalues3 df10 dttvalues10 stdnormal dnormtvalues FIGURA 105 Gráfico final incluindo a legenda As seis primeiras linhas do data frame são como a seguir headtframe tvalues df3 df10 stdnormal 1 40 0009163361 0002031034 00001338302 2 39 0009975671 0002406689 00001986555 3 38 0010875996 0002854394 00002919469 4 37 0011875430f 0003388151 00004247803 5 36 0012986623 0004024623 00006119019 6 35 0014224019 0004783607 00008726827 É um data frame bem bonito mas está no formato largo Como aponto no Capítulo 3 ggplot prefere o formato longo que tem três colunas de números de densidade empilhados em uma única coluna Para chegar a esse formato que chamamos de remodelagem de dados verifique se o pacote reshape2 está instalado Marque sua caixa de verificação na aba Packages e pronto Remodelar do formato largo para o longo é chamado de melting derretimento de dados então a função é tframemelt melttframeidtvalues O argumento id especifica que tvalues é a variável cujos números não são empilhados com o restante Pense nela como a variável que armazena os dados As seis primeiras linhas de tframemelt são headtframemelt tvalues variable value 1 40 df3 0009163361 2 39 df3 0009975671 3 38 df3 0010875996 4 37 df3 0011875430 5 36 df3 0012986623 6 35 df3 0014224019 É sempre uma boa ideia ter nomes significativos de colunas então colnamestframemelt ctdfdensity headtframemelt t df density 1 40 df3 0009163361 2 39 df3 0009975671 3 38 df3 0010875996 4 37 df3 0011875430 5 36 df3 0012986623 6 35 df3 0014224019 Agora mais uma coisa antes de começarmos o gráfico Este é um vetor que será útil quando organizarmos o eixo x xaxisvalues seq442 Comece com ggplot ggplottframemelt aesxtyftgroup df O primeiro argumento é o data frame Os mapeamentos estéticos informam que t está no eixo x density está no eixo y e os dados ficam em grupos especificados pela variável df É um gráfico de linhas então a função geom adequada é geomline geomlineaeslinetypedf As funções geom podem trabalhar com mapeamentos estéticos Aqui o mapeamento estético mapeia df para o tipo de linha Redimensione o eixo x para que vá de 4 a 4 de dois em dois Veja onde usar esse vetor xaxisvalues scalexcontinuousbreaksxaxisvalueslabelsxaxisvalues O primeiro argumento define os pontos de quebra para o eixo x e o segundo fornece os rótulos para esses pontos Juntar essas três declarações ggplottframemelt aesxtydensitygroup df geomlineaeslinetypedf scalexcontinuousbreaks xaxisvalueslabels xaxisvalues resulta na Figura 106 Um dos benefícios de ggplot2 é que o código produz automaticamente a legenda FIGURA 106 Três curvas de distribuiçõest diagramadas em ggplot2 Ainda temos trabalho a fazer Primeiro as atribuições linetype padrão não são as que queremos então precisamos refazêlas scalelinetypemanualvalues cdotteddashedsolid labels c310 expressioninfinity As quatro declarações ggplottframemelt aesxtydensitygroup df geomlineaeslinetypedf scalexcontinuousbreaks xaxisvalueslabels xaxisvalues scalelinetypemanualvalues cdotteddashedsolid labels c310 expressioninfinity produzem a Figura 107 FIGURA 107 Três curvas de distribuiçõest com os tipos de linhas reatribuídos Como podemos ver os itens na legenda não estão na ordem em que as curvas aparecem em seus centros Insisto nisso Acho que o gráfico fica mais compreensível quando os elementos do gráfico e da legenda estão em sincronia ggplot2 fornece funções guide que possibilitam controlar os detalhes da legenda Para inverter a ordem dos tipos de linha na legenda faça o seguinte guideslinetypeguidelegendreverse TRUE Reunir todo o código finalmente produz a Figura 108 ggplottframemelt aesxtydensitygroup df geomlineaeslinetypedf scalexcontinuousbreaks xaxisvalueslabels xaxisvalues scalelinetypemanualvalues cdotteddashedsolid labels c310 expressioninfinity guideslinetypeguidelegendreverse TRUE Deixo como um exercício para que você refaça os rótulos do eixo y ft Gráficos de base R versus ggplot2 é como dirigir um carro com câmbio manual versus câmbio automático mas eu nem sempre sei qual é qual FIGURA 108 Produto final com a legenda reorganizada Mais uma coisa sobre ggplot2 Poderíamos ter diagramado tudo isso sem criar e remodelar um data frame Uma abordagem alternativa é definir NULL como a fonte de dados mapear tvalues para o eixo x e adicionar três declarações geomline Cada uma dessas declarações mapearia um vetor de densidade criado na hora para o eixo y e cada um teria seu próprio linetype Qual é o problema com essa abordagem Quando fazemos desse jeito a gramática não cria automaticamente uma legenda Sem um data frame não há base para criar uma legenda É como usar ggplot para criar um gráfico de base R É uma boa ideia usar essa abordagem em alguma situação Sim quando não queremos incluir uma legenda mas explicar o gráfico de alguma maneira Eu forneço um exemplo na seção posterior Visualizando Distribuições Qui quadradas Testando uma Variância Até agora falei sobre teste de hipóteses de uma amostra para médias Também podemos testar hipóteses sobre variâncias Esse tópico às vezes surge no contexto de produção Suponha que a FarKlempt Robotics Inc produza uma peça que precisa ter certo comprimento de variabilidade muito baixa Podemos pegar uma amostra das peças medilas encontrar a variabilidade amostral e realizar um teste de hipótese na variabilidade desejada A família de distribuições para o teste é chamada de quiquadrado Seu símbolo é χ2 Não entrarei nos detalhes matemáticos Só direi novamente que df é o parâmetro que distingue um membro da família do outro A Figura 109 mostra dois membros da família de quiquadrados FIGURA 109 Dois membros da família de quiquadrados Como mostra a figura o quiquadrado não é como as famílias de distribuição já mostradas anteriormente Os membros dessa família podem ser assimétricos e nenhum deles pode receber um valor menor que zero A fórmula para a estatística de teste é N é o número de pontuações na amostra s2 é a variância amostral e σ2 é a variância populacional especificada em H0 Com esse teste precisamos supor que estamos medindo uma distribuição normal Suponha que seja permitido ao processo de produção de peças da FarKlempt apresentar um desviopadrão de no máximo 15 polegada no comprimento Note que eu uso desviopadrão Isso permite que falemos em termos de polegadas Se eu usasse variância as unidades seriam polegadas quadradas Depois de medir uma amostra de dez peças descobrimos um desviopadrão de 18 polegada As hipóteses são H0 σ2 225 lembrese de elevar ao quadrado o desviopadrão de no máximo 15 polegada H1 σ2 225 α 005 Trabalhando com a fórmula podemos rejeitar H0 Continue lendo Testando em R A essa altura podemos pensar que a função chisqtest responderia a pergunta Embora a base R forneça essa função ela não é adequada aqui Como podemos ver nos Capítulos 18 e 20 os estatísticos usam essa função para testar outros tipos de hipóteses Em vez disso use a função chamada varTest que está no pacote EnvStats Na aba Packages clique em Install Depois digite EnvStats na caixa de diálogo Install Packages e clique em Install Quando EnvStats aparecer na aba Packages marque sua caixa de verificação Antes de usar o teste crie um vetor para conter as dez medidas descritas no exemplo da seção anterior FarKlemptdata2 c1243 1171 1441 1105 953 1166 933117114351381 E agora o teste varTestFarKlemptdata2alternativegreaterconflevel 095sigmasquared 225 O primeiro argumento é o vetor de dados O segundo especifica a hipótese alternativa de que a variância verdadeira é maior do que a hipotética o terceiro dá o nível de confiança 1α e o quarto é a variância hipotética Executar essa linha de código produzirá os seguintes resultados Results of Hypothesis Test Null Hypothesis variance 225 Alternative Hypothesis True variance is greater than 225 Test Name ChiSquared Test on Variance Estimated Parameters variance 3245299 Data FarKlemptdata2 Test Statistic ChiSquared 129812 Test Statistic Parameter df 9 Pvalue 0163459 95 Confidence Interval LCL 1726327 UCL Inf Entre outras estatísticas o resultado mostra o quiquadrado 129812 e o valorp 0163459 O valor quiquadrado na seção anterior é um pouco mais baixo porque está arredondado O valorp é maior que 005 portanto não podemos rejeitar a hipótese nula Quão alto deveria ser o quiquadrado com df9 para que pudéssemos rejeitar Hmmm Trabalhando com Distribuições Quiquadradas Como é o caso das famílias de distribuição analisadas neste capítulo R fornece funções para trabalhar com a família de distribuição quiquadrado dchisq para a função densidade pchisq para a função densidade cumulativa qchisq para quantis e rchisq para a geração de números aleatórios Para responder à pergunta feita no final da seção anterior usaremos qchisq qchisq05df9lowertail FALSE 1 1691898 O valor observado deixou passar o valor crítico por uma margem grande Veja exemplos de outras funções chisq com df9 Para esse conjunto de valores chisqvalues seq0162 aqui estão as densidades rounddchisqchisqvalues93 1 0000 0016 0066 0100 0101 0081 0056 0036 0021 e as densidades cumulativas roundpchisqchisqvalues93 1 0000 0009 0089 0260 0466 0650 0787 0878 0933 Veja seis números aleatórios selecionados nessa distribuição quiquadrado roundrchisqn6df93 1 13231 5674 7396 6170 11806 7068 Visualizando as Distribuições Quiquadradas A Figura 109 exibe alguns membros da família quiquadrado com cada membro anotado com seus graus de liberdade Nesta seção mostro como usar os gráficos de base R e ggplot2 para recriar a imagem Você aprenderá um pouco mais sobre gráficos e saberá como visualizar qualquer membro dessa família Diagramando quiquadrado em gráficos de base R Para começar crie um vetor de valores a partir do qual dchisq calcula as densidades chivalues seq0251 Comece a diagramação com uma declaração plot plotxchivalues ydchisqchivaluesdf4 type l xlabexpressionchi2 ylab Os dois primeiros argumentos indicam o que estamos diagramando a distribuição quiquadrado com quatro graus de liberdade versus o vetor chivalues O terceiro argumento especifica uma linha que é um L minúsculo não o número 1 O terceiro argumento rotula o eixo x com a letra grega chi χ elevada à segunda potência O quarto argumento dá um rótulo em branco para o eixo y Por que fizemos isso Quando criei o gráfico pela primeira vez descobri que ylab coloca o rótulo do eixo y muito para a esquerda e ele fica um pouco cortado Para corrigir isso cancelo ylab e uso mtext mtextside 2 text expressionfchi2 line 25 O argumento side especifica o lado do gráfico em que o rótulo deve ser inserido embaixo 1 à esquerda 2 em cima 3 e à direita 4 O argumento text define como o rótulo do eixo O argumento line especifica a distância do rótulo até o eixo y ela aumenta com o valor Em seguida adicione a curva do quiquadrado com dez graus de liberdade linesxchivaluesydchisqchivaluesdf 10 Em vez de adicionar uma legenda siga a Figura 109 e acrescente uma explicação para cada curva Veja como textx6y15 labeldf4 textx16 y07 label df10 Os dois primeiros argumentos colocam a explicação e o terceiro fornece o conteúdo Juntando tudo plotxchivalues ydchisqchivaluesdf4 type l xlabexpressionchi2 ylab mtextside 2 expressionfchi2 line 25 linesxchivaluesydchisqchivaluesdf 10 textx6y15 labeldf4 textx16 y07 label df10 criase a Figura 1010 FIGURA 1010 Dois membros da família de quiquadrados diagramados nos gráficos de base R Diagramando o quiquadrado em ggplot2 Neste diagrama novamente usaremos explicações no lugar de legendas então defina NULL como a fonte de dados e trabalhe com um vetor em cada linha A primeira estética mapeia chivalues para o eixo x ggplotNULL aesxchivalues Depois adicionamos uma geomline para cada curva quiquadrado com o mapeamento para o eixo y como indicado geomlineaesydchisqchivalues4 geomlineaesydchisqchivalues10 Como destaco anteriormente neste capítulo é como usar ggplot2 para criar um gráfico de base R mas nesse caso funciona porque não cria uma legenda indesejada Em seguida rotule os eixos labsxexpressionchi2yexpressionfchi2 E finalmente a função annotate adiciona as explicações annotategeom textx6y15labeldf4 annotategeom textx16y07labeldf10 O primeiro argumento especifica que a explicação é um objeto de texto Os dois seguintes a colocam no gráfico e o quarto fornece o rótulo Então tudo isso ggplotNULL aesxchivalues geomlineaesydchisqchivalues4 geomlineaesydchisqchivalues10 labsxexpressionchi2yexpressionfchi2 annotategeom textx6y15label df4 annotategeom textx16y07label df10 desenha a Figura 1011 FIGURA 1011 Dois membros da família de quiquadrados diagramados em ggplot2
Send your question to AI and receive an answer instantly
Recommended for you
Preview text
Q Capítulo 10 NESTE CAPÍTULO Apresentando testes de hipóteses Testando hipóteses sobre médias Testando hipóteses sobre variâncias Visualizando distribuições Teste de Hipóteses para Amostra Única ualquer que seja a profissão muitas vezes precisamos avaliar alguma coisa nova e diferente do que aconteceu Às vezes começamos com uma população sobre a qual sabemos muito como sua média e desviopadrão e retiramos uma amostra Essa amostra é como o resto da população ou representa algo fora do comum Para responder a essa pergunta medimos cada indivíduo na amostra e calculamos suas estatísticas Então comparamos essas estatísticas com os parâmetros populacionais São iguais São diferentes A amostra é extraordinária de alguma forma O uso adequado da estatística nos ajuda a tomar uma decisão Porém às vezes não conhecemos os parâmetros da população da qual vem a amostra Então o que acontece Neste capítulo falarei sobre técnicas estatísticas e funções R para lidar com ambos os casos Hipóteses Testes e Erros Hipótese é um palpite sobre como o mundo funciona É uma tentativa de explicação de algum processo ocorra ele na natureza ou em um laboratório Antes de estudar e medir os indivíduos em uma amostra um pesquisador formula hipóteses que preveem como os dados devem ser Geralmente uma hipótese prevê que os dados não exibirão nada novo ou fora do comum Isso é chamado de hipótese nula abreviada como H0 De acordo com a hipótese nula se os dados desviarem da norma de algum jeito esse desvio se deverá estritamente ao acaso Outra hipótese a hipótese alternativa abreviada como H1 explica as coisas de um jeito diferente De acordo com ela os dados mostram algo importante Depois de reunir os dados cabe ao pesquisador tomar uma decisão A lógica funciona de forma que a decisão é centrada na hipótese nula O pesquisador deve decidir rejeitar ou não a hipótese nula No teste de hipótese você Formula hipóteses nula e alternativa Reúne dados Decide rejeitar ou não a hipótese nula Nada na lógica envolve aceitar qualquer uma das hipóteses Nem tomar decisões sobre a hipótese alternativa Tudo é uma questão de rejeitar ou não H0 Independentemente da decisão de rejeitar ou não é possível cometer um erro Um tipo de erro ocorre quando acreditamos que os dados mostram algo importante e rejeitamos H0 mas na verdade os dados só estavam expostos ao acaso Isso é chamado de erro Tipo I No início de um estudo estabelecemos os critérios para rejeitar H0 Ao fazer isso estabelecemos a probabilidade de um erro Tipo I Essa probabilidade é chamada alfa α Outro tipo de erro ocorre quando não rejeitamos H0 e os dados realmente estavam expostos a algo fora do comum Por qualquer razão deixamos algo passar Isso é chamado de erro Tipo II Sua probabilidade é chamada beta β A Tabela 101 resume as decisões e os erros possíveis TABELA 101 Decisões e Erros em Testes de Hipótese Estado Real do Mundo H0 é Verdadeira H1 é Verdadeira 0 Erro Tipo I Corrigir Decisão 0 Corrigir Decisão Erro Tipo II Note que nunca sabemos o verdadeiro estado do mundo Se soubéssemos não precisaríamos fazer o estudo Tudo o que podemos fazer é medir os indivíduos em uma amostra calcular as estatísticas e tomar uma decisão sobre H0 Eu explico as hipóteses e os testes de hipótese no Capítulo 1 Testes de Hipótese e Distribuições Amostrais No Capítulo 9 eu analiso as distribuições amostrais Lembrese de que uma distribuição amostral é o conjunto de todos os valores possíveis de uma estatística para um tamanho amostral dado Também no Capítulo 9 explico o teorema do limite central Esse teorema informa que a distribuição amostral da média se aproxima de uma distribuição normal se o tamanho amostral é grande de pelo menos 30 para propósitos práticos Isso funciona com uma população normalmente distribuída ou não Se a população tiver uma distribuição normal a distribuição amostral será normal para qualquer tamanho de amostra Veja dois outros pontos do teorema do limite central A média da distribuição amostral da média é igual à média populacional A equação para isso é O erro padrão da média o desviopadrão da distribuição amostral é igual ao desviopadrão populacional dividido pela raiz quadrada do tamanho da amostra A equação é A distribuição amostral da média aparece com destaque no tipo de teste de hipótese visto neste capítulo Teoricamente quando testamos uma hipótese nula e uma hipótese alternativa cada hipótese corresponde a uma distribuição amostral separada A Figura 101 mostra o que quero dizer Ela tem duas distribuições normais Posicioneias arbitrariamente Cada distribuição normal representa uma distribuição amostral da média A da esquerda representa a distribuição de médias amostrais possíveis se a hipótese nula é realmente como o mundo funciona A da direita representa a distribuição de médias amostrais possíveis se a hipótese alternativa é como o mundo funciona FIGURA 101 H0 e H1 correspondem a uma distribuição amostral É claro que quando fazemos um teste de hipótese nunca sabemos qual distribuição produz os resultados Trabalhamos com uma média amostral ou um ponto no eixo horizontal A decisão de rejeitar ou não se resume a decidir de qual distribuição a média amostral faz parte Estabelecemos um valor crítico um critério de decisão Se a média amostral estiver de um lado do valor crítico rejeitaremos H0 Do contrário não Nessa linha a figura também mostra α e β Como já mencionado são as probabilidades dos erros de decisão A área que corresponde a α está na distribuição H0 sombreada em cinza escuro Ela representa a probabilidade de uma média amostral vir da distribuição H0 mas ser tão extrema que rejeitamos H0 O que determina α é onde o valor crítico é estabelecido Na maioria dos testes de hipótese estabelecemos α como 005 Isso significa que estamos dispostos a tolerar um erro Tipo I rejeitar H0 quando não deveríamos em 5 das vezes Graficamente o valor crítico corta 5 da área da distribuição amostral A propósito se estamos falando de 5 da área na cauda direita da distribuição veja a Figura 101 estamos falando sobre os 5 superiores Se forem os 5 na cauda esquerda são os 5 inferiores A área que corresponde a β está na distribuição H1 sombreada em cinza claro Essa área representa a probabilidade de uma média amostral vir da distribuição H1 mas estar tão próxima do centro da distribuição H0 que não rejeitamos H0 mas deveríamos Não podemos definir β O tamanho dessa área depende da separação entre as médias das duas distribuições e isso é de responsabilidade do mundo em que vivemos não nossa Essas distribuições amostrais são adequadas quando nosso trabalho corresponde às condições do teorema do limite central se sabemos que a população em que trabalhamos tem uma distribuição normal ou se temos uma amostra grande Pegando Alguns Zs de Novo Veja um exemplo de teste de hipótese que envolve uma amostra de uma população normalmente distribuída Como a população é normalmente distribuída qualquer tamanho de amostra resulta em uma distribuição amostral normalmente distribuída Como é uma distribuição normal usamos escoresz no teste de hipótese Mais uma explicação como usamos o escorez no teste de hipótese ele é chamado de estatística de teste Suponha que pensemos que as pessoas vivendo em um CEP específico tenham QIs acima da média Pegamos uma amostra de nove pessoas desse CEP aplicamos testes de QI tabulamos os resultados e calculamos as estatísticas Para a população de pontuações de QI μ 100 e σ 15 As hipóteses são H0 μZIP cep 100 H1 μZIP cep 100 Suponha que α 005 Essa é a área sombreada na cauda da distribuição H0 na Figura 101 Por que o sinal em H0 Usamos esse símbolo porque rejeitaremos H0 apenas se a média amostral for maior do que o valor hipotético Qualquer outra coisa é prova a favor de não rejeitar H0 Suponha que a média amostral seja 10867 Podemos rejeitar H0 O teste envolve transformar 10867 em uma pontuação padrão na distribuição amostral da média O valor da estatística de teste é grande o suficiente para possibilitar a rejeição de H0 com α 005 Sim O valor crítico ou seja o valor de z que corta 5 da área em uma distribuição padrão normal é 1645 Depois de anos trabalhando com a distribuição normal padrão agora sei disso Leia o Capítulo 8 descubra a função qnorm de R e você também terá informações como essa na ponta da língua O valor calculado 173 excede 1645 então está na área de rejeição A decisão é rejeitar H0 Isso significa que se H0 for verdadeira a probabilidade de obter um valor de estatística de teste que seja pelo menos desse tamanho será menor que 005 É uma evidência forte a favor de rejeitar H0 No jargão estatístico sempre que rejeitamos H0 falamos que o resultado é estatisticamente significante Esse tipo de teste de hipótese é unicaudal porque a região de rejeição está em uma cauda da distribuição amostral Um teste de hipótese pode ser unicaudal na outra direção Suponha que tenhamos razões para acreditar que as pessoas nesse CEP têm QIs abaixo da média Nesse caso as hipóteses são H0 μCEP 100 H1 μCEP 100 Para esse teste de hipótese o valor crítico da estatística de teste é 1645 se α 005 Um teste de hipótese pode ser bicaudal o que significa que a região de rejeição está em ambas as caudas da distribuição amostral H0 Isso acontece quando as hipóteses são como estas H0 μCEP 100 H1 μCEP 100 Nesse caso a hipótese alternativa apenas especifica que a média é diferente do valor da hipótese nula sem dizer se é para mais ou para menos A Figura 102 mostra como fica uma região de rejeição bicaudal para α 005 Os 5 estão divididos igualmente entre as caudas esquerda também chamada de cauda inferior e direita cauda superior FIGURA 102 Região de rejeição bicaudal para α 005 Para uma distribuição normal aliás o escorez que corta 25 na cauda direita é de 196 O que corta 25 na cauda esquerda é de 196 Novamente conheço esses valores depois de anos trabalhando com distribuições normais padrão O escorez no exemplo anterior 173 não excede 196 A decisão no caso bicaudal é a de não rejeitar H0 Isso levanta um ponto importante Um teste de hipótese unicaudal pode rejeitar H0 enquanto um teste bicaudal nos mesmos dados pode não fazêlo Um teste bicaudal indica que estamos procurando uma diferença entre a média amostral e a média da hipótese nula mas não sabemos em qual direção Um teste unicaudal mostra que temos uma boa ideia da diferença que deve resultar Para propósitos práticos isso significa que devemos tentar ter conhecimento suficiente para sermos capazes de especificar um teste unicaudal isso nos dá uma chance melhor de rejeitar H0 quando é necessário Teste Z em R Uma função R chamada ztest seria ótima para fazer o tipo de teste analisado na seção anterior O problema é que essa função não existe na base R Embora possamos encontrála em outros pacotes é fácil criar uma e aprender um pouco sobre programação R no processo A função funciona assim IQdata c100101104109125116105108110 ztestIQdata10015 z 1733 onetailed probability 0042 twotailed probability 0084 Comece criando o nome da função e seus argumentos ztest functionxmupopvar O primeiro argumento é o vetor de dados o segundo é a média da população e o terceiro é a variância populacional A chave esquerda significa que o restante do código acontece dentro da função Em seguida crie um vetor que conterá a probabilidade unicaudal do escorez que será calculado onetailp NULL Depois calcule o escorez e arredondeo para três casas decimais zscore roundmeanxmupopvarsqrtlengthx3 Sem arredondar R pode calcular muitas casas decimais e o resultado ficará confuso Por fim calcule a probabilidade unicaudal a proporção da área além do escorez calculado e novamente arredonde para três casas decimais onetailp roundpnormabszscorelowertail FALSE3 Por que colocar abs valor absoluto no argumento para pnorm Lembrese de que uma hipótese alternativa pode especificar um valor abaixo da média e os dados podem resultar em um escorez negativo O próximo passo é configurar a exibição do resultado Para isso use a função cat Eu utilizei essa função no Capítulo 7 para exibir um conjunto razoável de números de maneira organizada O nome cat é a abreviação de concatenate and print concatenar e imprimir que é exatamente o que queremos fazer aqui concatenar reunir strings como onetailed probability com expressões como onetailp então exibir tudo na tela Também queremos começar uma nova linha para cada concatenação e R faz isso com Veja a declaração cat cat z zscore onetailed probability onetailp twotailed probability 2onetailp O espaço entre as aspas do lado esquerdo e z alinha a primeira linha com as outras duas na tela As chaves do lado direito fecham a função Veja tudo reunido ztest functionxmupopvar onetailp NULL zscore roundmeanxmupopvarsqrtlengthx3 onetailp roundpnormabszscorelowertail FALSE3 cat z zscore onetailed probability onetailp twotailed probability 2onetailp Executar essa função produz o que vimos no começo desta seção t para Um No exemplo anterior trabalhamos com pontuações de QI A população de pontuações de QI é uma distribuição normal com uma média e desviopadrão bem conhecidos Assim podemos trabalhar com o teorema do limite central e descrever a distribuição amostral da média como uma distribuição normal Depois podemos usar z como a estatística de teste Contudo no mundo real normalmente não temos o luxo de trabalhar com populações bem definidas Geralmente temos amostras pequenas e medimos algo que não é tão bem conhecido quanto o QI Resumindo em geral não sabemos os parâmetros populacionais nem se a população é normalmente distribuída Quando isso acontece usamos os dados amostrais para estimar o desvio padrão populacional e tratamos a distribuição amostral da média como um membro de uma família de distribuição chamada distribuiçãot Usamos t como uma estatística de teste No Capítulo 9 apresento essa distribuição e menciono que distinguimos os membros dessa família por um parâmetro chamado grau de liberdade df A fórmula para a estatística de teste é Pense em df como o denominador da estimativa da variância da população Para os testes de hipótese nesta seção isso será N1 onde N é o número de pontuações na amostra Quanto maior o df mais a distribuiçãot lembra a distribuição normal Veja um exemplo a FarKlempt Robotic Inc comercializa microrrobôs A empresa afirma que seu produto tem em média quatro defeitos por unidade Um grupo de consumidores acredita que essa média é maior Eles pegam uma amostra de nove microrrobôs da FarKlempt e encontram uma média de sete defeitos com um desviopadrão de 312 O teste de hipótese é H0 μ 4 H1 μ 4 α 005 A fórmula é Podemos rejeitar H0 A função R na próxima seção lhe dirá Teste t em R Fiz uma prévia da função ttest no Capítulo 2 e falei sobre ela em mais detalhes no Capítulo 9 Aqui vamos usála para o teste de hipótese Comece com os dados da FarKlempt Robotics FarKlemptdata c36994106412 Depois aplique ttest Para o exemplo fica assim ttestFarKlemptdatamu4 alternativegreater O segundo argumento especifica que estamos testando em uma média hipotética de 4 e o terceiro argumento indica que a hipótese alternativa é a de que a média real é maior que 4 Observea em ação ttestFarKlemptdatamu4 alternativegreater One Sample ttest data c3 6 9 9 4 10 6 4 12 t 28823 df 8 pvalue 001022 alternative hypothesis true mean is greater than 4 95 percent confidence interval 5064521 Inf sample estimates mean of x 7 O resultado fornece o valort e o valorp baixo mostra que podemos rejeitar a hipótese nula com α 005 Essa função ttest é versátil Trabalharemos com ela novamente no Capítulo 11 quando testaremos hipóteses sobre duas amostras Trabalhando com Distribuiçõest Assim como podemos usar os prefixos d p q e r para a família da distribuição normal podemos usar dt função densidade pt função densidade cumulativa qt quantis e rt geração de número aleatório para a família de distribuiçãot Veja dt e rt em ação para uma distribuiçãot com df 12 tvalues seq441 rounddttvalues122 1 000 001 006 023 039 023 006 001 000 roundpttvalues122 1 000 001 003 017 050 083 097 099 100 Mostrarei como usar mais dt na próxima seção Muito mais Acredite Para obter informações de quantis sobre a distribuiçãot com df 12 quartiles c02550751 qtquartiles12 1 Inf 06954829 00000000 06954829 Inf Inf e Inf informam que a curva nunca toca o eixo x em nenhuma cauda Para gerar oito números aleatórios arredondados da distribuiçãot com df 12 roundrt8122 1 073 013 132 133 127 091 048 083 Todas essas funções nos dão a opção de trabalhar com distribuiçõest não centradas em zero Fazemos isso inserindo um valor para ncp o parâmetro de não centralidade Na maioria das aplicações da distribuiçãot a não centralidade não aparece Para completar explico esse conceito em mais detalhes no Apêndice 3 online Visualizando as Distribuiçõest Visualizar uma distribuiçãot normalmente nos ajuda a entendêla O processo pode ser um pouco complicado em R mas vale o esforço A Figura 97 mostra três membros da família de distribuiçãot no mesmo gráfico O primeiro tem df3 o segundo df10 e o terceiro é uma distribuição normal padrão dfinfinito Nesta seção mostro como criar esse gráfico em gráficos de base R e em ggplot2 Com qualquer método o primeiro passo é configurar um vetor dos valores que as funções de densidade utilizarão tvalues seq441 Mais uma coisa e vamos começar Depois que os gráficos estiverem completos colocaremos o símbolo de infinito nas legendas para indicar o df da distribuição normal padrão Para isso instale um pacote chamado grDevices na aba Packages clique em Install depois na caixa de diálogo Install Packages digite grDevices e clique em Install Quando grDevices aparecer na aba Packages marque sua caixa de verificação Ter grDevices instalado adiciona o símbolo de infinito à legenda expressioninfinity Fugi do assunto Diagramando t em gráficos de base R Comece com a função plot e diagrame a distribuiçãot com df 3 plotx tvaluesy dttvalues3 type l lty dotted ylim c04 xlab t ylab ft Os dois primeiros argumentos são bem claros Os dois seguintes estabelecem o tipo de gráfico type l significa gráfico de linha é um L minúsculo não o número 1 e lty dotted indica o tipo de linha O argumento ylim estabelece os limites inferior e superior do eixo y ylim c04 Alguns ajustes mostram que se não fizermos isso as curvas subsequentes serão cortadas no topo Os dois últimos argumentos rotulam os eixos A Figura 103 mostra o gráfico que temos até agora FIGURA 103 Distribuiçãot com df 3 base R As duas linhas seguintes adicionam a distribuiçãot para df10 e para a normal padrão dfinfinito linestvaluesdttvalues10lty dashed linestvaluesdnormtvalues A linha para a normal padrão é sólida o valor padrão de lty A Figura 104 mostra o progresso Tudo o que falta é a legenda identificando as curvas FIGURA 104 Três distribuições em busca de uma legenda Uma vantagem da base R é que não é difícil posicionar e preencher a legenda legendtopright title dflegend cexpressioninfinity103 lty csoliddasheddotted bty n O primeiro argumento posiciona a legenda no canto superior direito O segundo dá título a ela O terceiro argumento é um vetor que especifica o que está na legenda Como podemos ver o primeiro elemento é a expressão infinita que mostrei anteriormente e corresponde ao df da normal padrão O segundo e terceiro elementos são os df das duas distribuiçõest restantes Organizamos assim porque é a ordem na qual as curvas aparecem em seus centros O argumento lty é o vetor que especifica a ordem dos tipos de linhas correspondem ao df O argumento final btyn remove a borda da legenda E isso produz a Figura 105 Diagramando t em ggplot2 A abordagem gramática dos gráficos exige consideravelmente mais esforço do que a base R Mas siga em frente e você aprenderá muito sobre ggplot2 Comece colocando os números relevantes em um data frame tframe dataframetvalues df3 dttvalues3 df10 dttvalues10 stdnormal dnormtvalues FIGURA 105 Gráfico final incluindo a legenda As seis primeiras linhas do data frame são como a seguir headtframe tvalues df3 df10 stdnormal 1 40 0009163361 0002031034 00001338302 2 39 0009975671 0002406689 00001986555 3 38 0010875996 0002854394 00002919469 4 37 0011875430f 0003388151 00004247803 5 36 0012986623 0004024623 00006119019 6 35 0014224019 0004783607 00008726827 É um data frame bem bonito mas está no formato largo Como aponto no Capítulo 3 ggplot prefere o formato longo que tem três colunas de números de densidade empilhados em uma única coluna Para chegar a esse formato que chamamos de remodelagem de dados verifique se o pacote reshape2 está instalado Marque sua caixa de verificação na aba Packages e pronto Remodelar do formato largo para o longo é chamado de melting derretimento de dados então a função é tframemelt melttframeidtvalues O argumento id especifica que tvalues é a variável cujos números não são empilhados com o restante Pense nela como a variável que armazena os dados As seis primeiras linhas de tframemelt são headtframemelt tvalues variable value 1 40 df3 0009163361 2 39 df3 0009975671 3 38 df3 0010875996 4 37 df3 0011875430 5 36 df3 0012986623 6 35 df3 0014224019 É sempre uma boa ideia ter nomes significativos de colunas então colnamestframemelt ctdfdensity headtframemelt t df density 1 40 df3 0009163361 2 39 df3 0009975671 3 38 df3 0010875996 4 37 df3 0011875430 5 36 df3 0012986623 6 35 df3 0014224019 Agora mais uma coisa antes de começarmos o gráfico Este é um vetor que será útil quando organizarmos o eixo x xaxisvalues seq442 Comece com ggplot ggplottframemelt aesxtyftgroup df O primeiro argumento é o data frame Os mapeamentos estéticos informam que t está no eixo x density está no eixo y e os dados ficam em grupos especificados pela variável df É um gráfico de linhas então a função geom adequada é geomline geomlineaeslinetypedf As funções geom podem trabalhar com mapeamentos estéticos Aqui o mapeamento estético mapeia df para o tipo de linha Redimensione o eixo x para que vá de 4 a 4 de dois em dois Veja onde usar esse vetor xaxisvalues scalexcontinuousbreaksxaxisvalueslabelsxaxisvalues O primeiro argumento define os pontos de quebra para o eixo x e o segundo fornece os rótulos para esses pontos Juntar essas três declarações ggplottframemelt aesxtydensitygroup df geomlineaeslinetypedf scalexcontinuousbreaks xaxisvalueslabels xaxisvalues resulta na Figura 106 Um dos benefícios de ggplot2 é que o código produz automaticamente a legenda FIGURA 106 Três curvas de distribuiçõest diagramadas em ggplot2 Ainda temos trabalho a fazer Primeiro as atribuições linetype padrão não são as que queremos então precisamos refazêlas scalelinetypemanualvalues cdotteddashedsolid labels c310 expressioninfinity As quatro declarações ggplottframemelt aesxtydensitygroup df geomlineaeslinetypedf scalexcontinuousbreaks xaxisvalueslabels xaxisvalues scalelinetypemanualvalues cdotteddashedsolid labels c310 expressioninfinity produzem a Figura 107 FIGURA 107 Três curvas de distribuiçõest com os tipos de linhas reatribuídos Como podemos ver os itens na legenda não estão na ordem em que as curvas aparecem em seus centros Insisto nisso Acho que o gráfico fica mais compreensível quando os elementos do gráfico e da legenda estão em sincronia ggplot2 fornece funções guide que possibilitam controlar os detalhes da legenda Para inverter a ordem dos tipos de linha na legenda faça o seguinte guideslinetypeguidelegendreverse TRUE Reunir todo o código finalmente produz a Figura 108 ggplottframemelt aesxtydensitygroup df geomlineaeslinetypedf scalexcontinuousbreaks xaxisvalueslabels xaxisvalues scalelinetypemanualvalues cdotteddashedsolid labels c310 expressioninfinity guideslinetypeguidelegendreverse TRUE Deixo como um exercício para que você refaça os rótulos do eixo y ft Gráficos de base R versus ggplot2 é como dirigir um carro com câmbio manual versus câmbio automático mas eu nem sempre sei qual é qual FIGURA 108 Produto final com a legenda reorganizada Mais uma coisa sobre ggplot2 Poderíamos ter diagramado tudo isso sem criar e remodelar um data frame Uma abordagem alternativa é definir NULL como a fonte de dados mapear tvalues para o eixo x e adicionar três declarações geomline Cada uma dessas declarações mapearia um vetor de densidade criado na hora para o eixo y e cada um teria seu próprio linetype Qual é o problema com essa abordagem Quando fazemos desse jeito a gramática não cria automaticamente uma legenda Sem um data frame não há base para criar uma legenda É como usar ggplot para criar um gráfico de base R É uma boa ideia usar essa abordagem em alguma situação Sim quando não queremos incluir uma legenda mas explicar o gráfico de alguma maneira Eu forneço um exemplo na seção posterior Visualizando Distribuições Qui quadradas Testando uma Variância Até agora falei sobre teste de hipóteses de uma amostra para médias Também podemos testar hipóteses sobre variâncias Esse tópico às vezes surge no contexto de produção Suponha que a FarKlempt Robotics Inc produza uma peça que precisa ter certo comprimento de variabilidade muito baixa Podemos pegar uma amostra das peças medilas encontrar a variabilidade amostral e realizar um teste de hipótese na variabilidade desejada A família de distribuições para o teste é chamada de quiquadrado Seu símbolo é χ2 Não entrarei nos detalhes matemáticos Só direi novamente que df é o parâmetro que distingue um membro da família do outro A Figura 109 mostra dois membros da família de quiquadrados FIGURA 109 Dois membros da família de quiquadrados Como mostra a figura o quiquadrado não é como as famílias de distribuição já mostradas anteriormente Os membros dessa família podem ser assimétricos e nenhum deles pode receber um valor menor que zero A fórmula para a estatística de teste é N é o número de pontuações na amostra s2 é a variância amostral e σ2 é a variância populacional especificada em H0 Com esse teste precisamos supor que estamos medindo uma distribuição normal Suponha que seja permitido ao processo de produção de peças da FarKlempt apresentar um desviopadrão de no máximo 15 polegada no comprimento Note que eu uso desviopadrão Isso permite que falemos em termos de polegadas Se eu usasse variância as unidades seriam polegadas quadradas Depois de medir uma amostra de dez peças descobrimos um desviopadrão de 18 polegada As hipóteses são H0 σ2 225 lembrese de elevar ao quadrado o desviopadrão de no máximo 15 polegada H1 σ2 225 α 005 Trabalhando com a fórmula podemos rejeitar H0 Continue lendo Testando em R A essa altura podemos pensar que a função chisqtest responderia a pergunta Embora a base R forneça essa função ela não é adequada aqui Como podemos ver nos Capítulos 18 e 20 os estatísticos usam essa função para testar outros tipos de hipóteses Em vez disso use a função chamada varTest que está no pacote EnvStats Na aba Packages clique em Install Depois digite EnvStats na caixa de diálogo Install Packages e clique em Install Quando EnvStats aparecer na aba Packages marque sua caixa de verificação Antes de usar o teste crie um vetor para conter as dez medidas descritas no exemplo da seção anterior FarKlemptdata2 c1243 1171 1441 1105 953 1166 933117114351381 E agora o teste varTestFarKlemptdata2alternativegreaterconflevel 095sigmasquared 225 O primeiro argumento é o vetor de dados O segundo especifica a hipótese alternativa de que a variância verdadeira é maior do que a hipotética o terceiro dá o nível de confiança 1α e o quarto é a variância hipotética Executar essa linha de código produzirá os seguintes resultados Results of Hypothesis Test Null Hypothesis variance 225 Alternative Hypothesis True variance is greater than 225 Test Name ChiSquared Test on Variance Estimated Parameters variance 3245299 Data FarKlemptdata2 Test Statistic ChiSquared 129812 Test Statistic Parameter df 9 Pvalue 0163459 95 Confidence Interval LCL 1726327 UCL Inf Entre outras estatísticas o resultado mostra o quiquadrado 129812 e o valorp 0163459 O valor quiquadrado na seção anterior é um pouco mais baixo porque está arredondado O valorp é maior que 005 portanto não podemos rejeitar a hipótese nula Quão alto deveria ser o quiquadrado com df9 para que pudéssemos rejeitar Hmmm Trabalhando com Distribuições Quiquadradas Como é o caso das famílias de distribuição analisadas neste capítulo R fornece funções para trabalhar com a família de distribuição quiquadrado dchisq para a função densidade pchisq para a função densidade cumulativa qchisq para quantis e rchisq para a geração de números aleatórios Para responder à pergunta feita no final da seção anterior usaremos qchisq qchisq05df9lowertail FALSE 1 1691898 O valor observado deixou passar o valor crítico por uma margem grande Veja exemplos de outras funções chisq com df9 Para esse conjunto de valores chisqvalues seq0162 aqui estão as densidades rounddchisqchisqvalues93 1 0000 0016 0066 0100 0101 0081 0056 0036 0021 e as densidades cumulativas roundpchisqchisqvalues93 1 0000 0009 0089 0260 0466 0650 0787 0878 0933 Veja seis números aleatórios selecionados nessa distribuição quiquadrado roundrchisqn6df93 1 13231 5674 7396 6170 11806 7068 Visualizando as Distribuições Quiquadradas A Figura 109 exibe alguns membros da família quiquadrado com cada membro anotado com seus graus de liberdade Nesta seção mostro como usar os gráficos de base R e ggplot2 para recriar a imagem Você aprenderá um pouco mais sobre gráficos e saberá como visualizar qualquer membro dessa família Diagramando quiquadrado em gráficos de base R Para começar crie um vetor de valores a partir do qual dchisq calcula as densidades chivalues seq0251 Comece a diagramação com uma declaração plot plotxchivalues ydchisqchivaluesdf4 type l xlabexpressionchi2 ylab Os dois primeiros argumentos indicam o que estamos diagramando a distribuição quiquadrado com quatro graus de liberdade versus o vetor chivalues O terceiro argumento especifica uma linha que é um L minúsculo não o número 1 O terceiro argumento rotula o eixo x com a letra grega chi χ elevada à segunda potência O quarto argumento dá um rótulo em branco para o eixo y Por que fizemos isso Quando criei o gráfico pela primeira vez descobri que ylab coloca o rótulo do eixo y muito para a esquerda e ele fica um pouco cortado Para corrigir isso cancelo ylab e uso mtext mtextside 2 text expressionfchi2 line 25 O argumento side especifica o lado do gráfico em que o rótulo deve ser inserido embaixo 1 à esquerda 2 em cima 3 e à direita 4 O argumento text define como o rótulo do eixo O argumento line especifica a distância do rótulo até o eixo y ela aumenta com o valor Em seguida adicione a curva do quiquadrado com dez graus de liberdade linesxchivaluesydchisqchivaluesdf 10 Em vez de adicionar uma legenda siga a Figura 109 e acrescente uma explicação para cada curva Veja como textx6y15 labeldf4 textx16 y07 label df10 Os dois primeiros argumentos colocam a explicação e o terceiro fornece o conteúdo Juntando tudo plotxchivalues ydchisqchivaluesdf4 type l xlabexpressionchi2 ylab mtextside 2 expressionfchi2 line 25 linesxchivaluesydchisqchivaluesdf 10 textx6y15 labeldf4 textx16 y07 label df10 criase a Figura 1010 FIGURA 1010 Dois membros da família de quiquadrados diagramados nos gráficos de base R Diagramando o quiquadrado em ggplot2 Neste diagrama novamente usaremos explicações no lugar de legendas então defina NULL como a fonte de dados e trabalhe com um vetor em cada linha A primeira estética mapeia chivalues para o eixo x ggplotNULL aesxchivalues Depois adicionamos uma geomline para cada curva quiquadrado com o mapeamento para o eixo y como indicado geomlineaesydchisqchivalues4 geomlineaesydchisqchivalues10 Como destaco anteriormente neste capítulo é como usar ggplot2 para criar um gráfico de base R mas nesse caso funciona porque não cria uma legenda indesejada Em seguida rotule os eixos labsxexpressionchi2yexpressionfchi2 E finalmente a função annotate adiciona as explicações annotategeom textx6y15labeldf4 annotategeom textx16y07labeldf10 O primeiro argumento especifica que a explicação é um objeto de texto Os dois seguintes a colocam no gráfico e o quarto fornece o rótulo Então tudo isso ggplotNULL aesxchivalues geomlineaesydchisqchivalues4 geomlineaesydchisqchivalues10 labsxexpressionchi2yexpressionfchi2 annotategeom textx6y15label df4 annotategeom textx16y07label df10 desenha a Figura 1011 FIGURA 1011 Dois membros da família de quiquadrados diagramados em ggplot2