{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "f0d18716", "metadata": {}, "outputs": [], "source": [ "# Imports\n", "\n", "from IPython.display import display, Markdown\n", "from scipy.stats import chi2_contingency\n", "from scipy.stats import t as t_test\n", "import numpy as np\n", "t_value = t_test.isf\n", "\n", "def _display_table(data_array, row_names=None, col_names=None):\n", " _row_num = len(data_array)\n", " _col_num = len(data_array[0])\n", " _rows = []\n", " for i in range(_row_num):\n", " row = f'| {row_names[i]} |'\n", " for j in range(_col_num):\n", " row += f' {data_array[i][j]:.1f} |'\n", " row += f' {sum(data_array[i]):.0f} |'\n", " _rows.append(row)\n", " _total_row = '| **Total** |'\n", " _col_tots = 0\n", " for i in range(_col_num):\n", " col_tot = 0\n", " for j in range(_row_num):\n", " col_tot += data_array[j][i]\n", " _col_tots += col_tot\n", " _total_row += f' **{col_tot:.0f}** |'\n", " _total_row += f' **{_col_tots:.0f}** |'\n", " display(Markdown(\n", " rf\"\"\"\n", "| | {' | '.join(col_names + ['Total'])} |\n", "{'|-'*(len(row_names) + 2)} |\n", "{'\\n'.join(_rows)}\n", "{_total_row}\n", "\"\"\"\n", "))\n", "\n" ] }, { "cell_type": "markdown", "id": "72bdb3bd", "metadata": {}, "source": [ "# Prædiktionsinterval\n", "\n", "$$\n", "95\\% - PI = \\bar{x} \\pm 1.96 \\cdot SD\n", "$$\n", "\n", "- $\\bar{x}$: middelværdi\n", "- $SD$: Stikprøvespredning" ] }, { "cell_type": "code", "execution_count": 33, "id": "798fdae9", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "\n", "95%-PI\n", "\n", "$= \\left[\\bar{x} \\pm 1.96 \\cdot SD\\right]$\n", "\n", "$= 3987 \\pm 1.96 \\cdot 506$\n", "\n", "$=\\left[ 2995.2\\ ;\\ 4978.8 \\right]$\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "middelværdi = 3987\n", "stikprøvespredning = 506\n", "\n", "\n", "################################\n", "display(Markdown(\n", " rf\"\"\"\n", "95%-PI\n", "\n", "$= \\left[\\bar{{x}} \\pm 1.96 \\cdot SD\\right]$\n", "\n", "$= {middelværdi} \\pm 1.96 \\cdot {stikprøvespredning}$\n", "\n", "$=\\left[ {middelværdi - 1.96 * stikprøvespredning:.1f}\\ ;\\ {middelværdi + 1.96 * stikprøvespredning:.1f} \\right]$\n", "\"\"\"\n", "))" ] }, { "cell_type": "markdown", "id": "72541db9", "metadata": {}, "source": [ "# Konfidensinterval\n", "\n", "$$\n", "\\left[\\bar{x} \\pm t' \\cdot se\\right]\n", "\\\\\n", "= \\bar{x} - t' \\cdot se\\ ;\\ \\bar{x} + t' \\cdot se\n", "$$\n", "\n", "- $\\bar{x}$: middelværdi\n", "- $se$: _standard error_, $= \\frac{SD}{\\sqrt{n}}$\n", "\n", "Hvis $se$ er ukendt:\n", "\n", "- $SD$: stikprøvespredning\n", "- $n$: stikprøvestørrelse (antal observationer)" ] }, { "cell_type": "code", "execution_count": 23, "id": "1e61db8b", "metadata": {}, "outputs": [], "source": [ "# Hvis se (standard error) er kendt:\n", "\n", "standard_error = 8.04\n", "n = 3978" ] }, { "cell_type": "code", "execution_count": 15, "id": "d3916fb4", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "\n", "$standard\\ error = se = \\frac{SD}{\\sqrt{n}}$\n", "\n", "$= \\frac{507}{3978}$\n", "\n", "$=8.04$\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Hvis se (standard error) er ukendt:\n", "\n", "stikprøvespredning = 507\n", "n = 3978\n", "standard_error = stikprøvespredning / (n**0.5)\n", "\n", "\n", "#########################################\n", "display(Markdown(\n", " rf\"\"\"\n", "$standard\\ error = se = \\frac{{SD}}{{\\sqrt{{n}}}}$\n", "\n", "$= \\frac{{{stikprøvespredning}}}{{{n}}}$\n", "\n", "$={standard_error:.2f}$\n", "\"\"\"\n", "))" ] }, { "cell_type": "code", "execution_count": 37, "id": "e7d81100", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "\n", "95%-CI\n", "\n", "$=\\left[\\bar{x} \\pm t' \\cdot se\\right]$\n", "\n", "$=\\left[3437 \\pm 1.96 \\cdot 8.04\\right]$\n", "\n", "$=\\left[3437 \\pm 15.76\\right]$\n", "\n", "$= \\left[3421.24 \\ ;\\ 3452.76\\right]$\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "middelværdi = 3437\n", "\n", "\n", "##########################################\n", "t_se = t_value(0.025, n-1) * standard_error\n", "display(Markdown(\n", " rf\"\"\"\n", "95%-CI\n", "\n", "$=\\left[\\bar{{x}} \\pm t' \\cdot se\\right]$\n", "\n", "$=\\left[{middelværdi} \\pm {t_value(0.025, n-1):.2f} \\cdot {standard_error:.2f}\\right]$\n", "\n", "$=\\left[{middelværdi} \\pm {t_se:.2f}\\right]$\n", "\n", "$= \\left[{middelværdi - t_se:.2f} \\ ;\\ {middelværdi + t_se:.2f}\\right]$\n", "\"\"\"\n", "))" ] }, { "cell_type": "code", "execution_count": null, "id": "05fec350", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "base", "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.13.9" } }, "nbformat": 4, "nbformat_minor": 5 }