From 180f68b96ef9e1f7e33416347e7a07b836d49083 Mon Sep 17 00:00:00 2001 From: SkylarShi Date: Mon, 3 Jun 2024 12:05:58 -0700 Subject: [PATCH] Deploy website - based on bc8da250f77c44a756b0c7d8072b0786aeb337c2 --- 404.html | 2 +- ...f2afb.91b6cb16.js => 935f2afb.872ca5c5.js} | 2 +- assets/js/97247bb2.31cb3f8d.js | 1 - assets/js/97247bb2.be0f6e2c.js | 1 + assets/js/9f1843d8.1b3eede2.js | 1 + assets/js/9f1843d8.9c3dbc79.js | 1 - assets/js/d4f68316.04c5919d.js | 1 - assets/js/d4f68316.85e36926.js | 1 + assets/js/f095f4cd.86f4ec6e.js | 1 + assets/js/f095f4cd.aacf3e8f.js | 1 - ...n.7842fcb3.js => runtime~main.68a2ac2d.js} | 2 +- blog/archive/index.html | 2 +- blog/first-blog-post/index.html | 2 +- blog/index.html | 2 +- blog/long-blog-post/index.html | 2 +- blog/mdx-blog-post/index.html | 2 +- blog/tags/docusaurus/index.html | 2 +- blog/tags/facebook/index.html | 2 +- blog/tags/hello/index.html | 2 +- blog/tags/hola/index.html | 2 +- blog/tags/index.html | 2 +- blog/welcome/index.html | 2 +- docs/category/if-statements/index.html | 2 +- docs/category/querying/index.html | 2 +- .../Functions/Applying Functions/index.html | 2 +- .../Functions/Writing Functions/index.html | 2 +- .../Grouping/aggregation/count()/index.html | 2 +- .../Grouping/aggregation/max()/index.html | 2 +- .../Grouping/aggregation/mean()/index.html | 2 +- .../Grouping/aggregation/median()/index.html | 2 +- .../Grouping/aggregation/min()/index.html | 2 +- .../Grouping/aggregation/sum()/index.html | 2 +- .../documentation/Grouping/groupby/index.html | 2 +- .../accessing-data/df.columns/index.html | 2 +- .../accessing-data/df.get()/index.html | 2 +- .../accessing-data/df.index/index.html | 2 +- .../accessing-data/df.shape/index.html | 2 +- .../accessing-data/df.take()/index.html | 2 +- docs/documentation/accessing-data/index.html | 2 +- .../accessing-data/ser.iloc[]/index.html | 2 +- .../accessing-data/ser.loc[]/index.html | 2 +- .../arrays-and-numpy/arr[]/index.html | 2 +- .../documentation/arrays-and-numpy/index.html | 2 +- .../arrays-and-numpy/np.append()/index.html | 2 +- .../arrays-and-numpy/np.arange()/index.html | 2 +- .../np.count_nonzero()/index.html | 2 +- .../np.percentile()/index.html | 2 +- .../arrays-and-numpy/np.round()/index.html | 2 +- .../bpd.DataFrame()/index.html | 2 +- .../bpd.read_csv()/index.html | 2 +- .../df.assign()/index.html | 2 +- .../building-organizing/df.drop()/index.html | 2 +- .../building-organizing/df.merge()/index.html | 2 +- .../df.reset_index()/index.html | 2 +- .../df.set_index()/index.html | 2 +- .../df.sort_values()/index.html | 2 +- .../building-organizing/index.html | 2 +- .../data format conversion/index.html | 2 +- .../data format conversion/list()/index.html | 2 +- .../np.array()/index.html | 2 +- docs/documentation/for-loops/index.html | 2 +- .../Logical Operators/index.html | 2 +- .../if-statements/if-elif-else/index.html | 2 +- .../in \342\201\204 not in/index.html" | 2 +- docs/documentation/intro/index.html | 2 +- .../plotting/Bar Plot/index.html | 2 +- .../plotting/Histogram/index.html | 2 +- .../plotting/Line Plot/index.html | 2 +- .../plotting/Scatter Plot/index.html | 2 +- docs/documentation/plotting/index.html | 2 +- docs/documentation/querying/df[]/index.html | 2 +- docs/documentation/series-methods/index.html | 2 +- .../series-methods/ser.count()/index.html | 2 +- .../series-methods/ser.max()/index.html | 2 +- .../series-methods/ser.mean()/index.html | 2 +- .../series-methods/ser.median()/index.html | 2 +- .../series-methods/ser.min()/index.html | 2 +- .../ser.str.capitalize()/index.html | 2 +- .../ser.str.contains()/index.html | 2 +- .../series-methods/ser.str.len()/index.html | 2 +- .../series-methods/ser.str.lower()/index.html | 2 +- .../ser.str.replace()/index.html | 2 +- .../series-methods/ser.str.split()/index.html | 2 +- .../series-methods/ser.str.strip()/index.html | 2 +- .../series-methods/ser.str.title()/index.html | 2 +- .../series-methods/ser.str.upper()/index.html | 2 +- .../series-methods/ser.sum()/index.html | 2 +- .../series-methods/ser.unique()/index.html | 2 +- .../bootstrapping/index.html | 6 +-- .../central_limit_theorem/index.html | 47 ++++++++++++++++--- .../hypothesis_vs_permutation/index.html | 6 +-- .../hypothesis_test/index.html | 4 +- docs/statistical-inference/intro/index.html | 4 +- .../null_and_alt/index.html | 4 +- .../obs_and_test_stats/index.html | 4 +- docs/statistical-inference/p_value/index.html | 4 +- .../parameters-and-statistics/index.html | 4 +- .../permutation_test/index.html | 6 +-- .../random sampling/df.sample()/index.html | 4 +- .../np.random.choice()/index.html | 4 +- .../np.random.multinomial()/index.html | 4 +- .../np.random.permutation()/index.html | 4 +- .../random sampling/sampling/index.html | 4 +- .../standard_normal_distribution/index.html | 4 +- .../standard_units/index.html | 4 +- docs/tags/correlation/index.html | 2 +- docs/tags/for-loop/index.html | 2 +- docs/tags/functions/index.html | 2 +- docs/tags/histogram/index.html | 2 +- docs/tags/index.html | 2 +- docs/tags/normal-distributions/index.html | 2 +- docs/tags/querying/index.html | 2 +- docs/tags/regression/index.html | 2 +- docs/tags/standard-units/index.html | 2 +- index.html | 2 +- search/index.html | 2 +- 116 files changed, 171 insertions(+), 136 deletions(-) rename assets/js/{935f2afb.91b6cb16.js => 935f2afb.872ca5c5.js} (96%) delete mode 100644 assets/js/97247bb2.31cb3f8d.js create mode 100644 assets/js/97247bb2.be0f6e2c.js create mode 100644 assets/js/9f1843d8.1b3eede2.js delete mode 100644 assets/js/9f1843d8.9c3dbc79.js delete mode 100644 assets/js/d4f68316.04c5919d.js create mode 100644 assets/js/d4f68316.85e36926.js create mode 100644 assets/js/f095f4cd.86f4ec6e.js delete mode 100644 assets/js/f095f4cd.aacf3e8f.js rename assets/js/{runtime~main.7842fcb3.js => runtime~main.68a2ac2d.js} (82%) diff --git a/404.html b/404.html index fdc9f749..ae447fa5 100644 --- a/404.html +++ b/404.html @@ -11,7 +11,7 @@ - + diff --git a/assets/js/935f2afb.91b6cb16.js b/assets/js/935f2afb.872ca5c5.js similarity index 96% rename from assets/js/935f2afb.91b6cb16.js rename to assets/js/935f2afb.872ca5c5.js index 7382f2e5..8f20f5e1 100644 --- a/assets/js/935f2afb.91b6cb16.js +++ b/assets/js/935f2afb.872ca5c5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[8581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docsSidebar":[{"type":"link","label":"Intro","href":"/bpd-reference/docs/documentation/intro","docId":"documentation/intro","unlisted":false},{"type":"category","label":"Building and Organizing DataFrames","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"bpd.DataFrame()","href":"/bpd-reference/docs/documentation/building-organizing/bpd.DataFrame()","docId":"documentation/building-organizing/bpd.DataFrame()","unlisted":false},{"type":"link","label":"bpd.read_csv()","href":"/bpd-reference/docs/documentation/building-organizing/bpd.read_csv()","docId":"documentation/building-organizing/bpd.read_csv()","unlisted":false},{"type":"link","label":"df.assign()","href":"/bpd-reference/docs/documentation/building-organizing/df.assign()","docId":"documentation/building-organizing/df.assign()","unlisted":false},{"type":"link","label":"df.drop()","href":"/bpd-reference/docs/documentation/building-organizing/df.drop()","docId":"documentation/building-organizing/df.drop()","unlisted":false},{"type":"link","label":"df.set_index()","href":"/bpd-reference/docs/documentation/building-organizing/df.set_index()","docId":"documentation/building-organizing/df.set_index()","unlisted":false},{"type":"link","label":"df.reset_index()","href":"/bpd-reference/docs/documentation/building-organizing/df.reset_index()","docId":"documentation/building-organizing/df.reset_index()","unlisted":false},{"type":"link","label":"df.sort_values()","href":"/bpd-reference/docs/documentation/building-organizing/df.sort_values()","docId":"documentation/building-organizing/df.sort_values()","unlisted":false},{"type":"link","label":"df.merge()","href":"/bpd-reference/docs/documentation/building-organizing/df.merge()","docId":"documentation/building-organizing/df.merge()","unlisted":false}],"href":"/bpd-reference/docs/documentation/building-organizing/"},{"type":"category","label":"Accessing Data","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"df.shape","href":"/bpd-reference/docs/documentation/accessing-data/df.shape","docId":"documentation/accessing-data/df.shape","unlisted":false},{"type":"link","label":"df.get()","href":"/bpd-reference/docs/documentation/accessing-data/df.get()","docId":"documentation/accessing-data/df.get()","unlisted":false},{"type":"link","label":"ser.loc[]","href":"/bpd-reference/docs/documentation/accessing-data/ser.loc[]","docId":"documentation/accessing-data/ser.loc[]","unlisted":false},{"type":"link","label":"ser.iloc[]","href":"/bpd-reference/docs/documentation/accessing-data/ser.iloc[]","docId":"documentation/accessing-data/ser.iloc[]","unlisted":false},{"type":"link","label":"df.index","href":"/bpd-reference/docs/documentation/accessing-data/df.index","docId":"documentation/accessing-data/df.index","unlisted":false},{"type":"link","label":"df.columns","href":"/bpd-reference/docs/documentation/accessing-data/df.columns","docId":"documentation/accessing-data/df.columns","unlisted":false},{"type":"link","label":"df.take()","href":"/bpd-reference/docs/documentation/accessing-data/df.take()","docId":"documentation/accessing-data/df.take()","unlisted":false}],"href":"/bpd-reference/docs/documentation/accessing-data/"},{"type":"category","label":"Series Methods","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ser.count()","href":"/bpd-reference/docs/documentation/series-methods/ser.count()","docId":"documentation/series-methods/ser.count()","unlisted":false},{"type":"link","label":"ser.max()","href":"/bpd-reference/docs/documentation/series-methods/ser.max()","docId":"documentation/series-methods/ser.max()","unlisted":false},{"type":"link","label":"ser.min()","href":"/bpd-reference/docs/documentation/series-methods/ser.min()","docId":"documentation/series-methods/ser.min()","unlisted":false},{"type":"link","label":"ser.sum()","href":"/bpd-reference/docs/documentation/series-methods/ser.sum()","docId":"documentation/series-methods/ser.sum()","unlisted":false},{"type":"link","label":"ser.mean()","href":"/bpd-reference/docs/documentation/series-methods/ser.mean()","docId":"documentation/series-methods/ser.mean()","unlisted":false},{"type":"link","label":"ser.median()","href":"/bpd-reference/docs/documentation/series-methods/ser.median()","docId":"documentation/series-methods/ser.median()","unlisted":false},{"type":"link","label":"ser.unique()","href":"/bpd-reference/docs/documentation/series-methods/ser.unique()","docId":"documentation/series-methods/ser.unique()","unlisted":false},{"type":"link","label":"ser.str.split()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.split()","docId":"documentation/series-methods/ser.str.split()","unlisted":false},{"type":"link","label":"ser.str.strip()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.strip()","docId":"documentation/series-methods/ser.str.strip()","unlisted":false},{"type":"link","label":"ser.str.lower()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.lower()","docId":"documentation/series-methods/ser.str.lower()","unlisted":false},{"type":"link","label":"ser.str.upper()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.upper()","docId":"documentation/series-methods/ser.str.upper()","unlisted":false},{"type":"link","label":"ser.str.capitalize()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.capitalize()","docId":"documentation/series-methods/ser.str.capitalize()","unlisted":false},{"type":"link","label":"ser.str.title()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.title()","docId":"documentation/series-methods/ser.str.title()","unlisted":false},{"type":"link","label":"ser.str.replace()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.replace()","docId":"documentation/series-methods/ser.str.replace()","unlisted":false},{"type":"link","label":"ser.str.len()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.len()","docId":"documentation/series-methods/ser.str.len()","unlisted":false},{"type":"link","label":"ser.str.contains()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.contains()","docId":"documentation/series-methods/ser.str.contains()","unlisted":false}],"href":"/bpd-reference/docs/documentation/series-methods/"},{"type":"category","label":"Arrays and NumPy","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"arr[]","href":"/bpd-reference/docs/documentation/arrays-and-numpy/arr[]","docId":"documentation/arrays-and-numpy/arr[]","unlisted":false},{"type":"link","label":"np.append()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.append()","docId":"documentation/arrays-and-numpy/np.append()","unlisted":false},{"type":"link","label":"np.arange()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.arange()","docId":"documentation/arrays-and-numpy/np.arange()","unlisted":false},{"type":"link","label":"np.count_nonzero()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.count_nonzero()","docId":"documentation/arrays-and-numpy/np.count_nonzero()","unlisted":false},{"type":"link","label":"np.percentile()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.percentile()","docId":"documentation/arrays-and-numpy/np.percentile()","unlisted":false},{"type":"link","label":"np.round()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.round()","docId":"documentation/arrays-and-numpy/np.round()","unlisted":false}],"href":"/bpd-reference/docs/documentation/arrays-and-numpy/"},{"type":"category","label":"Plotting","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Histogram","href":"/bpd-reference/docs/documentation/plotting/Histogram","docId":"documentation/plotting/Histogram","unlisted":false},{"type":"link","label":"Scatter Plot","href":"/bpd-reference/docs/documentation/plotting/Scatter Plot","docId":"documentation/plotting/Scatter Plot","unlisted":false},{"type":"link","label":"Bar Plot","href":"/bpd-reference/docs/documentation/plotting/Bar Plot","docId":"documentation/plotting/Bar Plot","unlisted":false},{"type":"link","label":"Line Plot","href":"/bpd-reference/docs/documentation/plotting/Line Plot","docId":"documentation/plotting/Line Plot","unlisted":false}],"href":"/bpd-reference/docs/documentation/plotting/"},{"type":"link","label":"for-loops","href":"/bpd-reference/docs/documentation/for-loops/","docId":"documentation/for-loops/for-loops","unlisted":false},{"type":"category","label":"if-statements","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"if-elif-else","href":"/bpd-reference/docs/documentation/if-statements/if-elif-else","docId":"documentation/if-statements/if-elif-else","unlisted":false},{"type":"link","label":"in \u2044 not in","href":"/bpd-reference/docs/documentation/if-statements/in \u2044 not in","docId":"documentation/if-statements/in \u2044 not in","unlisted":false},{"type":"link","label":"Logical Operators","href":"/bpd-reference/docs/documentation/if-statements/Logical Operators","docId":"documentation/if-statements/Logical Operators","unlisted":false}],"href":"/bpd-reference/docs/category/if-statements"},{"type":"category","label":"Data Format Conversion","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"np.array()","href":"/bpd-reference/docs/documentation/data format conversion/np.array()","docId":"documentation/data format conversion/np.array()","unlisted":false},{"type":"link","label":"list()","href":"/bpd-reference/docs/documentation/data format conversion/list()","docId":"documentation/data format conversion/list()","unlisted":false}],"href":"/bpd-reference/docs/documentation/data format conversion/"},{"type":"category","label":"Querying","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"df[]","href":"/bpd-reference/docs/documentation/querying/df[]","docId":"documentation/querying/df[]","unlisted":false}],"href":"/bpd-reference/docs/category/querying"},{"type":"category","label":"Functions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Writing Functions","href":"/bpd-reference/docs/documentation/Functions/Writing Functions","docId":"documentation/Functions/Writing Functions","unlisted":false},{"type":"link","label":"Applying Functions","href":"/bpd-reference/docs/documentation/Functions/Applying Functions","docId":"documentation/Functions/Applying Functions","unlisted":false}]},{"type":"category","label":"Grouping","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"groupby","href":"/bpd-reference/docs/documentation/Grouping/groupby","docId":"documentation/Grouping/groupby","unlisted":false},{"type":"category","label":"aggregation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"count()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/count()","docId":"documentation/Grouping/aggregation/count()","unlisted":false},{"type":"link","label":"max()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/max()","docId":"documentation/Grouping/aggregation/max()","unlisted":false},{"type":"link","label":"mean()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/mean()","docId":"documentation/Grouping/aggregation/mean()","unlisted":false},{"type":"link","label":"median()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/median()","docId":"documentation/Grouping/aggregation/median()","unlisted":false},{"type":"link","label":"min()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/min()","docId":"documentation/Grouping/aggregation/min()","unlisted":false},{"type":"link","label":"sum()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/sum()","docId":"documentation/Grouping/aggregation/sum()","unlisted":false}]}]}],"statsSidebar":[{"type":"link","label":"Intro","href":"/bpd-reference/docs/statistical-inference/intro","docId":"statistical-inference/intro","unlisted":false},{"type":"category","label":"Random Sampling","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sampling","href":"/bpd-reference/docs/statistical-inference/random sampling/sampling","docId":"statistical-inference/random sampling/sampling","unlisted":false},{"type":"link","label":"Random Choice","href":"/bpd-reference/docs/statistical-inference/random sampling/np.random.choice()","docId":"statistical-inference/random sampling/np.random.choice()","unlisted":false},{"type":"link","label":"Random Multinomial","href":"/bpd-reference/docs/statistical-inference/random sampling/np.random.multinomial()","docId":"statistical-inference/random sampling/np.random.multinomial()","unlisted":false},{"type":"link","label":"Random Permutation","href":"/bpd-reference/docs/statistical-inference/random sampling/np.random.permutation()","docId":"statistical-inference/random sampling/np.random.permutation()","unlisted":false},{"type":"link","label":"Sample","href":"/bpd-reference/docs/statistical-inference/random sampling/df.sample()","docId":"statistical-inference/random sampling/df.sample()","unlisted":false}]},{"type":"link","label":"Parameters and Statistics","href":"/bpd-reference/docs/statistical-inference/parameters-and-statistics","docId":"statistical-inference/parameters-and-statistics","unlisted":false},{"type":"link","label":"Null & Alternative Hypothesis","href":"/bpd-reference/docs/statistical-inference/null_and_alt","docId":"statistical-inference/null_and_alt","unlisted":false},{"type":"link","label":"Observed & Test Statistic","href":"/bpd-reference/docs/statistical-inference/obs_and_test_stats","docId":"statistical-inference/obs_and_test_stats","unlisted":false},{"type":"link","label":"P-value","href":"/bpd-reference/docs/statistical-inference/p_value","docId":"statistical-inference/p_value","unlisted":false},{"type":"link","label":"Hypothesis Test","href":"/bpd-reference/docs/statistical-inference/hypothesis_test","docId":"statistical-inference/hypothesis_test","unlisted":false},{"type":"link","label":"Boostrapping and Confidence Intervals","href":"/bpd-reference/docs/statistical-inference/bootstrapping","docId":"statistical-inference/bootstrapping","unlisted":false},{"type":"category","label":"Concept Check","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Hypothesis Test vs. Permutation Test","href":"/bpd-reference/docs/statistical-inference/concept check/hypothesis_vs_permutation","docId":"statistical-inference/concept check/hypothesis_vs_permutation","unlisted":false}]},{"type":"link","label":"Permutation Test","href":"/bpd-reference/docs/statistical-inference/permutation_test","docId":"statistical-inference/permutation_test","unlisted":false},{"type":"link","label":"Standard Units, Correlation, Regression","href":"/bpd-reference/docs/statistical-inference/standard_units","docId":"statistical-inference/standard_units","unlisted":false},{"type":"link","label":"The Standard Normal Distribution","href":"/bpd-reference/docs/statistical-inference/standard_normal_distribution","docId":"statistical-inference/standard_normal_distribution","unlisted":false},{"type":"link","label":"The Central Limit Theorem","href":"/bpd-reference/docs/statistical-inference/central_limit_theorem","docId":"statistical-inference/central_limit_theorem","unlisted":false}]},"docs":{"documentation/accessing-data/df.columns":{"id":"documentation/accessing-data/df.columns","title":"df.columns","description":"df.columns","sidebar":"docsSidebar"},"documentation/accessing-data/df.get()":{"id":"documentation/accessing-data/df.get()","title":"df.get()","description":"df.get(columnname)ordf.get([col1name, ..., colk_name])","sidebar":"docsSidebar"},"documentation/accessing-data/df.index":{"id":"documentation/accessing-data/df.index","title":"df.index","description":"df.index","sidebar":"docsSidebar"},"documentation/accessing-data/df.shape":{"id":"documentation/accessing-data/df.shape","title":"df.shape","description":"df.shape","sidebar":"docsSidebar"},"documentation/accessing-data/df.take()":{"id":"documentation/accessing-data/df.take()","title":"df.take()","description":"df.take(indices)","sidebar":"docsSidebar"},"documentation/accessing-data/index":{"id":"documentation/accessing-data/index","title":"Accessing Data","description":"df.shape","sidebar":"docsSidebar"},"documentation/accessing-data/ser.iloc[]":{"id":"documentation/accessing-data/ser.iloc[]","title":"ser.iloc[]","description":"ser.iloc[position]","sidebar":"docsSidebar"},"documentation/accessing-data/ser.loc[]":{"id":"documentation/accessing-data/ser.loc[]","title":"ser.loc[]","description":"ser.loc[label]","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/arr[]":{"id":"documentation/arrays-and-numpy/arr[]","title":"arr[]","description":"arr[index]","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/index":{"id":"documentation/arrays-and-numpy/index","title":"Arrays and NumPy","description":"Functions/methods for working with Arrays and NumPy.","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.append()":{"id":"documentation/arrays-and-numpy/np.append()","title":"np.append()","description":"np.append(arr, value)","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.arange()":{"id":"documentation/arrays-and-numpy/np.arange()","title":"np.arange()","description":"np.arange(start, stop, step)","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.count_nonzero()":{"id":"documentation/arrays-and-numpy/np.count_nonzero()","title":"np.count_nonzero()","description":"np.count_nonzero(arr)","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.percentile()":{"id":"documentation/arrays-and-numpy/np.percentile()","title":"np.percentile()","description":"np.percentile(arr, p)","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.round()":{"id":"documentation/arrays-and-numpy/np.round()","title":"np.round()","description":"np.round(arr, decimals)","sidebar":"docsSidebar"},"documentation/building-organizing/bpd.DataFrame()":{"id":"documentation/building-organizing/bpd.DataFrame()","title":"bpd.DataFrame()","description":"bpd.DataFrame()","sidebar":"docsSidebar"},"documentation/building-organizing/bpd.read_csv()":{"id":"documentation/building-organizing/bpd.read_csv()","title":"bpd.read_csv()","description":"bpd.read_csv(filepath)","sidebar":"docsSidebar"},"documentation/building-organizing/df.assign()":{"id":"documentation/building-organizing/df.assign()","title":"df.assign()","description":"df.assign(nameofcolumn=column_data)","sidebar":"docsSidebar"},"documentation/building-organizing/df.drop()":{"id":"documentation/building-organizing/df.drop()","title":"df.drop()","description":"df.drop(columns=columnname or [col1name, ..., colk_name])","sidebar":"docsSidebar"},"documentation/building-organizing/df.merge()":{"id":"documentation/building-organizing/df.merge()","title":"df.merge()","description":"df.merge(right, on=column, lefton=leftcolumn, righton=rightcolumn, leftindex=False, rightindex=False)","sidebar":"docsSidebar"},"documentation/building-organizing/df.reset_index()":{"id":"documentation/building-organizing/df.reset_index()","title":"df.reset_index()","description":"df.reset_index(drop=False)","sidebar":"docsSidebar"},"documentation/building-organizing/df.set_index()":{"id":"documentation/building-organizing/df.set_index()","title":"df.set_index()","description":"df.setindex(columnname)","sidebar":"docsSidebar"},"documentation/building-organizing/df.sort_values()":{"id":"documentation/building-organizing/df.sort_values()","title":"df.sort_values()","description":"df.sortvalues(by=columnname, ascending=True)","sidebar":"docsSidebar"},"documentation/building-organizing/index":{"id":"documentation/building-organizing/index","title":"Building and Organizing DataFrames","description":"Each function/method creates a new DataFrame. Remember to save it!","sidebar":"docsSidebar"},"documentation/data format conversion/index":{"id":"documentation/data format conversion/index","title":"Data Format Conversion","description":"Converting things to arrays!","sidebar":"docsSidebar"},"documentation/data format conversion/list()":{"id":"documentation/data format conversion/list()","title":"list()","description":"list(arr)","sidebar":"docsSidebar"},"documentation/data format conversion/np.array()":{"id":"documentation/data format conversion/np.array()","title":"np.array()","description":"np.array(input)","sidebar":"docsSidebar"},"documentation/for-loops/for-loops":{"id":"documentation/for-loops/for-loops","title":"for-loops","description":"for \\\\ in \\\\:","sidebar":"docsSidebar"},"documentation/Functions/Applying Functions":{"id":"documentation/Functions/Applying Functions","title":"Applying Functions","description":"df.get(columnname).apply(functionname)","sidebar":"docsSidebar"},"documentation/Functions/Writing Functions":{"id":"documentation/Functions/Writing Functions","title":"Writing Functions","description":"def function_name(parameters):","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/count()":{"id":"documentation/Grouping/aggregation/count()","title":"count()","description":"df.groupby(column_name).count()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/max()":{"id":"documentation/Grouping/aggregation/max()","title":"max()","description":"df.groupby(column_name).max()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/mean()":{"id":"documentation/Grouping/aggregation/mean()","title":"mean()","description":"df.groupby(column_name).mean()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/median()":{"id":"documentation/Grouping/aggregation/median()","title":"median()","description":"df.groupby(column_name).median()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/min()":{"id":"documentation/Grouping/aggregation/min()","title":"min()","description":"df.groupby(column_name).min()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/sum()":{"id":"documentation/Grouping/aggregation/sum()","title":"sum()","description":"df.groupby(column_name).sum()","sidebar":"docsSidebar"},"documentation/Grouping/groupby":{"id":"documentation/Grouping/groupby","title":"groupby","description":"df.groupby(columnname)ordf.groupby([columnnames])","sidebar":"docsSidebar"},"documentation/if-statements/if-elif-else":{"id":"documentation/if-statements/if-elif-else","title":"if-elif-else","description":"Conditionally execute code. The elif and else blocks are optional.","sidebar":"docsSidebar"},"documentation/if-statements/in \u2044 not in":{"id":"documentation/if-statements/in \u2044 not in","title":"in \u2044 not in","description":"Checks for membership of object within a sequence.","sidebar":"docsSidebar"},"documentation/if-statements/Logical Operators":{"id":"documentation/if-statements/Logical Operators","title":"Logical Operators","description":"Allows for multiple conditions to be combined at the same time.","sidebar":"docsSidebar"},"documentation/intro":{"id":"documentation/intro","title":"intro","description":"Assumption: Assume that df is a DataFrame, ser is a Series, arr is an array, and we already run import babypandas as bpd and import numpy as np.","sidebar":"docsSidebar"},"documentation/plotting/Bar Plot":{"id":"documentation/plotting/Bar Plot","title":"Bar Plot","description":"df.plot(kind=\'bar\', x=datacol, y=datacol)","sidebar":"docsSidebar"},"documentation/plotting/Histogram":{"id":"documentation/plotting/Histogram","title":"Histogram","description":"df.plot(kind=\'hist\', y=datacol, bins=thebins, density=True, ec=\'w\')","sidebar":"docsSidebar"},"documentation/plotting/index":{"id":"documentation/plotting/index","title":"Plotting","description":"Plotting and visualization of DataFrames.","sidebar":"docsSidebar"},"documentation/plotting/Line Plot":{"id":"documentation/plotting/Line Plot","title":"Line Plot","description":"df.plot(kind=\'line\', x = datacol, y=datacol)","sidebar":"docsSidebar"},"documentation/plotting/Scatter Plot":{"id":"documentation/plotting/Scatter Plot","title":"Scatter Plot","description":"df.plot(kind=\'scatter\', x=datacol, y=datacol)","sidebar":"docsSidebar"},"documentation/querying/df[]":{"id":"documentation/querying/df[]","title":"df[]","description":"df[condition]","sidebar":"docsSidebar"},"documentation/series-methods/index":{"id":"documentation/series-methods/index","title":"Series Methods","description":"Methods that can be performed on a Series.","sidebar":"docsSidebar"},"documentation/series-methods/ser.count()":{"id":"documentation/series-methods/ser.count()","title":"ser.count()","description":"ser.count()","sidebar":"docsSidebar"},"documentation/series-methods/ser.max()":{"id":"documentation/series-methods/ser.max()","title":"ser.max()","description":"ser.max()","sidebar":"docsSidebar"},"documentation/series-methods/ser.mean()":{"id":"documentation/series-methods/ser.mean()","title":"ser.mean()","description":"ser.mean()","sidebar":"docsSidebar"},"documentation/series-methods/ser.median()":{"id":"documentation/series-methods/ser.median()","title":"ser.median()","description":"ser.median()","sidebar":"docsSidebar"},"documentation/series-methods/ser.min()":{"id":"documentation/series-methods/ser.min()","title":"ser.min()","description":"ser.min()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.capitalize()":{"id":"documentation/series-methods/ser.str.capitalize()","title":"ser.str.capitalize()","description":"ser.str.capitalize()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.contains()":{"id":"documentation/series-methods/ser.str.contains()","title":"ser.str.contains()","description":"ser.str.contains(substring)","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.len()":{"id":"documentation/series-methods/ser.str.len()","title":"ser.str.len()","description":"ser.str.len()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.lower()":{"id":"documentation/series-methods/ser.str.lower()","title":"ser.str.lower()","description":"ser.str.lower()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.replace()":{"id":"documentation/series-methods/ser.str.replace()","title":"ser.str.replace()","description":"ser.str.replace(old, new)","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.split()":{"id":"documentation/series-methods/ser.str.split()","title":"ser.str.split()","description":"ser.str.split(pat = None)","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.strip()":{"id":"documentation/series-methods/ser.str.strip()","title":"ser.str.strip()","description":"ser.str.strip(to_strip = None)","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.title()":{"id":"documentation/series-methods/ser.str.title()","title":"ser.str.title()","description":"ser.str.title()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.upper()":{"id":"documentation/series-methods/ser.str.upper()","title":"ser.str.upper()","description":"ser.str.upper()","sidebar":"docsSidebar"},"documentation/series-methods/ser.sum()":{"id":"documentation/series-methods/ser.sum()","title":"ser.sum()","description":"ser.sum()","sidebar":"docsSidebar"},"documentation/series-methods/ser.unique()":{"id":"documentation/series-methods/ser.unique()","title":"ser.unique()","description":"ser.unique()","sidebar":"docsSidebar"},"statistical-inference/bootstrapping":{"id":"statistical-inference/bootstrapping","title":"Bootstrapping and Confidence Intervals","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/central_limit_theorem":{"id":"statistical-inference/central_limit_theorem","title":"The Central Limit Theorem","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/concept check/hypothesis_vs_permutation":{"id":"statistical-inference/concept check/hypothesis_vs_permutation","title":"Hypothesis Test vs. Permutation Test","description":"Difference","sidebar":"statsSidebar"},"statistical-inference/hypothesis_test":{"id":"statistical-inference/hypothesis_test","title":"Hypothesis Test","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/intro":{"id":"statistical-inference/intro","title":"intro","description":"Assumption: Assume that df is a DataFrame, ser is a Series, arr is an array, and we already run import babypandas as bpd and import numpy as np.","sidebar":"statsSidebar"},"statistical-inference/null_and_alt":{"id":"statistical-inference/null_and_alt","title":"Null & Alternative Hypothesis","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/obs_and_test_stats":{"id":"statistical-inference/obs_and_test_stats","title":"Observed & Test Statistic","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/p_value":{"id":"statistical-inference/p_value","title":"P-value","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/parameters-and-statistics":{"id":"statistical-inference/parameters-and-statistics","title":"Parameters and Statistics","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/permutation_test":{"id":"statistical-inference/permutation_test","title":"Permutation Test","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/random sampling/df.sample()":{"id":"statistical-inference/random sampling/df.sample()","title":"Sample","description":"df.sample(n, replace=False)","sidebar":"statsSidebar"},"statistical-inference/random sampling/np.random.choice()":{"id":"statistical-inference/random sampling/np.random.choice()","title":"Random Choice","description":"np.random.choice(arr, size, replace=True, p=[p0, p1, ...])","sidebar":"statsSidebar"},"statistical-inference/random sampling/np.random.multinomial()":{"id":"statistical-inference/random sampling/np.random.multinomial()","title":"Random Multinomial","description":"np.random.multinomial(n, [p0, p1, p_2, ...])","sidebar":"statsSidebar"},"statistical-inference/random sampling/np.random.permutation()":{"id":"statistical-inference/random sampling/np.random.permutation()","title":"Random Permutation","description":"np.random.permutation(arr)","sidebar":"statsSidebar"},"statistical-inference/random sampling/sampling":{"id":"statistical-inference/random sampling/sampling","title":"Sampling","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/standard_normal_distribution":{"id":"statistical-inference/standard_normal_distribution","title":"The Standard Normal Distribution","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/standard_units":{"id":"statistical-inference/standard_units","title":"Standard Units, Correlation, Regression","description":"Concept","sidebar":"statsSidebar"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[8581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docsSidebar":[{"type":"link","label":"Intro","href":"/bpd-reference/docs/documentation/intro","docId":"documentation/intro","unlisted":false},{"type":"category","label":"Building and Organizing DataFrames","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"bpd.DataFrame()","href":"/bpd-reference/docs/documentation/building-organizing/bpd.DataFrame()","docId":"documentation/building-organizing/bpd.DataFrame()","unlisted":false},{"type":"link","label":"bpd.read_csv()","href":"/bpd-reference/docs/documentation/building-organizing/bpd.read_csv()","docId":"documentation/building-organizing/bpd.read_csv()","unlisted":false},{"type":"link","label":"df.assign()","href":"/bpd-reference/docs/documentation/building-organizing/df.assign()","docId":"documentation/building-organizing/df.assign()","unlisted":false},{"type":"link","label":"df.drop()","href":"/bpd-reference/docs/documentation/building-organizing/df.drop()","docId":"documentation/building-organizing/df.drop()","unlisted":false},{"type":"link","label":"df.set_index()","href":"/bpd-reference/docs/documentation/building-organizing/df.set_index()","docId":"documentation/building-organizing/df.set_index()","unlisted":false},{"type":"link","label":"df.reset_index()","href":"/bpd-reference/docs/documentation/building-organizing/df.reset_index()","docId":"documentation/building-organizing/df.reset_index()","unlisted":false},{"type":"link","label":"df.sort_values()","href":"/bpd-reference/docs/documentation/building-organizing/df.sort_values()","docId":"documentation/building-organizing/df.sort_values()","unlisted":false},{"type":"link","label":"df.merge()","href":"/bpd-reference/docs/documentation/building-organizing/df.merge()","docId":"documentation/building-organizing/df.merge()","unlisted":false}],"href":"/bpd-reference/docs/documentation/building-organizing/"},{"type":"category","label":"Accessing Data","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"df.shape","href":"/bpd-reference/docs/documentation/accessing-data/df.shape","docId":"documentation/accessing-data/df.shape","unlisted":false},{"type":"link","label":"df.get()","href":"/bpd-reference/docs/documentation/accessing-data/df.get()","docId":"documentation/accessing-data/df.get()","unlisted":false},{"type":"link","label":"ser.loc[]","href":"/bpd-reference/docs/documentation/accessing-data/ser.loc[]","docId":"documentation/accessing-data/ser.loc[]","unlisted":false},{"type":"link","label":"ser.iloc[]","href":"/bpd-reference/docs/documentation/accessing-data/ser.iloc[]","docId":"documentation/accessing-data/ser.iloc[]","unlisted":false},{"type":"link","label":"df.index","href":"/bpd-reference/docs/documentation/accessing-data/df.index","docId":"documentation/accessing-data/df.index","unlisted":false},{"type":"link","label":"df.columns","href":"/bpd-reference/docs/documentation/accessing-data/df.columns","docId":"documentation/accessing-data/df.columns","unlisted":false},{"type":"link","label":"df.take()","href":"/bpd-reference/docs/documentation/accessing-data/df.take()","docId":"documentation/accessing-data/df.take()","unlisted":false}],"href":"/bpd-reference/docs/documentation/accessing-data/"},{"type":"category","label":"Series Methods","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ser.count()","href":"/bpd-reference/docs/documentation/series-methods/ser.count()","docId":"documentation/series-methods/ser.count()","unlisted":false},{"type":"link","label":"ser.max()","href":"/bpd-reference/docs/documentation/series-methods/ser.max()","docId":"documentation/series-methods/ser.max()","unlisted":false},{"type":"link","label":"ser.min()","href":"/bpd-reference/docs/documentation/series-methods/ser.min()","docId":"documentation/series-methods/ser.min()","unlisted":false},{"type":"link","label":"ser.sum()","href":"/bpd-reference/docs/documentation/series-methods/ser.sum()","docId":"documentation/series-methods/ser.sum()","unlisted":false},{"type":"link","label":"ser.mean()","href":"/bpd-reference/docs/documentation/series-methods/ser.mean()","docId":"documentation/series-methods/ser.mean()","unlisted":false},{"type":"link","label":"ser.median()","href":"/bpd-reference/docs/documentation/series-methods/ser.median()","docId":"documentation/series-methods/ser.median()","unlisted":false},{"type":"link","label":"ser.unique()","href":"/bpd-reference/docs/documentation/series-methods/ser.unique()","docId":"documentation/series-methods/ser.unique()","unlisted":false},{"type":"link","label":"ser.str.split()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.split()","docId":"documentation/series-methods/ser.str.split()","unlisted":false},{"type":"link","label":"ser.str.strip()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.strip()","docId":"documentation/series-methods/ser.str.strip()","unlisted":false},{"type":"link","label":"ser.str.lower()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.lower()","docId":"documentation/series-methods/ser.str.lower()","unlisted":false},{"type":"link","label":"ser.str.upper()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.upper()","docId":"documentation/series-methods/ser.str.upper()","unlisted":false},{"type":"link","label":"ser.str.capitalize()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.capitalize()","docId":"documentation/series-methods/ser.str.capitalize()","unlisted":false},{"type":"link","label":"ser.str.title()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.title()","docId":"documentation/series-methods/ser.str.title()","unlisted":false},{"type":"link","label":"ser.str.replace()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.replace()","docId":"documentation/series-methods/ser.str.replace()","unlisted":false},{"type":"link","label":"ser.str.len()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.len()","docId":"documentation/series-methods/ser.str.len()","unlisted":false},{"type":"link","label":"ser.str.contains()","href":"/bpd-reference/docs/documentation/series-methods/ser.str.contains()","docId":"documentation/series-methods/ser.str.contains()","unlisted":false}],"href":"/bpd-reference/docs/documentation/series-methods/"},{"type":"category","label":"Arrays and NumPy","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"arr[]","href":"/bpd-reference/docs/documentation/arrays-and-numpy/arr[]","docId":"documentation/arrays-and-numpy/arr[]","unlisted":false},{"type":"link","label":"np.append()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.append()","docId":"documentation/arrays-and-numpy/np.append()","unlisted":false},{"type":"link","label":"np.arange()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.arange()","docId":"documentation/arrays-and-numpy/np.arange()","unlisted":false},{"type":"link","label":"np.count_nonzero()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.count_nonzero()","docId":"documentation/arrays-and-numpy/np.count_nonzero()","unlisted":false},{"type":"link","label":"np.percentile()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.percentile()","docId":"documentation/arrays-and-numpy/np.percentile()","unlisted":false},{"type":"link","label":"np.round()","href":"/bpd-reference/docs/documentation/arrays-and-numpy/np.round()","docId":"documentation/arrays-and-numpy/np.round()","unlisted":false}],"href":"/bpd-reference/docs/documentation/arrays-and-numpy/"},{"type":"category","label":"Plotting","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Histogram","href":"/bpd-reference/docs/documentation/plotting/Histogram","docId":"documentation/plotting/Histogram","unlisted":false},{"type":"link","label":"Scatter Plot","href":"/bpd-reference/docs/documentation/plotting/Scatter Plot","docId":"documentation/plotting/Scatter Plot","unlisted":false},{"type":"link","label":"Bar Plot","href":"/bpd-reference/docs/documentation/plotting/Bar Plot","docId":"documentation/plotting/Bar Plot","unlisted":false},{"type":"link","label":"Line Plot","href":"/bpd-reference/docs/documentation/plotting/Line Plot","docId":"documentation/plotting/Line Plot","unlisted":false}],"href":"/bpd-reference/docs/documentation/plotting/"},{"type":"link","label":"for-loops","href":"/bpd-reference/docs/documentation/for-loops/","docId":"documentation/for-loops/for-loops","unlisted":false},{"type":"category","label":"if-statements","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"if-elif-else","href":"/bpd-reference/docs/documentation/if-statements/if-elif-else","docId":"documentation/if-statements/if-elif-else","unlisted":false},{"type":"link","label":"in \u2044 not in","href":"/bpd-reference/docs/documentation/if-statements/in \u2044 not in","docId":"documentation/if-statements/in \u2044 not in","unlisted":false},{"type":"link","label":"Logical Operators","href":"/bpd-reference/docs/documentation/if-statements/Logical Operators","docId":"documentation/if-statements/Logical Operators","unlisted":false}],"href":"/bpd-reference/docs/category/if-statements"},{"type":"category","label":"Data Format Conversion","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"np.array()","href":"/bpd-reference/docs/documentation/data format conversion/np.array()","docId":"documentation/data format conversion/np.array()","unlisted":false},{"type":"link","label":"list()","href":"/bpd-reference/docs/documentation/data format conversion/list()","docId":"documentation/data format conversion/list()","unlisted":false}],"href":"/bpd-reference/docs/documentation/data format conversion/"},{"type":"category","label":"Querying","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"df[]","href":"/bpd-reference/docs/documentation/querying/df[]","docId":"documentation/querying/df[]","unlisted":false}],"href":"/bpd-reference/docs/category/querying"},{"type":"category","label":"Functions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Writing Functions","href":"/bpd-reference/docs/documentation/Functions/Writing Functions","docId":"documentation/Functions/Writing Functions","unlisted":false},{"type":"link","label":"Applying Functions","href":"/bpd-reference/docs/documentation/Functions/Applying Functions","docId":"documentation/Functions/Applying Functions","unlisted":false}]},{"type":"category","label":"Grouping","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"groupby","href":"/bpd-reference/docs/documentation/Grouping/groupby","docId":"documentation/Grouping/groupby","unlisted":false},{"type":"category","label":"aggregation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"count()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/count()","docId":"documentation/Grouping/aggregation/count()","unlisted":false},{"type":"link","label":"max()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/max()","docId":"documentation/Grouping/aggregation/max()","unlisted":false},{"type":"link","label":"mean()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/mean()","docId":"documentation/Grouping/aggregation/mean()","unlisted":false},{"type":"link","label":"median()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/median()","docId":"documentation/Grouping/aggregation/median()","unlisted":false},{"type":"link","label":"min()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/min()","docId":"documentation/Grouping/aggregation/min()","unlisted":false},{"type":"link","label":"sum()","href":"/bpd-reference/docs/documentation/Grouping/aggregation/sum()","docId":"documentation/Grouping/aggregation/sum()","unlisted":false}]}]}],"statsSidebar":[{"type":"link","label":"Intro","href":"/bpd-reference/docs/statistical-inference/intro","docId":"statistical-inference/intro","unlisted":false},{"type":"category","label":"Random Sampling","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sampling","href":"/bpd-reference/docs/statistical-inference/random sampling/sampling","docId":"statistical-inference/random sampling/sampling","unlisted":false},{"type":"link","label":"Random Choice","href":"/bpd-reference/docs/statistical-inference/random sampling/np.random.choice()","docId":"statistical-inference/random sampling/np.random.choice()","unlisted":false},{"type":"link","label":"Random Multinomial","href":"/bpd-reference/docs/statistical-inference/random sampling/np.random.multinomial()","docId":"statistical-inference/random sampling/np.random.multinomial()","unlisted":false},{"type":"link","label":"Random Permutation","href":"/bpd-reference/docs/statistical-inference/random sampling/np.random.permutation()","docId":"statistical-inference/random sampling/np.random.permutation()","unlisted":false},{"type":"link","label":"Sample","href":"/bpd-reference/docs/statistical-inference/random sampling/df.sample()","docId":"statistical-inference/random sampling/df.sample()","unlisted":false}]},{"type":"link","label":"Parameters and Statistics","href":"/bpd-reference/docs/statistical-inference/parameters-and-statistics","docId":"statistical-inference/parameters-and-statistics","unlisted":false},{"type":"link","label":"Null & Alternative Hypothesis","href":"/bpd-reference/docs/statistical-inference/null_and_alt","docId":"statistical-inference/null_and_alt","unlisted":false},{"type":"link","label":"Observed & Test Statistic","href":"/bpd-reference/docs/statistical-inference/obs_and_test_stats","docId":"statistical-inference/obs_and_test_stats","unlisted":false},{"type":"link","label":"P-value","href":"/bpd-reference/docs/statistical-inference/p_value","docId":"statistical-inference/p_value","unlisted":false},{"type":"link","label":"Hypothesis Test","href":"/bpd-reference/docs/statistical-inference/hypothesis_test","docId":"statistical-inference/hypothesis_test","unlisted":false},{"type":"link","label":"Boostrapping and Confidence Intervals","href":"/bpd-reference/docs/statistical-inference/bootstrapping","docId":"statistical-inference/bootstrapping","unlisted":false},{"type":"link","label":"Permutation Test","href":"/bpd-reference/docs/statistical-inference/permutation_test","docId":"statistical-inference/permutation_test","unlisted":false},{"type":"link","label":"Standard Units, Correlation, Regression","href":"/bpd-reference/docs/statistical-inference/standard_units","docId":"statistical-inference/standard_units","unlisted":false},{"type":"link","label":"The Standard Normal Distribution","href":"/bpd-reference/docs/statistical-inference/standard_normal_distribution","docId":"statistical-inference/standard_normal_distribution","unlisted":false},{"type":"link","label":"The Central Limit Theorem","href":"/bpd-reference/docs/statistical-inference/central_limit_theorem","docId":"statistical-inference/central_limit_theorem","unlisted":false},{"type":"category","label":"Concept Check","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Hypothesis Test vs. Permutation Test","href":"/bpd-reference/docs/statistical-inference/concept check/hypothesis_vs_permutation","docId":"statistical-inference/concept check/hypothesis_vs_permutation","unlisted":false}]}]},"docs":{"documentation/accessing-data/df.columns":{"id":"documentation/accessing-data/df.columns","title":"df.columns","description":"df.columns","sidebar":"docsSidebar"},"documentation/accessing-data/df.get()":{"id":"documentation/accessing-data/df.get()","title":"df.get()","description":"df.get(columnname)ordf.get([col1name, ..., colk_name])","sidebar":"docsSidebar"},"documentation/accessing-data/df.index":{"id":"documentation/accessing-data/df.index","title":"df.index","description":"df.index","sidebar":"docsSidebar"},"documentation/accessing-data/df.shape":{"id":"documentation/accessing-data/df.shape","title":"df.shape","description":"df.shape","sidebar":"docsSidebar"},"documentation/accessing-data/df.take()":{"id":"documentation/accessing-data/df.take()","title":"df.take()","description":"df.take(indices)","sidebar":"docsSidebar"},"documentation/accessing-data/index":{"id":"documentation/accessing-data/index","title":"Accessing Data","description":"df.shape","sidebar":"docsSidebar"},"documentation/accessing-data/ser.iloc[]":{"id":"documentation/accessing-data/ser.iloc[]","title":"ser.iloc[]","description":"ser.iloc[position]","sidebar":"docsSidebar"},"documentation/accessing-data/ser.loc[]":{"id":"documentation/accessing-data/ser.loc[]","title":"ser.loc[]","description":"ser.loc[label]","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/arr[]":{"id":"documentation/arrays-and-numpy/arr[]","title":"arr[]","description":"arr[index]","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/index":{"id":"documentation/arrays-and-numpy/index","title":"Arrays and NumPy","description":"Functions/methods for working with Arrays and NumPy.","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.append()":{"id":"documentation/arrays-and-numpy/np.append()","title":"np.append()","description":"np.append(arr, value)","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.arange()":{"id":"documentation/arrays-and-numpy/np.arange()","title":"np.arange()","description":"np.arange(start, stop, step)","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.count_nonzero()":{"id":"documentation/arrays-and-numpy/np.count_nonzero()","title":"np.count_nonzero()","description":"np.count_nonzero(arr)","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.percentile()":{"id":"documentation/arrays-and-numpy/np.percentile()","title":"np.percentile()","description":"np.percentile(arr, p)","sidebar":"docsSidebar"},"documentation/arrays-and-numpy/np.round()":{"id":"documentation/arrays-and-numpy/np.round()","title":"np.round()","description":"np.round(arr, decimals)","sidebar":"docsSidebar"},"documentation/building-organizing/bpd.DataFrame()":{"id":"documentation/building-organizing/bpd.DataFrame()","title":"bpd.DataFrame()","description":"bpd.DataFrame()","sidebar":"docsSidebar"},"documentation/building-organizing/bpd.read_csv()":{"id":"documentation/building-organizing/bpd.read_csv()","title":"bpd.read_csv()","description":"bpd.read_csv(filepath)","sidebar":"docsSidebar"},"documentation/building-organizing/df.assign()":{"id":"documentation/building-organizing/df.assign()","title":"df.assign()","description":"df.assign(nameofcolumn=column_data)","sidebar":"docsSidebar"},"documentation/building-organizing/df.drop()":{"id":"documentation/building-organizing/df.drop()","title":"df.drop()","description":"df.drop(columns=columnname or [col1name, ..., colk_name])","sidebar":"docsSidebar"},"documentation/building-organizing/df.merge()":{"id":"documentation/building-organizing/df.merge()","title":"df.merge()","description":"df.merge(right, on=column, lefton=leftcolumn, righton=rightcolumn, leftindex=False, rightindex=False)","sidebar":"docsSidebar"},"documentation/building-organizing/df.reset_index()":{"id":"documentation/building-organizing/df.reset_index()","title":"df.reset_index()","description":"df.reset_index(drop=False)","sidebar":"docsSidebar"},"documentation/building-organizing/df.set_index()":{"id":"documentation/building-organizing/df.set_index()","title":"df.set_index()","description":"df.setindex(columnname)","sidebar":"docsSidebar"},"documentation/building-organizing/df.sort_values()":{"id":"documentation/building-organizing/df.sort_values()","title":"df.sort_values()","description":"df.sortvalues(by=columnname, ascending=True)","sidebar":"docsSidebar"},"documentation/building-organizing/index":{"id":"documentation/building-organizing/index","title":"Building and Organizing DataFrames","description":"Each function/method creates a new DataFrame. Remember to save it!","sidebar":"docsSidebar"},"documentation/data format conversion/index":{"id":"documentation/data format conversion/index","title":"Data Format Conversion","description":"Converting things to arrays!","sidebar":"docsSidebar"},"documentation/data format conversion/list()":{"id":"documentation/data format conversion/list()","title":"list()","description":"list(arr)","sidebar":"docsSidebar"},"documentation/data format conversion/np.array()":{"id":"documentation/data format conversion/np.array()","title":"np.array()","description":"np.array(input)","sidebar":"docsSidebar"},"documentation/for-loops/for-loops":{"id":"documentation/for-loops/for-loops","title":"for-loops","description":"for \\\\ in \\\\:","sidebar":"docsSidebar"},"documentation/Functions/Applying Functions":{"id":"documentation/Functions/Applying Functions","title":"Applying Functions","description":"df.get(columnname).apply(functionname)","sidebar":"docsSidebar"},"documentation/Functions/Writing Functions":{"id":"documentation/Functions/Writing Functions","title":"Writing Functions","description":"def function_name(parameters):","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/count()":{"id":"documentation/Grouping/aggregation/count()","title":"count()","description":"df.groupby(column_name).count()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/max()":{"id":"documentation/Grouping/aggregation/max()","title":"max()","description":"df.groupby(column_name).max()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/mean()":{"id":"documentation/Grouping/aggregation/mean()","title":"mean()","description":"df.groupby(column_name).mean()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/median()":{"id":"documentation/Grouping/aggregation/median()","title":"median()","description":"df.groupby(column_name).median()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/min()":{"id":"documentation/Grouping/aggregation/min()","title":"min()","description":"df.groupby(column_name).min()","sidebar":"docsSidebar"},"documentation/Grouping/aggregation/sum()":{"id":"documentation/Grouping/aggregation/sum()","title":"sum()","description":"df.groupby(column_name).sum()","sidebar":"docsSidebar"},"documentation/Grouping/groupby":{"id":"documentation/Grouping/groupby","title":"groupby","description":"df.groupby(columnname)ordf.groupby([columnnames])","sidebar":"docsSidebar"},"documentation/if-statements/if-elif-else":{"id":"documentation/if-statements/if-elif-else","title":"if-elif-else","description":"Conditionally execute code. The elif and else blocks are optional.","sidebar":"docsSidebar"},"documentation/if-statements/in \u2044 not in":{"id":"documentation/if-statements/in \u2044 not in","title":"in \u2044 not in","description":"Checks for membership of object within a sequence.","sidebar":"docsSidebar"},"documentation/if-statements/Logical Operators":{"id":"documentation/if-statements/Logical Operators","title":"Logical Operators","description":"Allows for multiple conditions to be combined at the same time.","sidebar":"docsSidebar"},"documentation/intro":{"id":"documentation/intro","title":"intro","description":"Assumption: Assume that df is a DataFrame, ser is a Series, arr is an array, and we already run import babypandas as bpd and import numpy as np.","sidebar":"docsSidebar"},"documentation/plotting/Bar Plot":{"id":"documentation/plotting/Bar Plot","title":"Bar Plot","description":"df.plot(kind=\'bar\', x=datacol, y=datacol)","sidebar":"docsSidebar"},"documentation/plotting/Histogram":{"id":"documentation/plotting/Histogram","title":"Histogram","description":"df.plot(kind=\'hist\', y=datacol, bins=thebins, density=True, ec=\'w\')","sidebar":"docsSidebar"},"documentation/plotting/index":{"id":"documentation/plotting/index","title":"Plotting","description":"Plotting and visualization of DataFrames.","sidebar":"docsSidebar"},"documentation/plotting/Line Plot":{"id":"documentation/plotting/Line Plot","title":"Line Plot","description":"df.plot(kind=\'line\', x = datacol, y=datacol)","sidebar":"docsSidebar"},"documentation/plotting/Scatter Plot":{"id":"documentation/plotting/Scatter Plot","title":"Scatter Plot","description":"df.plot(kind=\'scatter\', x=datacol, y=datacol)","sidebar":"docsSidebar"},"documentation/querying/df[]":{"id":"documentation/querying/df[]","title":"df[]","description":"df[condition]","sidebar":"docsSidebar"},"documentation/series-methods/index":{"id":"documentation/series-methods/index","title":"Series Methods","description":"Methods that can be performed on a Series.","sidebar":"docsSidebar"},"documentation/series-methods/ser.count()":{"id":"documentation/series-methods/ser.count()","title":"ser.count()","description":"ser.count()","sidebar":"docsSidebar"},"documentation/series-methods/ser.max()":{"id":"documentation/series-methods/ser.max()","title":"ser.max()","description":"ser.max()","sidebar":"docsSidebar"},"documentation/series-methods/ser.mean()":{"id":"documentation/series-methods/ser.mean()","title":"ser.mean()","description":"ser.mean()","sidebar":"docsSidebar"},"documentation/series-methods/ser.median()":{"id":"documentation/series-methods/ser.median()","title":"ser.median()","description":"ser.median()","sidebar":"docsSidebar"},"documentation/series-methods/ser.min()":{"id":"documentation/series-methods/ser.min()","title":"ser.min()","description":"ser.min()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.capitalize()":{"id":"documentation/series-methods/ser.str.capitalize()","title":"ser.str.capitalize()","description":"ser.str.capitalize()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.contains()":{"id":"documentation/series-methods/ser.str.contains()","title":"ser.str.contains()","description":"ser.str.contains(substring)","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.len()":{"id":"documentation/series-methods/ser.str.len()","title":"ser.str.len()","description":"ser.str.len()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.lower()":{"id":"documentation/series-methods/ser.str.lower()","title":"ser.str.lower()","description":"ser.str.lower()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.replace()":{"id":"documentation/series-methods/ser.str.replace()","title":"ser.str.replace()","description":"ser.str.replace(old, new)","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.split()":{"id":"documentation/series-methods/ser.str.split()","title":"ser.str.split()","description":"ser.str.split(pat = None)","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.strip()":{"id":"documentation/series-methods/ser.str.strip()","title":"ser.str.strip()","description":"ser.str.strip(to_strip = None)","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.title()":{"id":"documentation/series-methods/ser.str.title()","title":"ser.str.title()","description":"ser.str.title()","sidebar":"docsSidebar"},"documentation/series-methods/ser.str.upper()":{"id":"documentation/series-methods/ser.str.upper()","title":"ser.str.upper()","description":"ser.str.upper()","sidebar":"docsSidebar"},"documentation/series-methods/ser.sum()":{"id":"documentation/series-methods/ser.sum()","title":"ser.sum()","description":"ser.sum()","sidebar":"docsSidebar"},"documentation/series-methods/ser.unique()":{"id":"documentation/series-methods/ser.unique()","title":"ser.unique()","description":"ser.unique()","sidebar":"docsSidebar"},"statistical-inference/bootstrapping":{"id":"statistical-inference/bootstrapping","title":"Bootstrapping and Confidence Intervals","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/central_limit_theorem":{"id":"statistical-inference/central_limit_theorem","title":"The Central Limit Theorem","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/concept check/hypothesis_vs_permutation":{"id":"statistical-inference/concept check/hypothesis_vs_permutation","title":"Hypothesis Test vs. Permutation Test","description":"Difference","sidebar":"statsSidebar"},"statistical-inference/hypothesis_test":{"id":"statistical-inference/hypothesis_test","title":"Hypothesis Test","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/intro":{"id":"statistical-inference/intro","title":"intro","description":"Assumption: Assume that df is a DataFrame, ser is a Series, arr is an array, and we already run import babypandas as bpd and import numpy as np.","sidebar":"statsSidebar"},"statistical-inference/null_and_alt":{"id":"statistical-inference/null_and_alt","title":"Null & Alternative Hypothesis","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/obs_and_test_stats":{"id":"statistical-inference/obs_and_test_stats","title":"Observed & Test Statistic","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/p_value":{"id":"statistical-inference/p_value","title":"P-value","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/parameters-and-statistics":{"id":"statistical-inference/parameters-and-statistics","title":"Parameters and Statistics","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/permutation_test":{"id":"statistical-inference/permutation_test","title":"Permutation Test","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/random sampling/df.sample()":{"id":"statistical-inference/random sampling/df.sample()","title":"Sample","description":"df.sample(n, replace=False)","sidebar":"statsSidebar"},"statistical-inference/random sampling/np.random.choice()":{"id":"statistical-inference/random sampling/np.random.choice()","title":"Random Choice","description":"np.random.choice(arr, size, replace=True, p=[p0, p1, ...])","sidebar":"statsSidebar"},"statistical-inference/random sampling/np.random.multinomial()":{"id":"statistical-inference/random sampling/np.random.multinomial()","title":"Random Multinomial","description":"np.random.multinomial(n, [p0, p1, p_2, ...])","sidebar":"statsSidebar"},"statistical-inference/random sampling/np.random.permutation()":{"id":"statistical-inference/random sampling/np.random.permutation()","title":"Random Permutation","description":"np.random.permutation(arr)","sidebar":"statsSidebar"},"statistical-inference/random sampling/sampling":{"id":"statistical-inference/random sampling/sampling","title":"Sampling","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/standard_normal_distribution":{"id":"statistical-inference/standard_normal_distribution","title":"The Standard Normal Distribution","description":"Concept","sidebar":"statsSidebar"},"statistical-inference/standard_units":{"id":"statistical-inference/standard_units","title":"Standard Units, Correlation, Regression","description":"Concept","sidebar":"statsSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/97247bb2.31cb3f8d.js b/assets/js/97247bb2.31cb3f8d.js deleted file mode 100644 index 37b2d369..00000000 --- a/assets/js/97247bb2.31cb3f8d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[4534],{4562:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var n=r(4848),i=r(8453),o=(r(8597),r(5158));const s={sidebar_position:10,sidebar_label:"The Central Limit Theorem",title:"The Central Limit Theorem",tags:["querying","functions","for-loop","histogram"]},a=void 0,c={id:"statistical-inference/central_limit_theorem",title:"The Central Limit Theorem",description:"Concept",source:"@site/docs/statistical-inference/central_limit_theorem.md",sourceDirName:"statistical-inference",slug:"/statistical-inference/central_limit_theorem",permalink:"/bpd-reference/docs/statistical-inference/central_limit_theorem",draft:!1,unlisted:!1,editUrl:"https://github.com/dsc-courses/bpd-reference/tree/main/docs/statistical-inference/central_limit_theorem.md",tags:[{label:"querying",permalink:"/bpd-reference/docs/tags/querying"},{label:"functions",permalink:"/bpd-reference/docs/tags/functions"},{label:"for-loop",permalink:"/bpd-reference/docs/tags/for-loop"},{label:"histogram",permalink:"/bpd-reference/docs/tags/histogram"}],version:"current",sidebarPosition:10,frontMatter:{sidebar_position:10,sidebar_label:"The Central Limit Theorem",title:"The Central Limit Theorem",tags:["querying","functions","for-loop","histogram"]},sidebar:"statsSidebar",previous:{title:"The Standard Normal Distribution",permalink:"/bpd-reference/docs/statistical-inference/standard_normal_distribution"}},l={},d=[{value:"Concept",id:"concept",level:2}];function m(e){const t={a:"a",admonition:"admonition",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"concept",children:"Concept"}),"\n",(0,n.jsx)(t.admonition,{title:"Key Idea",type:"tip"}),"\n",(0,n.jsx)(t.admonition,{title:"Terminology",type:"info"}),"\n",(0,n.jsx)(t.admonition,{type:"note"}),"\n",(0,n.jsxs)(t.p,{children:["The diagram below provides an overview of the Central Limit Theorem, although it references a different dataset. For additional helpful visual guides, please visit the ",(0,n.jsx)(t.a,{href:"https://dsc10.com/diagrams/",children:"Diagrams"})," site."]}),"\n",(0,n.jsx)(o.A,{src:"https://docs.google.com/presentation/d/e/2PACX-1vTIYviveyB3wk7ck7_gFpyZTEwT67jTl0aDdidTn1iqtjRRT70ihB7HKT4rwO68dcUtr80OgOlyvsHn/embed?start=true&loop=false&delayms=3000&rm=minimal",sourceLink:"https://docs.google.com/presentation/d/1GX74m6k0PbLU6j5zPUuylbkcgsel2MPfcpfACZ45AVQ/edit?usp=sharing"})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},8597:(e,t,r)=>{r.d(t,{A:()=>i});r(6540);var n=r(4848);const i=e=>{let{data:t}=e,r=[],i=[],o="",s=[];if(t){const e=JSON.parse(t);r=e.columns||[],i=e.data||[],o=e.indexName||"Index",s=e.index||[]}return(0,n.jsx)("div",{className:"dataframe-container",children:(0,n.jsxs)("table",{className:"dataframe-table",children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:o}),r.map(((e,t)=>(0,n.jsx)("th",{children:e},t)))]})}),(0,n.jsx)("tbody",{children:i.map(((e,t)=>(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"index-value",children:s[t]}),e.map(((e,t)=>{return(0,n.jsx)("td",{children:(r=e,"boolean"==typeof r?r.toString().charAt(0).toUpperCase()+r.toString().slice(1):r)},t);var r}))]},t)))})]})})}},5158:(e,t,r)=>{r.d(t,{A:()=>o});var n=r(6540),i=r(4848);const o=function(e){let{src:t,sourceLink:r,aspectRatio:o=16/9}=e;const[s,a]=(0,n.useState)(0),[c,l]=(0,n.useState)(0),d=(0,n.useRef)(null);return(0,n.useEffect)((()=>{const e=()=>{if(d.current){const e=d.current.offsetWidth;l(e/o)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[o]),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{ref:d,style:{width:"100%",position:"relative",maxWidth:"100%",backgroundColor:"white"},children:(0,i.jsx)("iframe",{src:t,style:{width:"100%",height:`${c}px`,border:"0",allowFullScreen:!0}},s)}),(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"20px 0"},children:(0,i.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",children:"(Source)"})}),(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"10px 0"},children:(0,i.jsx)("button",{onClick:()=>{a((e=>e+1))},style:{backgroundColor:"#4CAF50",color:"white",padding:"10px 20px",border:"none",borderRadius:"5px",cursor:"pointer",outline:"none",fontSize:"16px",fontWeight:"bold",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",transition:"background-color 0.3s"},onMouseOver:e=>e.currentTarget.style.backgroundColor="#45a049",onMouseOut:e=>e.currentTarget.style.backgroundColor="#4CAF50",children:"Restart Diagram"})})]})}},8453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>a});var n=r(6540);const i={},o=n.createContext(i);function s(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/97247bb2.be0f6e2c.js b/assets/js/97247bb2.be0f6e2c.js new file mode 100644 index 00000000..8d844d09 --- /dev/null +++ b/assets/js/97247bb2.be0f6e2c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[4534],{4562:(s,e,a)=>{a.r(e),a.d(e,{assets:()=>m,contentTitle:()=>r,default:()=>o,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var t=a(4848),n=a(8453),l=(a(8597),a(5158));const i={sidebar_position:10,sidebar_label:"The Central Limit Theorem",title:"The Central Limit Theorem",tags:["querying","functions","for-loop","histogram"]},r=void 0,c={id:"statistical-inference/central_limit_theorem",title:"The Central Limit Theorem",description:"Concept",source:"@site/docs/statistical-inference/central_limit_theorem.md",sourceDirName:"statistical-inference",slug:"/statistical-inference/central_limit_theorem",permalink:"/bpd-reference/docs/statistical-inference/central_limit_theorem",draft:!1,unlisted:!1,editUrl:"https://github.com/dsc-courses/bpd-reference/tree/main/docs/statistical-inference/central_limit_theorem.md",tags:[{label:"querying",permalink:"/bpd-reference/docs/tags/querying"},{label:"functions",permalink:"/bpd-reference/docs/tags/functions"},{label:"for-loop",permalink:"/bpd-reference/docs/tags/for-loop"},{label:"histogram",permalink:"/bpd-reference/docs/tags/histogram"}],version:"current",sidebarPosition:10,frontMatter:{sidebar_position:10,sidebar_label:"The Central Limit Theorem",title:"The Central Limit Theorem",tags:["querying","functions","for-loop","histogram"]},sidebar:"statsSidebar",previous:{title:"The Standard Normal Distribution",permalink:"/bpd-reference/docs/statistical-inference/standard_normal_distribution"},next:{title:"Hypothesis Test vs. Permutation Test",permalink:"/bpd-reference/docs/statistical-inference/concept check/hypothesis_vs_permutation"}},m={},d=[{value:"Concept",id:"concept",level:2}];function h(s){const e={a:"a",admonition:"admonition",annotation:"annotation",h2:"h2",li:"li",math:"math",mfrac:"mfrac",mo:"mo",mrow:"mrow",msqrt:"msqrt",mstyle:"mstyle",mtable:"mtable",mtd:"mtd",mtext:"mtext",mtr:"mtr",p:"p",path:"path",semantics:"semantics",span:"span",strong:"strong",svg:"svg",ul:"ul",...(0,n.R)(),...s.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h2,{id:"concept",children:"Concept"}),"\n",(0,t.jsx)(e.admonition,{title:"Terminology",type:"info",children:(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.strong,{children:"The Central Limit Theorem (CLT):"})," The probability distribution of the ",(0,t.jsx)(e.strong,{children:"sum or mean"})," of a large random sample drawn ",(0,t.jsx)(e.strong,{children:"with replacement"})," will be ",(0,t.jsx)(e.strong,{children:"roughly normal"}),", regardless of the distribution of the population from which the sample is drawn."]})}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.strong,{children:"Characteristics of the Distribution of the Sample Means"})}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:"Shape:"})," The CLT says that the distribution of the sample mean is ",(0,t.jsx)(e.strong,{children:"roughly normal"}),", no matter what the population looks like."]}),"\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:"Center:"})," This distribution is centered at the ",(0,t.jsx)(e.strong,{children:"population mean"}),"."]}),"\n"]}),"\n",(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mtable,{rowspacing:"0.25em",columnalign:"right",columnspacing:"",children:(0,t.jsx)(e.mtr,{children:(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{children:"Mean\xa0of\xa0Distribution\xa0of\xa0Possible\xa0Sample\xa0Means"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mtext,{children:"Population\xa0Mean"})]})})})})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\begin{align*} \n\\text{Mean of Distribution of Possible Sample Means} = \\text{Population Mean}\n\\end{align*}"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.5em",verticalAlign:"-0.5em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mtable",children:(0,t.jsx)(e.span,{className:"col-align-r",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"1em"},children:(0,t.jsxs)(e.span,{style:{top:"-3.16em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"Mean\xa0of\xa0Distribution\xa0of\xa0Possible\xa0Sample\xa0Means"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"Population\xa0Mean"})})]})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.5em"},children:(0,t.jsx)(e.span,{})})})]})})})})]})})]})}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsxs)(e.li,{children:[(0,t.jsx)(e.strong,{children:"Spread:"})," The distribution's standard deviation will be described by the square root law:"]}),"\n"]}),"\n",(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mtable,{rowspacing:"0.25em",columnalign:"right left",columnspacing:"0em",children:[(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsx)(e.mtext,{children:"SD\xa0of\xa0Distribution\xa0of\xa0Possible\xa0Sample\xa0Means"})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.mfrac,{children:[(0,t.jsx)(e.mtext,{children:"Population\xa0SD"}),(0,t.jsx)(e.msqrt,{children:(0,t.jsx)(e.mtext,{children:"sample\xa0size"})})]})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsx)(e.mrow,{})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:"\u2248"}),(0,t.jsxs)(e.mfrac,{children:[(0,t.jsx)(e.mtext,{children:"Sample\xa0SD"}),(0,t.jsx)(e.msqrt,{children:(0,t.jsx)(e.mtext,{children:"sample\xa0size"})})]})]})})})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\begin{align*} \n\\text{SD of Distribution of Possible Sample Means} &= \\frac{\\text{Population SD}}{\\sqrt{\\text{sample size}}} \\\\\n&\\approx \\frac{\\text{Sample SD}}{\\sqrt{\\text{sample size}}} \n\\end{align*}"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"5.2029em",verticalAlign:"-2.3514em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsxs)(e.span,{className:"mtable",children:[(0,t.jsx)(e.span,{className:"col-align-r",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"2.8514em"},children:[(0,t.jsxs)(e.span,{style:{top:"-4.8514em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.3714em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"SD\xa0of\xa0Distribution\xa0of\xa0Possible\xa0Sample\xa0Means"})})})]}),(0,t.jsxs)(e.span,{style:{top:"-2.25em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.3714em"}}),(0,t.jsx)(e.span,{className:"mord"})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"2.3514em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"col-align-l",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"2.8514em"},children:[(0,t.jsxs)(e.span,{style:{top:"-4.8514em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.3714em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mopen nulldelimiter"}),(0,t.jsx)(e.span,{className:"mfrac",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.3714em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.275em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord sqrt",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.835em"},children:[(0,t.jsxs)(e.span,{className:"svg-align",style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",style:{paddingLeft:"0.833em"},children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"sample\xa0size"})})})]}),(0,t.jsxs)(e.span,{style:{top:"-2.795em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"hide-tail",style:{minWidth:"0.853em",height:"1.08em"},children:(0,t.jsx)(e.svg,{xmlns:"http://www.w3.org/2000/svg",width:"400em",height:"1.08em",viewBox:"0 0 400000 1080",preserveAspectRatio:"xMinYMin slice",children:(0,t.jsx)(e.path,{d:"M95,702\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl0 -0\nc5.3,-9.3,12,-14,20,-14\nH400000v40H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM834 80h400000v40h-400000z"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.205em"},children:(0,t.jsx)(e.span,{})})})]})})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.23em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"frac-line",style:{borderBottomWidth:"0.04em"}})]}),(0,t.jsxs)(e.span,{style:{top:"-3.677em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"Population\xa0SD"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.93em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"mclose nulldelimiter"})]})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.25em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.3714em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2248"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mopen nulldelimiter"}),(0,t.jsx)(e.span,{className:"mfrac",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.3714em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.275em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord sqrt",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.835em"},children:[(0,t.jsxs)(e.span,{className:"svg-align",style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",style:{paddingLeft:"0.833em"},children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"sample\xa0size"})})})]}),(0,t.jsxs)(e.span,{style:{top:"-2.795em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"hide-tail",style:{minWidth:"0.853em",height:"1.08em"},children:(0,t.jsx)(e.svg,{xmlns:"http://www.w3.org/2000/svg",width:"400em",height:"1.08em",viewBox:"0 0 400000 1080",preserveAspectRatio:"xMinYMin slice",children:(0,t.jsx)(e.path,{d:"M95,702\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl0 -0\nc5.3,-9.3,12,-14,20,-14\nH400000v40H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM834 80h400000v40h-400000z"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.205em"},children:(0,t.jsx)(e.span,{})})})]})})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.23em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"frac-line",style:{borderBottomWidth:"0.04em"}})]}),(0,t.jsxs)(e.span,{style:{top:"-3.677em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"Sample\xa0SD"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.93em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"mclose nulldelimiter"})]})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"2.3514em"},children:(0,t.jsx)(e.span,{})})})]})})]})})]})})]})}),"\n",(0,t.jsxs)(e.p,{children:["The diagram below provides an overview of the Central Limit Theorem, although it references a different dataset. For additional helpful visual guides, please visit the ",(0,t.jsx)(e.a,{href:"https://dsc10.com/diagrams/",children:"Diagrams"})," site."]}),"\n",(0,t.jsx)(l.A,{src:"https://docs.google.com/presentation/d/e/2PACX-1vTIYviveyB3wk7ck7_gFpyZTEwT67jTl0aDdidTn1iqtjRRT70ihB7HKT4rwO68dcUtr80OgOlyvsHn/embed?start=true&loop=false&delayms=3000&rm=minimal",sourceLink:"https://docs.google.com/presentation/d/1GX74m6k0PbLU6j5zPUuylbkcgsel2MPfcpfACZ45AVQ/edit?usp=sharing"})]})}function o(s={}){const{wrapper:e}={...(0,n.R)(),...s.components};return e?(0,t.jsx)(e,{...s,children:(0,t.jsx)(h,{...s})}):h(s)}},8597:(s,e,a)=>{a.d(e,{A:()=>n});a(6540);var t=a(4848);const n=s=>{let{data:e}=s,a=[],n=[],l="",i=[];if(e){const s=JSON.parse(e);a=s.columns||[],n=s.data||[],l=s.indexName||"Index",i=s.index||[]}return(0,t.jsx)("div",{className:"dataframe-container",children:(0,t.jsxs)("table",{className:"dataframe-table",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{children:l}),a.map(((s,e)=>(0,t.jsx)("th",{children:s},e)))]})}),(0,t.jsx)("tbody",{children:n.map(((s,e)=>(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"index-value",children:i[e]}),s.map(((s,e)=>{return(0,t.jsx)("td",{children:(a=s,"boolean"==typeof a?a.toString().charAt(0).toUpperCase()+a.toString().slice(1):a)},e);var a}))]},e)))})]})})}},5158:(s,e,a)=>{a.d(e,{A:()=>l});var t=a(6540),n=a(4848);const l=function(s){let{src:e,sourceLink:a,aspectRatio:l=16/9}=s;const[i,r]=(0,t.useState)(0),[c,m]=(0,t.useState)(0),d=(0,t.useRef)(null);return(0,t.useEffect)((()=>{const s=()=>{if(d.current){const s=d.current.offsetWidth;m(s/l)}};return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)}),[l]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{ref:d,style:{width:"100%",position:"relative",maxWidth:"100%",backgroundColor:"white"},children:(0,n.jsx)("iframe",{src:e,style:{width:"100%",height:`${c}px`,border:"0",allowFullScreen:!0}},i)}),(0,n.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"20px 0"},children:(0,n.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"(Source)"})}),(0,n.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"10px 0"},children:(0,n.jsx)("button",{onClick:()=>{r((s=>s+1))},style:{backgroundColor:"#4CAF50",color:"white",padding:"10px 20px",border:"none",borderRadius:"5px",cursor:"pointer",outline:"none",fontSize:"16px",fontWeight:"bold",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",transition:"background-color 0.3s"},onMouseOver:s=>s.currentTarget.style.backgroundColor="#45a049",onMouseOut:s=>s.currentTarget.style.backgroundColor="#4CAF50",children:"Restart Diagram"})})]})}},8453:(s,e,a)=>{a.d(e,{R:()=>i,x:()=>r});var t=a(6540);const n={},l=t.createContext(n);function i(s){const e=t.useContext(l);return t.useMemo((function(){return"function"==typeof s?s(e):{...e,...s}}),[e,s])}function r(s){let e;return e=s.disableParentContext?"function"==typeof s.components?s.components(n):s.components||n:i(s.components),t.createElement(l.Provider,{value:e},s.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f1843d8.1b3eede2.js b/assets/js/9f1843d8.1b3eede2.js new file mode 100644 index 00000000..1c01d688 --- /dev/null +++ b/assets/js/9f1843d8.1b3eede2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[9894],{6171:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var s=n(4848),i=n(8453),a=n(8597),r=n(5158);const o={sidebar_position:8,sidebar_label:"Permutation Test",title:"Permutation Test",tags:["querying","functions","for-loop","histogram"]},l=void 0,c={id:"statistical-inference/permutation_test",title:"Permutation Test",description:"Concept",source:"@site/docs/statistical-inference/permutation_test.md",sourceDirName:"statistical-inference",slug:"/statistical-inference/permutation_test",permalink:"/bpd-reference/docs/statistical-inference/permutation_test",draft:!1,unlisted:!1,editUrl:"https://github.com/dsc-courses/bpd-reference/tree/main/docs/statistical-inference/permutation_test.md",tags:[{label:"querying",permalink:"/bpd-reference/docs/tags/querying"},{label:"functions",permalink:"/bpd-reference/docs/tags/functions"},{label:"for-loop",permalink:"/bpd-reference/docs/tags/for-loop"},{label:"histogram",permalink:"/bpd-reference/docs/tags/histogram"}],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8,sidebar_label:"Permutation Test",title:"Permutation Test",tags:["querying","functions","for-loop","histogram"]},sidebar:"statsSidebar",previous:{title:"Boostrapping and Confidence Intervals",permalink:"/bpd-reference/docs/statistical-inference/bootstrapping"},next:{title:"Standard Units, Correlation, Regression",permalink:"/bpd-reference/docs/statistical-inference/standard_units"}},d={},h=[{value:"Concept",id:"concept",level:2},{value:"Code Example (Absolute Difference)",id:"code-example-absolute-difference",level:2},{value:"1. State the question/hypothesis",id:"1-state-the-questionhypothesis",level:3},{value:"2. Query the DataFrame",id:"2-query-the-dataframe",level:3},{value:"3. Create a function to calculate test statistic",id:"3-create-a-function-to-calculate-test-statistic",level:3},{value:"4. Simulate the permutation test",id:"4-simulate-the-permutation-test",level:3},{value:"5. Conclusion",id:"5-conclusion",level:3},{value:"6. Extra",id:"6-extra",level:3}];function u(e){const t={a:"a",admonition:"admonition",annotation:"annotation",code:"code",em:"em",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",math:"math",mo:"mo",mrow:"mrow",ol:"ol",p:"p",pre:"pre",semantics:"semantics",span:"span",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"concept",children:"Concept"}),"\n",(0,s.jsx)(t.admonition,{title:"Key Idea",type:"tip",children:(0,s.jsx)(t.p,{children:"We use a permutation test to test whether two samples are drawn from the same population."})}),"\n",(0,s.jsxs)(t.admonition,{title:"Terminology",type:"info",children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Permutation"}),": A permutation of a sequence is a rearrangement of the elements in that sequence."]}),(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Example: 'BAC' and 'CAB' are both permutations of the string 'ABC'."}),"\n",(0,s.jsx)(t.li,{children:"We create permutations by shuffling."}),"\n"]}),(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Permutation tests:"})," A permutation test is a type of A/B test (and a type of hypothesis test). It tests whether two samples come from the same population distribution. To conduct a permutation test:"]}),(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsx)(t.li,{children:"Shuffle the group labels (i.e. the Trues and Falses) to generate two new samples under the null."}),"\n",(0,s.jsx)(t.li,{children:"Compute the test statistic (i.e. the difference in group means)."}),"\n",(0,s.jsx)(t.li,{children:"Repeat steps 1 and 2 to generate an empirical distribution of the test statistics (i.e. the difference in group means)."}),"\n",(0,s.jsx)(t.li,{children:"See where the observed statistic lies in the empirical distribution. If, in our simulations, we rarely saw a difference in group means as extreme as the observed difference in group means, we have evidence to reject the null."}),"\n"]})]}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"While shuffling, the size of the two new samples should be the same as the observed samples."})}),"\n",(0,s.jsxs)(t.p,{children:["The diagram below provides an overview of conducting a permutation test, although it references a different dataset. ",(0,s.jsx)(t.a,{href:"https://www.jwilber.me/permutationtest/",children:"Here"})," is another useful visualization. For additional helpful visual guides, please visit the ",(0,s.jsx)(t.a,{href:"https://dsc10.com/diagrams/",children:"Diagrams"})," site."]}),"\n",(0,s.jsx)(r.A,{src:"https://docs.google.com/presentation/d/e/2PACX-1vSovXDonR6EmjrT45h4pY1mwmcKFMWVSdgpbKHC5HNTm9sbG7dojvvCDEQCjuk2dk1oA4gmwMogr8ZL/embed?start=true&loop=false&delayms=3000&rm=minimal",sourceLink:"https://docs.google.com/presentation/d/1TTWoQ7FU4tzBGc7EskF6WYccIn1BWQbTSizAiFc2p2o/edit?usp=sharing"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"code-example-absolute-difference",children:"Code Example (Absolute Difference)"}),"\n",(0,s.jsx)(t.h3,{id:"1-state-the-questionhypothesis",children:"1. State the question/hypothesis"}),"\n",(0,s.jsxs)(t.admonition,{title:"Hypotheses",type:"info",children:[(0,s.jsx)(t.p,{children:"We will test the following pair of hypotheses at the standard p = 0.05 significance level:"}),(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Null Hypothesis:"})," In the population, weights of dogs and cats have the ",(0,s.jsx)(t.strong,{children:"same"})," distribution, and the observed differences in our samples are due to random chance."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Alternative Hypothesis:"})," In the population, dogs and cats have ",(0,s.jsx)(t.strong,{children:"different"})," weights, on average. The observed differences in our samples cannot be explained by random chance alone."]}),"\n"]})]}),"\n",(0,s.jsxs)(t.p,{children:['Since the alternative hypothesis is of the form "A and B are different," the ',(0,s.jsx)(t.strong,{children:"test statistic"})," should measure distance and use an absolute value."]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsxs)(t.span,{className:"katex",children:[(0,s.jsx)(t.span,{className:"katex-mathml",children:(0,s.jsx)(t.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,s.jsxs)(t.semantics,{children:[(0,s.jsx)(t.mrow,{children:(0,s.jsx)(t.mo,{children:"\u2234"})}),(0,s.jsx)(t.annotation,{encoding:"application/x-tex",children:"\\therefore"})]})})}),(0,s.jsx)(t.span,{className:"katex-html","aria-hidden":"true",children:(0,s.jsxs)(t.span,{className:"base",children:[(0,s.jsx)(t.span,{className:"strut",style:{height:"0.6922em"}}),(0,s.jsx)(t.span,{className:"mrel amsrm",children:"\u2234"})]})})]})," We use ",(0,s.jsx)(t.strong,{children:"absolute difference in group means"})," as the test statistic."]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"2-query-the-dataframe",children:"2. Query the DataFrame"}),"\n",(0,s.jsx)(t.p,{children:"Since we want to compare the distributions of only cats and dogs, we need to make sure to only include the relevant pieces of data (e.g., cats and dogs weights)."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"# Create a boolean Series that references which rows fulfill either condition.\nquerying_condition = (full_pets.get('Species') == 'dog') | (full_pets.get('Species') == 'cat')\n# Query.\ncats_dogs = full_pets[querying_condition]\n# Display the first 5 rows only.\ncats_dogs.take(np.arange(5)) \n"})}),"\n",(0,s.jsx)(a.A,{data:'{"columns":["ID","Species","Color","Weight","Age","Is_Cat","Owner_Comment"],"index":[0,1,2,3,4],"data":[["dog_001","dog","black",40.0,5.0,false," There are no bad dogs, only bad owners."],["cat_001","cat","golden",1.5,0.2,true,"My best birthday present ever!!!"],["cat_002","cat","black",15.0,9.0,true,"****All you need is love and a cat.****"],["dog_002","dog","white",80.0,2.0,false,"Love is a wet nose and a wagging tail."],["dog_003","dog","black",25.0,0.5,false,"Be the person your dog thinks you are."]]}'}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"3-create-a-function-to-calculate-test-statistic",children:"3. Create a function to calculate test statistic"}),"\n",(0,s.jsx)(t.p,{children:"Since our hypotheses depend on the test statistic, create a function to be able to calculate it during every trial of our permutation test."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"def difference_in_means(cats_dogs):\n \"\"\"\n Calculate the absolute difference in the mean weight of dogs and cats.\n ---\n Input:\n cats_dogs: a DataFrame containing the columns 'Species' and 'Weight'.\n ---\n Output:\n The absolute difference in the mean weight of dogs and cats.\n \"\"\"\n means = cats_dogs.groupby('Species').mean()\n return np.abs((means.get('Weight').loc['dog'] - means.get('Weight').loc['cat']))\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.em,{children:"Note: Although we can simply do this in the for-loop shown in the next step, we can practice good coding habits by separating our code into readable bits!"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"4-simulate-the-permutation-test",children:"4. Simulate the permutation test"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"n = 500 # Number of simulations.\nstatistics = np.array([]) # Array to keep track of the difference in means for each iteration.\nfor i in np.arange(n): # Run the simulation `n` number of times\n # 1. Shuffle the species.\n shuffled = cats_dogs.assign(Species=np.random.permutation(cats_dogs.get('Species')))\n\n # 2. Compute the test statistic.\n statistic = difference_in_means(shuffled)\n\n # 3. Save the result.\n statistics = np.append(statistics, statistic)\n"})}),"\n",(0,s.jsxs)(t.p,{children:["This code will run the permutation test 500 times, but a different reasonable number can be used instead. It is ",(0,s.jsx)(t.strong,{children:"crucial"})," to keep track of the difference in means each time our for-loop runs so that the number of simulated values can be displayed."]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"5-conclusion",children:"5. Conclusion"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'observed = difference_in_means(cats_dogs)\np_value = np.count_nonzero(statistics >= observed) / n\n\nprint("The observed value of the test statistic is:", observed)\nprint("The p-value is:", p_value)\n'})}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"The observed value of the test statistic is: 30.361111111111107"})," ",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.strong,{children:"The p-value is: 0.004"})]}),"\n",(0,s.jsx)(t.p,{children:"Using a significance level of 0.05:"}),"\n",(0,s.jsx)(t.admonition,{title:"Conclusion",type:"info",children:(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Under the null hypothesis, we rarely see a difference greater than the observed value."}),"\n",(0,s.jsxs)(t.li,{children:["Therefore, we ",(0,s.jsx)(t.strong,{children:"reject"})," the null hypothesis: the evidence implies that the two groups do not come from the same distribution."]}),"\n",(0,s.jsx)(t.li,{children:"Still, we cannot conclude that species causes a different weight because there may be other confounding variables."}),"\n"]})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"6-extra",children:"6. Extra"}),"\n",(0,s.jsx)(t.p,{children:"Let's see how our observed statistic compares to the overall simulated values!"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"# Create the histogram.\nbpd.DataFrame().assign(statistics=statistics).plot(kind='hist', bins=20, density=True, ec='w')\n# Don't worry about this line - you won't need to know it for this course!\nplt.axvline(x=observed, c='black', linewidth=4, label='population difference in means')\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Distribution",src:n(8803).A+"",width:"576",height:"413"})}),"\n",(0,s.jsxs)(t.p,{children:["From this graph, we can tell that there is barely any data to the ",(0,s.jsx)(t.strong,{children:"right"})," of the black vertical line (our observed statistic), meaning we have a very low p-value!"]})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8597:(e,t,n)=>{n.d(t,{A:()=>i});n(6540);var s=n(4848);const i=e=>{let{data:t}=e,n=[],i=[],a="",r=[];if(t){const e=JSON.parse(t);n=e.columns||[],i=e.data||[],a=e.indexName||"Index",r=e.index||[]}return(0,s.jsx)("div",{className:"dataframe-container",children:(0,s.jsxs)("table",{className:"dataframe-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:a}),n.map(((e,t)=>(0,s.jsx)("th",{children:e},t)))]})}),(0,s.jsx)("tbody",{children:i.map(((e,t)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{className:"index-value",children:r[t]}),e.map(((e,t)=>{return(0,s.jsx)("td",{children:(n=e,"boolean"==typeof n?n.toString().charAt(0).toUpperCase()+n.toString().slice(1):n)},t);var n}))]},t)))})]})})}},5158:(e,t,n)=>{n.d(t,{A:()=>a});var s=n(6540),i=n(4848);const a=function(e){let{src:t,sourceLink:n,aspectRatio:a=16/9}=e;const[r,o]=(0,s.useState)(0),[l,c]=(0,s.useState)(0),d=(0,s.useRef)(null);return(0,s.useEffect)((()=>{const e=()=>{if(d.current){const e=d.current.offsetWidth;c(e/a)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[a]),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{ref:d,style:{width:"100%",position:"relative",maxWidth:"100%",backgroundColor:"white"},children:(0,i.jsx)("iframe",{src:t,style:{width:"100%",height:`${l}px`,border:"0",allowFullScreen:!0}},r)}),(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"20px 0"},children:(0,i.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"(Source)"})}),(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"10px 0"},children:(0,i.jsx)("button",{onClick:()=>{o((e=>e+1))},style:{backgroundColor:"#4CAF50",color:"white",padding:"10px 20px",border:"none",borderRadius:"5px",cursor:"pointer",outline:"none",fontSize:"16px",fontWeight:"bold",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",transition:"background-color 0.3s"},onMouseOver:e=>e.currentTarget.style.backgroundColor="#45a049",onMouseOut:e=>e.currentTarget.style.backgroundColor="#4CAF50",children:"Restart Diagram"})})]})}},8803:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/permutation-test-fae4df12733e667b05989b96bf08d9a9.png"},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var s=n(6540);const i={},a=s.createContext(i);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9f1843d8.9c3dbc79.js b/assets/js/9f1843d8.9c3dbc79.js deleted file mode 100644 index efbd5819..00000000 --- a/assets/js/9f1843d8.9c3dbc79.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[9894],{6171:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var s=n(4848),i=n(8453),a=n(8597),r=n(5158);const o={sidebar_position:8,sidebar_label:"Permutation Test",title:"Permutation Test",tags:["querying","functions","for-loop","histogram"]},l=void 0,c={id:"statistical-inference/permutation_test",title:"Permutation Test",description:"Concept",source:"@site/docs/statistical-inference/permutation_test.md",sourceDirName:"statistical-inference",slug:"/statistical-inference/permutation_test",permalink:"/bpd-reference/docs/statistical-inference/permutation_test",draft:!1,unlisted:!1,editUrl:"https://github.com/dsc-courses/bpd-reference/tree/main/docs/statistical-inference/permutation_test.md",tags:[{label:"querying",permalink:"/bpd-reference/docs/tags/querying"},{label:"functions",permalink:"/bpd-reference/docs/tags/functions"},{label:"for-loop",permalink:"/bpd-reference/docs/tags/for-loop"},{label:"histogram",permalink:"/bpd-reference/docs/tags/histogram"}],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8,sidebar_label:"Permutation Test",title:"Permutation Test",tags:["querying","functions","for-loop","histogram"]},sidebar:"statsSidebar",previous:{title:"Hypothesis Test vs. Permutation Test",permalink:"/bpd-reference/docs/statistical-inference/concept check/hypothesis_vs_permutation"},next:{title:"Standard Units, Correlation, Regression",permalink:"/bpd-reference/docs/statistical-inference/standard_units"}},d={},h=[{value:"Concept",id:"concept",level:2},{value:"Code Example (Absolute Difference)",id:"code-example-absolute-difference",level:2},{value:"1. State the question/hypothesis",id:"1-state-the-questionhypothesis",level:3},{value:"2. Query the DataFrame",id:"2-query-the-dataframe",level:3},{value:"3. Create a function to calculate test statistic",id:"3-create-a-function-to-calculate-test-statistic",level:3},{value:"4. Simulate the permutation test",id:"4-simulate-the-permutation-test",level:3},{value:"5. Conclusion",id:"5-conclusion",level:3},{value:"6. Extra",id:"6-extra",level:3}];function u(e){const t={a:"a",admonition:"admonition",annotation:"annotation",code:"code",em:"em",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",math:"math",mo:"mo",mrow:"mrow",ol:"ol",p:"p",pre:"pre",semantics:"semantics",span:"span",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"concept",children:"Concept"}),"\n",(0,s.jsx)(t.admonition,{title:"Key Idea",type:"tip",children:(0,s.jsx)(t.p,{children:"We use a permutation test to test whether two samples are drawn from the same population."})}),"\n",(0,s.jsxs)(t.admonition,{title:"Terminology",type:"info",children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Permutation"}),": A permutation of a sequence is a rearrangement of the elements in that sequence."]}),(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Example: 'BAC' and 'CAB' are both permutations of the string 'ABC'."}),"\n",(0,s.jsx)(t.li,{children:"We create permutations by shuffling."}),"\n"]}),(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Permutation tests:"})," A permutation test is a type of A/B test (and a type of hypothesis test). It tests whether two samples come from the same population distribution. To conduct a permutation test:"]}),(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsx)(t.li,{children:"Shuffle the group labels (i.e. the Trues and Falses) to generate two new samples under the null."}),"\n",(0,s.jsx)(t.li,{children:"Compute the test statistic (i.e. the difference in group means)."}),"\n",(0,s.jsx)(t.li,{children:"Repeat steps 1 and 2 to generate an empirical distribution of the test statistics (i.e. the difference in group means)."}),"\n",(0,s.jsx)(t.li,{children:"See where the observed statistic lies in the empirical distribution. If, in our simulations, we rarely saw a difference in group means as extreme as the observed difference in group means, we have evidence to reject the null."}),"\n"]})]}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsx)(t.p,{children:"While shuffling, the size of the two new samples should be the same as the observed samples."})}),"\n",(0,s.jsxs)(t.p,{children:["The diagram below provides an overview of conducting a permutation test, although it references a different dataset. ",(0,s.jsx)(t.a,{href:"https://www.jwilber.me/permutationtest/",children:"Here"})," is another useful visualization. For additional helpful visual guides, please visit the ",(0,s.jsx)(t.a,{href:"https://dsc10.com/diagrams/",children:"Diagrams"})," site."]}),"\n",(0,s.jsx)(r.A,{src:"https://docs.google.com/presentation/d/e/2PACX-1vSovXDonR6EmjrT45h4pY1mwmcKFMWVSdgpbKHC5HNTm9sbG7dojvvCDEQCjuk2dk1oA4gmwMogr8ZL/embed?start=true&loop=false&delayms=3000&rm=minimal",sourceLink:"https://docs.google.com/presentation/d/1TTWoQ7FU4tzBGc7EskF6WYccIn1BWQbTSizAiFc2p2o/edit?usp=sharing"}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h2,{id:"code-example-absolute-difference",children:"Code Example (Absolute Difference)"}),"\n",(0,s.jsx)(t.h3,{id:"1-state-the-questionhypothesis",children:"1. State the question/hypothesis"}),"\n",(0,s.jsxs)(t.admonition,{title:"Hypotheses",type:"info",children:[(0,s.jsx)(t.p,{children:"We will test the following pair of hypotheses at the standard p = 0.05 significance level:"}),(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Null Hypothesis:"})," In the population, weights of dogs and cats have the ",(0,s.jsx)(t.strong,{children:"same"})," distribution, and the observed differences in our samples are due to random chance."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Alternative Hypothesis:"})," In the population, dogs and cats have ",(0,s.jsx)(t.strong,{children:"different"})," weights, on average. The observed differences in our samples cannot be explained by random chance alone."]}),"\n"]})]}),"\n",(0,s.jsxs)(t.p,{children:['Since the alternative hypothesis is of the form "A and B are different," the ',(0,s.jsx)(t.strong,{children:"test statistic"})," should measure distance and use an absolute value."]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsxs)(t.span,{className:"katex",children:[(0,s.jsx)(t.span,{className:"katex-mathml",children:(0,s.jsx)(t.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,s.jsxs)(t.semantics,{children:[(0,s.jsx)(t.mrow,{children:(0,s.jsx)(t.mo,{children:"\u2234"})}),(0,s.jsx)(t.annotation,{encoding:"application/x-tex",children:"\\therefore"})]})})}),(0,s.jsx)(t.span,{className:"katex-html","aria-hidden":"true",children:(0,s.jsxs)(t.span,{className:"base",children:[(0,s.jsx)(t.span,{className:"strut",style:{height:"0.6922em"}}),(0,s.jsx)(t.span,{className:"mrel amsrm",children:"\u2234"})]})})]})," We use ",(0,s.jsx)(t.strong,{children:"absolute difference in group means"})," as the test statistic."]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"2-query-the-dataframe",children:"2. Query the DataFrame"}),"\n",(0,s.jsx)(t.p,{children:"Since we want to compare the distributions of only cats and dogs, we need to make sure to only include the relevant pieces of data (e.g., cats and dogs weights)."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"# Create a boolean Series that references which rows fulfill either condition.\nquerying_condition = (full_pets.get('Species') == 'dog') | (full_pets.get('Species') == 'cat')\n# Query.\ncats_dogs = full_pets[querying_condition]\n# Display the first 5 rows only.\ncats_dogs.take(np.arange(5)) \n"})}),"\n",(0,s.jsx)(a.A,{data:'{"columns":["ID","Species","Color","Weight","Age","Is_Cat","Owner_Comment"],"index":[0,1,2,3,4],"data":[["dog_001","dog","black",40.0,5.0,false," There are no bad dogs, only bad owners."],["cat_001","cat","golden",1.5,0.2,true,"My best birthday present ever!!!"],["cat_002","cat","black",15.0,9.0,true,"****All you need is love and a cat.****"],["dog_002","dog","white",80.0,2.0,false,"Love is a wet nose and a wagging tail."],["dog_003","dog","black",25.0,0.5,false,"Be the person your dog thinks you are."]]}'}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"3-create-a-function-to-calculate-test-statistic",children:"3. Create a function to calculate test statistic"}),"\n",(0,s.jsx)(t.p,{children:"Since our hypotheses depend on the test statistic, create a function to be able to calculate it during every trial of our permutation test."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"def difference_in_means(cats_dogs):\n \"\"\"\n Calculate the absolute difference in the mean weight of dogs and cats.\n ---\n Input:\n cats_dogs: a DataFrame containing the columns 'Species' and 'Weight'.\n ---\n Output:\n The absolute difference in the mean weight of dogs and cats.\n \"\"\"\n means = cats_dogs.groupby('Species').mean()\n return np.abs((means.get('Weight').loc['dog'] - means.get('Weight').loc['cat']))\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.em,{children:"Note: Although we can simply do this in the for-loop shown in the next step, we can practice good coding habits by separating our code into readable bits!"})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"4-simulate-the-permutation-test",children:"4. Simulate the permutation test"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"n = 500 # Number of simulations.\nstatistics = np.array([]) # Array to keep track of the difference in means for each iteration.\nfor i in np.arange(n): # Run the simulation `n` number of times\n # 1. Shuffle the species.\n shuffled = cats_dogs.assign(Species=np.random.permutation(cats_dogs.get('Species')))\n\n # 2. Compute the test statistic.\n statistic = difference_in_means(shuffled)\n\n # 3. Save the result.\n statistics = np.append(statistics, statistic)\n"})}),"\n",(0,s.jsxs)(t.p,{children:["This code will run the permutation test 500 times, but a different reasonable number can be used instead. It is ",(0,s.jsx)(t.strong,{children:"crucial"})," to keep track of the difference in means each time our for-loop runs so that the number of simulated values can be displayed."]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"5-conclusion",children:"5. Conclusion"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:'observed = difference_in_means(cats_dogs)\np_value = np.count_nonzero(statistics >= observed) / n\n\nprint("The observed value of the test statistic is:", observed)\nprint("The p-value is:", p_value)\n'})}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"The observed value of the test statistic is: 30.361111111111107"})," ",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.strong,{children:"The p-value is: 0.004"})]}),"\n",(0,s.jsx)(t.p,{children:"Using a significance level of 0.05:"}),"\n",(0,s.jsx)(t.admonition,{title:"Conclusion",type:"info",children:(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Under the null hypothesis, we rarely see a difference greater than the observed value."}),"\n",(0,s.jsxs)(t.li,{children:["Therefore, we ",(0,s.jsx)(t.strong,{children:"reject"})," the null hypothesis: the evidence implies that the two groups do not come from the same distribution."]}),"\n",(0,s.jsx)(t.li,{children:"Still, we cannot conclude that species causes a different weight because there may be other confounding variables."}),"\n"]})}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h3,{id:"6-extra",children:"6. Extra"}),"\n",(0,s.jsx)(t.p,{children:"Let's see how our observed statistic compares to the overall simulated values!"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-python",children:"# Create the histogram.\nbpd.DataFrame().assign(statistics=statistics).plot(kind='hist', bins=20, density=True, ec='w')\n# Don't worry about this line - you won't need to know it for this course!\nplt.axvline(x=observed, c='black', linewidth=4, label='population difference in means')\n"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Distribution",src:n(8803).A+"",width:"576",height:"413"})}),"\n",(0,s.jsxs)(t.p,{children:["From this graph, we can tell that there is barely any data to the ",(0,s.jsx)(t.strong,{children:"right"})," of the black vertical line (our observed statistic), meaning we have a very low p-value!"]})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8597:(e,t,n)=>{n.d(t,{A:()=>i});n(6540);var s=n(4848);const i=e=>{let{data:t}=e,n=[],i=[],a="",r=[];if(t){const e=JSON.parse(t);n=e.columns||[],i=e.data||[],a=e.indexName||"Index",r=e.index||[]}return(0,s.jsx)("div",{className:"dataframe-container",children:(0,s.jsxs)("table",{className:"dataframe-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:a}),n.map(((e,t)=>(0,s.jsx)("th",{children:e},t)))]})}),(0,s.jsx)("tbody",{children:i.map(((e,t)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{className:"index-value",children:r[t]}),e.map(((e,t)=>{return(0,s.jsx)("td",{children:(n=e,"boolean"==typeof n?n.toString().charAt(0).toUpperCase()+n.toString().slice(1):n)},t);var n}))]},t)))})]})})}},5158:(e,t,n)=>{n.d(t,{A:()=>a});var s=n(6540),i=n(4848);const a=function(e){let{src:t,sourceLink:n,aspectRatio:a=16/9}=e;const[r,o]=(0,s.useState)(0),[l,c]=(0,s.useState)(0),d=(0,s.useRef)(null);return(0,s.useEffect)((()=>{const e=()=>{if(d.current){const e=d.current.offsetWidth;c(e/a)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[a]),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{ref:d,style:{width:"100%",position:"relative",maxWidth:"100%",backgroundColor:"white"},children:(0,i.jsx)("iframe",{src:t,style:{width:"100%",height:`${l}px`,border:"0",allowFullScreen:!0}},r)}),(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"20px 0"},children:(0,i.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"(Source)"})}),(0,i.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"10px 0"},children:(0,i.jsx)("button",{onClick:()=>{o((e=>e+1))},style:{backgroundColor:"#4CAF50",color:"white",padding:"10px 20px",border:"none",borderRadius:"5px",cursor:"pointer",outline:"none",fontSize:"16px",fontWeight:"bold",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",transition:"background-color 0.3s"},onMouseOver:e=>e.currentTarget.style.backgroundColor="#45a049",onMouseOut:e=>e.currentTarget.style.backgroundColor="#4CAF50",children:"Restart Diagram"})})]})}},8803:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/permutation-test-fae4df12733e667b05989b96bf08d9a9.png"},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var s=n(6540);const i={},a=s.createContext(i);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d4f68316.04c5919d.js b/assets/js/d4f68316.04c5919d.js deleted file mode 100644 index d994ab35..00000000 --- a/assets/js/d4f68316.04c5919d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[4833],{4520:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var r=n(4848),o=n(8453);n(8597),n(5158);const s={sidebar_position:1,sidebar_label:"Hypothesis Test vs. Permutation Test",title:"Hypothesis Test vs. Permutation Test"},i=void 0,c={id:"statistical-inference/concept check/hypothesis_vs_permutation",title:"Hypothesis Test vs. Permutation Test",description:"Difference",source:"@site/docs/statistical-inference/concept check/hypothesis_vs_permutation.md",sourceDirName:"statistical-inference/concept check",slug:"/statistical-inference/concept check/hypothesis_vs_permutation",permalink:"/bpd-reference/docs/statistical-inference/concept check/hypothesis_vs_permutation",draft:!1,unlisted:!1,editUrl:"https://github.com/dsc-courses/bpd-reference/tree/main/docs/statistical-inference/concept check/hypothesis_vs_permutation.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,sidebar_label:"Hypothesis Test vs. Permutation Test",title:"Hypothesis Test vs. Permutation Test"},sidebar:"statsSidebar",previous:{title:"Boostrapping and Confidence Intervals",permalink:"/bpd-reference/docs/statistical-inference/bootstrapping"},next:{title:"Permutation Test",permalink:"/bpd-reference/docs/statistical-inference/permutation_test"}},a={},l=[{value:"Difference",id:"difference",level:2},{value:"Concept Check \ud83d\udc40",id:"concept-check-",level:2}];function d(e){const t={admonition:"admonition",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components},{Details:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"difference",children:"Difference"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"(Standard) Hypothesis Test"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["A ",(0,r.jsx)(t.strong,{children:"population distribution"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"One"})," observed ",(0,r.jsx)(t.strong,{children:"sample"}),"."]}),"\n",(0,r.jsx)(t.li,{children:"Answers questions in the form: Does this sample look like it was drawn from the population?"}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Permutation Test"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"No"})," information about any ",(0,r.jsx)(t.strong,{children:"population distributions"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Two"})," observed ",(0,r.jsx)(t.strong,{children:"samples"}),"."]}),"\n",(0,r.jsx)(t.li,{children:"Answers questions in the form: Do these two samples look like they were drawn from the same population?"}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"concept-check-",children:"Concept Check \ud83d\udc40"}),"\n",(0,r.jsx)(t.p,{children:"Which test do you choose in each of the following scenarios (Hypothesis Test or Permutation Test)?"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"In DSC 10, we ask all students whether they liked labs or homework more. Compare the proportion of students who preferred labs to the proportion who preferred homeworks."}),"\n",(0,r.jsx)(t.li,{children:"Compare the proportion of students from Sixth College who have taken DSC 10 and the proportion of students from Muir College who have taken DSC 10."}),"\n"]}),"\n",(0,r.jsxs)(n,{children:[(0,r.jsx)("summary",{children:"Answer"}),(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Hypothesis Test."}),"\n",(0,r.jsx)(t.li,{children:"Permutation Test."}),"\n"]}),(0,r.jsxs)(t.admonition,{type:"tip",children:[(0,r.jsx)(t.p,{children:"If you can find the proportion of group B by only knowing the proportion of group A, then it is a hypothesis test. For instance, in the first scenario, since we know that DSC 10 students like either labs or homework, we can calculate the proportion of students who preferred labs by subtracting the proportion of students who preferred homework from the whole proportion (100%)."}),(0,r.jsx)(t.p,{children:"However, for the second scenario, we cannot infer one proportion from another. Thus, it is a permutation test."})]})]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8597:(e,t,n)=>{n.d(t,{A:()=>o});n(6540);var r=n(4848);const o=e=>{let{data:t}=e,n=[],o=[],s="",i=[];if(t){const e=JSON.parse(t);n=e.columns||[],o=e.data||[],s=e.indexName||"Index",i=e.index||[]}return(0,r.jsx)("div",{className:"dataframe-container",children:(0,r.jsxs)("table",{className:"dataframe-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:s}),n.map(((e,t)=>(0,r.jsx)("th",{children:e},t)))]})}),(0,r.jsx)("tbody",{children:o.map(((e,t)=>(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{className:"index-value",children:i[t]}),e.map(((e,t)=>{return(0,r.jsx)("td",{children:(n=e,"boolean"==typeof n?n.toString().charAt(0).toUpperCase()+n.toString().slice(1):n)},t);var n}))]},t)))})]})})}},5158:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(6540),o=n(4848);const s=function(e){let{src:t,sourceLink:n,aspectRatio:s=16/9}=e;const[i,c]=(0,r.useState)(0),[a,l]=(0,r.useState)(0),d=(0,r.useRef)(null);return(0,r.useEffect)((()=>{const e=()=>{if(d.current){const e=d.current.offsetWidth;l(e/s)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[s]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{ref:d,style:{width:"100%",position:"relative",maxWidth:"100%",backgroundColor:"white"},children:(0,o.jsx)("iframe",{src:t,style:{width:"100%",height:`${a}px`,border:"0",allowFullScreen:!0}},i)}),(0,o.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"20px 0"},children:(0,o.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"(Source)"})}),(0,o.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"10px 0"},children:(0,o.jsx)("button",{onClick:()=>{c((e=>e+1))},style:{backgroundColor:"#4CAF50",color:"white",padding:"10px 20px",border:"none",borderRadius:"5px",cursor:"pointer",outline:"none",fontSize:"16px",fontWeight:"bold",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",transition:"background-color 0.3s"},onMouseOver:e=>e.currentTarget.style.backgroundColor="#45a049",onMouseOut:e=>e.currentTarget.style.backgroundColor="#4CAF50",children:"Restart Diagram"})})]})}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>c});var r=n(6540);const o={},s=r.createContext(o);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d4f68316.85e36926.js b/assets/js/d4f68316.85e36926.js new file mode 100644 index 00000000..13b17b37 --- /dev/null +++ b/assets/js/d4f68316.85e36926.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[4833],{4520:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var r=n(4848),o=n(8453);n(8597),n(5158);const s={sidebar_position:1,sidebar_label:"Hypothesis Test vs. Permutation Test",title:"Hypothesis Test vs. Permutation Test"},i=void 0,c={id:"statistical-inference/concept check/hypothesis_vs_permutation",title:"Hypothesis Test vs. Permutation Test",description:"Difference",source:"@site/docs/statistical-inference/concept check/hypothesis_vs_permutation.md",sourceDirName:"statistical-inference/concept check",slug:"/statistical-inference/concept check/hypothesis_vs_permutation",permalink:"/bpd-reference/docs/statistical-inference/concept check/hypothesis_vs_permutation",draft:!1,unlisted:!1,editUrl:"https://github.com/dsc-courses/bpd-reference/tree/main/docs/statistical-inference/concept check/hypothesis_vs_permutation.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,sidebar_label:"Hypothesis Test vs. Permutation Test",title:"Hypothesis Test vs. Permutation Test"},sidebar:"statsSidebar",previous:{title:"The Central Limit Theorem",permalink:"/bpd-reference/docs/statistical-inference/central_limit_theorem"}},a={},l=[{value:"Difference",id:"difference",level:2},{value:"Concept Check \ud83d\udc40",id:"concept-check-",level:2}];function d(e){const t={admonition:"admonition",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components},{Details:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"difference",children:"Difference"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"(Standard) Hypothesis Test"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["A ",(0,r.jsx)(t.strong,{children:"population distribution"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"One"})," observed ",(0,r.jsx)(t.strong,{children:"sample"}),"."]}),"\n",(0,r.jsx)(t.li,{children:"Answers questions in the form: Does this sample look like it was drawn from the population?"}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"Permutation Test"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"No"})," information about any ",(0,r.jsx)(t.strong,{children:"population distributions"}),"."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.strong,{children:"Two"})," observed ",(0,r.jsx)(t.strong,{children:"samples"}),"."]}),"\n",(0,r.jsx)(t.li,{children:"Answers questions in the form: Do these two samples look like they were drawn from the same population?"}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"concept-check-",children:"Concept Check \ud83d\udc40"}),"\n",(0,r.jsx)(t.p,{children:"Which test do you choose in each of the following scenarios (Hypothesis Test or Permutation Test)?"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"In DSC 10, we ask all students whether they liked labs or homework more. Compare the proportion of students who preferred labs to the proportion who preferred homeworks."}),"\n",(0,r.jsx)(t.li,{children:"Compare the proportion of students from Sixth College who have taken DSC 10 and the proportion of students from Muir College who have taken DSC 10."}),"\n"]}),"\n",(0,r.jsxs)(n,{children:[(0,r.jsx)("summary",{children:"Answer"}),(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Hypothesis Test."}),"\n",(0,r.jsx)(t.li,{children:"Permutation Test."}),"\n"]}),(0,r.jsxs)(t.admonition,{type:"tip",children:[(0,r.jsx)(t.p,{children:"If you can find the proportion of group B by only knowing the proportion of group A, then it is a hypothesis test. For instance, in the first scenario, since we know that DSC 10 students like either labs or homework, we can calculate the proportion of students who preferred labs by subtracting the proportion of students who preferred homework from the whole proportion (100%)."}),(0,r.jsx)(t.p,{children:"However, for the second scenario, we cannot infer one proportion from another. Thus, it is a permutation test."})]})]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8597:(e,t,n)=>{n.d(t,{A:()=>o});n(6540);var r=n(4848);const o=e=>{let{data:t}=e,n=[],o=[],s="",i=[];if(t){const e=JSON.parse(t);n=e.columns||[],o=e.data||[],s=e.indexName||"Index",i=e.index||[]}return(0,r.jsx)("div",{className:"dataframe-container",children:(0,r.jsxs)("table",{className:"dataframe-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:s}),n.map(((e,t)=>(0,r.jsx)("th",{children:e},t)))]})}),(0,r.jsx)("tbody",{children:o.map(((e,t)=>(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{className:"index-value",children:i[t]}),e.map(((e,t)=>{return(0,r.jsx)("td",{children:(n=e,"boolean"==typeof n?n.toString().charAt(0).toUpperCase()+n.toString().slice(1):n)},t);var n}))]},t)))})]})})}},5158:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(6540),o=n(4848);const s=function(e){let{src:t,sourceLink:n,aspectRatio:s=16/9}=e;const[i,c]=(0,r.useState)(0),[a,l]=(0,r.useState)(0),d=(0,r.useRef)(null);return(0,r.useEffect)((()=>{const e=()=>{if(d.current){const e=d.current.offsetWidth;l(e/s)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[s]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{ref:d,style:{width:"100%",position:"relative",maxWidth:"100%",backgroundColor:"white"},children:(0,o.jsx)("iframe",{src:t,style:{width:"100%",height:`${a}px`,border:"0",allowFullScreen:!0}},i)}),(0,o.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"20px 0"},children:(0,o.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"(Source)"})}),(0,o.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"10px 0"},children:(0,o.jsx)("button",{onClick:()=>{c((e=>e+1))},style:{backgroundColor:"#4CAF50",color:"white",padding:"10px 20px",border:"none",borderRadius:"5px",cursor:"pointer",outline:"none",fontSize:"16px",fontWeight:"bold",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",transition:"background-color 0.3s"},onMouseOver:e=>e.currentTarget.style.backgroundColor="#45a049",onMouseOut:e=>e.currentTarget.style.backgroundColor="#4CAF50",children:"Restart Diagram"})})]})}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>c});var r=n(6540);const o={},s=r.createContext(o);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f095f4cd.86f4ec6e.js b/assets/js/f095f4cd.86f4ec6e.js new file mode 100644 index 00000000..6e7297e2 --- /dev/null +++ b/assets/js/f095f4cd.86f4ec6e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[28],{8406:(e,A,t)=>{t.r(A),t.d(A,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=t(4848),a=t(8453),s=t(8597),r=t(5158);const i={sidebar_position:8,sidebar_label:"Boostrapping and Confidence Intervals",title:"Bootstrapping and Confidence Intervals",tags:["for-loop","histogram"]},o=void 0,l={id:"statistical-inference/bootstrapping",title:"Bootstrapping and Confidence Intervals",description:"Concept",source:"@site/docs/statistical-inference/bootstrapping.md",sourceDirName:"statistical-inference",slug:"/statistical-inference/bootstrapping",permalink:"/bpd-reference/docs/statistical-inference/bootstrapping",draft:!1,unlisted:!1,editUrl:"https://github.com/dsc-courses/bpd-reference/tree/main/docs/statistical-inference/bootstrapping.md",tags:[{label:"for-loop",permalink:"/bpd-reference/docs/tags/for-loop"},{label:"histogram",permalink:"/bpd-reference/docs/tags/histogram"}],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8,sidebar_label:"Boostrapping and Confidence Intervals",title:"Bootstrapping and Confidence Intervals",tags:["for-loop","histogram"]},sidebar:"statsSidebar",previous:{title:"Hypothesis Test",permalink:"/bpd-reference/docs/statistical-inference/hypothesis_test"},next:{title:"Permutation Test",permalink:"/bpd-reference/docs/statistical-inference/permutation_test"}},d={},c=[{value:"Concept",id:"concept",level:2},{value:"Code Example",id:"code-example",level:2},{value:"1. Take a random sample of size 12 from the full_pets DataFrame.",id:"1-take-a-random-sample-of-size-12-from-the-full_pets-dataframe",level:3},{value:"2. Find the observed parameter",id:"2-find-the-observed-parameter",level:3},{value:"3. Bootstrap the sample 10,000 times with replacement",id:"3-bootstrap-the-sample-10000-times-with-replacement",level:3},{value:"4. Create a 95% confidence interval",id:"4-create-a-95-confidence-interval",level:3},{value:"5. Conclusion",id:"5-conclusion",level:3},{value:"6. Extra",id:"6-extra",level:3}];function p(e){const A={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(A.h2,{id:"concept",children:"Concept"}),"\n",(0,n.jsx)(A.admonition,{title:"Key Idea",type:"tip",children:(0,n.jsx)(A.p,{children:"We use a bootstrapping to estimate the distribution of the sample statistic to see how different our it could have been. We use confidence intervals to define a range that captures most of the bootstrapped distribution of the sample statistic."})}),"\n",(0,n.jsxs)(A.admonition,{title:"Terminology",type:"info",children:[(0,n.jsxs)(A.p,{children:[(0,n.jsx)(A.strong,{children:"Bootstrapping"}),": Bootstrapping is a type of hypothesis test that involves resampling from a single sample to estimate the\ndistribution of the sample statistic. It answers the question of how different the sample statistic could have been if given a different sample. To conduct bootstrapping:"]}),(0,n.jsxs)(A.ol,{children:["\n",(0,n.jsx)(A.li,{children:"Resample from the original sample with replacement."}),"\n",(0,n.jsx)(A.li,{children:"Calculate the sample statistic on the bootstrapped resample."}),"\n",(0,n.jsx)(A.li,{children:"Save the results into an array."}),"\n",(0,n.jsx)(A.li,{children:"Repeat steps 1 through 3 to generate an empirical distribution of the test statistic."}),"\n",(0,n.jsx)(A.li,{children:"Calculate the confidence interval and see if the observed statistic lies in it. If the observed statistic is not\nin our confidence interval, we have evidence to reject the null."}),"\n"]}),(0,n.jsxs)(A.p,{children:[(0,n.jsx)(A.strong,{children:"Confidence Intervals:"})," A confidence interval is a range that captures most of the distribution of the bootstrapped sample statistic in\nthe hopes of also containing the true population parameter within it. If\nwe were to construct a 95% confidence interval, we aren't saying that there is a 95% chance that the true population parameter lies in the\ninterval as the interval either contains it or it doesn't. Instead, we are saying that approximately 95% of the time, the intervals you\ncreate will contain the true population parameter. For example, if we generated 100 confidence intervals, about 95 of them will have the\ntrue population parameter."]})]}),"\n",(0,n.jsx)(A.admonition,{type:"note",children:(0,n.jsx)(A.p,{children:"When resampling, the size of the resample should be the same as the original sample with replacement."})}),"\n",(0,n.jsx)(A.p,{children:"The diagram below provides an overview of conducting bootstrapping, although it references a different dataset."}),"\n",(0,n.jsx)(r.A,{src:"https://docs.google.com/presentation/d/e/2PACX-1vS_iYHJYXSVMMZ-YQVFwMEFR6EFN3FDSAvaMyUm-YJfLQgRMTHm3vI-wWJJ5999eFJq70nWp2hyItZg/embed?start=true&loop=false&delayms=3000&rm=minimal",sourceLink:"https://docs.google.com/presentation/d/1oYakqMdI7z61BthvgWUJvbT21bKTXg01KmAibglepBI/edit?usp=sharing"}),"\n",(0,n.jsxs)(A.p,{children:["The diagram below provides an overview of creating confidence intervals, although it references a different situation. For additional helpful visual guides, please visit the ",(0,n.jsx)(A.a,{href:"https://dsc10.com/diagrams/",children:"Diagrams"})," site."]}),"\n",(0,n.jsx)(r.A,{src:"https://docs.google.com/presentation/d/e/2PACX-1vTaPZsueXI6fey_5cj2Y1TevkR1joBvpwaWVsZNvgBlnJSrw1EiBLHJywkFH_QNLU5Tdr6JZgDrhFxG/embed?start=true&loop=false&delayms=3000&rm=minimal",sourceLink:"https://docs.google.com/presentation/d/1l5GVyl60FrornEaZnGL6REV4gjEydRncNVi6k1hHUsA/edit?usp=sharing"}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h2,{id:"code-example",children:"Code Example"}),"\n",(0,n.jsxs)(A.h3,{id:"1-take-a-random-sample-of-size-12-from-the-full_pets-dataframe",children:["1. Take a random sample of size 12 from the ",(0,n.jsx)(A.code,{children:"full_pets"})," DataFrame."]}),"\n",(0,n.jsxs)(A.p,{children:["Let's say we didn't have access to all of the information in the ",(0,n.jsx)(A.code,{children:"full_pets"})," DataFrame and were only able to collect a sample of 12 pets."]}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"# Magic to ensure that we get the same results every time this code is run. \nnp.random.seed(42)\n\n# sample\npets_sample = full_pets.sample(12, replace=False)\npets_sample\n"})}),"\n",(0,n.jsx)(s.A,{data:'{"columns":["Unnamed: 0","ID","Species","Color","Weight","Age","Is_Cat","Owner_Comment"],"index":[18,14,4,13,10,7,6,3,2,15,17,8],"data":[[18,"cat_006","cat","black",3.0,0.5,true,"No, thank you!"],[14,"dog_007","dog","white",50.0,6.1,false,"No, thank you!"],[4,"dog_003","dog","black",25.0,0.5,false,"Be the person your dog thinks you are."],[13,"ham_003","hamster","black",0.5,0.1,false,"No, thank you!"],[10,"dog_006","dog","golden",35.0,4.0,false,"No, thank you!"],[7,"cat_003","cat","black",10.0,0.0,true,"No, thank you!"],[6,"ham_002","hamster","golden",0.25,0.2,false,"No, thank you!"],[3,"dog_002","dog","white",80.0,2.0,false,"Love is a wet nose and a wagging tail."],[2,"cat_002","cat","black",15.0,9.0,true,"****All you need is love and a cat.****"],[15,"ham_004","hamster","golden",0.25,0.2,false,"No, thank you!"],[17,"dog_009","dog","white",30.0,4.8,false,"No, thank you!"],[8,"dog_004","dog","black",45.0,6.7,false,"No, thank you!"]]}'}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"2-find-the-observed-parameter",children:"2. Find the observed parameter"}),"\n",(0,n.jsx)(A.p,{children:"In this case, we are interested in finding the median weight of the entire population."}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"pets_sample = full_pets.sample(12, replace=False)\nprint('Median of pets_sample weight:', pets_sample.get('Weight').median())\n"})}),"\n",(0,n.jsx)(A.p,{children:"Median of pets_sample weight: 20.0"}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"3-bootstrap-the-sample-10000-times-with-replacement",children:"3. Bootstrap the sample 10,000 times with replacement"}),"\n",(0,n.jsx)(A.p,{children:"Since we were only able to collect one random sample from the full population, we can't be sure if this singular guess predicts the\ntrue population parameter well. We can't go out and collect\nanother random sample, so we will resample from the original sample with replacement to simulate what could've been."}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"boot_medians = np.array([])\nfor i in np.arange(10000):\n # 1. resample the data\n resample = pets_sample.sample(pets_sample.shape[0], replace=True)\n\n # 2. calculate the median of the resample\n boot_median = resample.get('Weight').median()\n\n # 3. append the median to the array\n boot_medians = np.append(boot_medians, boot_median)\n"})}),"\n",(0,n.jsx)(A.p,{children:"This code will create 10,000 bootstrapped samples and calculate the median for each of them, but a different\nreasonable number can be used instead. Since these samples are all random, the information in each sample and\nmedian will be different from one another."}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"4-create-a-95-confidence-interval",children:"4. Create a 95% confidence interval"}),"\n",(0,n.jsx)(A.p,{children:"Instead of using a single number to estimate the true population parameter, we create a range of where we think it is."}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"# Get the 95% confidence interval\nleft = np.percentile(boot_medians, 2.5) # 2.5th percentile\nright = np.percentile(boot_medians, 97.5) # 97.5th percentile\n"})}),"\n",(0,n.jsx)(A.p,{children:"Remember that the 95% confidence interval does not mean we have a 95% chance of containing the true population parameter. It means\nthat about 95% of all intervals we create will contain the true population parameter."}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"5-conclusion",children:"5. Conclusion"}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"left, right\n"})}),"\n",(0,n.jsx)(A.p,{children:"(1.75, 40.0)"}),"\n",(0,n.jsx)(A.admonition,{title:"Conclusion",type:"info",children:(0,n.jsxs)(A.ul,{children:["\n",(0,n.jsx)(A.li,{children:"From this interval, we are 95% confident that the true population median lies somewhere between 1.75 and 40."}),"\n",(0,n.jsx)(A.li,{children:"We have no way of knowing where exactly in this interval does the true population median falls or even if it is contained at all."}),"\n",(0,n.jsx)(A.li,{children:"What we do know is that if we were to repeat the process and generate multiple confidence intervals, roughly 95% of them will\ncontain the true population median."}),"\n"]})}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"6-extra",children:"6. Extra"}),"\n",(0,n.jsx)(A.p,{children:"Let's look at the distribution of the bootstrapped medians!"}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"# Create the histogram.\n# Plot the histogram of boot_medians\nplt.hist(boot_medians, bins=20, density=True, ec = 'w')\n\nplt.show()\n"})}),"\n",(0,n.jsx)(A.p,{children:(0,n.jsx)(A.img,{alt:"Distribution",src:t(7370).A+"",width:"556",height:"413"})}),"\n",(0,n.jsxs)(A.p,{children:["A 95% confidence level means that ",(0,n.jsx)(A.strong,{children:"approximately 95% of the time, the intervals you create through this process will contain the true population parameter"}),"."]})]})}function h(e={}){const{wrapper:A}={...(0,a.R)(),...e.components};return A?(0,n.jsx)(A,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8597:(e,A,t)=>{t.d(A,{A:()=>a});t(6540);var n=t(4848);const a=e=>{let{data:A}=e,t=[],a=[],s="",r=[];if(A){const e=JSON.parse(A);t=e.columns||[],a=e.data||[],s=e.indexName||"Index",r=e.index||[]}return(0,n.jsx)("div",{className:"dataframe-container",children:(0,n.jsxs)("table",{className:"dataframe-table",children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:s}),t.map(((e,A)=>(0,n.jsx)("th",{children:e},A)))]})}),(0,n.jsx)("tbody",{children:a.map(((e,A)=>(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"index-value",children:r[A]}),e.map(((e,A)=>{return(0,n.jsx)("td",{children:(t=e,"boolean"==typeof t?t.toString().charAt(0).toUpperCase()+t.toString().slice(1):t)},A);var t}))]},A)))})]})})}},5158:(e,A,t)=>{t.d(A,{A:()=>s});var n=t(6540),a=t(4848);const s=function(e){let{src:A,sourceLink:t,aspectRatio:s=16/9}=e;const[r,i]=(0,n.useState)(0),[o,l]=(0,n.useState)(0),d=(0,n.useRef)(null);return(0,n.useEffect)((()=>{const e=()=>{if(d.current){const e=d.current.offsetWidth;l(e/s)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[s]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{ref:d,style:{width:"100%",position:"relative",maxWidth:"100%",backgroundColor:"white"},children:(0,a.jsx)("iframe",{src:A,style:{width:"100%",height:`${o}px`,border:"0",allowFullScreen:!0}},r)}),(0,a.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"20px 0"},children:(0,a.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:"(Source)"})}),(0,a.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"10px 0"},children:(0,a.jsx)("button",{onClick:()=>{i((e=>e+1))},style:{backgroundColor:"#4CAF50",color:"white",padding:"10px 20px",border:"none",borderRadius:"5px",cursor:"pointer",outline:"none",fontSize:"16px",fontWeight:"bold",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",transition:"background-color 0.3s"},onMouseOver:e=>e.currentTarget.style.backgroundColor="#45a049",onMouseOut:e=>e.currentTarget.style.backgroundColor="#4CAF50",children:"Restart Diagram"})})]})}},7370:(e,A,t)=>{t.d(A,{A:()=>n});const n="data:image/png;base64,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8vK8PqoN/507d0633367tmzZ4vPxV155RVVVVdqyZYuOHj2qpKQk3XfffTp79uwkrzS8NTU16amnntIHH3ygxsZGXbhwQTk5OTp37pxnDHsdGDfccIM2btyoY8eO6dixY/re976nBx980PMvcPY58I4ePart27dr0aJFXufZ68D5+te/rp6eHs9x4sQJz2Mh3+dL/qahq9A3v/lNq7Cw0OvcggULrOeeey5EK5p6JFn79+/3/Dw6OmolJSVZGzdu9Jz74osvrPj4eKu2tjYEK5w63G63JclqamqyLIu9DrZrr73Weu2119jnIDh79qx10003WY2NjdaSJUus4uJiy7L4Mx1I69evt26//Xafj5mwz7zD8l+Gh4fV0tKinJwcr/M5OTk6cuRIiFY19XV0dKi3t9dr3x0Oh5YsWcK+f0X9/f2SpOuuu04Sex0sIyMjqq+v17lz55SZmck+B8FTTz2l+++/X/fee6/XefY6sD755BMlJycrNTVVK1as0KeffirJjH2e0G9rnqr6+vo0MjIy5pcuJiYmjvnljAici3vra99PnToViiVNCZZlqaysTN/5zne0cOFCSex1oJ04cUKZmZn64osvFBsbq/379+vWW2/1/AucfQ6M+vp6HT9+XEePHh3zGH+mA+euu+7Srl27dPPNN+uf//ynXnrpJWVlZamtrc2IfSZYfLDZbF4/W5Y15hwCj30PrKeffloffvihz9/JxV4Hxi233KLW1lb9+9//1t69e/XEE0+oqanJ8zj7/NV1dXWpuLhYBw4cUExMzLjj2OuvLi8vz/Ofb7vtNmVmZmrevHn6/e9/r29961uSQrvPXBL6L7NmzVJkZOSYd1PcbveYqkTgXLwLnX0PnJ/97Gf685//rHfffVc33HCD5zx7HVjR0dGaP3++MjIyVFFRodtvv12bNm1inwOopaVFbrdbTqdTdrtddrtdTU1N2rx5s+x2u2c/2evAmz59um677TZ98sknRvyZJlj+S3R0tJxOpxobG73ONzY2KisrK0SrmvpSU1OVlJTkte/Dw8Nqampi3/1kWZaefvpp7du3T3/729+Umprq9Th7HVyWZWloaIh9DqB77rlHJ06cUGtrq+fIyMjQo48+qtbWVqWlpbHXQTI0NKSTJ0/q+uuvN+PP9KTc2htG6uvrraioKKuurs766KOPrJKSEmv69OnWZ599FuqlhbWzZ89aLpfLcrlcliSrqqrKcrlc1qlTpyzLsqyNGzda8fHx1r59+6wTJ05YjzzyiHX99ddbAwMDIV55ePnpT39qxcfHWwcPHrR6eno8x+eff+4Zw14HRnl5ufXee+9ZHR0d1ocffmitXbvWioiIsA4cOGBZFvscTP/9KSHLYq8D5ec//7l18OBB69NPP7U++OAD6/vf/741Y8YMz99/od5ngsWHrVu3WnPnzrWio6Otb3zjG56PhGLi3n33XUvSmOOJJ56wLOvLj8ytX7/eSkpKshwOh3X33XdbJ06cCO2iw5CvPZZk/e53v/OMYa8DY+XKlZ5/TyQkJFj33HOPJ1Ysi30Opv8NFvY6MPLz863rr7/eioqKspKTk60f/vCHVltbm+fxUO+zzbIsa3LeywEAAJgY7mEBAADGI1gAAIDxCBYAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxiNYAACA8QgWAABgPIIFAAAY7/8BZJNJj2p0yyEAAAAASUVORK5CYII="},8453:(e,A,t)=>{t.d(A,{R:()=>r,x:()=>i});var n=t(6540);const a={},s=n.createContext(a);function r(e){const A=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(A):{...A,...e}}),[A,e])}function i(e){let A;return A=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),n.createElement(s.Provider,{value:A},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f095f4cd.aacf3e8f.js b/assets/js/f095f4cd.aacf3e8f.js deleted file mode 100644 index 760103cb..00000000 --- a/assets/js/f095f4cd.aacf3e8f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkbpd_reference=self.webpackChunkbpd_reference||[]).push([[28],{8406:(e,A,t)=>{t.r(A),t.d(A,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=t(4848),a=t(8453),s=t(8597),r=t(5158);const i={sidebar_position:8,sidebar_label:"Boostrapping and Confidence Intervals",title:"Bootstrapping and Confidence Intervals",tags:["for-loop","histogram"]},o=void 0,l={id:"statistical-inference/bootstrapping",title:"Bootstrapping and Confidence Intervals",description:"Concept",source:"@site/docs/statistical-inference/bootstrapping.md",sourceDirName:"statistical-inference",slug:"/statistical-inference/bootstrapping",permalink:"/bpd-reference/docs/statistical-inference/bootstrapping",draft:!1,unlisted:!1,editUrl:"https://github.com/dsc-courses/bpd-reference/tree/main/docs/statistical-inference/bootstrapping.md",tags:[{label:"for-loop",permalink:"/bpd-reference/docs/tags/for-loop"},{label:"histogram",permalink:"/bpd-reference/docs/tags/histogram"}],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8,sidebar_label:"Boostrapping and Confidence Intervals",title:"Bootstrapping and Confidence Intervals",tags:["for-loop","histogram"]},sidebar:"statsSidebar",previous:{title:"Hypothesis Test",permalink:"/bpd-reference/docs/statistical-inference/hypothesis_test"},next:{title:"Hypothesis Test vs. Permutation Test",permalink:"/bpd-reference/docs/statistical-inference/concept check/hypothesis_vs_permutation"}},d={},c=[{value:"Concept",id:"concept",level:2},{value:"Code Example",id:"code-example",level:2},{value:"1. Take a random sample of size 12 from the full_pets DataFrame.",id:"1-take-a-random-sample-of-size-12-from-the-full_pets-dataframe",level:3},{value:"2. Find the observed parameter",id:"2-find-the-observed-parameter",level:3},{value:"3. Bootstrap the sample 10,000 times with replacement",id:"3-bootstrap-the-sample-10000-times-with-replacement",level:3},{value:"4. Create a 95% confidence interval",id:"4-create-a-95-confidence-interval",level:3},{value:"5. Conclusion",id:"5-conclusion",level:3},{value:"6. Extra",id:"6-extra",level:3}];function p(e){const A={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(A.h2,{id:"concept",children:"Concept"}),"\n",(0,n.jsx)(A.admonition,{title:"Key Idea",type:"tip",children:(0,n.jsx)(A.p,{children:"We use a bootstrapping to estimate the distribution of the sample statistic to see how different our it could have been. We use confidence intervals to define a range that captures most of the bootstrapped distribution of the sample statistic."})}),"\n",(0,n.jsxs)(A.admonition,{title:"Terminology",type:"info",children:[(0,n.jsxs)(A.p,{children:[(0,n.jsx)(A.strong,{children:"Bootstrapping"}),": Bootstrapping is a type of hypothesis test that involves resampling from a single sample to estimate the\ndistribution of the sample statistic. It answers the question of how different the sample statistic could have been if given a different sample. To conduct bootstrapping:"]}),(0,n.jsxs)(A.ol,{children:["\n",(0,n.jsx)(A.li,{children:"Resample from the original sample with replacement."}),"\n",(0,n.jsx)(A.li,{children:"Calculate the sample statistic on the bootstrapped resample."}),"\n",(0,n.jsx)(A.li,{children:"Save the results into an array."}),"\n",(0,n.jsx)(A.li,{children:"Repeat steps 1 through 3 to generate an empirical distribution of the test statistic."}),"\n",(0,n.jsx)(A.li,{children:"Calculate the confidence interval and see if the observed statistic lies in it. If the observed statistic is not\nin our confidence interval, we have evidence to reject the null."}),"\n"]}),(0,n.jsxs)(A.p,{children:[(0,n.jsx)(A.strong,{children:"Confidence Intervals:"})," A confidence interval is a range that captures most of the distribution of the bootstrapped sample statistic in\nthe hopes of also containing the true population parameter within it. If\nwe were to construct a 95% confidence interval, we aren't saying that there is a 95% chance that the true population parameter lies in the\ninterval as the interval either contains it or it doesn't. Instead, we are saying that approximately 95% of the time, the intervals you\ncreate will contain the true population parameter. For example, if we generated 100 confidence intervals, about 95 of them will have the\ntrue population parameter."]})]}),"\n",(0,n.jsx)(A.admonition,{type:"note",children:(0,n.jsx)(A.p,{children:"When resampling, the size of the resample should be the same as the original sample with replacement."})}),"\n",(0,n.jsx)(A.p,{children:"The diagram below provides an overview of conducting bootstrapping, although it references a different dataset."}),"\n",(0,n.jsx)(r.A,{src:"https://docs.google.com/presentation/d/e/2PACX-1vS_iYHJYXSVMMZ-YQVFwMEFR6EFN3FDSAvaMyUm-YJfLQgRMTHm3vI-wWJJ5999eFJq70nWp2hyItZg/embed?start=true&loop=false&delayms=3000&rm=minimal",sourceLink:"https://docs.google.com/presentation/d/1oYakqMdI7z61BthvgWUJvbT21bKTXg01KmAibglepBI/edit?usp=sharing"}),"\n",(0,n.jsxs)(A.p,{children:["The diagram below provides an overview of creating confidence intervals, although it references a different situation. For additional helpful visual guides, please visit the ",(0,n.jsx)(A.a,{href:"https://dsc10.com/diagrams/",children:"Diagrams"})," site."]}),"\n",(0,n.jsx)(r.A,{src:"https://docs.google.com/presentation/d/e/2PACX-1vTaPZsueXI6fey_5cj2Y1TevkR1joBvpwaWVsZNvgBlnJSrw1EiBLHJywkFH_QNLU5Tdr6JZgDrhFxG/embed?start=true&loop=false&delayms=3000&rm=minimal",sourceLink:"https://docs.google.com/presentation/d/1l5GVyl60FrornEaZnGL6REV4gjEydRncNVi6k1hHUsA/edit?usp=sharing"}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h2,{id:"code-example",children:"Code Example"}),"\n",(0,n.jsxs)(A.h3,{id:"1-take-a-random-sample-of-size-12-from-the-full_pets-dataframe",children:["1. Take a random sample of size 12 from the ",(0,n.jsx)(A.code,{children:"full_pets"})," DataFrame."]}),"\n",(0,n.jsxs)(A.p,{children:["Let's say we didn't have access to all of the information in the ",(0,n.jsx)(A.code,{children:"full_pets"})," DataFrame and were only able to collect a sample of 12 pets."]}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"# Magic to ensure that we get the same results every time this code is run. \nnp.random.seed(42)\n\n# sample\npets_sample = full_pets.sample(12, replace=False)\npets_sample\n"})}),"\n",(0,n.jsx)(s.A,{data:'{"columns":["Unnamed: 0","ID","Species","Color","Weight","Age","Is_Cat","Owner_Comment"],"index":[18,14,4,13,10,7,6,3,2,15,17,8],"data":[[18,"cat_006","cat","black",3.0,0.5,true,"No, thank you!"],[14,"dog_007","dog","white",50.0,6.1,false,"No, thank you!"],[4,"dog_003","dog","black",25.0,0.5,false,"Be the person your dog thinks you are."],[13,"ham_003","hamster","black",0.5,0.1,false,"No, thank you!"],[10,"dog_006","dog","golden",35.0,4.0,false,"No, thank you!"],[7,"cat_003","cat","black",10.0,0.0,true,"No, thank you!"],[6,"ham_002","hamster","golden",0.25,0.2,false,"No, thank you!"],[3,"dog_002","dog","white",80.0,2.0,false,"Love is a wet nose and a wagging tail."],[2,"cat_002","cat","black",15.0,9.0,true,"****All you need is love and a cat.****"],[15,"ham_004","hamster","golden",0.25,0.2,false,"No, thank you!"],[17,"dog_009","dog","white",30.0,4.8,false,"No, thank you!"],[8,"dog_004","dog","black",45.0,6.7,false,"No, thank you!"]]}'}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"2-find-the-observed-parameter",children:"2. Find the observed parameter"}),"\n",(0,n.jsx)(A.p,{children:"In this case, we are interested in finding the median weight of the entire population."}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"pets_sample = full_pets.sample(12, replace=False)\nprint('Median of pets_sample weight:', pets_sample.get('Weight').median())\n"})}),"\n",(0,n.jsx)(A.p,{children:"Median of pets_sample weight: 20.0"}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"3-bootstrap-the-sample-10000-times-with-replacement",children:"3. Bootstrap the sample 10,000 times with replacement"}),"\n",(0,n.jsx)(A.p,{children:"Since we were only able to collect one random sample from the full population, we can't be sure if this singular guess predicts the\ntrue population parameter well. We can't go out and collect\nanother random sample, so we will resample from the original sample with replacement to simulate what could've been."}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"boot_medians = np.array([])\nfor i in np.arange(10000):\n # 1. resample the data\n resample = pets_sample.sample(pets_sample.shape[0], replace=True)\n\n # 2. calculate the median of the resample\n boot_median = resample.get('Weight').median()\n\n # 3. append the median to the array\n boot_medians = np.append(boot_medians, boot_median)\n"})}),"\n",(0,n.jsx)(A.p,{children:"This code will create 10,000 bootstrapped samples and calculate the median for each of them, but a different\nreasonable number can be used instead. Since these samples are all random, the information in each sample and\nmedian will be different from one another."}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"4-create-a-95-confidence-interval",children:"4. Create a 95% confidence interval"}),"\n",(0,n.jsx)(A.p,{children:"Instead of using a single number to estimate the true population parameter, we create a range of where we think it is."}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"# Get the 95% confidence interval\nleft = np.percentile(boot_medians, 2.5) # 2.5th percentile\nright = np.percentile(boot_medians, 97.5) # 97.5th percentile\n"})}),"\n",(0,n.jsx)(A.p,{children:"Remember that the 95% confidence interval does not mean we have a 95% chance of containing the true population parameter. It means\nthat about 95% of all intervals we create will contain the true population parameter."}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"5-conclusion",children:"5. Conclusion"}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"left, right\n"})}),"\n",(0,n.jsx)(A.p,{children:"(1.75, 40.0)"}),"\n",(0,n.jsx)(A.admonition,{title:"Conclusion",type:"info",children:(0,n.jsxs)(A.ul,{children:["\n",(0,n.jsx)(A.li,{children:"From this interval, we are 95% confident that the true population median lies somewhere between 1.75 and 40."}),"\n",(0,n.jsx)(A.li,{children:"We have no way of knowing where exactly in this interval does the true population median falls or even if it is contained at all."}),"\n",(0,n.jsx)(A.li,{children:"What we do know is that if we were to repeat the process and generate multiple confidence intervals, roughly 95% of them will\ncontain the true population median."}),"\n"]})}),"\n",(0,n.jsx)(A.hr,{}),"\n",(0,n.jsx)(A.h3,{id:"6-extra",children:"6. Extra"}),"\n",(0,n.jsx)(A.p,{children:"Let's look at the distribution of the bootstrapped medians!"}),"\n",(0,n.jsx)(A.pre,{children:(0,n.jsx)(A.code,{className:"language-python",children:"# Create the histogram.\n# Plot the histogram of boot_medians\nplt.hist(boot_medians, bins=20, density=True, ec = 'w')\n\nplt.show()\n"})}),"\n",(0,n.jsx)(A.p,{children:(0,n.jsx)(A.img,{alt:"Distribution",src:t(7370).A+"",width:"556",height:"413"})}),"\n",(0,n.jsxs)(A.p,{children:["A 95% confidence level means that ",(0,n.jsx)(A.strong,{children:"approximately 95% of the time, the intervals you create through this process will contain the true population parameter"}),"."]})]})}function h(e={}){const{wrapper:A}={...(0,a.R)(),...e.components};return A?(0,n.jsx)(A,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8597:(e,A,t)=>{t.d(A,{A:()=>a});t(6540);var n=t(4848);const a=e=>{let{data:A}=e,t=[],a=[],s="",r=[];if(A){const e=JSON.parse(A);t=e.columns||[],a=e.data||[],s=e.indexName||"Index",r=e.index||[]}return(0,n.jsx)("div",{className:"dataframe-container",children:(0,n.jsxs)("table",{className:"dataframe-table",children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{children:s}),t.map(((e,A)=>(0,n.jsx)("th",{children:e},A)))]})}),(0,n.jsx)("tbody",{children:a.map(((e,A)=>(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{className:"index-value",children:r[A]}),e.map(((e,A)=>{return(0,n.jsx)("td",{children:(t=e,"boolean"==typeof t?t.toString().charAt(0).toUpperCase()+t.toString().slice(1):t)},A);var t}))]},A)))})]})})}},5158:(e,A,t)=>{t.d(A,{A:()=>s});var n=t(6540),a=t(4848);const s=function(e){let{src:A,sourceLink:t,aspectRatio:s=16/9}=e;const[r,i]=(0,n.useState)(0),[o,l]=(0,n.useState)(0),d=(0,n.useRef)(null);return(0,n.useEffect)((()=>{const e=()=>{if(d.current){const e=d.current.offsetWidth;l(e/s)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[s]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{ref:d,style:{width:"100%",position:"relative",maxWidth:"100%",backgroundColor:"white"},children:(0,a.jsx)("iframe",{src:A,style:{width:"100%",height:`${o}px`,border:"0",allowFullScreen:!0}},r)}),(0,a.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"20px 0"},children:(0,a.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:"(Source)"})}),(0,a.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"10px 0"},children:(0,a.jsx)("button",{onClick:()=>{i((e=>e+1))},style:{backgroundColor:"#4CAF50",color:"white",padding:"10px 20px",border:"none",borderRadius:"5px",cursor:"pointer",outline:"none",fontSize:"16px",fontWeight:"bold",boxShadow:"0 4px 8px rgba(0,0,0,0.1)",transition:"background-color 0.3s"},onMouseOver:e=>e.currentTarget.style.backgroundColor="#45a049",onMouseOut:e=>e.currentTarget.style.backgroundColor="#4CAF50",children:"Restart Diagram"})})]})}},7370:(e,A,t)=>{t.d(A,{A:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiwAAAGdCAYAAAAxCSikAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAgqElEQVR4nO3df0zU9+HH8dfBwWFEaKsIZUUL2lY6a+uOroON6tYWgl3Xdi7DpmubKiaMdvJjbVK0i51th2sJQafItLjOtRH/ULclX7ZKu0qt0kzxSA01TUmpMIFdcBmITUHh8/2j8bYbh3r0jnsfPh/JJxmfe9+773vP1efu87nDZlmWJQAAAINFhHoBAAAAl0OwAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADCePdQLCJTR0VF1d3drxowZstlsoV4OAAC4ApZl6ezZs0pOTlZExPjvo0yZYOnu7lZKSkqolwEAACagq6tLN9xww7iPT5lgmTFjhqQvX3BcXFyIVwMAAK7EwMCAUlJSPH+Pj2fKBMvFy0BxcXEECwAAYeZyt3Nw0y0AADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADAewQIAAIxHsACGGhm1wnJuAAgGe6gXAMC3yAibiutdancPBnTe+bNjtWnF4oDOCQDBRrAABmt3D6qteyDUywCAkOOSEAAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAw3oSCpaamRqmpqYqJiZHT6dShQ4cuOb6pqUlOp1MxMTFKS0tTbW3tuGPr6+tls9n00EMPTWRpAABgCvI7WPbs2aOSkhKtW7dOLpdL2dnZysvLU2dnp8/xHR0dWrZsmbKzs+VyubR27VqtWbNGe/fuHTP21KlTeuaZZ5Sdne3/KwEAAFOW38FSVVWlVatWqaCgQOnp6aqurlZKSoq2bdvmc3xtba3mzJmj6upqpaenq6CgQCtXrlRlZaXXuJGRET366KP65S9/qbS0tIm9GgAAMCX5FSzDw8NqaWlRTk6O1/mcnBwdOXLE53Oam5vHjM/NzdWxY8d0/vx5z7kNGzYoISFBq1atuqK1DA0NaWBgwOsAAABTk1/B0tfXp5GRESUmJnqdT0xMVG9vr8/n9Pb2+hx/4cIF9fX1SZIOHz6suro67dix44rXUlFRofj4eM+RkpLiz0sBAABhZEI33dpsNq+fLcsac+5y4y+eP3v2rH7yk59ox44dmjVr1hWvoby8XP39/Z6jq6vLj1cAAADCid2fwbNmzVJkZOSYd1PcbveYd1EuSkpK8jnebrdr5syZamtr02effaYHHnjA8/jo6OiXi7Pb9fHHH2vevHlj5nU4HHI4HP4sHwAAhCm/3mGJjo6W0+lUY2Oj1/nGxkZlZWX5fE5mZuaY8QcOHFBGRoaioqK0YMECnThxQq2trZ7jBz/4gb773e+qtbWVSz0AAMC/d1gkqaysTI899pgyMjKUmZmp7du3q7OzU4WFhZK+vFRz+vRp7dq1S5JUWFioLVu2qKysTKtXr1Zzc7Pq6uq0e/duSVJMTIwWLlzo9c+45pprJGnMeWCiRkYtRUaMf9nS1LkBAF/yO1jy8/N15swZbdiwQT09PVq4cKEaGho0d+5cSVJPT4/Xd7KkpqaqoaFBpaWl2rp1q5KTk7V582YtX748cK8CuIzICJuK611qdw8GdN75s2O1acXigM4JABjLZl28AzbMDQwMKD4+Xv39/YqLiwv1cmCg+zcfUlt3YD/+/vXkOP3fmuB90WE4rhkA/HGlf3/zu4Tgt5HR4DRusOYFAIQ/vy8JAcG4vMKlFQDApRAsmJB292DAL1UAADAeLgkBAADjESwAAMB4BAsAADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADAewQIAAIxHsAAAAOMRLAACZmTUCsu5AZjPHuoFAJg6IiNsKq53qd09GNB558+O1aYViwM6J4DwQrAACKh296DaugdCvQwAUwyXhABc1biMBYQH3mEBcFXjMhYQHggWAFc9LmMB5uOSEAAAMB7BAgAAjEewwAgJsQ5uUAQAjIt7WGCEuGn2oN38uPSWBD2buyCgcwIAJhfBAqME4+bHeQnTAzofAGDycUkIAAAYj2ABAADGI1gAAIDxCBYAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxiNYAACA8QgWAABgPIIFgPESYh0aGbVCvQwAIcRvawZgvLhpdkVG2FRc71K7ezBg8y69JUHP5i4I2HwAgodgARA22t2DauseCNh88xKmB2wuAMHFJSEAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxiNYAACA8QgWAABgPIIFAAAYj2ABAADGI1gAAIDxCBYAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxptQsNTU1Cg1NVUxMTFyOp06dOjQJcc3NTXJ6XQqJiZGaWlpqq2t9Xp83759ysjI0DXXXKPp06frjjvu0B/+8IeJLA0AAExBfgfLnj17VFJSonXr1snlcik7O1t5eXnq7Oz0Ob6jo0PLli1Tdna2XC6X1q5dqzVr1mjv3r2eMdddd53WrVun5uZmffjhh3ryySf15JNP6q233pr4KwMAAFOG38FSVVWlVatWqaCgQOnp6aqurlZKSoq2bdvmc3xtba3mzJmj6upqpaenq6CgQCtXrlRlZaVnzNKlS/Xwww8rPT1d8+bNU3FxsRYtWqT3339/4q8MAABMGX4Fy/DwsFpaWpSTk+N1PicnR0eOHPH5nObm5jHjc3NzdezYMZ0/f37MeMuy9M477+jjjz/W3XffPe5ahoaGNDAw4HUAAICpya9g6evr08jIiBITE73OJyYmqre31+dzent7fY6/cOGC+vr6POf6+/sVGxur6Oho3X///frNb36j++67b9y1VFRUKD4+3nOkpKT481IAAEAYmdBNtzabzetny7LGnLvc+P89P2PGDLW2turo0aN6+eWXVVZWpoMHD447Z3l5ufr7+z1HV1fXBF4JAAAIB3Z/Bs+aNUuRkZFj3k1xu91j3kW5KCkpyed4u92umTNnes5FRERo/vz5kqQ77rhDJ0+eVEVFhZYuXepzXofDIYfD4c/yAQBAmPLrHZbo6Gg5nU41NjZ6nW9sbFRWVpbP52RmZo4Zf+DAAWVkZCgqKmrcf5ZlWRoaGvJneQAAYIry6x0WSSorK9Njjz2mjIwMZWZmavv27ers7FRhYaGkLy/VnD59Wrt27ZIkFRYWasuWLSorK9Pq1avV3Nysuro67d692zNnRUWFMjIyNG/ePA0PD6uhoUG7du0a95NHAADg6uJ3sOTn5+vMmTPasGGDenp6tHDhQjU0NGju3LmSpJ6eHq/vZElNTVVDQ4NKS0u1detWJScna/PmzVq+fLlnzLlz51RUVKR//OMfmjZtmhYsWKA33nhD+fn5AXiJAAAg3PkdLJJUVFSkoqIin4+9/vrrY84tWbJEx48fH3e+l156SS+99NJElgIAAK4C/C4hAABgPIIFAAAYj2ABAADGI1gAAIDxCBYAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxiNYAACA8QgWAABgPIIFAAAYj2ABAADGI1gAAIDxCBYAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxiNYAACA8QgWAABgPIIFAAAYj2ABAADGI1gAAIDxCBYAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxiNYAACA8QgWAABgPIIFAAAYj2ABAADGI1gAAIDxCBYAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxiNYpqiRUSvUSwAAIGDsoV4AgiMywqbiepfa3YMBnXfpLQl6NndBQOcEAOByCJYprN09qLbugYDOOS9hekDnAwDgSnBJCAAAGI9gAQAAxiNYAACA8QgWAABgPIIFAAAYj2ABAADGI1gAAIDxCBYAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAYAgSIh1aGTUCsrcwZoXMJk91AsAgKkobppdkRE2Fde71O4eDNi882fHatOKxQGbDwgXE3qHpaamRqmpqYqJiZHT6dShQ4cuOb6pqUlOp1MxMTFKS0tTbW2t1+M7duxQdna2rr32Wl177bW699579fe//30iSwMAo7S7B9XWPRCwI5DxA4QTv4Nlz549Kikp0bp16+RyuZSdna28vDx1dnb6HN/R0aFly5YpOztbLpdLa9eu1Zo1a7R3717PmIMHD+qRRx7Ru+++q+bmZs2ZM0c5OTk6ffr0xF8ZAACYMvwOlqqqKq1atUoFBQVKT09XdXW1UlJStG3bNp/ja2trNWfOHFVXVys9PV0FBQVauXKlKisrPWPefPNNFRUV6Y477tCCBQu0Y8cOjY6O6p133pn4KwMAAFOGX8EyPDyslpYW5eTkeJ3PycnRkSNHfD6nubl5zPjc3FwdO3ZM58+f9/mczz//XOfPn9d111037lqGhoY0MDDgdQAAgKnJr2Dp6+vTyMiIEhMTvc4nJiaqt7fX53N6e3t9jr9w4YL6+vp8Pue5557T1772Nd17773jrqWiokLx8fGeIyUlxZ+XAgAAwsiEbrq12WxeP1uWNebc5cb7Oi9Jr7zyinbv3q19+/YpJiZm3DnLy8vV39/vObq6uvx5CQAAIIz49bHmWbNmKTIycsy7KW63e8y7KBclJSX5HG+32zVz5kyv85WVlfrVr36lt99+W4sWLbrkWhwOhxwOhz/LBwAAYcqvd1iio6PldDrV2Njodb6xsVFZWVk+n5OZmTlm/IEDB5SRkaGoqCjPuVdffVUvvvii/vrXvyojI8OfZQEAgCnO70tCZWVleu2117Rz506dPHlSpaWl6uzsVGFhoaQvL9U8/vjjnvGFhYU6deqUysrKdPLkSe3cuVN1dXV65plnPGNeeeUVPf/889q5c6duvPFG9fb2qre3V4ODfN8AAACYwDfd5ufn68yZM9qwYYN6enq0cOFCNTQ0aO7cuZKknp4er+9kSU1NVUNDg0pLS7V161YlJydr8+bNWr58uWdMTU2NhoeH9aMf/cjrn7V+/Xq98MILE3xpAABgqpjQV/MXFRWpqKjI52Ovv/76mHNLlizR8ePHx53vs88+m8gyAADAVYJffggAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAX0FCrEMjo1aolwEAU5491AsAwlncNLsiI2wqrnep3T0YsHmX3pKgZ3MXBGw+AAh3BAsQAO3uQbV1DwRsvnkJ0wM2FwBMBVwSAgAAxiNYAACA8QgW4CrDjcIAwhH3sABXGW4UBhCOCBbgKsWNwgDCCZeEAACA8QgWAABgPIIFAAAYj2ABAADGI1gAAIDxCBYAAGA8guUKBPNLtvgCLwAALo/vYbkCwfiSLUmaPztWm1YsDuicAABMRQTLFQr0l2wBAIArxyWhEOJ3ugAAcGV4hyWE+J0uAPx18f/oREbYgjJ/MOcGvgqCxQD8ThcAVypY/0dH4r46mI1gAYAwxH11uNpwDwsAADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjTShYampqlJqaqpiYGDmdTh06dOiS45uamuR0OhUTE6O0tDTV1tZ6Pd7W1qbly5frxhtvlM1mU3V19USWBQAApii/g2XPnj0qKSnRunXr5HK5lJ2drby8PHV2dvoc39HRoWXLlik7O1sul0tr167VmjVrtHfvXs+Yzz//XGlpadq4caOSkpIm/moAAMCU5HewVFVVadWqVSooKFB6erqqq6uVkpKibdu2+RxfW1urOXPmqLq6Wunp6SooKNDKlStVWVnpGXPnnXfq1Vdf1YoVK+RwOCb+agAAwJTkV7AMDw+rpaVFOTk5XudzcnJ05MgRn89pbm4eMz43N1fHjh3T+fPn/VzufwwNDWlgYMDrAAAAU5NfwdLX16eRkRElJiZ6nU9MTFRvb6/P5/T29vocf+HCBfX19fm53P+oqKhQfHy850hJSZnwXAAAwGwTuunWZrN5/WxZ1phzlxvv67w/ysvL1d/f7zm6uromPBcAADCb3Z/Bs2bNUmRk5Jh3U9xu95h3US5KSkryOd5ut2vmzJl+Lvc/HA4H97sAAHCV8OsdlujoaDmdTjU2Nnqdb2xsVFZWls/nZGZmjhl/4MABZWRkKCoqys/lAgCAq5Hfl4TKysr02muvaefOnTp58qRKS0vV2dmpwsJCSV9eqnn88cc94wsLC3Xq1CmVlZXp5MmT2rlzp+rq6vTMM894xgwPD6u1tVWtra0aHh7W6dOn1draqvb29gC8RAAAEO78uiQkSfn5+Tpz5ow2bNignp4eLVy4UA0NDZo7d64kqaenx+s7WVJTU9XQ0KDS0lJt3bpVycnJ2rx5s5YvX+4Z093drcWLF3t+rqysVGVlpZYsWaKDBw9+hZcHAACmAr+DRZKKiopUVFTk87HXX399zLklS5bo+PHj48534403em7EBQAA+F/8LiEAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxiNYAACA8QgWAABgPIIFAAAYj2ABAADGI1gAAIDxCBYAAGA8ggUAEHQjo1ZYzg1z2EO9AADA1BcZYVNxvUvt7sGAzjt/dqw2rVgc0DlhJoIFADAp2t2DauseCPUyEKa4JAQAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAElSQqxDI6NWqJcB+GQP9QIAAGaIm2ZXZIRNxfUutbsHAzbv0lsS9GzugoDNh6sTwQIA8NLuHlRb90DA5puXMD1gc+HqxSUhAABgPIIFAIBxBOueHu4V8h+XhAAAGEcw7umZPztWm1YsDth8VwuCBQCASwj0PT2YGC4JAQAA4xEsAADAeAQLAAAwHsECAACMR7AAAADjESwAAMB4BAsAADAewQIAAIxHsAAAAOMRLAAAwHgECwAAMB7BAgAAjEewAAAA4xEsAADAeAQLAAAwHsECAACMR7AAADCJEmIdGhm1gjZ/MOcOJXuoFwAAwNUkbppdkRE2Fde71O4eDOjc82fHatOKxQGd0xQECwAgbF18tyIywhbqpfit3T2otu6BUC8jbBAsAICwFcx3K5bekqBncxcEdE5M3ITuYampqVFqaqpiYmLkdDp16NChS45vamqS0+lUTEyM0tLSVFtbO2bM3r17deutt8rhcOjWW2/V/v37J7I0AMBV6OK7FYE8uv71eahflt+CeX9MqO+N8fsdlj179qikpEQ1NTX69re/rd/+9rfKy8vTRx99pDlz5owZ39HRoWXLlmn16tV64403dPjwYRUVFSkhIUHLly+XJDU3Nys/P18vvviiHn74Ye3fv18//vGP9f777+uuu+766q8SAICrQLDecTLh3hi/g6WqqkqrVq1SQUGBJKm6ulpvvfWWtm3bpoqKijHja2trNWfOHFVXV0uS0tPTdezYMVVWVnqCpbq6Wvfdd5/Ky8slSeXl5WpqalJ1dbV279490dcGAMBVaSreH+NXsAwPD6ulpUXPPfec1/mcnBwdOXLE53Oam5uVk5PjdS43N1d1dXU6f/68oqKi1NzcrNLS0jFjLkaOL0NDQxoaGvL83N/fL0kaGAjOf0EpsdL56yIDOmeCY1QDAwMBnztY8wZz7nBcczDnZs2TMzdrnpy5w3HNwZw7HNecEhu8v18vzmtZl7nkZPnh9OnTliTr8OHDXudffvll6+abb/b5nJtuusl6+eWXvc4dPnzYkmR1d3dblmVZUVFR1ptvvuk15s0337Sio6PHXcv69estSRwcHBwcHBxT4Ojq6rpkg0zoU0I2m/fHxyzLGnPucuP/97y/c5aXl6usrMzz8+joqP71r39p5syZl3zelRoYGFBKSoq6uroUFxf3lefD+NjrycE+Tx72evKw15MjmPtsWZbOnj2r5OTkS47zK1hmzZqlyMhI9fb2ep13u91KTEz0+ZykpCSf4+12u2bOnHnJMePNKUkOh0MOh8Pr3DXXXHOlL+WKxcXF8T+CScJeTw72efKw15OHvZ4cwdrn+Pj4y47x62PN0dHRcjqdamxs9Drf2NiorKwsn8/JzMwcM/7AgQPKyMhQVFTUJceMNycAALi6+H1JqKysTI899pgyMjKUmZmp7du3q7OzU4WFhZK+vFRz+vRp7dq1S5JUWFioLVu2qKysTKtXr1Zzc7Pq6uq8Pv1TXFysu+++W7/+9a/14IMP6k9/+pPefvttvf/++wF6mQAAIJz5HSz5+fk6c+aMNmzYoJ6eHi1cuFANDQ2aO3euJKmnp0ednZ2e8ampqWpoaFBpaam2bt2q5ORkbd682fORZknKyspSfX29nn/+ef3iF7/QvHnztGfPnpB+B4vD4dD69evHXHZC4LHXk4N9njzs9eRhryeHCftss6zLfY4IAAAgtCb01fwAAACTiWABAADGI1gAAIDxCBYAAGA8gsWHmpoapaamKiYmRk6nU4cOHQr1ksLee++9pwceeEDJycmy2Wz64x//6PW4ZVl64YUXlJycrGnTpmnp0qVqa2sLzWLDWEVFhe68807NmDFDs2fP1kMPPaSPP/7Yawx7HRjbtm3TokWLPF+klZmZqb/85S+ex9nn4KioqJDNZlNJSYnnHHsdGC+88IJsNpvXkZSU5Hk81PtMsPyPPXv2qKSkROvWrZPL5VJ2drby8vK8PqoN/507d0633367tmzZ4vPxV155RVVVVdqyZYuOHj2qpKQk3XfffTp79uwkrzS8NTU16amnntIHH3ygxsZGXbhwQTk5OTp37pxnDHsdGDfccIM2btyoY8eO6dixY/re976nBx980PMvcPY58I4ePart27dr0aJFXufZ68D5+te/rp6eHs9x4sQJz2Mh3+dL/qahq9A3v/lNq7Cw0OvcggULrOeeey5EK5p6JFn79+/3/Dw6OmolJSVZGzdu9Jz74osvrPj4eKu2tjYEK5w63G63JclqamqyLIu9DrZrr73Weu2119jnIDh79qx10003WY2NjdaSJUus4uJiy7L4Mx1I69evt26//Xafj5mwz7zD8l+Gh4fV0tKinJwcr/M5OTk6cuRIiFY19XV0dKi3t9dr3x0Oh5YsWcK+f0X9/f2SpOuuu04Sex0sIyMjqq+v17lz55SZmck+B8FTTz2l+++/X/fee6/XefY6sD755BMlJycrNTVVK1as0KeffirJjH2e0G9rnqr6+vo0MjIy5pcuJiYmjvnljAici3vra99PnToViiVNCZZlqaysTN/5zne0cOFCSex1oJ04cUKZmZn64osvFBsbq/379+vWW2/1/AucfQ6M+vp6HT9+XEePHh3zGH+mA+euu+7Srl27dPPNN+uf//ynXnrpJWVlZamtrc2IfSZYfLDZbF4/W5Y15hwCj30PrKeffloffvihz9/JxV4Hxi233KLW1lb9+9//1t69e/XEE0+oqanJ8zj7/NV1dXWpuLhYBw4cUExMzLjj2OuvLi8vz/Ofb7vtNmVmZmrevHn6/e9/r29961uSQrvPXBL6L7NmzVJkZOSYd1PcbveYqkTgXLwLnX0PnJ/97Gf685//rHfffVc33HCD5zx7HVjR0dGaP3++MjIyVFFRodtvv12bNm1inwOopaVFbrdbTqdTdrtddrtdTU1N2rx5s+x2u2c/2evAmz59um677TZ98sknRvyZJlj+S3R0tJxOpxobG73ONzY2KisrK0SrmvpSU1OVlJTkte/Dw8Nqampi3/1kWZaefvpp7du3T3/729+Umprq9Th7HVyWZWloaIh9DqB77rlHJ06cUGtrq+fIyMjQo48+qtbWVqWlpbHXQTI0NKSTJ0/q+uuvN+PP9KTc2htG6uvrraioKKuurs766KOPrJKSEmv69OnWZ599FuqlhbWzZ89aLpfLcrlcliSrqqrKcrlc1qlTpyzLsqyNGzda8fHx1r59+6wTJ05YjzzyiHX99ddbAwMDIV55ePnpT39qxcfHWwcPHrR6eno8x+eff+4Zw14HRnl5ufXee+9ZHR0d1ocffmitXbvWioiIsA4cOGBZFvscTP/9KSHLYq8D5ec//7l18OBB69NPP7U++OAD6/vf/741Y8YMz99/od5ngsWHrVu3WnPnzrWio6Otb3zjG56PhGLi3n33XUvSmOOJJ56wLOvLj8ytX7/eSkpKshwOh3X33XdbJ06cCO2iw5CvPZZk/e53v/OMYa8DY+XKlZ5/TyQkJFj33HOPJ1Ysi30Opv8NFvY6MPLz863rr7/eioqKspKTk60f/vCHVltbm+fxUO+zzbIsa3LeywEAAJgY7mEBAADGI1gAAIDxCBYAAGA8ggUAABiPYAEAAMYjWAAAgPEIFgAAYDyCBQAAGI9gAQAAxiNYAACA8QgWAABgPIIFAAAY7/8BZJNJj2p0yyEAAAAASUVORK5CYII="},8453:(e,A,t)=>{t.d(A,{R:()=>r,x:()=>i});var n=t(6540);const a={},s=n.createContext(a);function r(e){const A=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(A):{...A,...e}}),[A,e])}function i(e){let A;return A=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),n.createElement(s.Provider,{value:A},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.7842fcb3.js b/assets/js/runtime~main.68a2ac2d.js similarity index 82% rename from assets/js/runtime~main.7842fcb3.js rename to assets/js/runtime~main.68a2ac2d.js index 4340112a..905e9e9b 100644 --- a/assets/js/runtime~main.7842fcb3.js +++ b/assets/js/runtime~main.68a2ac2d.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,f,c,d,b={},r={};function t(e){var a=r[e];if(void 0!==a)return a.exports;var f=r[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,t),f.loaded=!0,f.exports}t.m=b,t.c=r,e=[],t.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(t.O).every((e=>t.O[e](f[o])))?f.splice(o--,1):(r=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},t.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,t.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);t.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var r=2&c&&e;"object"==typeof r&&!~a.indexOf(r);r=f(r))Object.getOwnPropertyNames(r).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,t.d(d,b),d},t.d=(e,a)=>{for(var f in a)t.o(a,f)&&!t.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce(((a,f)=>(t.f[f](e,a),a)),[])),t.u=e=>"assets/js/"+({28:"f095f4cd",94:"81322b72",186:"2869c049",614:"f2b0891e",675:"82ff9878",719:"9ac7dbcc",972:"f03ae67e",1316:"62552850",1607:"faf9f7da",1614:"e10a9913",1746:"a278cdf6",1779:"9a265863",1870:"ee019b1d",1903:"9e7aae35",1944:"b0c30e46",1972:"73664a40",1979:"b69909d7",2087:"f0fd5c00",2105:"dd3b6db1",2138:"1a4e3797",2284:"6e05dac9",2302:"499d47b2",2334:"65beeb93",2441:"9e1896f0",2456:"36d89dbe",2491:"acb40918",2634:"c4f5d8e4",2646:"0c6397b1",2711:"9e4087bc",2720:"10f7d562",2808:"f0994678",2917:"dfefbedb",3237:"2be9118b",3249:"ccc49370",3279:"1fc0ff79",3342:"f9684ee2",3343:"f3b65525",3362:"f39390d7",3404:"a5070059",3484:"c94468d5",3508:"202baea0",3555:"d3ef55ca",3637:"f4f34a3a",3694:"8717b14a",3717:"099c0b96",3782:"6e7a31fd",3870:"37002ad4",3985:"1cf20db4",4266:"8ded1294",4279:"df203c0f",4284:"acecf23e",4469:"6a26c916",4534:"97247bb2",4551:"907d0c45",4567:"655190df",4594:"62efbc4a",4638:"9746c0ef",4787:"3720c009",4812:"739bf370",4813:"6875c492",4833:"d4f68316",4929:"b78139e1",4932:"6b67e948",5007:"e06ba05c",5119:"d28047a2",5125:"10297ef4",5151:"55960ee5",5296:"14acb028",5387:"a934ee8a",5391:"cd451366",5427:"956f17b0",5443:"add9b02f",5480:"09399a2b",5521:"38b2e376",5557:"d9f32620",5579:"46ccc97a",5589:"ea885f1b",5622:"5d6a2894",5743:"231a3aa4",5745:"8d40581b",5980:"6e2ca103",6061:"1f391b9e",6077:"ffbcff43",6090:"3f791b14",6137:"61546123",6142:"60c4aef6",6264:"187e374f",6280:"5ddb68ca",6363:"2141c98b",6690:"920988e2",6730:"b7ff327f",6747:"f4434bba",6787:"eb170cfd",6925:"ecad1ce6",6969:"14eb3368",7069:"2efbf384",7098:"a7bd4aaa",7174:"a4805c9a",7214:"dcbe5aac",7233:"f4c1c84a",7326:"03f8d3d3",7472:"814f3328",7489:"fe41946a",7643:"a6aa9e1f",7661:"26533384",7680:"cdae2dcc",7795:"f3976560",7889:"a16987a3",8065:"80770d40",8104:"d3196d0d",8209:"01a85c17",8241:"de98ccb0",8401:"17896441",8405:"6d7cf8c9",8559:"3349ad3a",8581:"935f2afb",8609:"925b3f96",8675:"809bd41b",8737:"7661071f",8857:"0708938a",9048:"a94703ab",9316:"3b87ebee",9325:"59362658",9328:"e273c56f",9448:"1774e1e3",9572:"8c496670",9595:"fb17983f",9600:"eaaf288f",9647:"5e95c892",9699:"f9ea3bc3",9797:"85bbc213",9894:"9f1843d8",9933:"9c6685b1",9938:"3eb51302"}[e]||e)+"."+{28:"aacf3e8f",94:"90d5758b",186:"7590b2dd",614:"d7eac5db",675:"9143662a",719:"77c0c128",972:"127c2742",1316:"611cdd05",1607:"a670a186",1614:"b87367c0",1746:"6d5ef8b3",1779:"97c28c35",1870:"83c014e4",1903:"af9e1878",1944:"494989bc",1972:"6864c464",1979:"cf14dce4",2087:"4df4c5a5",2105:"3ea3e8be",2138:"aadba9b7",2237:"29af0789",2284:"5de02c24",2302:"394129d8",2334:"92288123",2441:"53464e90",2456:"abf69e17",2491:"20b35a67",2634:"f7cd0456",2646:"4c026ca7",2711:"8dd0f02f",2720:"9b0bb4fc",2808:"04e51180",2917:"f0f27122",3237:"1e62f3f0",3242:"bc6cfa22",3249:"ede845d6",3279:"66617d79",3342:"94223911",3343:"792c19b9",3362:"8c037730",3404:"d420f5a2",3484:"c6edfbc0",3508:"908c6f0c",3555:"2308a0a5",3637:"b17e442f",3694:"5454028b",3717:"cd0ce1aa",3782:"37c8f8e9",3808:"8a31a624",3870:"05ddd35d",3985:"8f933cf9",4266:"513e7c38",4279:"9bb05a46",4284:"6510b036",4469:"af28a919",4534:"31cb3f8d",4551:"7e422b8d",4567:"23a73ffd",4594:"00648062",4638:"2880f7ec",4787:"9b65805f",4812:"a6284299",4813:"170acbab",4833:"04c5919d",4929:"88fdbdc8",4932:"0e1c3290",5007:"2fc679a2",5049:"fc44c2c6",5119:"40e4d113",5125:"8f93c5d4",5151:"02560abb",5296:"d858fe86",5387:"7e4093f8",5391:"27038027",5427:"95f66799",5443:"bf2acfd8",5480:"c91de645",5521:"3d83e140",5557:"9fd27735",5579:"c2d0e88e",5589:"9a7123df",5622:"ac62096c",5743:"bb1b0a14",5745:"0f3d989b",5980:"7621ee3b",6061:"0fbbc924",6077:"e95668eb",6090:"fee676c1",6137:"4e189d0b",6142:"df20c7dd",6264:"00e1cc00",6280:"036894d0",6363:"8ceae88c",6690:"1a73d040",6730:"d6f9457e",6747:"0479fbaa",6787:"253b7f3e",6925:"45e66795",6969:"66f25eb3",7069:"0f6f23fb",7098:"7f57ba47",7174:"53481746",7214:"70a12792",7233:"0250807e",7326:"65063e2e",7472:"2a71da77",7489:"a8daece4",7643:"e66b5d79",7661:"ba125169",7680:"872a7974",7795:"e6a51183",7889:"423d1bcd",8065:"88d53b0f",8104:"987cf125",8209:"9fbc266e",8241:"92417364",8401:"e72d0c45",8405:"81b437c0",8559:"33a087db",8581:"91b6cb16",8609:"cba4ee15",8675:"557660e8",8737:"8c73ff37",8857:"fbfbdee8",8913:"a03b371c",9048:"be35ee30",9316:"8ab02bd1",9325:"777bc4c6",9328:"f95f7890",9448:"31a80d1b",9462:"c36291a8",9572:"3ecad696",9595:"d5f88d2e",9600:"10ee7159",9647:"c487ac59",9699:"082a8808",9797:"59604264",9894:"9c3dbc79",9933:"77d25a1f",9938:"ade32d2c"}[e]+".js",t.miniCssF=e=>{},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="bpd-reference:",t.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var r,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{r.onerror=r.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],r.parentNode&&r.parentNode.removeChild(r),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=l.bind(null,r.onerror),r.onload=l.bind(null,r.onload),o&&document.head.appendChild(r)}},t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.p="/bpd-reference/",t.gca=function(e){return e={17896441:"8401",26533384:"7661",59362658:"9325",61546123:"6137",62552850:"1316",f095f4cd:"28","81322b72":"94","2869c049":"186",f2b0891e:"614","82ff9878":"675","9ac7dbcc":"719",f03ae67e:"972",faf9f7da:"1607",e10a9913:"1614",a278cdf6:"1746","9a265863":"1779",ee019b1d:"1870","9e7aae35":"1903",b0c30e46:"1944","73664a40":"1972",b69909d7:"1979",f0fd5c00:"2087",dd3b6db1:"2105","1a4e3797":"2138","6e05dac9":"2284","499d47b2":"2302","65beeb93":"2334","9e1896f0":"2441","36d89dbe":"2456",acb40918:"2491",c4f5d8e4:"2634","0c6397b1":"2646","9e4087bc":"2711","10f7d562":"2720",f0994678:"2808",dfefbedb:"2917","2be9118b":"3237",ccc49370:"3249","1fc0ff79":"3279",f9684ee2:"3342",f3b65525:"3343",f39390d7:"3362",a5070059:"3404",c94468d5:"3484","202baea0":"3508",d3ef55ca:"3555",f4f34a3a:"3637","8717b14a":"3694","099c0b96":"3717","6e7a31fd":"3782","37002ad4":"3870","1cf20db4":"3985","8ded1294":"4266",df203c0f:"4279",acecf23e:"4284","6a26c916":"4469","97247bb2":"4534","907d0c45":"4551","655190df":"4567","62efbc4a":"4594","9746c0ef":"4638","3720c009":"4787","739bf370":"4812","6875c492":"4813",d4f68316:"4833",b78139e1:"4929","6b67e948":"4932",e06ba05c:"5007",d28047a2:"5119","10297ef4":"5125","55960ee5":"5151","14acb028":"5296",a934ee8a:"5387",cd451366:"5391","956f17b0":"5427",add9b02f:"5443","09399a2b":"5480","38b2e376":"5521",d9f32620:"5557","46ccc97a":"5579",ea885f1b:"5589","5d6a2894":"5622","231a3aa4":"5743","8d40581b":"5745","6e2ca103":"5980","1f391b9e":"6061",ffbcff43:"6077","3f791b14":"6090","60c4aef6":"6142","187e374f":"6264","5ddb68ca":"6280","2141c98b":"6363","920988e2":"6690",b7ff327f:"6730",f4434bba:"6747",eb170cfd:"6787",ecad1ce6:"6925","14eb3368":"6969","2efbf384":"7069",a7bd4aaa:"7098",a4805c9a:"7174",dcbe5aac:"7214",f4c1c84a:"7233","03f8d3d3":"7326","814f3328":"7472",fe41946a:"7489",a6aa9e1f:"7643",cdae2dcc:"7680",f3976560:"7795",a16987a3:"7889","80770d40":"8065",d3196d0d:"8104","01a85c17":"8209",de98ccb0:"8241","6d7cf8c9":"8405","3349ad3a":"8559","935f2afb":"8581","925b3f96":"8609","809bd41b":"8675","7661071f":"8737","0708938a":"8857",a94703ab:"9048","3b87ebee":"9316",e273c56f:"9328","1774e1e3":"9448","8c496670":"9572",fb17983f:"9595",eaaf288f:"9600","5e95c892":"9647",f9ea3bc3:"9699","85bbc213":"9797","9f1843d8":"9894","9c6685b1":"9933","3eb51302":"9938"}[e]||e,t.p+t.u(e)},(()=>{var e={5354:0,1869:0};t.f.j=(a,f)=>{var c=t.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=t.p+t.u(a),r=new Error;t.l(b,(f=>{if(t.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;r.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",r.name="ChunkLoadError",r.type=d,r.request=b,c[1](r)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],r=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in r)t.o(r,c)&&(t.m[c]=r[c]);if(o)var i=o(t)}for(a&&a(f);n{"use strict";var e,a,f,c,b,d={},r={};function t(e){var a=r[e];if(void 0!==a)return a.exports;var f=r[e]={id:e,loaded:!1,exports:{}};return d[e].call(f.exports,f,f.exports,t),f.loaded=!0,f.exports}t.m=d,t.c=r,e=[],t.O=(a,f,c,b)=>{if(!f){var d=1/0;for(i=0;i=b)&&Object.keys(t.O).every((e=>t.O[e](f[o])))?f.splice(o--,1):(r=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[f,c,b]},t.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,t.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var b=Object.create(null);t.r(b);var d={};a=a||[null,f({}),f([]),f(f)];for(var r=2&c&&e;"object"==typeof r&&!~a.indexOf(r);r=f(r))Object.getOwnPropertyNames(r).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,t.d(b,d),b},t.d=(e,a)=>{for(var f in a)t.o(a,f)&&!t.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce(((a,f)=>(t.f[f](e,a),a)),[])),t.u=e=>"assets/js/"+({28:"f095f4cd",94:"81322b72",186:"2869c049",614:"f2b0891e",675:"82ff9878",719:"9ac7dbcc",972:"f03ae67e",1316:"62552850",1607:"faf9f7da",1614:"e10a9913",1746:"a278cdf6",1779:"9a265863",1870:"ee019b1d",1903:"9e7aae35",1944:"b0c30e46",1972:"73664a40",1979:"b69909d7",2087:"f0fd5c00",2105:"dd3b6db1",2138:"1a4e3797",2284:"6e05dac9",2302:"499d47b2",2334:"65beeb93",2441:"9e1896f0",2456:"36d89dbe",2491:"acb40918",2634:"c4f5d8e4",2646:"0c6397b1",2711:"9e4087bc",2720:"10f7d562",2808:"f0994678",2917:"dfefbedb",3237:"2be9118b",3249:"ccc49370",3279:"1fc0ff79",3342:"f9684ee2",3343:"f3b65525",3362:"f39390d7",3404:"a5070059",3484:"c94468d5",3508:"202baea0",3555:"d3ef55ca",3637:"f4f34a3a",3694:"8717b14a",3717:"099c0b96",3782:"6e7a31fd",3870:"37002ad4",3985:"1cf20db4",4266:"8ded1294",4279:"df203c0f",4284:"acecf23e",4469:"6a26c916",4534:"97247bb2",4551:"907d0c45",4567:"655190df",4594:"62efbc4a",4638:"9746c0ef",4787:"3720c009",4812:"739bf370",4813:"6875c492",4833:"d4f68316",4929:"b78139e1",4932:"6b67e948",5007:"e06ba05c",5119:"d28047a2",5125:"10297ef4",5151:"55960ee5",5296:"14acb028",5387:"a934ee8a",5391:"cd451366",5427:"956f17b0",5443:"add9b02f",5480:"09399a2b",5521:"38b2e376",5557:"d9f32620",5579:"46ccc97a",5589:"ea885f1b",5622:"5d6a2894",5743:"231a3aa4",5745:"8d40581b",5980:"6e2ca103",6061:"1f391b9e",6077:"ffbcff43",6090:"3f791b14",6137:"61546123",6142:"60c4aef6",6264:"187e374f",6280:"5ddb68ca",6363:"2141c98b",6690:"920988e2",6730:"b7ff327f",6747:"f4434bba",6787:"eb170cfd",6925:"ecad1ce6",6969:"14eb3368",7069:"2efbf384",7098:"a7bd4aaa",7174:"a4805c9a",7214:"dcbe5aac",7233:"f4c1c84a",7326:"03f8d3d3",7472:"814f3328",7489:"fe41946a",7643:"a6aa9e1f",7661:"26533384",7680:"cdae2dcc",7795:"f3976560",7889:"a16987a3",8065:"80770d40",8104:"d3196d0d",8209:"01a85c17",8241:"de98ccb0",8401:"17896441",8405:"6d7cf8c9",8559:"3349ad3a",8581:"935f2afb",8609:"925b3f96",8675:"809bd41b",8737:"7661071f",8857:"0708938a",9048:"a94703ab",9316:"3b87ebee",9325:"59362658",9328:"e273c56f",9448:"1774e1e3",9572:"8c496670",9595:"fb17983f",9600:"eaaf288f",9647:"5e95c892",9699:"f9ea3bc3",9797:"85bbc213",9894:"9f1843d8",9933:"9c6685b1",9938:"3eb51302"}[e]||e)+"."+{28:"86f4ec6e",94:"90d5758b",186:"7590b2dd",614:"d7eac5db",675:"9143662a",719:"77c0c128",972:"127c2742",1316:"611cdd05",1607:"a670a186",1614:"b87367c0",1746:"6d5ef8b3",1779:"97c28c35",1870:"83c014e4",1903:"af9e1878",1944:"494989bc",1972:"6864c464",1979:"cf14dce4",2087:"4df4c5a5",2105:"3ea3e8be",2138:"aadba9b7",2237:"29af0789",2284:"5de02c24",2302:"394129d8",2334:"92288123",2441:"53464e90",2456:"abf69e17",2491:"20b35a67",2634:"f7cd0456",2646:"4c026ca7",2711:"8dd0f02f",2720:"9b0bb4fc",2808:"04e51180",2917:"f0f27122",3237:"1e62f3f0",3242:"bc6cfa22",3249:"ede845d6",3279:"66617d79",3342:"94223911",3343:"792c19b9",3362:"8c037730",3404:"d420f5a2",3484:"c6edfbc0",3508:"908c6f0c",3555:"2308a0a5",3637:"b17e442f",3694:"5454028b",3717:"cd0ce1aa",3782:"37c8f8e9",3808:"8a31a624",3870:"05ddd35d",3985:"8f933cf9",4266:"513e7c38",4279:"9bb05a46",4284:"6510b036",4469:"af28a919",4534:"be0f6e2c",4551:"7e422b8d",4567:"23a73ffd",4594:"00648062",4638:"2880f7ec",4787:"9b65805f",4812:"a6284299",4813:"170acbab",4833:"85e36926",4929:"88fdbdc8",4932:"0e1c3290",5007:"2fc679a2",5049:"fc44c2c6",5119:"40e4d113",5125:"8f93c5d4",5151:"02560abb",5296:"d858fe86",5387:"7e4093f8",5391:"27038027",5427:"95f66799",5443:"bf2acfd8",5480:"c91de645",5521:"3d83e140",5557:"9fd27735",5579:"c2d0e88e",5589:"9a7123df",5622:"ac62096c",5743:"bb1b0a14",5745:"0f3d989b",5980:"7621ee3b",6061:"0fbbc924",6077:"e95668eb",6090:"fee676c1",6137:"4e189d0b",6142:"df20c7dd",6264:"00e1cc00",6280:"036894d0",6363:"8ceae88c",6690:"1a73d040",6730:"d6f9457e",6747:"0479fbaa",6787:"253b7f3e",6925:"45e66795",6969:"66f25eb3",7069:"0f6f23fb",7098:"7f57ba47",7174:"53481746",7214:"70a12792",7233:"0250807e",7326:"65063e2e",7472:"2a71da77",7489:"a8daece4",7643:"e66b5d79",7661:"ba125169",7680:"872a7974",7795:"e6a51183",7889:"423d1bcd",8065:"88d53b0f",8104:"987cf125",8209:"9fbc266e",8241:"92417364",8401:"e72d0c45",8405:"81b437c0",8559:"33a087db",8581:"872ca5c5",8609:"cba4ee15",8675:"557660e8",8737:"8c73ff37",8857:"fbfbdee8",8913:"a03b371c",9048:"be35ee30",9316:"8ab02bd1",9325:"777bc4c6",9328:"f95f7890",9448:"31a80d1b",9462:"c36291a8",9572:"3ecad696",9595:"d5f88d2e",9600:"10ee7159",9647:"c487ac59",9699:"082a8808",9797:"59604264",9894:"1b3eede2",9933:"77d25a1f",9938:"ade32d2c"}[e]+".js",t.miniCssF=e=>{},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},b="bpd-reference:",t.l=(e,a,f,d)=>{if(c[e])c[e].push(a);else{var r,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{r.onerror=r.onload=null,clearTimeout(s);var b=c[e];if(delete c[e],r.parentNode&&r.parentNode.removeChild(r),b&&b.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=l.bind(null,r.onerror),r.onload=l.bind(null,r.onload),o&&document.head.appendChild(r)}},t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.p="/bpd-reference/",t.gca=function(e){return e={17896441:"8401",26533384:"7661",59362658:"9325",61546123:"6137",62552850:"1316",f095f4cd:"28","81322b72":"94","2869c049":"186",f2b0891e:"614","82ff9878":"675","9ac7dbcc":"719",f03ae67e:"972",faf9f7da:"1607",e10a9913:"1614",a278cdf6:"1746","9a265863":"1779",ee019b1d:"1870","9e7aae35":"1903",b0c30e46:"1944","73664a40":"1972",b69909d7:"1979",f0fd5c00:"2087",dd3b6db1:"2105","1a4e3797":"2138","6e05dac9":"2284","499d47b2":"2302","65beeb93":"2334","9e1896f0":"2441","36d89dbe":"2456",acb40918:"2491",c4f5d8e4:"2634","0c6397b1":"2646","9e4087bc":"2711","10f7d562":"2720",f0994678:"2808",dfefbedb:"2917","2be9118b":"3237",ccc49370:"3249","1fc0ff79":"3279",f9684ee2:"3342",f3b65525:"3343",f39390d7:"3362",a5070059:"3404",c94468d5:"3484","202baea0":"3508",d3ef55ca:"3555",f4f34a3a:"3637","8717b14a":"3694","099c0b96":"3717","6e7a31fd":"3782","37002ad4":"3870","1cf20db4":"3985","8ded1294":"4266",df203c0f:"4279",acecf23e:"4284","6a26c916":"4469","97247bb2":"4534","907d0c45":"4551","655190df":"4567","62efbc4a":"4594","9746c0ef":"4638","3720c009":"4787","739bf370":"4812","6875c492":"4813",d4f68316:"4833",b78139e1:"4929","6b67e948":"4932",e06ba05c:"5007",d28047a2:"5119","10297ef4":"5125","55960ee5":"5151","14acb028":"5296",a934ee8a:"5387",cd451366:"5391","956f17b0":"5427",add9b02f:"5443","09399a2b":"5480","38b2e376":"5521",d9f32620:"5557","46ccc97a":"5579",ea885f1b:"5589","5d6a2894":"5622","231a3aa4":"5743","8d40581b":"5745","6e2ca103":"5980","1f391b9e":"6061",ffbcff43:"6077","3f791b14":"6090","60c4aef6":"6142","187e374f":"6264","5ddb68ca":"6280","2141c98b":"6363","920988e2":"6690",b7ff327f:"6730",f4434bba:"6747",eb170cfd:"6787",ecad1ce6:"6925","14eb3368":"6969","2efbf384":"7069",a7bd4aaa:"7098",a4805c9a:"7174",dcbe5aac:"7214",f4c1c84a:"7233","03f8d3d3":"7326","814f3328":"7472",fe41946a:"7489",a6aa9e1f:"7643",cdae2dcc:"7680",f3976560:"7795",a16987a3:"7889","80770d40":"8065",d3196d0d:"8104","01a85c17":"8209",de98ccb0:"8241","6d7cf8c9":"8405","3349ad3a":"8559","935f2afb":"8581","925b3f96":"8609","809bd41b":"8675","7661071f":"8737","0708938a":"8857",a94703ab:"9048","3b87ebee":"9316",e273c56f:"9328","1774e1e3":"9448","8c496670":"9572",fb17983f:"9595",eaaf288f:"9600","5e95c892":"9647",f9ea3bc3:"9699","85bbc213":"9797","9f1843d8":"9894","9c6685b1":"9933","3eb51302":"9938"}[e]||e,t.p+t.u(e)},(()=>{var e={5354:0,1869:0};t.f.j=(a,f)=>{var c=t.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((f,b)=>c=e[a]=[f,b]));f.push(c[2]=b);var d=t.p+t.u(a),r=new Error;t.l(d,(f=>{if(t.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var b=f&&("load"===f.type?"missing":f.type),d=f&&f.target&&f.target.src;r.message="Loading chunk "+a+" failed.\n("+b+": "+d+")",r.name="ChunkLoadError",r.type=b,r.request=d,c[1](r)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,f)=>{var c,b,d=f[0],r=f[1],o=f[2],n=0;if(d.some((a=>0!==e[a]))){for(c in r)t.o(r,c)&&(t.m[c]=r[c]);if(o)var i=o(t)}for(a&&a(f);n