diff --git a/examples/case_studies/Missing_Data_Imputation.ipynb b/examples/case_studies/Missing_Data_Imputation.ipynb new file mode 100644 index 000000000..29e64c500 --- /dev/null +++ b/examples/case_studies/Missing_Data_Imputation.ipynb @@ -0,0 +1,13269 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "(Bayesian Missing Data Imputation)=\n", + "# Bayesian Missing Data Imputation\n", + "\n", + ":::{post} February, 2023\n", + ":tags: missing data, bayesian imputation, hierarchical\n", + ":category: advanced\n", + ":author: Nathaniel Forde\n", + ":::" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/nathanielforde/opt/miniconda3/envs/missing_data_clean/lib/python3.11/site-packages/pymc/sampling/jax.py:39: UserWarning: This module is experimental.\n", + " warnings.warn(\"This module is experimental.\")\n" + ] + } + ], + "source": [ + "import random\n", + "\n", + "import arviz as az\n", + "import matplotlib.cm as cm\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "import pymc as pm\n", + "import scipy.optimize\n", + "\n", + "from matplotlib.lines import Line2D\n", + "from pymc.sampling.jax import sample_blackjax_nuts, sample_numpyro_nuts\n", + "from scipy.stats import multivariate_normal" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Bayesian Imputation and Degrees of Missing-ness\n", + "\n", + "The analysis of data with missing values is a gateway into the study of causal inference. \n", + "\n", + "One of the key features of any analysis plagued by missing data is the assumption which governs the nature of the missing-ness i.e. what is the reason for gaps in our data? Can we ignore them? Should we worry about why? In this notebook we'll see an example of how to handle missing data using maximum likelihood estimation and bayesian imputation techniques. This will open up questions about the assumptions governing inference in the presence of missing data, and inference in counterfactual cases.\n", + "\n", + "We will make the discussion concrete by considering an example analysis of an employee satisfaction survey and how different work conditions contribute to the responses and non-responses we see in the data.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "%config InlineBackend.figure_format = 'retina' # high resolution figures\n", + "az.style.use(\"arviz-darkgrid\")\n", + "rng = np.random.default_rng(42)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Missing Data Taxonomy\n", + "\n", + "Rubin's famous taxonomy breaks out the question into a choice of three fundamental options:\n", + "\n", + " - Missing Completely at Random (MCAR)\n", + " - Missing at Random (MAR)\n", + " - Missing Not at Random (MNAR)\n", + "\n", + "Each of these paradigms can be reduced to explicit definition in terms of the conditional probability regarding the **pattern of missing data**. The first pattern is the least concerning. The (MCAR) assumption states that the data are missing in a manner that is unrelated to both the observed and unobserved parts of the realised data. It is missing due to the haphazard circumstance of the world $\\phi$.\n", + "\n", + "$$ P(M =1 | Y_{obs}, Y_{miss}, \\phi) = P(M =1 | \\phi) $$\n", + "\n", + "whereas the second pattern (MAR) allows that the reasons for missingness can be function of the observed data and circumstances of the world. Some times this is called a case of *ignorable* missingness because estimation can proceed in good faith on the basis of the observed data. There may be a loss of precision, but the inference should be sound. \n", + "\n", + "$$ P(M =1 | Y_{obs}, Y_{miss}, \\phi) = P(M =1 | Y_{obs}, \\phi) $$ \n", + "\n", + "The most nefarious sort of missing data is when the missingness is a function of something outside the observed data, and the equation cannot be reduced further. Efforts at imputation and estimation more generally may become more difficulty in this final case because of the risk of confounding. This is a case of *non-ignorable* missing-ness. \n", + "\n", + "$$ P(M =1 | Y_{obs}, Y_{miss}, \\phi) $$\n", + "\n", + "These assumptions are made before any analysis begins. They are inherently unverifiable. Your analysis will stand or fall depending on how plausible each assumption is in the context you seek to apply them. For example, an another type missing data results from systematic censoring as discussed in {ref}`GLM-truncated-censored-regression`. In such cases the reason for censoring governs the missing-ness pattern. \n", + "\n", + "## Employee Satisfaction Surveys\n", + "\n", + "We'll follow the presentation of Craig Enders' *Applied Missing Data Analysis* {cite:t}`enders2022` and work with employee satisifaction data set. The data set comprises of a few composite measures reporting employee working conditions and satisfactions. Of particular note are empowerment (`empower`), work satisfaction (`worksat`) and two composite survey scores recording the employees leadership climate (`climate`), and the relationship quality with their supervisor `lmx`. \n", + "\n", + "The key question is what assumptions governs our patterns of missing data.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + " | employee | \n", + "team | \n", + "turnover | \n", + "male | \n", + "empower | \n", + "lmx | \n", + "worksat | \n", + "climate | \n", + "cohesion | \n", + "
---|---|---|---|---|---|---|---|---|---|
0 | \n", + "1 | \n", + "1 | \n", + "0.0 | \n", + "1 | \n", + "32.0 | \n", + "11.0 | \n", + "3.0 | \n", + "18.0 | \n", + "3.5 | \n", + "
1 | \n", + "2 | \n", + "1 | \n", + "1.0 | \n", + "1 | \n", + "NaN | \n", + "13.0 | \n", + "4.0 | \n", + "18.0 | \n", + "3.5 | \n", + "
2 | \n", + "3 | \n", + "1 | \n", + "1.0 | \n", + "1 | \n", + "30.0 | \n", + "9.0 | \n", + "4.0 | \n", + "18.0 | \n", + "3.5 | \n", + "
3 | \n", + "4 | \n", + "1 | \n", + "1.0 | \n", + "1 | \n", + "29.0 | \n", + "8.0 | \n", + "3.0 | \n", + "18.0 | \n", + "3.5 | \n", + "
4 | \n", + "5 | \n", + "1 | \n", + "1.0 | \n", + "0 | \n", + "26.0 | \n", + "7.0 | \n", + "4.0 | \n", + "18.0 | \n", + "3.5 | \n", + "
\n", + " | worksat | \n", + "empower | \n", + "lmx | \n", + "
---|---|---|---|
0 | \n", + "False | \n", + "False | \n", + "False | \n", + "
1 | \n", + "False | \n", + "True | \n", + "False | \n", + "
2 | \n", + "True | \n", + "True | \n", + "False | \n", + "
3 | \n", + "False | \n", + "False | \n", + "True | \n", + "
4 | \n", + "True | \n", + "False | \n", + "False | \n", + "
\n", + " | worksat | \n", + "empower | \n", + "lmx | \n", + "
---|---|---|---|
0 | \n", + "3.983351 | \n", + "28.595211 | \n", + "9.624485 | \n", + "
\n", + " | worksat | \n", + "empower | \n", + "lmx | \n", + "
---|---|---|---|
worksat | \n", + "1.568676 | \n", + "1.599817 | \n", + "1.547433 | \n", + "
empower | \n", + "1.599817 | \n", + "19.138522 | \n", + "5.428954 | \n", + "
lmx | \n", + "1.547433 | \n", + "5.428954 | \n", + "8.934030 | \n", + "
\n", + " | worksat | \n", + "empower | \n", + "lmx | \n", + "
---|---|---|---|
0 | \n", + "4.467296 | \n", + "31.568011 | \n", + "12.418765 | \n", + "
1 | \n", + "4.713191 | \n", + "30.329419 | \n", + "10.651786 | \n", + "
2 | \n", + "5.699765 | \n", + "35.770312 | \n", + "12.558135 | \n", + "
3 | \n", + "4.067691 | \n", + "27.874578 | \n", + "6.271341 | \n", + "
4 | \n", + "3.580109 | \n", + "28.799105 | \n", + "9.704713 | \n", + "
\n", + " | worksat | \n", + "empower | \n", + "lmx | \n", + "
---|---|---|---|
worksat | \n", + "1.000000 | \n", + "0.300790 | \n", + "0.409996 | \n", + "
empower | \n", + "0.300790 | \n", + "1.000000 | \n", + "0.410874 | \n", + "
lmx | \n", + "0.409996 | \n", + "0.410874 | \n", + "1.000000 | \n", + "
\n", + " | mean | \n", + "sd | \n", + "hdi_3% | \n", + "hdi_97% | \n", + "mcse_mean | \n", + "mcse_sd | \n", + "ess_bulk | \n", + "ess_tail | \n", + "r_hat | \n", + "
---|---|---|---|---|---|---|---|---|---|
mus[0] | \n", + "3.871 | \n", + "0.056 | \n", + "3.766 | \n", + "3.976 | \n", + "0.001 | \n", + "0.001 | \n", + "6110.0 | \n", + "3277.0 | \n", + "1.0 | \n", + "
mus[1] | \n", + "27.473 | \n", + "0.200 | \n", + "27.114 | \n", + "27.863 | \n", + "0.003 | \n", + "0.002 | \n", + "5742.0 | \n", + "3320.0 | \n", + "1.0 | \n", + "
mus[2] | \n", + "9.229 | \n", + "0.132 | \n", + "8.971 | \n", + "9.461 | \n", + "0.002 | \n", + "0.001 | \n", + "6154.0 | \n", + "3271.0 | \n", + "1.0 | \n", + "
cov[0] | \n", + "1.272 | \n", + "0.037 | \n", + "1.200 | \n", + "1.341 | \n", + "0.000 | \n", + "0.000 | \n", + "6235.0 | \n", + "2754.0 | \n", + "1.0 | \n", + "
cov[1] | \n", + "1.356 | \n", + "0.197 | \n", + "1.007 | \n", + "1.736 | \n", + "0.003 | \n", + "0.002 | \n", + "5373.0 | \n", + "3750.0 | \n", + "1.0 | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
x_unobs[153] | \n", + "29.836 | \n", + "4.205 | \n", + "21.820 | \n", + "37.745 | \n", + "0.044 | \n", + "0.031 | \n", + "9232.0 | \n", + "2929.0 | \n", + "1.0 | \n", + "
x_unobs[154] | \n", + "2.559 | \n", + "1.107 | \n", + "0.356 | \n", + "4.483 | \n", + "0.018 | \n", + "0.013 | \n", + "3564.0 | \n", + "1634.0 | \n", + "1.0 | \n", + "
x_unobs[155] | \n", + "30.071 | \n", + "4.029 | \n", + "22.614 | \n", + "37.652 | \n", + "0.039 | \n", + "0.028 | \n", + "10697.0 | \n", + "3078.0 | \n", + "1.0 | \n", + "
x_unobs[156] | \n", + "29.654 | \n", + "4.017 | \n", + "22.079 | \n", + "37.411 | \n", + "0.039 | \n", + "0.027 | \n", + "10626.0 | \n", + "2867.0 | \n", + "1.0 | \n", + "
x_unobs[157] | \n", + "27.420 | \n", + "4.066 | \n", + "19.595 | \n", + "34.915 | \n", + "0.046 | \n", + "0.033 | \n", + "7784.0 | \n", + "2226.0 | \n", + "1.0 | \n", + "
167 rows × 9 columns
\n", + "\n", + " | worksat_imputed | \n", + "empower_imputed | \n", + "lmx_imputed | \n", + "
---|---|---|---|
0 | \n", + "3.000 | \n", + "32.000 | \n", + "11.000 | \n", + "
1 | \n", + "4.000 | \n", + "29.431 | \n", + "13.000 | \n", + "
2 | \n", + "4.000 | \n", + "30.000 | \n", + "9.000 | \n", + "
3 | \n", + "3.000 | \n", + "29.000 | \n", + "8.000 | \n", + "
4 | \n", + "4.000 | \n", + "26.000 | \n", + "7.000 | \n", + "
5 | \n", + "3.995 | \n", + "27.915 | \n", + "10.000 | \n", + "
6 | \n", + "5.000 | \n", + "28.984 | \n", + "11.000 | \n", + "
7 | \n", + "3.000 | \n", + "22.000 | \n", + "9.000 | \n", + "
8 | \n", + "2.000 | \n", + "23.000 | \n", + "6.835 | \n", + "
9 | \n", + "4.000 | \n", + "32.000 | \n", + "9.000 | \n", + "
\n", + " | 0 | \n", + "1 | \n", + "2 | \n", + "
---|---|---|---|
0 | \n", + "1.000 | \n", + "0.302 | \n", + "0.423 | \n", + "
1 | \n", + "0.302 | \n", + "1.000 | \n", + "0.405 | \n", + "
2 | \n", + "0.423 | \n", + "0.405 | \n", + "1.000 | \n", + "
<xarray.Dataset>\n", + "Dimensions: (chain: 4, draw: 1000, beta_dim: 6,\n", + " alpha_dim: 3,\n", + " climate_pred_missing_dim_0: 60,\n", + " lmx_pred_missing_dim_0: 26,\n", + " lmx_imputed_missing_dim_0: 26,\n", + " climate_imputed_missing_dim_0: 60,\n", + " emp_imputed_missing_dim_0: 102,\n", + " climate_pred_dim_0: 630,\n", + " lmx_pred_dim_0: 630,\n", + " lmx_imputed_dim_0: 630,\n", + " climate_imputed_dim_0: 630,\n", + " emp_imputed_dim_0: 630)\n", + "Coordinates: (12/14)\n", + " * chain (chain) int64 0 1 2 3\n", + " * draw (draw) int64 0 1 2 3 4 ... 996 997 998 999\n", + " * beta_dim (beta_dim) <U13 'lmxB_male' ... 'empB_lmx'\n", + " * alpha_dim (alpha_dim) <U15 'lmx_imputed' ... 'empowe...\n", + " * climate_pred_missing_dim_0 (climate_pred_missing_dim_0) int64 0 1 ... 59\n", + " * lmx_pred_missing_dim_0 (lmx_pred_missing_dim_0) int64 0 1 ... 24 25\n", + " ... ...\n", + " * emp_imputed_missing_dim_0 (emp_imputed_missing_dim_0) int64 0 1 ... 101\n", + " * climate_pred_dim_0 (climate_pred_dim_0) int64 0 1 2 ... 628 629\n", + " * lmx_pred_dim_0 (lmx_pred_dim_0) int64 0 1 2 ... 627 628 629\n", + " * lmx_imputed_dim_0 (lmx_imputed_dim_0) int64 0 1 2 ... 628 629\n", + " * climate_imputed_dim_0 (climate_imputed_dim_0) int64 0 1 ... 628 629\n", + " * emp_imputed_dim_0 (emp_imputed_dim_0) int64 0 1 2 ... 628 629\n", + "Data variables: (12/17)\n", + " beta (chain, draw, beta_dim) float64 0.5683 ......\n", + " alphas (chain, draw, alpha_dim) float64 9.008 ......\n", + " mu_climate (chain, draw) float64 19.98 20.11 ... 20.12\n", + " climate_pred_missing (chain, draw, climate_pred_missing_dim_0) float64 ...\n", + " mu_lmx (chain, draw) float64 9.514 9.723 ... 9.586\n", + " lmx_pred_missing (chain, draw, lmx_pred_missing_dim_0) float64 ...\n", + " ... ...\n", + " sigma_lmx (chain, draw) float64 3.027 3.152 ... 3.004\n", + " climate_pred (chain, draw, climate_pred_dim_0) float64 ...\n", + " lmx_pred (chain, draw, lmx_pred_dim_0) float64 11.0...\n", + " lmx_imputed (chain, draw, lmx_imputed_dim_0) float64 1...\n", + " climate_imputed (chain, draw, climate_imputed_dim_0) float64 ...\n", + " emp_imputed (chain, draw, emp_imputed_dim_0) float64 3...\n", + "Attributes:\n", + " created_at: 2023-02-02T07:57:06.498924\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1\n", + " sampling_time: 106.22190403938293\n", + " tuning_steps: 1000
<xarray.Dataset>\n", + "Dimensions: (chain: 4, draw: 1000,\n", + " climate_pred_observed_dim_2: 570,\n", + " lmx_pred_observed_dim_2: 604,\n", + " lmx_imputed_observed_dim_2: 604,\n", + " climate_imputed_observed_dim_2: 570,\n", + " emp_imputed_observed_dim_2: 528,\n", + " climate_pred_dim_2: 630,\n", + " lmx_pred_dim_2: 630,\n", + " lmx_imputed_dim_2: 630,\n", + " climate_imputed_dim_2: 630,\n", + " emp_imputed_dim_2: 630)\n", + "Coordinates:\n", + " * chain (chain) int64 0 1 2 3\n", + " * draw (draw) int64 0 1 2 3 4 ... 996 997 998 999\n", + " * climate_pred_observed_dim_2 (climate_pred_observed_dim_2) int64 0 ......\n", + " * lmx_pred_observed_dim_2 (lmx_pred_observed_dim_2) int64 0 1 ... 603\n", + " * lmx_imputed_observed_dim_2 (lmx_imputed_observed_dim_2) int64 0 ... 603\n", + " * climate_imputed_observed_dim_2 (climate_imputed_observed_dim_2) int64 0 ...\n", + " * emp_imputed_observed_dim_2 (emp_imputed_observed_dim_2) int64 0 ... 527\n", + " * climate_pred_dim_2 (climate_pred_dim_2) int64 0 1 2 ... 628 629\n", + " * lmx_pred_dim_2 (lmx_pred_dim_2) int64 0 1 2 ... 627 628 629\n", + " * lmx_imputed_dim_2 (lmx_imputed_dim_2) int64 0 1 2 ... 628 629\n", + " * climate_imputed_dim_2 (climate_imputed_dim_2) int64 0 1 ... 629\n", + " * emp_imputed_dim_2 (emp_imputed_dim_2) int64 0 1 2 ... 628 629\n", + "Data variables:\n", + " climate_pred_observed (chain, draw, climate_pred_observed_dim_2) float64 ...\n", + " lmx_pred_observed (chain, draw, lmx_pred_observed_dim_2) float64 ...\n", + " lmx_imputed_observed (chain, draw, lmx_imputed_observed_dim_2) float64 ...\n", + " climate_imputed_observed (chain, draw, climate_imputed_observed_dim_2) float64 ...\n", + " emp_imputed_observed (chain, draw, emp_imputed_observed_dim_2) float64 ...\n", + " climate_pred (chain, draw, climate_pred_dim_2) float64 ...\n", + " lmx_pred (chain, draw, lmx_pred_dim_2) float64 8.6...\n", + " lmx_imputed (chain, draw, lmx_imputed_dim_2) float64 ...\n", + " climate_imputed (chain, draw, climate_imputed_dim_2) float64 ...\n", + " emp_imputed (chain, draw, emp_imputed_dim_2) float64 ...\n", + "Attributes:\n", + " created_at: 2023-02-02T07:57:11.095286\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1
<xarray.Dataset>\n", + "Dimensions: (chain: 4, draw: 1000)\n", + "Coordinates:\n", + " * chain (chain) int64 0 1 2 3\n", + " * draw (draw) int64 0 1 2 3 4 5 ... 994 995 996 997 998 999\n", + "Data variables: (12/17)\n", + " n_steps (chain, draw) float64 31.0 31.0 31.0 ... 31.0 31.0\n", + " max_energy_error (chain, draw) float64 -0.3783 -0.1605 ... 0.6239\n", + " diverging (chain, draw) bool False False False ... False False\n", + " reached_max_treedepth (chain, draw) bool False False False ... False False\n", + " acceptance_rate (chain, draw) float64 0.9975 0.9587 ... 0.6311 0.7695\n", + " process_time_diff (chain, draw) float64 0.02338 0.02421 ... 0.01917\n", + " ... ...\n", + " perf_counter_start (chain, draw) float64 4.427e+05 ... 4.427e+05\n", + " energy (chain, draw) float64 8.642e+03 ... 8.615e+03\n", + " lp (chain, draw) float64 -8.501e+03 ... -8.471e+03\n", + " energy_error (chain, draw) float64 -0.1605 0.1162 ... -0.08054\n", + " largest_eigval (chain, draw) float64 nan nan nan nan ... nan nan nan\n", + " tree_depth (chain, draw) int64 5 5 5 5 5 5 5 5 ... 5 5 5 5 5 5 5\n", + "Attributes:\n", + " created_at: 2023-02-02T07:57:06.518637\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1\n", + " sampling_time: 106.22190403938293\n", + " tuning_steps: 1000
<xarray.Dataset>\n", + "Dimensions: (chain: 1, draw: 500, alpha_dim: 3,\n", + " beta_dim: 6,\n", + " climate_pred_missing_dim_0: 60,\n", + " climate_imputed_missing_dim_0: 60,\n", + " emp_imputed_dim_0: 630,\n", + " climate_imputed_dim_0: 630,\n", + " lmx_pred_dim_0: 630,\n", + " lmx_imputed_missing_dim_0: 26,\n", + " emp_imputed_missing_dim_0: 102,\n", + " lmx_pred_missing_dim_0: 26,\n", + " lmx_imputed_dim_0: 630,\n", + " climate_pred_dim_0: 630)\n", + "Coordinates: (12/14)\n", + " * chain (chain) int64 0\n", + " * draw (draw) int64 0 1 2 3 4 ... 496 497 498 499\n", + " * alpha_dim (alpha_dim) <U15 'lmx_imputed' ... 'empowe...\n", + " * beta_dim (beta_dim) <U13 'lmxB_male' ... 'empB_lmx'\n", + " * climate_pred_missing_dim_0 (climate_pred_missing_dim_0) int64 0 1 ... 59\n", + " * climate_imputed_missing_dim_0 (climate_imputed_missing_dim_0) int64 0 .....\n", + " ... ...\n", + " * lmx_pred_dim_0 (lmx_pred_dim_0) int64 0 1 2 ... 627 628 629\n", + " * lmx_imputed_missing_dim_0 (lmx_imputed_missing_dim_0) int64 0 1 ... 25\n", + " * emp_imputed_missing_dim_0 (emp_imputed_missing_dim_0) int64 0 1 ... 101\n", + " * lmx_pred_missing_dim_0 (lmx_pred_missing_dim_0) int64 0 1 ... 24 25\n", + " * lmx_imputed_dim_0 (lmx_imputed_dim_0) int64 0 1 2 ... 628 629\n", + " * climate_pred_dim_0 (climate_pred_dim_0) int64 0 1 2 ... 628 629\n", + "Data variables: (12/17)\n", + " alphas (chain, draw, alpha_dim) float64 11.45 ......\n", + " sigma_climate (chain, draw) float64 1.15 0.4145 ... 0.8882\n", + " beta (chain, draw, beta_dim) float64 1.199 ... ...\n", + " climate_pred_missing (chain, draw, climate_pred_missing_dim_0) float64 ...\n", + " climate_imputed_missing (chain, draw, climate_imputed_missing_dim_0) float64 ...\n", + " emp_imputed (chain, draw, emp_imputed_dim_0) float64 8...\n", + " ... ...\n", + " sigmas (chain, draw, alpha_dim) float64 6.3 ... 1...\n", + " lmx_pred_missing (chain, draw, lmx_pred_missing_dim_0) float64 ...\n", + " sigma_lmx (chain, draw) float64 1.127 5.054 ... 6.724\n", + " lmx_imputed (chain, draw, lmx_imputed_dim_0) float64 2...\n", + " mu_climate (chain, draw) float64 4.559 9.647 ... 9.476\n", + " climate_pred (chain, draw, climate_pred_dim_0) float64 ...\n", + "Attributes:\n", + " created_at: 2023-02-02T07:54:57.199499\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1
<xarray.Dataset>\n", + "Dimensions: (chain: 1, draw: 500,\n", + " lmx_pred_observed_dim_0: 604,\n", + " emp_imputed_observed_dim_0: 528,\n", + " lmx_imputed_observed_dim_0: 604,\n", + " climate_imputed_observed_dim_0: 570,\n", + " climate_pred_observed_dim_0: 570)\n", + "Coordinates:\n", + " * chain (chain) int64 0\n", + " * draw (draw) int64 0 1 2 3 4 ... 496 497 498 499\n", + " * lmx_pred_observed_dim_0 (lmx_pred_observed_dim_0) int64 0 1 ... 603\n", + " * emp_imputed_observed_dim_0 (emp_imputed_observed_dim_0) int64 0 ... 527\n", + " * lmx_imputed_observed_dim_0 (lmx_imputed_observed_dim_0) int64 0 ... 603\n", + " * climate_imputed_observed_dim_0 (climate_imputed_observed_dim_0) int64 0 ...\n", + " * climate_pred_observed_dim_0 (climate_pred_observed_dim_0) int64 0 ......\n", + "Data variables:\n", + " lmx_pred_observed (chain, draw, lmx_pred_observed_dim_0) float64 ...\n", + " emp_imputed_observed (chain, draw, emp_imputed_observed_dim_0) float64 ...\n", + " lmx_imputed_observed (chain, draw, lmx_imputed_observed_dim_0) float64 ...\n", + " climate_imputed_observed (chain, draw, climate_imputed_observed_dim_0) float64 ...\n", + " climate_pred_observed (chain, draw, climate_pred_observed_dim_0) float64 ...\n", + "Attributes:\n", + " created_at: 2023-02-02T07:54:57.206651\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1
<xarray.Dataset>\n", + "Dimensions: (climate_pred_observed_dim_0: 570,\n", + " lmx_pred_observed_dim_0: 604,\n", + " lmx_imputed_observed_dim_0: 604,\n", + " climate_imputed_observed_dim_0: 570,\n", + " emp_imputed_observed_dim_0: 528)\n", + "Coordinates:\n", + " * climate_pred_observed_dim_0 (climate_pred_observed_dim_0) int64 0 ......\n", + " * lmx_pred_observed_dim_0 (lmx_pred_observed_dim_0) int64 0 1 ... 603\n", + " * lmx_imputed_observed_dim_0 (lmx_imputed_observed_dim_0) int64 0 ... 603\n", + " * climate_imputed_observed_dim_0 (climate_imputed_observed_dim_0) int64 0 ...\n", + " * emp_imputed_observed_dim_0 (emp_imputed_observed_dim_0) int64 0 ... 527\n", + "Data variables:\n", + " climate_pred_observed (climate_pred_observed_dim_0) float64 18....\n", + " lmx_pred_observed (lmx_pred_observed_dim_0) float64 11.0 .....\n", + " lmx_imputed_observed (lmx_imputed_observed_dim_0) float64 11.0...\n", + " climate_imputed_observed (climate_imputed_observed_dim_0) float64 ...\n", + " emp_imputed_observed (emp_imputed_observed_dim_0) float64 32.0...\n", + "Attributes:\n", + " created_at: 2023-02-02T07:54:57.209280\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1
\n", + " | median | \n", + "mad | \n", + "eti_3% | \n", + "eti_97% | \n", + "mcse_median | \n", + "ess_median | \n", + "ess_tail | \n", + "r_hat | \n", + "
---|---|---|---|---|---|---|---|---|
alphas[lmx_imputed] | \n", + "9.057 | \n", + "0.446 | \n", + "7.854 | \n", + "10.263 | \n", + "0.011 | \n", + "3920.446 | \n", + "3077.0 | \n", + "1.00 | \n", + "
alphas[climate_imputed] | \n", + "19.776 | \n", + "0.158 | \n", + "19.345 | \n", + "20.213 | \n", + "0.005 | \n", + "4203.071 | \n", + "3452.0 | \n", + "1.00 | \n", + "
alphas[empower_imputed] | \n", + "17.928 | \n", + "0.689 | \n", + "16.016 | \n", + "19.851 | \n", + "0.022 | \n", + "3143.699 | \n", + "3063.0 | \n", + "1.00 | \n", + "
beta[lmxB_male] | \n", + "0.437 | \n", + "0.157 | \n", + "-0.005 | \n", + "0.894 | \n", + "0.003 | \n", + "7104.804 | \n", + "3102.0 | \n", + "1.00 | \n", + "
beta[lmxB_climate] | \n", + "0.018 | \n", + "0.022 | \n", + "-0.042 | \n", + "0.076 | \n", + "0.001 | \n", + "3670.069 | \n", + "2911.0 | \n", + "1.00 | \n", + "
beta[climateB_male] | \n", + "0.696 | \n", + "0.214 | \n", + "0.092 | \n", + "1.286 | \n", + "0.006 | \n", + "4471.550 | \n", + "3328.0 | \n", + "1.00 | \n", + "
beta[empB_male] | \n", + "1.656 | \n", + "0.214 | \n", + "1.043 | \n", + "2.254 | \n", + "0.005 | \n", + "5282.112 | \n", + "3361.0 | \n", + "1.00 | \n", + "
beta[empB_climate] | \n", + "0.203 | \n", + "0.030 | \n", + "0.121 | \n", + "0.286 | \n", + "0.001 | \n", + "3395.600 | \n", + "3068.0 | \n", + "1.00 | \n", + "
beta[empB_lmx] | \n", + "0.598 | \n", + "0.039 | \n", + "0.489 | \n", + "0.710 | \n", + "0.001 | \n", + "4541.732 | \n", + "2991.0 | \n", + "1.00 | \n", + "
sigmas[lmx_imputed] | \n", + "3.023 | \n", + "0.059 | \n", + "2.865 | \n", + "3.199 | \n", + "0.001 | \n", + "5408.426 | \n", + "3360.0 | \n", + "1.00 | \n", + "
sigmas[climate_imputed] | \n", + "4.021 | \n", + "0.077 | \n", + "3.812 | \n", + "4.251 | \n", + "0.002 | \n", + "5084.700 | \n", + "3347.0 | \n", + "1.01 | \n", + "
sigmas[empower_imputed] | \n", + "3.815 | \n", + "0.079 | \n", + "3.598 | \n", + "4.052 | \n", + "0.002 | \n", + "4530.686 | \n", + "3042.0 | \n", + "1.00 | \n", + "
\n", + " | median | \n", + "mad | \n", + "eti_3% | \n", + "eti_97% | \n", + "mcse_median | \n", + "ess_median | \n", + "ess_tail | \n", + "r_hat | \n", + "
---|---|---|---|---|---|---|---|---|
alphas[lmx_imputed] | \n", + "9.159 | \n", + "0.402 | \n", + "8.082 | \n", + "10.230 | \n", + "0.015 | \n", + "3450.523 | \n", + "3292.0 | \n", + "1.0 | \n", + "
alphas[climate_imputed] | \n", + "19.781 | \n", + "0.159 | \n", + "19.339 | \n", + "20.219 | \n", + "0.004 | \n", + "4512.068 | \n", + "3360.0 | \n", + "1.0 | \n", + "
alphas[empower_imputed] | \n", + "18.855 | \n", + "0.645 | \n", + "17.070 | \n", + "20.708 | \n", + "0.026 | \n", + "2292.646 | \n", + "2706.0 | \n", + "1.0 | \n", + "
beta[lmxB_male] | \n", + "0.433 | \n", + "0.166 | \n", + "0.013 | \n", + "0.867 | \n", + "0.003 | \n", + "6325.253 | \n", + "3040.0 | \n", + "1.0 | \n", + "
beta[lmxB_climate] | \n", + "0.013 | \n", + "0.019 | \n", + "-0.039 | \n", + "0.065 | \n", + "0.001 | \n", + "3197.124 | \n", + "3042.0 | \n", + "1.0 | \n", + "
beta[climateB_male] | \n", + "0.689 | \n", + "0.224 | \n", + "0.067 | \n", + "1.284 | \n", + "0.006 | \n", + "4576.652 | \n", + "3231.0 | \n", + "1.0 | \n", + "
beta[empB_male] | \n", + "1.625 | \n", + "0.215 | \n", + "1.025 | \n", + "2.230 | \n", + "0.005 | \n", + "6056.623 | \n", + "3056.0 | \n", + "1.0 | \n", + "
beta[empB_climate] | \n", + "0.206 | \n", + "0.025 | \n", + "0.130 | \n", + "0.275 | \n", + "0.001 | \n", + "3166.040 | \n", + "2923.0 | \n", + "1.0 | \n", + "
beta[empB_lmx] | \n", + "0.488 | \n", + "0.044 | \n", + "0.363 | \n", + "0.608 | \n", + "0.001 | \n", + "2428.278 | \n", + "2756.0 | \n", + "1.0 | \n", + "
sigmas[lmx_imputed] | \n", + "3.020 | \n", + "0.058 | \n", + "2.874 | \n", + "3.186 | \n", + "0.001 | \n", + "7159.549 | \n", + "3040.0 | \n", + "1.0 | \n", + "
sigmas[climate_imputed] | \n", + "4.018 | \n", + "0.081 | \n", + "3.808 | \n", + "4.252 | \n", + "0.002 | \n", + "6092.150 | \n", + "2921.0 | \n", + "1.0 | \n", + "
sigmas[empower_imputed] | \n", + "3.783 | \n", + "0.082 | \n", + "3.572 | \n", + "4.029 | \n", + "0.002 | \n", + "4046.865 | \n", + "2845.0 | \n", + "1.0 | \n", + "
\n", + " | imputed_lmx | \n", + "imputed_empower | \n", + "imputed_climate | \n", + "imputed_male | \n", + "
---|---|---|---|---|
0 | \n", + "11.0 | \n", + "32.000000 | \n", + "18.0 | \n", + "1 | \n", + "
1 | \n", + "13.0 | \n", + "29.490539 | \n", + "18.0 | \n", + "1 | \n", + "
2 | \n", + "9.0 | \n", + "30.000000 | \n", + "18.0 | \n", + "1 | \n", + "
3 | \n", + "8.0 | \n", + "29.000000 | \n", + "18.0 | \n", + "1 | \n", + "
4 | \n", + "7.0 | \n", + "26.000000 | \n", + "18.0 | \n", + "0 | \n", + "
\n", + " | 1 | \n", + "2 | \n", + "3 | \n", + "4 | \n", + "5 | \n", + "6 | \n", + "7 | \n", + "8 | \n", + "9 | \n", + "10 | \n", + "11 | \n", + "12 | \n", + "13 | \n", + "14 | \n", + "15 | \n", + "16 | \n", + "17 | \n", + "18 | \n", + "19 | \n", + "20 | \n", + "21 | \n", + "22 | \n", + "23 | \n", + "24 | \n", + "25 | \n", + "26 | \n", + "27 | \n", + "28 | \n", + "29 | \n", + "30 | \n", + "31 | \n", + "32 | \n", + "33 | \n", + "34 | \n", + "35 | \n", + "36 | \n", + "37 | \n", + "38 | \n", + "39 | \n", + "40 | \n", + "41 | \n", + "42 | \n", + "43 | \n", + "44 | \n", + "45 | \n", + "46 | \n", + "47 | \n", + "48 | \n", + "49 | \n", + "50 | \n", + "51 | \n", + "52 | \n", + "53 | \n", + "54 | \n", + "55 | \n", + "56 | \n", + "57 | \n", + "58 | \n", + "59 | \n", + "60 | \n", + "61 | \n", + "62 | \n", + "63 | \n", + "64 | \n", + "65 | \n", + "66 | \n", + "67 | \n", + "68 | \n", + "69 | \n", + "70 | \n", + "71 | \n", + "72 | \n", + "73 | \n", + "74 | \n", + "75 | \n", + "76 | \n", + "77 | \n", + "78 | \n", + "79 | \n", + "80 | \n", + "81 | \n", + "82 | \n", + "83 | \n", + "84 | \n", + "85 | \n", + "86 | \n", + "87 | \n", + "88 | \n", + "89 | \n", + "90 | \n", + "91 | \n", + "92 | \n", + "93 | \n", + "94 | \n", + "95 | \n", + "96 | \n", + "97 | \n", + "98 | \n", + "99 | \n", + "100 | \n", + "101 | \n", + "102 | \n", + "103 | \n", + "104 | \n", + "105 | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", + "32.00 | \n", + "22.00 | \n", + "16.00 | \n", + "26.00 | \n", + "33.00 | \n", + "21.00 | \n", + "29.00 | \n", + "26.00 | \n", + "27.00 | \n", + "33.00 | \n", + "28.00 | \n", + "36.00 | \n", + "24.00 | \n", + "24.00 | \n", + "34.00 | \n", + "28.00 | \n", + "29.00 | \n", + "22.00 | \n", + "28.00 | \n", + "23.00 | \n", + "25.00 | \n", + "39.00 | \n", + "28.00 | \n", + "28.00 | \n", + "26.00 | \n", + "29.00 | \n", + "34.00 | \n", + "25.00 | \n", + "30.00 | \n", + "26.00 | \n", + "28.00 | \n", + "23.00 | \n", + "32.00 | \n", + "27.00 | \n", + "38.00 | \n", + "22.00 | \n", + "36.00 | \n", + "30.00 | \n", + "30.00 | \n", + "30.00 | \n", + "30.00 | \n", + "28.00 | \n", + "27.00 | \n", + "28.00 | \n", + "25.00 | \n", + "21.00 | \n", + "37.00 | \n", + "24.00 | \n", + "31.00 | \n", + "27.00 | \n", + "28.00 | \n", + "32.00 | \n", + "27.00 | \n", + "30.00 | \n", + "28.00 | \n", + "26.00 | \n", + "29.00 | \n", + "20.00 | \n", + "30.00 | \n", + "27.00 | \n", + "32.00 | \n", + "22.00 | \n", + "32.00 | \n", + "31.00 | \n", + "26.00 | \n", + "29.00 | \n", + "24.00 | \n", + "23.00 | \n", + "33.00 | \n", + "29.00 | \n", + "35.00 | \n", + "25.00 | \n", + "33.00 | \n", + "23.00 | \n", + "32.00 | \n", + "27.00 | \n", + "31.00 | \n", + "28.00 | \n", + "27.00 | \n", + "28.00 | \n", + "25.00 | \n", + "31.00 | \n", + "28.00 | \n", + "31.00 | \n", + "28.00 | \n", + "32.00 | \n", + "24.00 | \n", + "29.00 | \n", + "28.00 | \n", + "30.00 | \n", + "33.00 | \n", + "23.00 | \n", + "28.00 | \n", + "21.00 | \n", + "25.00 | \n", + "39.00 | \n", + "25.00 | \n", + "31.00 | \n", + "30.00 | \n", + "24.00 | \n", + "29.00 | \n", + "25.00 | \n", + "20.00 | \n", + "28.00 | \n", + "28.00 | \n", + "
1 | \n", + "30.00 | \n", + "23.00 | \n", + "25.00 | \n", + "27.00 | \n", + "37.00 | \n", + "29.00 | \n", + "26.00 | \n", + "25.00 | \n", + "28.00 | \n", + "27.00 | \n", + "26.00 | \n", + "32.00 | \n", + "23.00 | \n", + "30.00 | \n", + "24.00 | \n", + "24.00 | \n", + "26.00 | \n", + "28.00 | \n", + "33.00 | \n", + "22.00 | \n", + "17.00 | \n", + "31.00 | \n", + "22.00 | \n", + "36.00 | \n", + "34.00 | \n", + "23.00 | \n", + "32.00 | \n", + "30.00 | \n", + "30.00 | \n", + "22.00 | \n", + "22.00 | \n", + "28.00 | \n", + "31.00 | \n", + "30.00 | \n", + "32.00 | \n", + "23.00 | \n", + "32.00 | \n", + "36.00 | \n", + "23.00 | \n", + "26.00 | \n", + "24.00 | \n", + "32.00 | \n", + "36.00 | \n", + "26.00 | \n", + "25.00 | \n", + "35.00 | \n", + "32.00 | \n", + "28.00 | \n", + "24.00 | \n", + "28.00 | \n", + "35.00 | \n", + "28.00 | \n", + "32.00 | \n", + "24.00 | \n", + "26.00 | \n", + "23.00 | \n", + "26.00 | \n", + "29.00 | \n", + "28.00 | \n", + "28.00 | \n", + "33.00 | \n", + "29.00 | \n", + "25.00 | \n", + "28.00 | \n", + "27.00 | \n", + "29.00 | \n", + "24.00 | \n", + "34.00 | \n", + "27.00 | \n", + "28.00 | \n", + "31.00 | \n", + "27.00 | \n", + "25.00 | \n", + "30.00 | \n", + "28.00 | \n", + "20.00 | \n", + "28.00 | \n", + "32.00 | \n", + "23.00 | \n", + "15.00 | \n", + "29.00 | \n", + "31.00 | \n", + "31.00 | \n", + "28.00 | \n", + "30.00 | \n", + "28.00 | \n", + "40.00 | \n", + "30.00 | \n", + "26.00 | \n", + "19.00 | \n", + "25.00 | \n", + "23.00 | \n", + "32.00 | \n", + "27.00 | \n", + "30.00 | \n", + "26.00 | \n", + "35.00 | \n", + "24.00 | \n", + "25.00 | \n", + "23.00 | \n", + "28.00 | \n", + "34.00 | \n", + "26.00 | \n", + "28.00 | \n", + "17.00 | \n", + "
2 | \n", + "29.00 | \n", + "32.00 | \n", + "31.00 | \n", + "42.00 | \n", + "29.00 | \n", + "25.00 | \n", + "26.00 | \n", + "29.00 | \n", + "26.00 | \n", + "29.00 | \n", + "30.00 | \n", + "30.00 | \n", + "25.00 | \n", + "22.00 | \n", + "21.00 | \n", + "34.00 | \n", + "33.00 | \n", + "32.00 | \n", + "26.00 | \n", + "29.00 | \n", + "35.00 | \n", + "32.00 | \n", + "33.00 | \n", + "27.00 | \n", + "26.00 | \n", + "22.00 | \n", + "29.00 | \n", + "29.00 | \n", + "32.00 | \n", + "30.00 | \n", + "35.00 | \n", + "29.00 | \n", + "33.00 | \n", + "30.00 | \n", + "30.00 | \n", + "31.00 | \n", + "26.00 | \n", + "28.00 | \n", + "40.00 | \n", + "25.00 | \n", + "41.00 | \n", + "27.00 | \n", + "23.00 | \n", + "31.00 | \n", + "29.00 | \n", + "28.00 | \n", + "27.00 | \n", + "23.00 | \n", + "36.00 | \n", + "28.00 | \n", + "23.00 | \n", + "31.00 | \n", + "29.00 | \n", + "33.00 | \n", + "27.00 | \n", + "19.00 | \n", + "25.00 | \n", + "33.00 | \n", + "29.00 | \n", + "27.00 | \n", + "23.00 | \n", + "28.00 | \n", + "31.00 | \n", + "26.00 | \n", + "22.00 | \n", + "37.00 | \n", + "24.00 | \n", + "33.00 | \n", + "37.00 | \n", + "29.00 | \n", + "29.00 | \n", + "26.00 | \n", + "27.00 | \n", + "31.00 | \n", + "23.00 | \n", + "14.00 | \n", + "28.00 | \n", + "30.00 | \n", + "29.00 | \n", + "28.00 | \n", + "36.00 | \n", + "27.00 | \n", + "28.00 | \n", + "35.00 | \n", + "29.00 | \n", + "38.00 | \n", + "26.00 | \n", + "38.00 | \n", + "30.00 | \n", + "34.00 | \n", + "38.00 | \n", + "28.00 | \n", + "34.00 | \n", + "28.00 | \n", + "28.00 | \n", + "30.00 | \n", + "31.00 | \n", + "27.00 | \n", + "29.00 | \n", + "24.00 | \n", + "33.00 | \n", + "30.00 | \n", + "28.00 | \n", + "26.00 | \n", + "28.00 | \n", + "
3 | \n", + "26.00 | \n", + "36.00 | \n", + "27.00 | \n", + "24.00 | \n", + "32.00 | \n", + "36.00 | \n", + "26.00 | \n", + "27.00 | \n", + "29.00 | \n", + "36.00 | \n", + "28.00 | \n", + "30.00 | \n", + "27.00 | \n", + "27.00 | \n", + "33.00 | \n", + "34.00 | \n", + "29.00 | \n", + "27.00 | \n", + "33.00 | \n", + "26.00 | \n", + "26.00 | \n", + "33.00 | \n", + "30.00 | \n", + "26.00 | \n", + "28.00 | \n", + "31.00 | \n", + "20.00 | \n", + "30.00 | \n", + "23.00 | \n", + "30.00 | \n", + "28.00 | \n", + "25.00 | \n", + "32.00 | \n", + "31.00 | \n", + "18.00 | \n", + "29.00 | \n", + "26.00 | \n", + "26.00 | \n", + "27.00 | \n", + "nan | \n", + "28.00 | \n", + "nan | \n", + "29.00 | \n", + "25.00 | \n", + "22.00 | \n", + "33.00 | \n", + "33.00 | \n", + "30.00 | \n", + "33.00 | \n", + "34.00 | \n", + "nan | \n", + "37.00 | \n", + "29.00 | \n", + "27.00 | \n", + "28.00 | \n", + "23.00 | \n", + "25.00 | \n", + "32.00 | \n", + "21.00 | \n", + "24.00 | \n", + "30.00 | \n", + "29.00 | \n", + "28.00 | \n", + "27.00 | \n", + "24.00 | \n", + "38.00 | \n", + "24.00 | \n", + "19.00 | \n", + "30.00 | \n", + "35.00 | \n", + "32.00 | \n", + "28.00 | \n", + "38.00 | \n", + "31.00 | \n", + "27.00 | \n", + "23.00 | \n", + "30.00 | \n", + "27.00 | \n", + "27.00 | \n", + "27.00 | \n", + "32.00 | \n", + "27.00 | \n", + "29.00 | \n", + "26.00 | \n", + "24.00 | \n", + "29.00 | \n", + "28.00 | \n", + "31.00 | \n", + "25.00 | \n", + "25.00 | \n", + "30.00 | \n", + "29.00 | \n", + "34.00 | \n", + "32.00 | \n", + "31.00 | \n", + "26.00 | \n", + "nan | \n", + "34.00 | \n", + "27.00 | \n", + "21.00 | \n", + "24.00 | \n", + "25.00 | \n", + "28.00 | \n", + "23.00 | \n", + "32.00 | \n", + "
4 | \n", + "nan | \n", + "nan | \n", + "30.00 | \n", + "37.00 | \n", + "24.00 | \n", + "nan | \n", + "31.00 | \n", + "nan | \n", + "28.00 | \n", + "24.00 | \n", + "28.00 | \n", + "34.00 | \n", + "24.00 | \n", + "38.00 | \n", + "35.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "29.00 | \n", + "37.00 | \n", + "32.00 | \n", + "nan | \n", + "24.00 | \n", + "nan | \n", + "26.00 | \n", + "29.00 | \n", + "26.00 | \n", + "35.00 | \n", + "29.00 | \n", + "nan | \n", + "29.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "20.00 | \n", + "23.00 | \n", + "31.00 | \n", + "22.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "23.00 | \n", + "nan | \n", + "19.00 | \n", + "nan | \n", + "32.00 | \n", + "22.00 | \n", + "31.00 | \n", + "27.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "24.00 | \n", + "nan | \n", + "27.00 | \n", + "28.00 | \n", + "26.00 | \n", + "25.00 | \n", + "30.00 | \n", + "22.00 | \n", + "30.00 | \n", + "28.00 | \n", + "32.00 | \n", + "29.00 | \n", + "28.00 | \n", + "nan | \n", + "nan | \n", + "28.00 | \n", + "30.00 | \n", + "nan | \n", + "28.00 | \n", + "26.00 | \n", + "25.00 | \n", + "nan | \n", + "27.00 | \n", + "35.00 | \n", + "24.00 | \n", + "29.00 | \n", + "24.00 | \n", + "nan | \n", + "33.00 | \n", + "28.00 | \n", + "34.00 | \n", + "31.00 | \n", + "22.00 | \n", + "nan | \n", + "26.00 | \n", + "18.00 | \n", + "32.00 | \n", + "22.00 | \n", + "nan | \n", + "31.00 | \n", + "33.00 | \n", + "nan | \n", + "nan | \n", + "32.00 | \n", + "28.00 | \n", + "21.00 | \n", + "35.00 | \n", + "36.00 | \n", + "31.00 | \n", + "27.00 | \n", + "nan | \n", + "
5 | \n", + "nan | \n", + "nan | \n", + "23.00 | \n", + "nan | \n", + "31.00 | \n", + "nan | \n", + "33.00 | \n", + "nan | \n", + "25.00 | \n", + "22.00 | \n", + "25.00 | \n", + "nan | \n", + "nan | \n", + "30.00 | \n", + "23.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "24.00 | \n", + "nan | \n", + "31.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "32.00 | \n", + "nan | \n", + "25.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "20.00 | \n", + "31.00 | \n", + "25.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "28.00 | \n", + "nan | \n", + "nan | \n", + "27.00 | \n", + "27.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "27.00 | \n", + "nan | \n", + "31.00 | \n", + "29.00 | \n", + "nan | \n", + "31.00 | \n", + "nan | \n", + "30.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "28.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "33.00 | \n", + "30.00 | \n", + "19.00 | \n", + "23.00 | \n", + "nan | \n", + "nan | \n", + "26.00 | \n", + "28.00 | \n", + "26.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "28.00 | \n", + "30.00 | \n", + "36.00 | \n", + "24.00 | \n", + "nan | \n", + "nan | \n", + "29.00 | \n", + "nan | \n", + "nan | \n", + "nan | \n", + "28.00 | \n", + "27.00 | \n", + "28.00 | \n", + "31.00 | \n", + "24.00 | \n", + "nan | \n", + "nan | \n", + "
<xarray.Dataset>\n", + "Dimensions: (chain: 4, draw: 20000, team: 105,\n", + " lmx_pred_missing_dim_0: 26,\n", + " emp_imputed_missing_dim_0: 102, employee: 630,\n", + " lmx_pred_dim_0: 630, alpha_global_dim_0: 630,\n", + " beta_global_lmx_dim_0: 630, mu_dim_0: 630,\n", + " emp_imputed_dim_0: 630)\n", + "Coordinates:\n", + " * chain (chain) int64 0 1 2 3\n", + " * draw (draw) int64 0 1 2 3 ... 19996 19997 19998 19999\n", + " * team (team) int64 1 2 3 4 5 6 ... 101 102 103 104 105\n", + " * lmx_pred_missing_dim_0 (lmx_pred_missing_dim_0) int64 0 1 2 ... 23 24 25\n", + " * emp_imputed_missing_dim_0 (emp_imputed_missing_dim_0) int64 0 1 ... 100 101\n", + " * employee (employee) int64 0 1 2 3 4 ... 626 627 628 629\n", + " * lmx_pred_dim_0 (lmx_pred_dim_0) int64 0 1 2 3 ... 627 628 629\n", + " * alpha_global_dim_0 (alpha_global_dim_0) int64 0 1 2 ... 627 628 629\n", + " * beta_global_lmx_dim_0 (beta_global_lmx_dim_0) int64 0 1 2 ... 628 629\n", + " * mu_dim_0 (mu_dim_0) int64 0 1 2 3 4 ... 626 627 628 629\n", + " * emp_imputed_dim_0 (emp_imputed_dim_0) int64 0 1 2 3 ... 627 628 629\n", + "Data variables: (12/16)\n", + " company_beta_lmx (chain, draw) float64 0.6299 0.6698 ... 0.7356\n", + " company_beta_male (chain, draw) float64 0.8914 0.9321 ... 0.9751\n", + " company_alpha (chain, draw) float64 21.29 21.02 ... 20.83 20.77\n", + " team_alpha (chain, draw, team) float64 -1.535 ... 0.1378\n", + " team_beta_lmx (chain, draw, team) float64 0.3924 ... -0.1927\n", + " mu_lmx (chain, draw) float64 9.773 9.815 ... 9.797 9.764\n", + " ... ...\n", + " lmx_pred (chain, draw, lmx_pred_dim_0) float64 11.0 ......\n", + " alpha_global (chain, draw, alpha_global_dim_0) float64 19.7...\n", + " beta_global_lmx (chain, draw, beta_global_lmx_dim_0) float64 1...\n", + " beta_global_male (chain, draw) float64 0.8914 0.9321 ... 0.9751\n", + " mu (chain, draw, mu_dim_0) float64 31.89 ... 24.59\n", + " emp_imputed (chain, draw, emp_imputed_dim_0) float64 32.0 ...\n", + "Attributes:\n", + " created_at: 2023-02-02T08:13:38.333014\n", + " arviz_version: 0.14.0
<xarray.Dataset>\n", + "Dimensions: (chain: 4, draw: 20000,\n", + " lmx_pred_observed_dim_2: 604,\n", + " emp_imputed_observed_dim_2: 528,\n", + " lmx_pred_dim_2: 630, mu_dim_2: 630,\n", + " emp_imputed_dim_2: 630)\n", + "Coordinates:\n", + " * chain (chain) int64 0 1 2 3\n", + " * draw (draw) int64 0 1 2 3 ... 19996 19997 19998 19999\n", + " * lmx_pred_observed_dim_2 (lmx_pred_observed_dim_2) int64 0 1 ... 602 603\n", + " * emp_imputed_observed_dim_2 (emp_imputed_observed_dim_2) int64 0 1 ... 527\n", + " * lmx_pred_dim_2 (lmx_pred_dim_2) int64 0 1 2 3 ... 627 628 629\n", + " * mu_dim_2 (mu_dim_2) int64 0 1 2 3 4 ... 626 627 628 629\n", + " * emp_imputed_dim_2 (emp_imputed_dim_2) int64 0 1 2 ... 627 628 629\n", + "Data variables:\n", + " lmx_pred_observed (chain, draw, lmx_pred_observed_dim_2) float64 ...\n", + " emp_imputed_observed (chain, draw, emp_imputed_observed_dim_2) float64 ...\n", + " lmx_pred (chain, draw, lmx_pred_dim_2) float64 14.09 ....\n", + " mu (chain, draw, mu_dim_2) float64 35.05 ... 24.5\n", + " emp_imputed (chain, draw, emp_imputed_dim_2) float64 34.7...\n", + "Attributes:\n", + " created_at: 2023-02-02T08:14:02.072909\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1
<xarray.Dataset>\n", + "Dimensions: (chain: 4, draw: 20000)\n", + "Coordinates:\n", + " * chain (chain) int64 0 1 2 3\n", + " * draw (draw) int64 0 1 2 3 4 5 ... 19995 19996 19997 19998 19999\n", + "Data variables:\n", + " lp (chain, draw) float64 4.1e+03 4.134e+03 ... 4.072e+03\n", + " diverging (chain, draw) bool False False False ... False False False\n", + " energy (chain, draw) float64 4.569e+03 4.597e+03 ... 4.562e+03\n", + " tree_depth (chain, draw) int64 10 10 10 10 10 10 ... 10 10 10 10 10 10\n", + " n_steps (chain, draw) int64 1023 1023 1023 1023 ... 1023 1023 1023\n", + " acceptance_rate (chain, draw) float64 0.9823 0.9843 ... 0.9916 0.9895\n", + "Attributes:\n", + " created_at: 2023-02-02T08:13:38.402578\n", + " arviz_version: 0.14.0
<xarray.Dataset>\n", + "Dimensions: (chain: 1, draw: 500,\n", + " lmx_pred_missing_dim_0: 26,\n", + " lmx_pred_dim_0: 630, team: 105,\n", + " alpha_global_dim_0: 630,\n", + " beta_global_lmx_dim_0: 630,\n", + " emp_imputed_missing_dim_0: 102, mu_dim_0: 630,\n", + " employee: 630, emp_imputed_dim_0: 630)\n", + "Coordinates:\n", + " * chain (chain) int64 0\n", + " * draw (draw) int64 0 1 2 3 4 5 ... 495 496 497 498 499\n", + " * lmx_pred_missing_dim_0 (lmx_pred_missing_dim_0) int64 0 1 2 ... 23 24 25\n", + " * lmx_pred_dim_0 (lmx_pred_dim_0) int64 0 1 2 3 ... 627 628 629\n", + " * team (team) int64 1 2 3 4 5 6 ... 101 102 103 104 105\n", + " * alpha_global_dim_0 (alpha_global_dim_0) int64 0 1 2 ... 627 628 629\n", + " * beta_global_lmx_dim_0 (beta_global_lmx_dim_0) int64 0 1 2 ... 628 629\n", + " * emp_imputed_missing_dim_0 (emp_imputed_missing_dim_0) int64 0 1 ... 100 101\n", + " * mu_dim_0 (mu_dim_0) int64 0 1 2 3 4 ... 626 627 628 629\n", + " * employee (employee) int64 0 1 2 3 4 ... 626 627 628 629\n", + " * emp_imputed_dim_0 (emp_imputed_dim_0) int64 0 1 2 3 ... 627 628 629\n", + "Data variables: (12/16)\n", + " company_alpha (chain, draw) float64 18.23 21.82 ... 23.99 18.59\n", + " beta_global_male (chain, draw) float64 -1.439 -0.3283 ... -0.8552\n", + " lmx_pred_missing (chain, draw, lmx_pred_missing_dim_0) float64 ...\n", + " company_beta_lmx (chain, draw) float64 -0.008152 1.042 ... 0.29\n", + " lmx_pred (chain, draw, lmx_pred_dim_0) float64 13.11 .....\n", + " team_alpha (chain, draw, team) float64 1.207 ... 0.9462\n", + " ... ...\n", + " emp_imputed_missing (chain, draw, emp_imputed_missing_dim_0) float64 ...\n", + " mu (chain, draw, mu_dim_0) float64 43.46 ... 25.64\n", + " team_beta_lmx (chain, draw, team) float64 1.951 ... 0.2287\n", + " sigma (chain, draw, employee) float64 5.371 ... 4.738\n", + " emp_imputed (chain, draw, emp_imputed_dim_0) float64 35.27...\n", + " mu_lmx (chain, draw) float64 13.31 13.64 ... 9.915 9.307\n", + "Attributes:\n", + " created_at: 2023-02-02T08:00:29.477993\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1
<xarray.Dataset>\n", + "Dimensions: (chain: 1, draw: 500,\n", + " lmx_pred_observed_dim_0: 604,\n", + " emp_imputed_observed_dim_0: 528)\n", + "Coordinates:\n", + " * chain (chain) int64 0\n", + " * draw (draw) int64 0 1 2 3 4 5 ... 495 496 497 498 499\n", + " * lmx_pred_observed_dim_0 (lmx_pred_observed_dim_0) int64 0 1 ... 602 603\n", + " * emp_imputed_observed_dim_0 (emp_imputed_observed_dim_0) int64 0 1 ... 527\n", + "Data variables:\n", + " lmx_pred_observed (chain, draw, lmx_pred_observed_dim_0) float64 ...\n", + " emp_imputed_observed (chain, draw, emp_imputed_observed_dim_0) float64 ...\n", + "Attributes:\n", + " created_at: 2023-02-02T08:00:29.484585\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1
<xarray.Dataset>\n", + "Dimensions: (lmx_pred_observed_dim_0: 604,\n", + " emp_imputed_observed_dim_0: 528)\n", + "Coordinates:\n", + " * lmx_pred_observed_dim_0 (lmx_pred_observed_dim_0) int64 0 1 ... 602 603\n", + " * emp_imputed_observed_dim_0 (emp_imputed_observed_dim_0) int64 0 1 ... 527\n", + "Data variables:\n", + " lmx_pred_observed (lmx_pred_observed_dim_0) float64 11.0 ... 5.0\n", + " emp_imputed_observed (emp_imputed_observed_dim_0) float64 32.0 ......\n", + "Attributes:\n", + " created_at: 2023-02-02T08:00:29.485965\n", + " arviz_version: 0.14.0\n", + " inference_library: pymc\n", + " inference_library_version: 5.0.1
\n", + " | mean | \n", + "sd | \n", + "hdi_3% | \n", + "hdi_97% | \n", + "mcse_mean | \n", + "mcse_sd | \n", + "ess_bulk | \n", + "ess_tail | \n", + "r_hat | \n", + "
---|---|---|---|---|---|---|---|---|---|
company_alpha | \n", + "20.818 | \n", + "0.545 | \n", + "19.806 | \n", + "21.840 | \n", + "0.029 | \n", + "0.020 | \n", + "358.0 | \n", + "1316.0 | \n", + "1.02 | \n", + "
team_alpha[1] | \n", + "-0.214 | \n", + "0.955 | \n", + "-1.975 | \n", + "1.604 | \n", + "0.030 | \n", + "0.021 | \n", + "1043.0 | \n", + "2031.0 | \n", + "1.00 | \n", + "
team_alpha[2] | \n", + "-0.067 | \n", + "0.995 | \n", + "-1.975 | \n", + "1.772 | \n", + "0.026 | \n", + "0.018 | \n", + "1496.0 | \n", + "2572.0 | \n", + "1.00 | \n", + "
team_alpha[3] | \n", + "-0.568 | \n", + "0.931 | \n", + "-2.271 | \n", + "1.250 | \n", + "0.027 | \n", + "0.019 | \n", + "1144.0 | \n", + "2135.0 | \n", + "1.00 | \n", + "
team_alpha[4] | \n", + "-0.228 | \n", + "0.993 | \n", + "-2.085 | \n", + "1.630 | \n", + "0.025 | \n", + "0.018 | \n", + "1552.0 | \n", + "4305.0 | \n", + "1.00 | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
team_beta_lmx[101] | \n", + "0.157 | \n", + "0.207 | \n", + "-0.226 | \n", + "0.550 | \n", + "0.010 | \n", + "0.007 | \n", + "436.0 | \n", + "872.0 | \n", + "1.01 | \n", + "
team_beta_lmx[102] | \n", + "0.407 | \n", + "0.198 | \n", + "0.042 | \n", + "0.785 | \n", + "0.011 | \n", + "0.008 | \n", + "338.0 | \n", + "876.0 | \n", + "1.01 | \n", + "
team_beta_lmx[103] | \n", + "-0.146 | \n", + "0.213 | \n", + "-0.549 | \n", + "0.253 | \n", + "0.014 | \n", + "0.010 | \n", + "215.0 | \n", + "835.0 | \n", + "1.03 | \n", + "
team_beta_lmx[104] | \n", + "-0.167 | \n", + "0.187 | \n", + "-0.517 | \n", + "0.186 | \n", + "0.010 | \n", + "0.007 | \n", + "338.0 | \n", + "1346.0 | \n", + "1.01 | \n", + "
team_beta_lmx[105] | \n", + "0.071 | \n", + "0.393 | \n", + "-0.562 | \n", + "0.902 | \n", + "0.021 | \n", + "0.015 | \n", + "390.0 | \n", + "476.0 | \n", + "1.01 | \n", + "
213 rows × 9 columns
\n", + "