diff --git a/bootstrap-t.ipynb b/bootstrap-t.ipynb index feee38d..50d8ac9 100644 --- a/bootstrap-t.ipynb +++ b/bootstrap-t.ipynb @@ -23,9 +23,18 @@ "Wszystkie rodzaje testów są testami parametrycznymi, a co za tym idzie nasze mierzone zmienne ilościowe powinny mieć rozkład normalny." ] }, + { + "cell_type": "markdown", + "source": [ + "# Definicje funkcji" + ], + "metadata": { + "collapsed": false + } + }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 510, "metadata": { "pycharm": { "name": "#%%\n" @@ -42,16 +51,16 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 511, "metadata": {}, "outputs": [], "source": [ - "dataset = pd.read_csv('experiment_data.csv')" + "dataset = pd.read_csv('experiment_data.csv') # TODO: del?" ] }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 512, "metadata": {}, "outputs": [], "source": [ @@ -62,7 +71,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 513, "metadata": {}, "outputs": [], "source": [ @@ -83,7 +92,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 514, "metadata": { "pycharm": { "name": "#%%\n" @@ -105,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 515, "metadata": {}, "outputs": [], "source": [ @@ -123,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 516, "metadata": {}, "outputs": [], "source": [ @@ -141,7 +150,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 517, "metadata": {}, "outputs": [], "source": [ @@ -169,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 518, "metadata": {}, "outputs": [], "source": [ @@ -208,7 +217,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 519, "metadata": {}, "outputs": [ { @@ -272,7 +281,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 520, "metadata": { "pycharm": { "name": "#%%\n" @@ -300,7 +309,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 521, "metadata": { "collapsed": false, "pycharm": { @@ -321,66 +330,6 @@ " return p, t, ts" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Sprawdzenie czy osoba o wzroście 165cm pasuje do populacji (nie jest odmieńcem)" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [], - "source": [ - "dummy = pd.DataFrame([1, 2, 3, 4, 5])\n", - "dummy2 = pd.DataFrame([4, 5, 6, 7, 8])\n", - "dummy3 = pd.DataFrame([1, 3 , 3, 4, 6])" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Wyniki bootstrapowej wersji testu T-studenta\n", - "\n", - "Hipoteza: średnia jest równa 165\n", - "Hipoteza alternatywna: średnia jest mniejsza\n", - "\n", - "p: 0.72\n", - "Wartość statystyki testowej z próby: [-229.1025971]\n", - "Wartości statystyk z prób boostrapowych:\n", - "[-239.4457368], [-201.5], [-176.97470898], [-256.14449047], [-436.1703468], ... (i 95 pozostałych)\n", - "\n", - "\n", - "\n" - ] - } - ], - "source": [ - "#TODO: poprawić kod aby można było podawać kolumny\n", - "\n", - "p, t, ts = bootstrap_one_sample(dummy, 165)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "TODO: Wniosek" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -395,7 +344,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 522, "metadata": { "collapsed": false, "pycharm": { @@ -415,13 +364,6 @@ " return p, t, ts" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "TODO: Wniosek" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -435,7 +377,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 523, "metadata": { "collapsed": false, "pycharm": { @@ -455,32 +397,9 @@ " return p, t, ts" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# TODO: Wyciągnąć wagi przed dietą i po oraz poprawić kod aby można było podawać kolumny\n", - "t_stat, df, cv, p, _ = bootstrap_dependent(dataset, dataset)\n", - "pretty_print_full_stats(t_stat, df, cv, p)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "TODO: Wniosek" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Wykresy" - ] - }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 524, "metadata": { "collapsed": false, "pycharm": { @@ -489,12 +408,14 @@ }, "outputs": [], "source": [ - "def draw_distribution(stats):\n", + "def draw_distribution(stats, comparision_value):\n", " \"\"\"\n", " Funkcja rysuje rozkład statystyki testowej\n", " @param stats: lista statystyk testowych\n", + " @param comparision_value: pierwotna próbka\n", " \"\"\"\n", " plt.hist(stats)\n", + " plt.axvline(comparision_value, color='red')\n", " plt.xlabel('Test statistic value')\n", " plt.ylabel('Frequency')\n", " plt.show()" @@ -502,100 +423,215 @@ }, { "cell_type": "markdown", - "metadata": {}, "source": [ - "## Testy" - ] + "# Wczytanie danych" + ], + "metadata": { + "collapsed": false + } }, { "cell_type": "code", - "execution_count": 85, - "metadata": {}, + "execution_count": 525, + "outputs": [], + "source": [ + "dataset = pd.read_csv('experiment_data.csv')\n", + "heights_female = pd.DataFrame(dataset['Female height'].to_numpy()) # xd\n", + "heights_male = pd.DataFrame(dataset['Male height'].to_numpy())\n", + "weights_before = pd.DataFrame(dataset['Weight before'].to_numpy())\n", + "weights_after = pd.DataFrame(dataset['Weight after'].to_numpy())" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "# Jedna próba\n", + "\n", + "### Hipoteza\n", + "\n", + "### Sprawdzenie założeń\n", + "\n", + "## Test" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "# Dwie próby niezależne\n", + "\n", + "### Hipoteza\n", + "\n", + "### Sprawdzenie założeń\n", + "\n", + "## Test" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "# Dwie próby zależne\n", + "\n", + "W odróżnieniu od testu dla prób niezależnych, gdzie porównujemy dwie grupy, ten rodzaj testu stosujemy gdy poddajemy analizie tą samą pojedynczą grupę, ale dwukrotnie w czasie.\n", + "\n", + "**Przykład**: Porównane zostały wagi przed dietą i po diecie.\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "### Hipoteza\n", + "H0 - Średnia waga nie uległa zmianie po zastosowaniu diety\n", + "H1 - Średnia waga po diecie jest znacząco mniejsza od wagi przed dietą\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "### Sprawdzenie założeń\n", + "\n", + "Założenie o rozkładzie normalnym danych - sprawdzane testem Shapiro-Wilka" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 526, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Statystyki dla jednej próby:\n", - "Wyniki bootstrapowej wersji testu T-studenta\n", - "\n", - "Hipoteza: średnia jest równa 2\n", - "Hipoteza alternatywna: średnia jest mniejsza\n", - "\n", - "p: 0.35\n", - "Wartość statystyki testowej z próby: [1.41421356]\n", - "Wartości statystyk z prób boostrapowych:\n", - "[2.44948974], [3.13785816], [1.72328087], [0.27216553], [1.17669681], ... (i 95 pozostałych)\n", - "\n", - "\n", - "\n" + "p = 0.0627\n" ] } ], "source": [ - "# Testy z bootstrappowaniem\n", - "\n", - "print('Statystyki dla jednej próby:')\n", - "p, t, ts = bootstrap_one_sample(dummy, 2)" - ] + "shapiro_test = shapiro(weights_before)\n", + "print(f\"p = {round(shapiro_test.pvalue,4)}\")" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "Wartość **p** w teście Shapiro-Wilka powyżej **0.05** -> Dane prawdopodobnie mają rozkład normalny" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "## Test" + ], + "metadata": { + "collapsed": false + } }, { "cell_type": "code", - "execution_count": 86, - "metadata": {}, + "execution_count": 527, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Statystyki dla dwóch prób zależnych:\n", "Wyniki bootstrapowej wersji testu T-studenta\n", "\n", "Hipoteza: średnie są takie same\n", "Hipoteza alternatywna: średnia jest mniejsza\n", "\n", "p: 1.0\n", - "Wartość statystyki testowej z próby: [10.61445555]\n", + "Wartość statystyki testowej z próby: [7.89079918]\n", "Wartości statystyk z prób boostrapowych:\n", - "[-2.66666667], [-0.14359163], [0.21199958], [0.11470787], [0.76696499], ... (i 95 pozostałych)\n", + "[-0.05395381], [0.15520269], [-0.2285374], [1.05735295], [2.77041326], ... (i 95 pozostałych)\n", "\n", "\n" ] + }, + { + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ - "print('Statystyki dla dwóch prób zależnych:')\n", - "p, t, ts = bootstrap_dependent(dummy2, dummy3)" - ] + "p, t, ts = bootstrap_dependent(weights_before, weights_after)\n", + "ts = [x[0] for x in ts]\n", + "draw_distribution(ts, t)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "## Wniosek\n", + "\n", + "???" + ], + "metadata": { + "collapsed": false + } }, { "cell_type": "code", - "execution_count": 87, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Statystyki dla dwóch prób niezależnych:\n", - "Wyniki bootstrapowej wersji testu T-studenta\n", - "\n", - "Hipoteza: średnie są takie same\n", - "Hipoteza alternatywna: średnia jest mniejsza\n", - "\n", - "p: 0.95\n", - "Wartość statystyki testowej z próby: [2.4140394]\n", - "Wartości statystyk z prób boostrapowych:\n", - "[-2.20937908], [0.13187609], [-0.81110711], [-0.94280904], [-0.77151675], ... (i 95 pozostałych)\n", - "\n", - "\n" - ] + "execution_count": null, + "outputs": [], + "source": [], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" } - ], - "source": [ - "print('Statystyki dla dwóch prób niezależnych:')\n", - "p, t, ts = bootstrap_independent(dummy2, dummy3)" - ] + } + }, + { + "cell_type": "code", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "source": [], + "execution_count": null, + "outputs": [] } ], "metadata": { @@ -626,4 +662,4 @@ }, "nbformat": 4, "nbformat_minor": 2 -} +} \ No newline at end of file