diff --git a/exercicios/para-casa/atividades.hipoteses.ipynb b/exercicios/para-casa/atividades.hipoteses.ipynb new file mode 100644 index 0000000..cd21a2b --- /dev/null +++ b/exercicios/para-casa/atividades.hipoteses.ipynb @@ -0,0 +1,473 @@ +{ + "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." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "!pip install scipy" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a ingestão média é diferente de 2000 calorias é H1\n", + "Estatística t é 1.440678442696004\n", + "Valor p é 0.1\n", + "dados separados por >= ou < que 2000 calorias\n", + " maior = [2100, 2050, 2100, 2000, 2150, 2200, 2050, 2080, 2100, 2050, 2150, 2000, 2200, 2100, 2000, 2150, 2050, 2080]\n", + " menor = [1900, 1980, 1950, 1850, 1990, 1950, 1900, 1950, 1900, 1850, 1990, 1950]\n" + ] + } + ], + "source": [ + "from scipy.stats import ttest_1samp\n", + "\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]\n", + "#Teste de hipóteses\n", + "# Hipótese nula: a ingestão média não é de diferente de 2000 calorias \n", + "# H alternativa:a ingestão média é diferente de 2000 calorias \n", + "# Teste t de Student:\n", + "#ttest_1samp(): Para comparar a média de uma amostra com um valor de referência.\n", + "\n", + "t_estatistico, p_valor = ttest_1samp(Dados,2000)\n", + "ttest_1samp(Dados, 2000)\n", + "\n", + "p_valor = 0.1\n", + "peloMenos = 0.05\n", + "\n", + "significancia = 1 - peloMenos\n", + "\n", + "if p_valor < significancia:\n", + " print(\"a ingestão média é diferente de 2000 calorias aceitamos a H1\")\n", + "else:\n", + " print(\"a ingestão média não é de diferente de 2000 calorias aceitamos a H0 \")\n", + "\n", + "print(f\"Estatística t é {t_estatistico}\")\n", + "\n", + "print(f\"Valor p é {p_valor}\")\n", + "\n", + "\n", + "maior_2000 = []\n", + "menor_2000 = []\n", + "\n", + "for num in Dados:\n", + " if num >= 2000:\n", + " maior_2000.append(num)\n", + " else:\n", + " menor_2000.append(num)\n", + "\n", + "print('dados separados por >= ou < que 2000 calorias')\n", + "\n", + "print (f\" maior = {maior_2000}\")\n", + "\n", + "print (f\" menor = {menor_2000}\")\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" + ] + }, + { + "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", + "Realize o teste de hipóteses para comparar as médias das duas turmas usando um nível de significância de 0,05.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " houve diferença significativa entre as notas de alunos de duas turmas aceitamos a H1\n", + "Estatística t é 1.6738367490980877\n", + "Valor p é 0.11634870792349129\n" + ] + } + ], + "source": [ + "Turma_A = [85, 78, 90, 88, 76, 95, 89, 84] \n", + "Turma_B= [82, 75, 85, 80, 79, 88, 83, 77]\n", + "#Teste de hipóteses\n", + "# Hipótese nula: não houve diferença significativa entre as notas de alunos de duas turmas\n", + "# H alternativa: houve diferença significativa entre as notas de alunos de duas turmas\n", + "# Teste t de Student:\n", + "#ttest_ind(): Para comparar as médias de duas amostras independentes.\n", + "\n", + "\n", + "from scipy.stats import ttest_ind\n", + "\n", + "t_estatistico, p_valor = ttest_ind(Turma_A,Turma_B)\n", + "ttest_ind(Turma_A,Turma_B)\n", + "\n", + "\n", + "confianca = 0.05\n", + "\n", + "\n", + "\n", + "if p_valor < confianca:\n", + " print(\"Houve diferença significativa entre as notas de alunos de duas turmas, aceitamos a H1\")\n", + "else:\n", + " print(\"não houve diferença significativa entre as notas de alunos de duas turmas, aceitamos a H0 \")\n", + "\n", + "print(f\"Estatística t é {t_estatistico}\")\n", + "\n", + "print(f\"Valor p é {p_valor}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" + ] + }, + { + "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" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Houve diferença significativa entre os períodos, aceitamos a H1\n", + "Estatística t é 8.217036268592837\n", + "Valor p é 7.679851175528595e-05\n", + "[30, 28, 35, 33, 40, 29, 32, 36] [25, 22, 30, 28, 35, 27, 30, 31]\n" + ] + } + ], + "source": [ + "Antes = [30, 28, 35, 33, 40, 29, 32, 36] \n", + "Depois = [25, 22, 30, 28, 35, 27, 30, 31]\n", + "#Teste de hipóteses\n", + "# Hipótese nula: não houve diferença significativa entre os períodos\n", + "# H alternativa: houve diferença significativa entre os períodos\n", + "# Teste t de Student:\n", + "#Função: ttest_rel(): Para comparar as médias de duas amostras dependentes (pareadas).\n", + "\n", + "from scipy.stats import ttest_rel\n", + "\n", + "t_estatistico, p_valor = ttest_rel(Antes,Depois)\n", + "ttest_rel(Antes,Depois)\n", + "\n", + "\n", + "confianca = 0.05\n", + "\n", + "\n", + "\n", + "if p_valor < confianca:\n", + " print(\"Houve diferença significativa entre os períodos, aceitamos a H1\")\n", + "else:\n", + " print(\"não houve diferença significativa entre os períodos, aceitamos a H0 \")\n", + "\n", + "print(f\"Estatística t é {t_estatistico}\")\n", + "\n", + "print(f\"Valor p é {p_valor}\")\n", + "print (Antes,Depois)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" + ] + }, + { + "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", + "cidadeX = {\"bebida A \": 30, \"bebida B\" : 20}\n", + "cidadey = {\"bebida A \": 40, \"bebida B\" : 10}\n", + "\n", + "\n", + "Verifique se há uma relação significativa entre a cidade e a preferência pela bebida." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting statsmodels\n", + " Downloading statsmodels-0.14.2-cp312-cp312-win_amd64.whl.metadata (9.5 kB)\n", + "Requirement already satisfied: numpy>=1.22.3 in c:\\users\\samsung e20\\appdata\\local\\programs\\python\\python312\\lib\\site-packages (from statsmodels) (2.0.1)\n", + "Requirement already satisfied: scipy!=1.9.2,>=1.8 in c:\\users\\samsung e20\\appdata\\local\\programs\\python\\python312\\lib\\site-packages (from statsmodels) (1.14.0)\n", + "Collecting pandas!=2.1.0,>=1.4 (from statsmodels)\n", + " Downloading pandas-2.2.2-cp312-cp312-win_amd64.whl.metadata (19 kB)\n", + "Collecting patsy>=0.5.6 (from statsmodels)\n", + " Downloading patsy-0.5.6-py2.py3-none-any.whl.metadata (3.5 kB)\n", + "Requirement already satisfied: packaging>=21.3 in c:\\users\\samsung e20\\appdata\\roaming\\python\\python312\\site-packages (from statsmodels) (24.1)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\users\\samsung e20\\appdata\\roaming\\python\\python312\\site-packages (from pandas!=2.1.0,>=1.4->statsmodels) (2.9.0.post0)\n", + "Collecting pytz>=2020.1 (from pandas!=2.1.0,>=1.4->statsmodels)\n", + " Downloading pytz-2024.1-py2.py3-none-any.whl.metadata (22 kB)\n", + "Collecting tzdata>=2022.7 (from pandas!=2.1.0,>=1.4->statsmodels)\n", + " Downloading tzdata-2024.1-py2.py3-none-any.whl.metadata (1.4 kB)\n", + "Requirement already satisfied: six in c:\\users\\samsung e20\\appdata\\roaming\\python\\python312\\site-packages (from patsy>=0.5.6->statsmodels) (1.16.0)\n", + "Downloading statsmodels-0.14.2-cp312-cp312-win_amd64.whl (9.8 MB)\n", + " ---------------------------------------- 0.0/9.8 MB ? eta -:--:--\n", + " - -------------------------------------- 0.3/9.8 MB 6.5 MB/s eta 0:00:02\n", + " -- ------------------------------------- 0.6/9.8 MB 6.5 MB/s eta 0:00:02\n", + " ---- ----------------------------------- 1.0/9.8 MB 6.4 MB/s eta 0:00:02\n", + " ----- ---------------------------------- 1.4/9.8 MB 7.5 MB/s eta 0:00:02\n", + " ------- -------------------------------- 1.7/9.8 MB 7.4 MB/s eta 0:00:02\n", + " -------- ------------------------------- 2.2/9.8 MB 7.7 MB/s eta 0:00:02\n", + " ---------- ----------------------------- 2.6/9.8 MB 7.9 MB/s eta 0:00:01\n", + " ----------- ---------------------------- 2.9/9.8 MB 7.7 MB/s eta 0:00:01\n", + " ------------ --------------------------- 3.2/9.8 MB 7.5 MB/s eta 0:00:01\n", + " -------------- ------------------------- 3.6/9.8 MB 7.8 MB/s eta 0:00:01\n", + " ---------------- ----------------------- 4.0/9.8 MB 7.8 MB/s eta 0:00:01\n", + " ------------------ --------------------- 4.5/9.8 MB 8.0 MB/s eta 0:00:01\n", + " ------------------- -------------------- 4.9/9.8 MB 8.0 MB/s eta 0:00:01\n", + " --------------------- ------------------ 5.3/9.8 MB 8.1 MB/s eta 0:00:01\n", + " ----------------------- ---------------- 5.9/9.8 MB 8.4 MB/s eta 0:00:01\n", + " ------------------------- -------------- 6.3/9.8 MB 8.5 MB/s eta 0:00:01\n", + " ---------------------------- ----------- 6.9/9.8 MB 8.7 MB/s eta 0:00:01\n", + " ----------------------------- ---------- 7.2/9.8 MB 8.7 MB/s eta 0:00:01\n", + " ------------------------------- -------- 7.8/9.8 MB 8.7 MB/s eta 0:00:01\n", + " --------------------------------- ------ 8.2/9.8 MB 8.8 MB/s eta 0:00:01\n", + " ----------------------------------- ---- 8.8/9.8 MB 9.0 MB/s eta 0:00:01\n", + " -------------------------------------- - 9.4/9.8 MB 9.1 MB/s eta 0:00:01\n", + " --------------------------------------- 9.8/9.8 MB 9.2 MB/s eta 0:00:01\n", + " --------------------------------------- 9.8/9.8 MB 9.2 MB/s eta 0:00:01\n", + " --------------------------------------- 9.8/9.8 MB 9.2 MB/s eta 0:00:01\n", + " ---------------------------------------- 9.8/9.8 MB 8.3 MB/s eta 0:00:00\n", + "Downloading pandas-2.2.2-cp312-cp312-win_amd64.whl (11.5 MB)\n", + " ---------------------------------------- 0.0/11.5 MB ? eta -:--:--\n", + " - -------------------------------------- 0.3/11.5 MB 6.8 MB/s eta 0:00:02\n", + " -- ------------------------------------- 0.6/11.5 MB 6.6 MB/s eta 0:00:02\n", + " --- ------------------------------------ 1.1/11.5 MB 7.7 MB/s eta 0:00:02\n", + " ----- ---------------------------------- 1.6/11.5 MB 8.2 MB/s eta 0:00:02\n", + " ------- -------------------------------- 2.0/11.5 MB 9.3 MB/s eta 0:00:02\n", + " ------------- -------------------------- 4.0/11.5 MB 9.8 MB/s eta 0:00:01\n", + " --------------- ------------------------ 4.4/11.5 MB 9.8 MB/s eta 0:00:01\n", + " ---------------- ----------------------- 4.9/11.5 MB 10.0 MB/s eta 0:00:01\n", + " --------------------- ------------------ 6.1/11.5 MB 9.8 MB/s eta 0:00:01\n", + " ------------------------ --------------- 7.0/11.5 MB 9.1 MB/s eta 0:00:01\n", + " -------------------------- ------------- 7.5/11.5 MB 9.2 MB/s eta 0:00:01\n", + " --------------------------- ------------ 8.0/11.5 MB 9.3 MB/s eta 0:00:01\n", + " ----------------------------- ---------- 8.5/11.5 MB 9.4 MB/s eta 0:00:01\n", + " ------------------------------- -------- 9.0/11.5 MB 9.4 MB/s eta 0:00:01\n", + " --------------------------------- ------ 9.5/11.5 MB 9.5 MB/s eta 0:00:01\n", + " ---------------------------------- ----- 10.0/11.5 MB 9.6 MB/s eta 0:00:01\n", + " ------------------------------------ --- 10.5/11.5 MB 9.8 MB/s eta 0:00:01\n", + " -------------------------------------- - 11.1/11.5 MB 9.9 MB/s eta 0:00:01\n", + " --------------------------------------- 11.5/11.5 MB 10.1 MB/s eta 0:00:01\n", + " --------------------------------------- 11.5/11.5 MB 10.1 MB/s eta 0:00:01\n", + " ---------------------------------------- 11.5/11.5 MB 8.8 MB/s eta 0:00:00\n", + "Downloading patsy-0.5.6-py2.py3-none-any.whl (233 kB)\n", + " ---------------------------------------- 0.0/233.9 kB ? eta -:--:--\n", + " ---------------------------------------- 233.9/233.9 kB 7.0 MB/s eta 0:00:00\n", + "Downloading pytz-2024.1-py2.py3-none-any.whl (505 kB)\n", + " ---------------------------------------- 0.0/505.5 kB ? eta -:--:--\n", + " ----------------------------- ---------- 378.9/505.5 kB 7.8 MB/s eta 0:00:01\n", + " --------------------------------------- 501.8/505.5 kB 6.3 MB/s eta 0:00:01\n", + " ---------------------------------------- 505.5/505.5 kB 5.3 MB/s eta 0:00:00\n", + "Downloading tzdata-2024.1-py2.py3-none-any.whl (345 kB)\n", + " ---------------------------------------- 0.0/345.4 kB ? eta -:--:--\n", + " ---------------------------------------- 345.4/345.4 kB 7.1 MB/s eta 0:00:00\n", + "Installing collected packages: pytz, tzdata, patsy, pandas, statsmodels\n", + "Successfully installed pandas-2.2.2 patsy-0.5.6 pytz-2024.1 statsmodels-0.14.2 tzdata-2024.1\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 statsmodels" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Houve diferença significativa entre as cidades, aceitamos a H1\n", + "Estatística t é -inf\n", + "Valor p é 0.0\n", + "(30, 20) (40, 10)\n" + ] + } + ], + "source": [ + "cidadeX = (30,20)\n", + "cidadey = (40,10)\n", + "\n", + "\n", + "#Teste de hipóteses\n", + "# Hipótese nula: não houve diferença significativa entre as cidades\n", + "# H alternativa: houve diferença significativa entre as cidades\n", + "#Teste Z de Proporções:\n", + "#Biblioteca: statsmodels.stats.proportion\n", + "#Função: proportions_ztest(): Para testar uma proporção ou comparar proporções de duas amostras.\n", + "from statsmodels.stats.proportion import proportions_ztest\n", + "\n", + "confianca = 0.05\n", + "\n", + "\n", + "t_estatistico, p_valor = proportions_ztest(cidadeX,cidadey)\n", + "proportions_ztest(cidadeX,cidadey)\n", + "\n", + "if p_valor < confianca:\n", + " print(\"Houve diferença significativa entre as cidades, aceitamos a H1\")\n", + "else:\n", + " print(\"não houve diferença significativa entre as cidades, aceitamos a H0 \")\n", + "\n", + "print(f\"Estatística t é {t_estatistico}\")\n", + "\n", + "print(f\"Valor p é {p_valor}\")\n", + "print (cidadeX,cidadey)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" + ] + }, + { + "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", + "Realize uma ANOVA de uma via para verificar se há uma diferença significativa entre os grupos." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Houve diferença significativa entre o crescimento entre as plantas, aceitamos a H1\n", + "Estatística t é 66.66666666666657\n", + "Valor p é 3.1688090446401985e-07\n", + "[20, 22, 19, 21, 20] [18, 20, 17, 19, 18] [25, 27, 26, 28, 26]\n" + ] + } + ], + "source": [ + "FertilizanteA = [20, 22, 19, 21, 20] \n", + "FertilizanteB =[18, 20, 17, 19, 18] \n", + "FertilizanteC= [25, 27, 26, 28, 26] \n", + "\n", + "#Teste de hipóteses\n", + "# Hipótese nula: não houve diferença significativa de crescimento entre as plantas\n", + "# H alternativa: houve diferença significativa de crescimento entre as plantas\n", + "#Teste ANOVA (Análise de Variância):\n", + "#Biblioteca: scipy.stats\n", + "#Função: f_oneway(): Para comparar as médias de três ou mais grupos independentes.\n", + "\n", + "#importar\n", + "from scipy.stats import f_oneway\n", + "\n", + "confianca = 0.05\n", + "\n", + "\n", + "t_estatistico, p_valor = f_oneway(FertilizanteA,FertilizanteB,FertilizanteC)\n", + "f_oneway(FertilizanteA,FertilizanteB,FertilizanteC)\n", + "\n", + "if p_valor < confianca:\n", + " print(\"Houve diferença significativa entre o crescimento entre as plantas, aceitamos a H1\")\n", + "else:\n", + " print(\"não houve diferença significativa entre o crescimento entre as plantas, aceitamos a H0 \")\n", + "\n", + "print(f\"Estatística t é {t_estatistico}\")\n", + "\n", + "print(f\"Valor p é {p_valor}\")\n", + "print (FertilizanteA,FertilizanteB,FertilizanteC)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "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 +}