diff --git a/exercicios/stephanie-cirne-s10/README.md b/exercicios/stephanie-cirne-s10/README.md new file mode 100644 index 0000000..42db639 --- /dev/null +++ b/exercicios/stephanie-cirne-s10/README.md @@ -0,0 +1,9 @@ + +# Exercício Semana s10 - Reprograma + +O objetivo deste exercício foi introduizir conceitos de teste de hipóteses com bibliotecas Python + + +# Desafio pessoal + +Meu desafio pessoal foi aprender conceitos de testes de hipóteses. \ No newline at end of file diff --git a/exercicios/stephanie-cirne-s10/exercicio_casa_stephanie_cirne_s10.ipynb b/exercicios/stephanie-cirne-s10/exercicio_casa_stephanie_cirne_s10.ipynb new file mode 100644 index 0000000..8f9dcc1 --- /dev/null +++ b/exercicios/stephanie-cirne-s10/exercicio_casa_stephanie_cirne_s10.ipynb @@ -0,0 +1,413 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Exercício 1:\n", + "Um nutricionista quer testar se a ingestão diária média de calorias de um grupo de 30 pessoas é diferente de 2000 calorias. Os dados das calorias ingeridas são fornecidos abaixo. Realize o teste de hipóteses usando um nível de significância de 0,05.\n", + "\n", + "Dados: [1900, 2100, 2050, 1980, 1950, 2100, 2000, 2150, 2200, 1850, 1990, 1950, 2050, 2080, 2100, 1900, 1950, 2050, 2150, 2000, 2200, 1900, 2100, 2000, 2150, 1850, 1990, 1950, 2050, 2080]" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: scipy in c:\\users\\sbcs\\appdata\\local\\programs\\python\\python312\\lib\\site-packages (1.14.0)\n", + "Requirement already satisfied: numpy<2.3,>=1.23.5 in c:\\users\\sbcs\\appdata\\local\\programs\\python\\python312\\lib\\site-packages (from scipy) (2.0.1)\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[notice] A new release of pip is available: 24.0 -> 24.2\n", + "[notice] To update, run: python.exe -m pip install --upgrade pip\n" + ] + } + ], + "source": [ + "pip install scipy" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from scipy.stats import ttest_1samp" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Estatística t é 1.44\n", + "A variância é 0.160\n" + ] + } + ], + "source": [ + "dados = [1900, 2100, 2050, 1980, 1950, 2100, 2000, 2150, 2200, 1850, 1990, 1950, 2050, 2080, 2100, 1900, 1950, 2050, 2150, 2000, 2200, 1900, 2100, 2000, 2150, 1850, 1990, 1950, 2050, 2080]\n", + "\n", + "#H0: A ingestão é igual a 2000 calorias\n", + "#H1: A ingestão é diferente de 2000 calorias\n", + "\n", + "t_estatistico, p_valor = ttest_1samp(dados,2000)\n", + "\n", + "print (f'Estatística t é {t_estatistico:.2f}')\n", + "print (f'A variância é {p_valor:.3f}')\n", + "\n", + "# p valor maior que 0,05: não há evidências de que a média de calorias ingeridas é diferente de 2000.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from scipy import stats" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Exercício 2:\n", + "Um pesquisador deseja verificar se há uma diferença significativa entre as notas de alunos de duas turmas diferentes após um novo método de ensino. As notas das duas turmas são:\n", + "\n", + "Turma A: [85, 78, 90, 88, 76, 95, 89, 84] Turma B: [82, 75, 85, 80, 79, 88, 83, 77]\n", + "\n", + "Realize o teste de hipóteses para comparar as médias das duas turmas usando um nível de significância de 0,05." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Estatística t é 1.67\n", + "A variância é 0.116\n" + ] + } + ], + "source": [ + "turma_a = np.array([85, 78, 90, 88, 76, 95, 89, 84])\n", + "turma_b = np.array([82, 75, 85, 80, 79, 88, 83, 77])\n", + "\n", + "t_estatistico, p_valor = stats.ttest_ind (turma_a, turma_b)\n", + "\n", + "#H0: Não há diferença significativa de médias entre as turmas\n", + "#H1: Há diferença significativa entre as médias das turmas\n", + "\n", + "print (f'Estatística t é {t_estatistico:.2f}')\n", + "print (f'A variância é {p_valor:.3f}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Exercício 3:\n", + "Uma empresa testou a eficácia de um novo software em dois períodos de tempo. Os tempos (em minutos) para concluir uma tarefa antes e depois do uso do software são registrados abaixo. Determine se houve uma melhoria significativa no tempo de conclusão da tarefa.\n", + "\n", + "Antes: [30, 28, 35, 33, 40, 29, 32, 36] Depois: [25, 22, 30, 28, 35, 27, 30, 31]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from scipy import stats" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Estatística t é 8.22\n", + "A variância é 0.000\n" + ] + } + ], + "source": [ + "antes = np.array([30, 28, 35, 33, 40, 29, 32, 36])\n", + "depois = np.array([25, 22, 30, 28, 35, 27, 30, 31])\n", + "\n", + "t_estatistico, p_valor = stats.ttest_rel (antes,depois)\n", + "\n", + "#H0: não há diferença entre o antes e o depois do software\n", + "#H1: há diferença entre o antes e o depois do software\n", + "\n", + "print (f'Estatística t é {t_estatistico:.2f}')\n", + "print (f'A variância é {p_valor:.3f}')\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Exercício 4:\n", + "Uma pesquisa foi realizada para verificar a preferência de 100 pessoas por dois tipos de bebidas, A e B, em duas cidades diferentes, X e Y. A tabela de contingência a seguir mostra os resultados:\n", + "\n", + "Cidade X Cidade Y Bebida A 30 40 Bebida B 20 10\n", + "\n", + "Verifique se há uma relação significativa entre a cidade e a preferência pela bebida." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from scipy.stats import chi2_contingency\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Estatística t é 8.22\n", + "A variância é 0.050\n" + ] + } + ], + "source": [ + "tabela = np.array([[30, 40],\n", + " [20, 10]])\n", + "\n", + "estatistica, p_valor, _, _ = chi2_contingency(tabela)\n", + "\n", + "#H0: não há correlação entre a cidade e a bebida\n", + "#H1: há relação entre a cidade e a bebida\n", + "\n", + "print (f'Estatística t é {t_estatistico:.2f}')\n", + "print (f'A variância é {p_valor:.3f}')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Exercício 5:\n", + "Um pesquisador deseja testar se três diferentes tipos de fertilizantes têm um efeito significativo no crescimento de plantas. Os crescimentos das plantas (em cm) para cada fertilizante são dados abaixo:\n", + "\n", + "Fertilizante A: [20, 22, 19, 21, 20] Fertilizante B: [18, 20, 17, 19, 18] Fertilizante C: [25, 27, 26, 28, 26] Realize uma ANOVA de uma via para verificar se há uma diferença significativa entre os grupos." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "from scipy.stats import f_oneway" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A estatistica é 66.67\n", + "O p valor é 0.000\n" + ] + } + ], + "source": [ + "fertilizante_a = [20, 22, 19, 21, 20]\n", + "fertilizante_b = [18, 20, 17, 19, 18]\n", + "fertilizante_c = [25, 27, 26, 28, 26]\n", + "\n", + "estatistica, p_valor = f_oneway (fertilizante_a, fertilizante_b, fertilizante_c)\n", + "\n", + "#H0: o fertilizante não possui efeito significativo no crescimento das plantas\n", + "#H1: O fertilizante possui efeito significativo no crescimento das plantas\n", + "\n", + "print (f'A estatistica é {estatistica:.2f}')\n", + "print (f'O p valor é {p_valor:.3f}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Extra 1:\n", + "Um estudo está sendo realizado para comparar o efeito de três métodos diferentes de estudo na performance dos alunos em um exame. As pontuações dos alunos são registradas para cada método:\n", + "\n", + "Método A: [85, 87, 90, 86, 88] Método B: [80, 82, 78, 81, 79] Método C: [92, 91, 93, 89, 94] Use ANOVA de uma via para determinar se existe uma diferença significativa nas pontuações dos alunos entre os três métodos." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A estatistica é 53.60\n", + "O p valor é 0.000\n" + ] + } + ], + "source": [ + "metodo_a = [85, 87, 90, 86, 88]\n", + "metodo_b = [80, 82, 78, 81, 79]\n", + "metodo_c = [92, 91, 93, 89, 94] \n", + "\n", + "estatistica, p_valor = f_oneway (metodo_a,metodo_b,metodo_c)\n", + "\n", + "#H0: Não há diferença significativa entre os métodos\n", + "#H1: Há diferença significativa entre os métodos\n", + "\n", + "print (f'A estatistica é {estatistica:.2f}')\n", + "print (f'O p valor é {p_valor:.3f}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Extra 2:\n", + "Uma empresa deseja realizar uma pesquisa de satisfação com seus clientes. A população de clientes é dividida em três categorias: Regular, Premium e VIP. A empresa quer garantir que cada categoria seja representada proporcionalmente na amostra. A população total é de 10.000 clientes, sendo 5.000 regulares, 3.000 premium, e 2.000 VIP. Se a amostra total deve ser de 500 clientes, quantos clientes de cada categoria devem ser incluídos na amostra?" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A amostra regular é 250\n", + "A amostra premium é 150\n", + "A amostra vip é 100\n" + ] + } + ], + "source": [ + "p_regular = 5000/10000\n", + "p_premium = 3000/10000\n", + "p_vip = 2000 / 10000\n", + "\n", + "amostra_total = 500\n", + "\n", + "amostra_regular = int( p_regular * amostra_total)\n", + "amostra_premium = int(p_premium * amostra_total)\n", + "amostra_vip = int(p_vip * amostra_total)\n", + "\n", + "print (f'A amostra regular é {amostra_regular}')\n", + "print (f'A amostra premium é {amostra_premium}')\n", + "print (f'A amostra vip é {amostra_vip}')\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Extra 3:\n", + "Uma empresa registrou o tempo (em horas) que seus funcionários gastam em atividades não relacionadas ao trabalho durante uma semana. Os tempos registrados foram: [1.5, 2.0, 1.0, 2.5, 3.0, 2.0, 1.5, 2.5, 3.5, 4.0]. Calcule o desvio padrão desses tempos." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A variância é 0.89\n", + "Desvio padrão é: 0.94\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "dados = [1.5, 2.0, 1.0, 2.5, 3.0, 2.0, 1.5, 2.5, 3.5, 4.0]\n", + "\n", + "media = sum (dados) / len (dados)\n", + "\n", + "soma_quadrados = sum((x - media) ** 2 for x in dados)\n", + "variancia_amostral = soma_quadrados / (len(dados) - 1)\n", + "\n", + "print (f'A variância é {variancia_amostral:.2f}')\n", + "\n", + "desvio_padrao_amostral = math.sqrt(variancia_amostral)\n", + "\n", + "print(f\"Desvio padrão é: {desvio_padrao_amostral:.2f}\")\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}