{ "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", "