diff --git a/README.md b/README.md index 71a912df2..e1b5818c0 100644 --- a/README.md +++ b/README.md @@ -46,10 +46,12 @@ For information on use cases and background material on causal inference and het # News -**January 31, 2022:** Release v0.13.0, see release notes [here](https://github.com/Microsoft/EconML/releases/tag/v0.13.0) +**June 17, 2022:** Release v0.13.1, see release notes [here](https://github.com/Microsoft/EconML/releases/tag/v0.13.1)
Previous releases +**January 31, 2022:** Release v0.13.0, see release notes [here](https://github.com/Microsoft/EconML/releases/tag/v0.13.0) + **August 13, 2021:** Release v0.12.0, see release notes [here](https://github.com/Microsoft/EconML/releases/tag/v0.12.0) **August 5, 2021:** Release v0.12.0b6, see release notes [here](https://github.com/Microsoft/EconML/releases/tag/v0.12.0b6) diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..869fdfe2b --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,41 @@ + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). + + diff --git a/azure-pipelines-steps.yml b/azure-pipelines-steps.yml index 701db9bb4..a2d411917 100644 --- a/azure-pipelines-steps.yml +++ b/azure-pipelines-steps.yml @@ -59,7 +59,7 @@ jobs: condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin')) # Install the package - - script: 'python -m pip install --upgrade pip && pip install --upgrade setuptools wheel Cython && pip install ${{ parameters.package }}' + - script: 'python -m pip install --upgrade pip && pip install --upgrade setuptools wheel Cython && pip install ${{ parameters.package }} && pip freeze --exclude-editable' displayName: 'Install dependencies' - ${{ parameters.job.steps }} diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4c80ed729..f3f94f883 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -52,7 +52,7 @@ jobs: - template: azure-pipelines-steps.yml parameters: - versions: ['3.6'] + versions: ['3.8'] images: ['ubuntu-18.04'] package: '-e .[all]' job: @@ -98,8 +98,8 @@ jobs: # Work around https://github.com/pypa/pip/issues/9542 - script: 'pip install -U numpy~=1.21.0' displayName: 'Upgrade numpy' - - - script: 'pip install pytest pytest-runner jupyter jupyter-client nbconvert nbformat seaborn xgboost tqdm && python setup.py pytest' + + - script: 'pip install pytest pytest-runner jupyter jupyter-client nbconvert nbformat seaborn xgboost tqdm && pip list && python setup.py pytest' displayName: 'Unit tests' env: PYTEST_ADDOPTS: '-m "notebook"' @@ -126,12 +126,6 @@ jobs: # Work around https://github.com/pypa/pip/issues/9542 - script: 'pip install -U numpy~=1.21.0' displayName: 'Upgrade numpy' - - # shap 0.39 and sklearn 1.0 interact badly in these notebooks - # shap 0.40 has a bug in waterfall (https://github.com/slundberg/shap/issues/2283) that breaks our main tests - # but fixes the interaction here... - - script: 'pip install -U shap~=0.40.0' - displayName: 'Upgrade shap' - script: 'pip install pytest pytest-runner jupyter jupyter-client nbconvert nbformat seaborn xgboost tqdm && python setup.py pytest' displayName: 'Unit tests' @@ -204,10 +198,10 @@ jobs: condition: eq(dependencies.EvalChanges.outputs['output.testCode'], 'True') displayName: 'Run tests (main)' steps: - - script: 'pip install pytest pytest-runner && python setup.py pytest' + - script: 'pip install pytest pytest-runner "coverage<6.4.1;python_version==''3.6''" "coverage;python_version>''3.6''" && python setup.py pytest' displayName: 'Unit tests' env: - PYTEST_ADDOPTS: '-m "not (notebook or automl or dml or causal)" -n 2' + PYTEST_ADDOPTS: '-m "not (notebook or automl or dml or serial or cate_api)" -n 2' COVERAGE_PROCESS_START: 'setup.cfg' - task: PublishTestResults@2 displayName: 'Publish Test Results **/test-results.xml' @@ -231,7 +225,7 @@ jobs: condition: eq(dependencies.EvalChanges.outputs['output.testCode'], 'True') displayName: 'Run tests (DML)' steps: - - script: 'pip install pytest pytest-runner && python setup.py pytest' + - script: 'pip install pytest pytest-runner "coverage<6.4.1;python_version==''3.6''" "coverage;python_version>''3.6''" && python setup.py pytest' displayName: 'Unit tests' env: PYTEST_ADDOPTS: '-m "dml"' @@ -251,17 +245,48 @@ jobs: - template: azure-pipelines-steps.yml parameters: + # exclude macOS since these tests frequently break there + images: ['ubuntu-18.04', 'windows-2019'] package: '-e .[tf,plt]' job: - job: Tests_causal + job: Tests_serial dependsOn: 'EvalChanges' condition: eq(dependencies.EvalChanges.outputs['output.testCode'], 'True') - displayName: 'Run tests (Causal)' + displayName: 'Run tests (Serial)' steps: - - script: 'pip install pytest pytest-runner && python setup.py pytest' + - script: 'pip install pytest pytest-runner "coverage<6.4.1;python_version==''3.6''" "coverage;python_version>''3.6''" && python setup.py pytest' displayName: 'Unit tests' env: - PYTEST_ADDOPTS: '-m "causal" -n 1' + PYTEST_ADDOPTS: '-m "serial" -n 1' + COVERAGE_PROCESS_START: 'setup.cfg' + - task: PublishTestResults@2 + displayName: 'Publish Test Results **/test-results.xml' + inputs: + testResultsFiles: '**/test-results.xml' + testRunTitle: 'Python $(python.version), image $(imageName)' + condition: succeededOrFailed() + + - task: PublishCodeCoverageResults@1 + displayName: 'Publish Code Coverage Results' + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml' + +- template: azure-pipelines-steps.yml + parameters: + package: '-e .[tf,plt]' + job: + job: Tests_CATE_API + dependsOn: 'EvalChanges' + condition: eq(dependencies.EvalChanges.outputs['output.testCode'], 'True') + displayName: 'Run tests (Other)' + steps: + - script: 'pip install pytest pytest-runner "coverage<6.4.1;python_version==''3.6''" "coverage;python_version>''3.6''"' + displayName: 'Install pytest' + - script: 'python setup.py pytest' + displayName: 'CATE Unit tests' + env: + PYTEST_ADDOPTS: '-m "cate_api" -n auto' COVERAGE_PROCESS_START: 'setup.cfg' - task: PublishTestResults@2 displayName: 'Publish Test Results **/test-results.xml' diff --git a/doc/conf.py b/doc/conf.py index 12eab5cdc..8edb25a3b 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -89,7 +89,7 @@ # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None +language = "en" # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -219,7 +219,7 @@ 'sklearn': ('https://scikit-learn.org/stable/', None), 'matplotlib': ('https://matplotlib.org/', None), 'shap': ('https://shap.readthedocs.io/en/stable/', None), - 'dowhy': ('https://microsoft.github.io/dowhy/', None)} + 'dowhy': ('https://py-why.github.io/dowhy/', None)} # -- Options for todo extension ---------------------------------------------- diff --git a/doc/spec/api.rst b/doc/spec/api.rst index a97b9ad0a..a20688662 100644 --- a/doc/spec/api.rst +++ b/doc/spec/api.rst @@ -39,7 +39,7 @@ The variables :math:`X_i` can also be thought of as *control* variables, but the they are a subset of the controls with respect to which we want to measure treatment effect heterogeneity. We will refer to them as *features*. -Finally, some times we might not only be interested in the effect but also in the actual *counterfactual prediction*, i.e. estimating the quatity: +Finally, some times we might not only be interested in the effect but also in the actual *counterfactual prediction*, i.e. estimating the quantity: .. math :: \mu(\vec{t}, \vec{x}) = \E\left[Y(\vec{t}) | X=\vec{x}\right] \tag{counterfactual prediction} diff --git a/doc/spec/estimation/dml.rst b/doc/spec/estimation/dml.rst index a31e44c39..ff3f34263 100644 --- a/doc/spec/estimation/dml.rst +++ b/doc/spec/estimation/dml.rst @@ -553,8 +553,8 @@ Usage FAQs from econml.dml import DML from sklearn.linear_model import ElasticNetCV from sklearn.ensemble import RandomForestRegressor - est = DML(model_y=RandomForestRegressor(oob_score=True), - model_t=RandomForestRegressor(oob_score=True), + est = DML(model_y=RandomForestRegressor(), + model_t=RandomForestRegressor(), model_final=ElasticNetCV(fit_intercept=False), featurizer=PolynomialFeatures(degree=1)) est.fit(y, T, X=X, W=W) est.score_ diff --git a/doc/spec/estimation/dr.rst b/doc/spec/estimation/dr.rst index d5561a9b5..761786dbb 100644 --- a/doc/spec/estimation/dr.rst +++ b/doc/spec/estimation/dr.rst @@ -25,10 +25,10 @@ It reduces the problem to first estimating *two predictive tasks*: Thus unlike Double Machine Learning the first model predicts the outcome from both the treatment and the controls as opposed to just the controls. Then the method combines these two predictive models in a final stage estimation so as to create a -model of the heterogeneous treatment efffect. The approach allows for *arbitrary Machine Learning algorithms* to be +model of the heterogeneous treatment effect. The approach allows for *arbitrary Machine Learning algorithms* to be used for the two predictive tasks, while maintaining many favorable statistical properties related to the final model (e.g. small mean squared error, asymptotic normality, construction of confidence intervals). The latter -favorable statsitical properties hold if either the first or the second of the two predictive tasks achieves small mean +favorable statistical properties hold if either the first or the second of the two predictive tasks achieves small mean squared error (hence the name doubly robust). Our package offers several variants for the final model estimation. Many of these variants also @@ -50,7 +50,7 @@ When should you use it? Suppose you have observational (or experimental from an A/B test) historical data, where some treatment/intervention/action :math:`T` from among a finite set of treatments was chosen and some outcome(s) :math:`Y` was observed and all the variables :math:`W` that could have potentially gone into the choice of :math:`T`, and simultaneously could have had a direct effect on the outcome -:math:`Y` (aka controls or confounders) are also recorder in the dataset. +:math:`Y` (aka controls or confounders) are also recorded in the dataset. If your goal is to understand what was the effect of each of the treatments on the outcome as a function of a set of observable characteristics :math:`X` of the treated samples, then one can use this method. For instance call: @@ -79,7 +79,7 @@ This way an optimal treatment policy can be learned, by simply inspecting for wh Overview of Formal Methodology ================================== -The model's assumpitons are better explained in the language of potential outcomes. If we denote with :math:`Y^{(t)}` the potential outcome that +The model's assumptions are better explained in the language of potential outcomes. If we denote with :math:`Y^{(t)}` the potential outcome that we would have observed had we treated the sample with treatment :math:`T=t`, then the approach assumes that: .. math:: @@ -99,14 +99,14 @@ treatment :math:`t=0`, i.e.: One way to estimate :math:`\theta_t(X)` is the *Direct Method* (DM) approach, where we simply estimate a regression, -regresstin :math:`Y` on :math:`T, X, W` to learn a model +regressing :math:`Y` on :math:`T, X, W` to learn a model of :math:`g_T(X, W) = \E[Y | T, X, W]` and then evaluate :math:`\theta_t(X)` by regressing .. math:: Y_{i, t}^{DM} = g_t(X_i, W_i) - g_0(X_i, W_i) -on :math:`X`. The main problem with this approach is that it is heavily dependend +on :math:`X`. The main problem with this approach is that it is heavily dependent on the model-based extrapolation that is implicitly done via the model that is fitted in the regression. Essentially, when we evaluate :math:`g_t(X, W)` on a sample with features :math:`X, W` for which we gave some other treatment :math:`T=t'`, then we are extrapolating from other samples with similar :math:`X, W`, which received the treatment diff --git a/doc/spec/motivation.rst b/doc/spec/motivation.rst index a52ebdeed..90b061771 100644 --- a/doc/spec/motivation.rst +++ b/doc/spec/motivation.rst @@ -36,7 +36,7 @@ Customer Targeting An important problem in modern business analytics is building automated tools to prioritize customer acquisition and personalize customer interactions to increase sales and revenue. Typically businesses -will offer personalize incentives to customers to increase spend or increase the level of +will offer personalized incentives to customers to increase spend or increase the level of engagement via more human resources. Any such personalized intervention corresponds to a monetary investment and the main question that business analytics are called to answer is: what is the return on investment (ROI)? diff --git a/econml/_version.py b/econml/_version.py index 5d21e3636..3d9510af1 100644 --- a/econml/_version.py +++ b/econml/_version.py @@ -1,4 +1,4 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. -__version__ = '0.13.0' +__version__ = '0.13.1' diff --git a/econml/dml/causal_forest.py b/econml/dml/causal_forest.py index e62558e70..ea3423cdd 100644 --- a/econml/dml/causal_forest.py +++ b/econml/dml/causal_forest.py @@ -22,7 +22,6 @@ from .._cate_estimator import LinearCateEstimator from .._shap import _shap_explain_multitask_model_cate from .._ortho_learner import _OrthoLearner -from ..score import RScorer class _CausalForestFinalWrapper: @@ -644,6 +643,7 @@ def tune(self, Y, T, *, X=None, W=None, The tuned causal forest object. This is the same object (not a copy) as the original one, but where all parameters of the object have been set to the best performing parameters from the tuning grid. """ + from ..score import RScorer # import here to avoid circular import issue Y, T, X, W, sample_weight, groups = check_input_arrays(Y, T, X, W, sample_weight, groups) if params == 'auto': diff --git a/econml/sklearn_extensions/linear_model.py b/econml/sklearn_extensions/linear_model.py index 1099ea128..ffb043abc 100644 --- a/econml/sklearn_extensions/linear_model.py +++ b/econml/sklearn_extensions/linear_model.py @@ -19,9 +19,10 @@ from collections.abc import Iterable from scipy.stats import norm from econml.sklearn_extensions.model_selection import WeightedKFold, WeightedStratifiedKFold -from econml.utilities import ndim, shape, reshape, _safe_norm_ppf +from econml.utilities import ndim, shape, reshape, _safe_norm_ppf, check_input_arrays from sklearn import clone from sklearn.linear_model import LinearRegression, LassoCV, MultiTaskLassoCV, Lasso, MultiTaskLasso +from sklearn.linear_model._base import _preprocess_data from sklearn.metrics import r2_score from sklearn.model_selection import KFold, StratifiedKFold # TODO: consider working around relying on sklearn implementation details @@ -37,6 +38,51 @@ from joblib import Parallel, delayed +# TODO: once we drop support for sklearn < 1.0, we can remove this +def _add_normalize(to_wrap): + """ + Add a fictitious "normalize" argument to linear model initializer signatures. + + This is necessary for their get_params to play nicely with some other sklearn-internal methods. + + Note that directly adding a **params argument to the ordinary initializer will not work, + because get_params explicitly looks only at the initializer signature arguments that are not + varargs or varkeywords, so we need to modify the signature of the initializer to include the + "normalize" argument. + """ + # if we're decorating a class, just update the __init__ method, + # so that the result is still a class instead of a wrapper method + if isinstance(to_wrap, type): + import sklearn + from packaging import version + + if version.parse(sklearn.__version__) >= version.parse("1.0"): + # normalize was deprecated or removed; don't need to do anything + return to_wrap + + else: + from inspect import Parameter, signature + from functools import wraps + + old_init = to_wrap.__init__ + + @wraps(old_init) + def new_init(self, *args, normalize=False, **kwargs): + if normalize is not False: + warnings.warn("normalize is deprecated and will be ignored", stacklevel=2) + return old_init(self, *args, **kwargs) + + sig = signature(old_init) + sig = sig.replace(parameters=[*sig.parameters.values(), + Parameter("normalize", kind=Parameter.KEYWORD_ONLY, default=False)]) + + new_init.__signature__ = sig + to_wrap.__init__ = new_init + return to_wrap + else: + raise ValueError("This decorator was applied to a method, but is intended to be applied only to types.") + + def _weighted_check_cv(cv=5, y=None, classifier=False, random_state=None): cv = 5 if cv is None else cv if isinstance(cv, numbers.Integral): @@ -102,10 +148,10 @@ def _fit_weighted_linear_model(self, X, y, sample_weight, check_input=None): ) # Normalize inputs - X, y, X_offset, y_offset, X_scale = self._preprocess_data( + X, y, X_offset, y_offset, X_scale = _preprocess_data( X, y, fit_intercept=self.fit_intercept, normalize=False, copy=self.copy_X, check_input=check_input if check_input is not None else True, - sample_weight=sample_weight, return_mean=True) + sample_weight=sample_weight) # Weight inputs normalized_weights = X.shape[0] * sample_weight / np.sum(sample_weight) sqrt_weights = np.sqrt(normalized_weights) @@ -130,6 +176,7 @@ def _fit_weighted_linear_model(self, X, y, sample_weight, check_input=None): super().fit(**fit_params) +@_add_normalize class WeightedLasso(WeightedModelMixin, Lasso): """Version of sklearn Lasso that accepts weights. @@ -207,7 +254,7 @@ def __init__(self, alpha=1.0, fit_intercept=True, random_state=None, selection='cyclic'): super().__init__( alpha=alpha, fit_intercept=fit_intercept, - normalize=False, precompute=precompute, copy_X=copy_X, + precompute=precompute, copy_X=copy_X, max_iter=max_iter, tol=tol, warm_start=warm_start, positive=positive, random_state=random_state, selection=selection) @@ -235,6 +282,7 @@ def fit(self, X, y, sample_weight=None, check_input=True): return self +@_add_normalize class WeightedMultiTaskLasso(WeightedModelMixin, MultiTaskLasso): """Version of sklearn MultiTaskLasso that accepts weights. @@ -297,11 +345,11 @@ class WeightedMultiTaskLasso(WeightedModelMixin, MultiTaskLasso): """ - def __init__(self, alpha=1.0, fit_intercept=True, normalize=False, + def __init__(self, alpha=1.0, fit_intercept=True, copy_X=True, max_iter=1000, tol=1e-4, warm_start=False, random_state=None, selection='cyclic'): super().__init__( - alpha=alpha, fit_intercept=fit_intercept, normalize=False, + alpha=alpha, fit_intercept=fit_intercept, copy_X=copy_X, max_iter=max_iter, tol=tol, warm_start=warm_start, random_state=random_state, selection=selection) @@ -324,6 +372,7 @@ def fit(self, X, y, sample_weight=None): return self +@_add_normalize class WeightedLassoCV(WeightedModelMixin, LassoCV): """Version of sklearn LassoCV that accepts weights. @@ -407,13 +456,13 @@ class WeightedLassoCV(WeightedModelMixin, LassoCV): """ def __init__(self, eps=1e-3, n_alphas=100, alphas=None, fit_intercept=True, - precompute='auto', max_iter=1000, tol=1e-4, normalize=False, + precompute='auto', max_iter=1000, tol=1e-4, copy_X=True, cv=None, verbose=False, n_jobs=None, positive=False, random_state=None, selection='cyclic'): super().__init__( eps=eps, n_alphas=n_alphas, alphas=alphas, - fit_intercept=fit_intercept, normalize=False, + fit_intercept=fit_intercept, precompute=precompute, max_iter=max_iter, tol=tol, copy_X=copy_X, cv=cv, verbose=verbose, n_jobs=n_jobs, positive=positive, random_state=random_state, selection=selection) @@ -442,6 +491,7 @@ def fit(self, X, y, sample_weight=None): return self +@_add_normalize class WeightedMultiTaskLassoCV(WeightedModelMixin, MultiTaskLassoCV): """Version of sklearn MultiTaskLassoCV that accepts weights. @@ -518,13 +568,13 @@ class WeightedMultiTaskLassoCV(WeightedModelMixin, MultiTaskLassoCV): """ def __init__(self, eps=1e-3, n_alphas=100, alphas=None, fit_intercept=True, - normalize=False, max_iter=1000, tol=1e-4, + max_iter=1000, tol=1e-4, copy_X=True, cv=None, verbose=False, n_jobs=None, random_state=None, selection='cyclic'): super().__init__( eps=eps, n_alphas=n_alphas, alphas=alphas, - fit_intercept=fit_intercept, normalize=False, + fit_intercept=fit_intercept, max_iter=max_iter, tol=tol, copy_X=copy_X, cv=cv, verbose=verbose, n_jobs=n_jobs, random_state=random_state, selection=selection) @@ -581,6 +631,7 @@ def _get_theta_coefs_and_tau_sq(i, X, sample_weight, alpha_cov, n_alphas_cov, ma return coefs, tausq +@_add_normalize class DebiasedLasso(WeightedLasso): """Debiased Lasso model. @@ -731,9 +782,9 @@ def fit(self, X, y, sample_weight=None, check_input=True): # Fit weighted lasso with user input super().fit(X, y, sample_weight, check_input) # Center X, y - X, y, X_offset, y_offset, X_scale = self._preprocess_data( + X, y, X_offset, y_offset, X_scale = _preprocess_data( X, y, fit_intercept=self.fit_intercept, normalize=False, - copy=self.copy_X, check_input=check_input, sample_weight=sample_weight, return_mean=True) + copy=self.copy_X, check_input=check_input, sample_weight=sample_weight) # Calculate quantities that will be used later on. Account for centered data y_pred = self.predict(X) - self.intercept_ @@ -926,6 +977,7 @@ def _get_unscaled_coef_var(self, X, theta_hat, sample_weight): return _unscaled_coef_var +@_add_normalize class MultiOutputDebiasedLasso(MultiOutputRegressor): """Debiased MultiOutputLasso model. @@ -1683,6 +1735,8 @@ def __init__(self, fit_intercept=True, cov_type="HC0"): def _check_input(self, X, y, sample_weight, freq_weight, sample_var): """Check dimensions and other assertions.""" + X, y, sample_weight, freq_weight, sample_var = check_input_arrays( + X, y, sample_weight, freq_weight, sample_var, dtype='numeric') if X is None: X = np.empty((y.shape[0], 0)) if self.fit_intercept: diff --git a/econml/solutions/causal_analysis/_causal_analysis.py b/econml/solutions/causal_analysis/_causal_analysis.py index a58dabcd7..885981c6c 100644 --- a/econml/solutions/causal_analysis/_causal_analysis.py +++ b/econml/solutions/causal_analysis/_causal_analysis.py @@ -1701,6 +1701,8 @@ def individualized_policy(self, Xtest, feature_index, *, n_rows=None, treatment_ effect = result.estimator.effect_inference(Xtest, T0=orig_df['Current treatment'], T1=rec) # we now need to construct the delta in the cost between the two treatments and translate the effect current_treatment = orig_df['Current treatment'].values + if isinstance(current_treatment, pd.core.arrays.categorical.Categorical): + current_treatment = current_treatment.to_numpy() if np.ndim(treatment_costs) >= 2: # remove third dimenions potentially added if multi_y: # y was an array, not a vector diff --git a/econml/tests/test_causal_analysis.py b/econml/tests/test_causal_analysis.py index 316042e93..b0edeb08c 100644 --- a/econml/tests/test_causal_analysis.py +++ b/econml/tests/test_causal_analysis.py @@ -2,11 +2,14 @@ # Licensed under the MIT License. import unittest + +from contextlib import ExitStack +import itertools import numpy as np from numpy.core.fromnumeric import squeeze import pandas as pd -from contextlib import ExitStack import pytest + from econml.solutions.causal_analysis import CausalAnalysis from econml.solutions.causal_analysis._causal_analysis import _CausalInsightsConstants @@ -15,7 +18,7 @@ def assert_less_close(arr1, arr2): assert np.all(np.logical_or(arr1 <= arr2, np.isclose(arr1, arr2))) -@pytest.mark.causal +@pytest.mark.serial class TestCausalAnalysis(unittest.TestCase): def test_basic_array(self): @@ -82,6 +85,8 @@ def test_basic_array(self): # policy value should exceed always treating with any treatment assert_less_close(np.array(list(always_trt.values())), policy_val) + ind_pol = ca.individualized_policy(X, inds[idx]) + # global shape is (d_y, sum(d_t)) assert glo_point_est.shape == coh_point_est.shape == (1, 5) assert loc_point_est.shape == (2,) + glo_point_est.shape @@ -125,113 +130,121 @@ def test_basic_array(self): def test_basic_pandas(self): for classification in [False, True]: - y = pd.Series(np.random.choice([0, 1], size=(500,))) - X = pd.DataFrame({'a': np.random.normal(size=500), - 'b': np.random.normal(size=500), - 'c': np.random.choice([0, 1], size=500), - 'd': np.random.choice(['a', 'b', 'c'], size=500)}) - n_inds = [0, 1, 2, 3] - t_inds = ['a', 'b', 'c', 'd'] - n_cats = [2, 3] - t_cats = ['c', 'd'] - n_hinds = [0, 3] - t_hinds = ['a', 'd'] - for (inds, cats, hinds) in [(n_inds, n_cats, n_hinds), (t_inds, t_cats, t_hinds)]: - ca = CausalAnalysis(inds, cats, hinds, classification=classification) - ca.fit(X, y) - glo = ca.global_causal_effect() - coh = ca.cohort_causal_effect(X[:2]) - loc = ca.local_causal_effect(X[:2]) - - # global and cohort data should have exactly the same structure, but different values - assert glo.index.equals(coh.index) - - # local index should have as many times entries as global as there were rows passed in - assert len(loc.index) == 2 * len(glo.index) - - assert glo.index.names == ['feature', 'feature_value'] - assert loc.index.names == ['sample'] + glo.index.names - - # features; for categoricals they should appear #cats-1 times each - fts = ['a', 'b', 'c', 'd', 'd'] - - for i in range(len(fts)): - assert fts[i] == glo.index[i][0] == loc.index[i][1] == loc.index[len(fts) + i][1] - - glo_dict = ca._global_causal_effect_dict() - glo_dict2 = ca._global_causal_effect_dict(row_wise=True) - - coh_dict = ca._cohort_causal_effect_dict(X[:2]) - coh_dict2 = ca._cohort_causal_effect_dict(X[:2], row_wise=True) - - loc_dict = ca._local_causal_effect_dict(X[:2]) - loc_dict2 = ca._local_causal_effect_dict(X[:2], row_wise=True) - - glo_point_est = np.array(glo_dict[_CausalInsightsConstants.PointEstimateKey]) - coh_point_est = np.array(coh_dict[_CausalInsightsConstants.PointEstimateKey]) - loc_point_est = np.array(loc_dict[_CausalInsightsConstants.PointEstimateKey]) - - # global shape is (d_y, sum(d_t)) - assert glo_point_est.shape == coh_point_est.shape == (1, 5) - assert loc_point_est.shape == (2,) + glo_point_est.shape - - # global and cohort row-wise dicts have d_y * d_t entries - assert len( - glo_dict2[_CausalInsightsConstants.RowData]) == len( - coh_dict2[_CausalInsightsConstants.RowData]) == 5 - # local dictionary is flattened to n_rows * d_y * d_t - assert len(loc_dict2[_CausalInsightsConstants.RowData]) == 10 - - pto = ca._policy_tree_output(X, inds[1]) - ca._heterogeneity_tree_output(X, inds[1]) - ca._heterogeneity_tree_output(X, inds[3]) - - # continuous treatments have typical treatment values equal to - # the mean of the absolute value of non-zero entries - np.testing.assert_allclose(ca.typical_treatment_value(inds[0]), np.mean(np.abs(X['a']))) - np.testing.assert_allclose(ca.typical_treatment_value(inds[1]), np.mean(np.abs(X['b']))) - # discrete treatments have typical treatment value 1 - assert ca.typical_treatment_value(inds[2]) == ca.typical_treatment_value(inds[3]) == 1 - - # Make sure we handle continuous, binary, and multi-class treatments - # For multiple discrete treatments, one "always treat" value per non-default treatment - for (idx, length) in [(0, 1), (1, 1), (2, 1), (3, 2)]: - pto = ca._policy_tree_output(X, inds[idx]) - policy_val = pto.policy_value - always_trt = pto.always_treat - assert isinstance(pto.control_name, str) - assert isinstance(always_trt, dict) - assert np.array(policy_val).shape == () - assert len(always_trt) == length - for val in always_trt.values(): - assert np.array(val).shape == () - - # policy value should exceed always treating with any treatment - assert_less_close(np.array(list(always_trt.values())), policy_val) - - if not classification: - # ExitStack can be used as a "do nothing" ContextManager - cm = ExitStack() - else: - cm = self.assertRaises(Exception) - with cm: - inf = ca.whatif(X[:2], np.ones(shape=(2,)), inds[1], y[:2]) - assert np.shape(inf.point_estimate) == np.shape(y[:2]) - inf = ca.whatif(X[:2], np.ones(shape=(2,)), inds[2], y[:2]) - assert np.shape(inf.point_estimate) == np.shape(y[:2]) + for category in [False, True]: + y = pd.Series(np.random.choice([0, 1], size=(500,))) + X = pd.DataFrame({'a': np.random.normal(size=500), + 'b': np.random.normal(size=500), + 'c': np.random.choice([0, 1], size=500), + 'd': np.random.choice(['a', 'b', 'c'], size=500)}) + + if category: + X['c'] = X['c'].astype('category') + X['d'] = X['d'].astype('category') + + n_inds = [0, 1, 2, 3] + t_inds = ['a', 'b', 'c', 'd'] + n_cats = [2, 3] + t_cats = ['c', 'd'] + n_hinds = [0, 3] + t_hinds = ['a', 'd'] + for (inds, cats, hinds) in [(n_inds, n_cats, n_hinds), (t_inds, t_cats, t_hinds)]: + ca = CausalAnalysis(inds, cats, hinds, classification=classification) + ca.fit(X, y) + glo = ca.global_causal_effect() + coh = ca.cohort_causal_effect(X[:2]) + loc = ca.local_causal_effect(X[:2]) + + # global and cohort data should have exactly the same structure, but different values + assert glo.index.equals(coh.index) + + # local index should have as many times entries as global as there were rows passed in + assert len(loc.index) == 2 * len(glo.index) + + assert glo.index.names == ['feature', 'feature_value'] + assert loc.index.names == ['sample'] + glo.index.names + + # features; for categoricals they should appear #cats-1 times each + fts = ['a', 'b', 'c', 'd', 'd'] + + for i in range(len(fts)): + assert fts[i] == glo.index[i][0] == loc.index[i][1] == loc.index[len(fts) + i][1] + + glo_dict = ca._global_causal_effect_dict() + glo_dict2 = ca._global_causal_effect_dict(row_wise=True) + + coh_dict = ca._cohort_causal_effect_dict(X[:2]) + coh_dict2 = ca._cohort_causal_effect_dict(X[:2], row_wise=True) + + loc_dict = ca._local_causal_effect_dict(X[:2]) + loc_dict2 = ca._local_causal_effect_dict(X[:2], row_wise=True) + + glo_point_est = np.array(glo_dict[_CausalInsightsConstants.PointEstimateKey]) + coh_point_est = np.array(coh_dict[_CausalInsightsConstants.PointEstimateKey]) + loc_point_est = np.array(loc_dict[_CausalInsightsConstants.PointEstimateKey]) + + # global shape is (d_y, sum(d_t)) + assert glo_point_est.shape == coh_point_est.shape == (1, 5) + assert loc_point_est.shape == (2,) + glo_point_est.shape + + # global and cohort row-wise dicts have d_y * d_t entries + assert len( + glo_dict2[_CausalInsightsConstants.RowData]) == len( + coh_dict2[_CausalInsightsConstants.RowData]) == 5 + # local dictionary is flattened to n_rows * d_y * d_t + assert len(loc_dict2[_CausalInsightsConstants.RowData]) == 10 + + pto = ca._policy_tree_output(X, inds[1]) + ca._heterogeneity_tree_output(X, inds[1]) + ca._heterogeneity_tree_output(X, inds[3]) + + # continuous treatments have typical treatment values equal to + # the mean of the absolute value of non-zero entries + np.testing.assert_allclose(ca.typical_treatment_value(inds[0]), np.mean(np.abs(X['a']))) + np.testing.assert_allclose(ca.typical_treatment_value(inds[1]), np.mean(np.abs(X['b']))) + # discrete treatments have typical treatment value 1 + assert ca.typical_treatment_value(inds[2]) == ca.typical_treatment_value(inds[3]) == 1 + + # Make sure we handle continuous, binary, and multi-class treatments + # For multiple discrete treatments, one "always treat" value per non-default treatment + for (idx, length) in [(0, 1), (1, 1), (2, 1), (3, 2)]: + pto = ca._policy_tree_output(X, inds[idx]) + policy_val = pto.policy_value + always_trt = pto.always_treat + assert isinstance(pto.control_name, str) + assert isinstance(always_trt, dict) + assert np.array(policy_val).shape == () + assert len(always_trt) == length + for val in always_trt.values(): + assert np.array(val).shape == () + + # policy value should exceed always treating with any treatment + assert_less_close(np.array(list(always_trt.values())), policy_val) + + ind_pol = ca.individualized_policy(X, inds[idx]) + + if not classification: + # ExitStack can be used as a "do nothing" ContextManager + cm = ExitStack() + else: + cm = self.assertRaises(Exception) + with cm: + inf = ca.whatif(X[:2], np.ones(shape=(2,)), inds[1], y[:2]) + assert np.shape(inf.point_estimate) == np.shape(y[:2]) + inf = ca.whatif(X[:2], np.ones(shape=(2,)), inds[2], y[:2]) + assert np.shape(inf.point_estimate) == np.shape(y[:2]) - ca._whatif_dict(X[:2], np.ones(shape=(2,)), inds[1], y[:2]) - ca._whatif_dict(X[:2], np.ones(shape=(2,)), inds[1], y[:2], row_wise=True) + ca._whatif_dict(X[:2], np.ones(shape=(2,)), inds[1], y[:2]) + ca._whatif_dict(X[:2], np.ones(shape=(2,)), inds[1], y[:2], row_wise=True) - badargs = [ - (n_inds, n_cats, [4]), # hinds out of range - (n_inds, n_cats, ["test"]) # hinds out of range - ] + badargs = [ + (n_inds, n_cats, [4]), # hinds out of range + (n_inds, n_cats, ["test"]) # hinds out of range + ] - for args in badargs: - with self.assertRaises(Exception): - ca = CausalAnalysis(*args) - ca.fit(X, y) + for args in badargs: + with self.assertRaises(Exception): + ca = CausalAnalysis(*args) + ca.fit(X, y) def test_automl_first_stage(self): d_y = (1,) @@ -291,6 +304,8 @@ def test_automl_first_stage(self): # policy value should exceed always treating with any treatment assert_less_close(np.array(list(always_trt.values())), policy_val) + ind_pol = ca.individualized_policy(X, inds[idx]) + # global shape is (d_y, sum(d_t)) assert glo_point_est.shape == coh_point_est.shape == (1, 5) assert loc_point_est.shape == (2,) + glo_point_est.shape @@ -433,6 +448,8 @@ def test_final_models(self): # policy value should exceed always treating with any treatment assert_less_close(np.array(list(always_trt.values())), policy_val) + ind_pol = ca.individualized_policy(X, inds[idx]) + if not classification: # ExitStack can be used as a "do nothing" ContextManager cm = ExitStack() @@ -523,6 +540,8 @@ def test_forest_with_pandas(self): # policy value should exceed always treating with any treatment assert_less_close(np.array(list(always_trt.values())), policy_val) + ind_pol = ca.individualized_policy(X, inds[idx]) + def test_warm_start(self): for classification in [True, False]: # dgp @@ -670,21 +689,24 @@ def test_random_state(self): inds = [0, 1, 2, 3] cats = [2, 3] hinds = [0, 3] - for n_model in ['linear', 'automl']: - for h_model in ['linear', 'forest']: - for classification in [True, False]: - ca = CausalAnalysis(inds, cats, hinds, classification=classification, - nuisance_models=n_model, heterogeneity_model=h_model, random_state=123) - ca.fit(X, y) - glo = ca.global_causal_effect() - ca2 = CausalAnalysis(inds, cats, hinds, classification=classification, - nuisance_models=n_model, heterogeneity_model=h_model, random_state=123) - ca2.fit(X, y) - glo2 = ca.global_causal_effect() + for n_model, h_model, classification in\ + itertools.product(['linear', 'automl'], + ['linear', 'forest'], + [True, False]): + + ca = CausalAnalysis(inds, cats, hinds, classification=classification, + nuisance_models=n_model, heterogeneity_model=h_model, random_state=123) + ca.fit(X, y) + glo = ca.global_causal_effect() + + ca2 = CausalAnalysis(inds, cats, hinds, classification=classification, + nuisance_models=n_model, heterogeneity_model=h_model, random_state=123) + ca2.fit(X, y) + glo2 = ca.global_causal_effect() - np.testing.assert_equal(glo.point.values, glo2.point.values) - np.testing.assert_equal(glo.stderr.values, glo2.stderr.values) + np.testing.assert_equal(glo.point.values, glo2.point.values) + np.testing.assert_equal(glo.stderr.values, glo2.stderr.values) def test_can_set_categories(self): y = pd.Series(np.random.choice([0, 1], size=(500,))) @@ -784,6 +806,7 @@ def test_invalid_inds(self): # Pass an example where W is irrelevant and X is confounder # As long as DML doesnt change the order of the inputs, then things should be good. Otherwise X would be # zeroed out and the test will fail + def test_scaling_transforms(self): # shouldn't matter if X is scaled much larger or much smaller than W, we should still get good estimates n = 2000 diff --git a/econml/tests/test_dml.py b/econml/tests/test_dml.py index c930ca933..e32f07774 100644 --- a/econml/tests/test_dml.py +++ b/econml/tests/test_dml.py @@ -7,7 +7,7 @@ from sklearn.linear_model import LinearRegression, Lasso, LassoCV, LogisticRegression from sklearn.pipeline import Pipeline from sklearn.preprocessing import OneHotEncoder, FunctionTransformer, PolynomialFeatures -from sklearn.model_selection import KFold, GroupKFold +from sklearn.model_selection import KFold, GroupKFold, check_cv from econml.dml import DML, LinearDML, SparseLinearDML, KernelDML, CausalForestDML from econml.dml import NonParamDML import numpy as np @@ -1141,27 +1141,37 @@ def test_groups(self): est.fit(y, t, groups=groups) # test nested grouping - class NestedModel(LassoCV): - def __init__(self, eps=1e-3, n_alphas=100, alphas=None, fit_intercept=True, - precompute='auto', max_iter=1000, tol=1e-4, normalize=False, - copy_X=True, cv=None, verbose=False, n_jobs=None, - positive=False, random_state=None, selection='cyclic'): - - super().__init__( - eps=eps, n_alphas=n_alphas, alphas=alphas, - fit_intercept=fit_intercept, normalize=normalize, - precompute=precompute, max_iter=max_iter, tol=tol, copy_X=copy_X, - cv=cv, verbose=verbose, n_jobs=n_jobs, positive=positive, - random_state=random_state, selection=selection) + class NestedModel: + def __init__(self, cv): + self.model = LassoCV(cv=cv) + + # DML nested CV works via a 'cv' attribute + @property + def cv(self): + return self.model.cv + + @cv.setter + def cv(self, value): + self.model.cv = value def fit(self, X, y): - # ensure that the grouping has worked correctly and we get all 10 copies of the items in - # whichever groups we saw - (yvals, cts) = np.unique(y, return_counts=True) - for (yval, ct) in zip(yvals, cts): - if ct != 10: - raise Exception("Grouping failed; received {0} copies of {1} instead of 10".format(ct, yval)) - return super().fit(X, y) + for (train, test) in check_cv(self.cv, y).split(X, y): + (yvals, cts) = np.unique(y[train], return_counts=True) + # with 2-fold outer and 2-fold inner grouping, and six total groups, + # should get 1 or 2 groups per split + if len(yvals) > 2: + raise Exception(f"Grouping failed: received {len(yval)} groups instead of at most 2") + + # ensure that the grouping has worked correctly and we get all 10 copies of the items in + # whichever groups we see + for (yval, ct) in zip(yvals, cts): + if ct != 10: + raise Exception(f"Grouping failed; received {ct} copies of {yval} instead of 10") + self.model.fit(X, y) + return self + + def predict(self, X): + return self.model.predict(X) # test nested grouping est = LinearDML(model_y=NestedModel(cv=2), model_t=NestedModel(cv=2), cv=GroupKFold(2)) @@ -1170,6 +1180,6 @@ def fit(self, X, y): # by default, we use 5 split cross-validation for our T and Y models # but we don't have enough groups here to split both the outer and inner samples with grouping # TODO: does this imply we should change some defaults to make this more likely to succeed? - est = LinearDML(cv=GroupKFold(2)) + est = LinearDML(model_y=LassoCV(cv=5), model_t=LassoCV(cv=5), cv=GroupKFold(2)) with pytest.raises(Exception): est.fit(y, t, groups=groups) diff --git a/econml/tests/test_dmliv.py b/econml/tests/test_dmliv.py index db8b328d8..54175d0c9 100644 --- a/econml/tests/test_dmliv.py +++ b/econml/tests/test_dmliv.py @@ -1,20 +1,23 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. -import unittest -import pytest import pickle +import unittest + import numpy as np +import pytest from scipy import special -from sklearn.linear_model import LinearRegression, LogisticRegression from sklearn.ensemble import RandomForestRegressor +from sklearn.linear_model import LinearRegression, LogisticRegression +from sklearn.preprocessing import PolynomialFeatures + +from econml.iv.dml import OrthoIV, DMLIV, NonParamDMLIV from econml.iv.dr._dr import _DummyCATE from econml.sklearn_extensions.linear_model import StatsModelsLinearRegression -from sklearn.preprocessing import PolynomialFeatures from econml.utilities import shape -from econml.iv.dml import OrthoIV, DMLIV, NonParamDMLIV +@pytest.mark.cate_api class TestDMLIV(unittest.TestCase): def test_cate_api(self): def const_marg_eff_shape(n, d_x, d_y, binary_T): diff --git a/econml/tests/test_dowhy.py b/econml/tests/test_dowhy.py index 75bfa4022..4daca4af2 100644 --- a/econml/tests/test_dowhy.py +++ b/econml/tests/test_dowhy.py @@ -18,10 +18,10 @@ class TestDowhy(unittest.TestCase): def _get_data(self): - X = np.random.normal(0, 1, size=(500, 5)) - T = np.random.binomial(1, .5, size=(500,)) - Y = np.random.normal(0, 1, size=(500,)) - Z = np.random.normal(0, 1, size=(500,)) + X = np.random.normal(0, 1, size=(250, 5)) + T = np.random.binomial(1, .5, size=(250,)) + Y = np.random.normal(0, 1, size=(250,)) + Z = np.random.normal(0, 1, size=(250,)) return Y, T, X[:, [0]], X[:, 1:], Z def test_dowhy(self): @@ -65,7 +65,7 @@ def clf(): # test causal graph est_dowhy.view_model() # test refutation estimate - est_dowhy.refute_estimate(method_name="random_common_cause") + est_dowhy.refute_estimate(method_name="random_common_cause", num_simulations=3) if name != "orf": est_dowhy.refute_estimate(method_name="add_unobserved_common_cause", confounders_effect_on_treatment="binary_flip", diff --git a/econml/tests/test_driv.py b/econml/tests/test_driv.py index ed3b88eb0..bddff8904 100644 --- a/econml/tests/test_driv.py +++ b/econml/tests/test_driv.py @@ -1,161 +1,177 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. -import unittest +from econml.iv.dr import (DRIV, LinearDRIV, SparseLinearDRIV, ForestDRIV, IntentToTreatDRIV, LinearIntentToTreatDRIV,) +from econml.iv.dr._dr import _DummyCATE +from econml.sklearn_extensions.linear_model import StatsModelsLinearRegression +from econml.utilities import shape + +import itertools +import numpy as np import pytest import pickle -import numpy as np from scipy import special -from sklearn.linear_model import LinearRegression, LogisticRegression -from econml.iv.dr._dr import _DummyCATE -from econml.sklearn_extensions.linear_model import StatsModelsLinearRegression from sklearn.preprocessing import PolynomialFeatures -from econml.utilities import shape -from econml.iv.dr import (DRIV, LinearDRIV, SparseLinearDRIV, ForestDRIV, IntentToTreatDRIV, LinearIntentToTreatDRIV,) +import unittest +@pytest.mark.cate_api class TestDRIV(unittest.TestCase): def test_cate_api(self): def const_marg_eff_shape(n, d_x, binary_T): + """Constant marginal effect shape.""" return (n if d_x else 1,) + ((1,) if binary_T else ()) def marg_eff_shape(n, binary_T): + """Marginal effect shape.""" return (n,) + ((1,) if binary_T else ()) def eff_shape(n, d_x): + "Effect shape." return (n if d_x else 1,) - n = 1000 + n = 500 y = np.random.normal(size=(n,)) - for d_w in [None, 10]: + # parameter combinations to test + for d_w, d_x, binary_T, binary_Z, projection, featurizer\ + in itertools.product( + [None, 10], # d_w + [None, 3], # d_x + [True, False], # binary_T + [True, False], # binary_Z + [True, False], # projection + [None, PolynomialFeatures(degree=2, include_bias=False), ]): # featurizer + if d_w is None: W = None else: W = np.random.normal(size=(n, d_w)) - for d_x in [None, 3]: - if d_x is None: - X = None - else: - X = np.random.normal(size=(n, d_x)) - for binary_T in [True, False]: - if binary_T: - T = np.random.choice(["a", "b"], size=(n,)) - else: - T = np.random.normal(size=(n,)) - for binary_Z in [True, False]: - if binary_Z: - Z = np.random.choice(["c", "d"], size=(n,)) - else: - Z = np.random.normal(size=(n,)) - for projection in [True, False]: - for featurizer in [ - None, - PolynomialFeatures(degree=2, include_bias=False), - ]: - est_list = [ - DRIV( - flexible_model_effect=StatsModelsLinearRegression(fit_intercept=False), - model_final=StatsModelsLinearRegression( - fit_intercept=False - ), - fit_cate_intercept=True, - projection=projection, - discrete_instrument=binary_Z, - discrete_treatment=binary_T, - featurizer=featurizer, - ), - LinearDRIV( - flexible_model_effect=StatsModelsLinearRegression(fit_intercept=False), - fit_cate_intercept=True, - projection=projection, - discrete_instrument=binary_Z, - discrete_treatment=binary_T, - featurizer=featurizer, - ), - SparseLinearDRIV( - flexible_model_effect=StatsModelsLinearRegression(fit_intercept=False), - fit_cate_intercept=True, - projection=projection, - discrete_instrument=binary_Z, - discrete_treatment=binary_T, - featurizer=featurizer, - ), - ForestDRIV( - flexible_model_effect=StatsModelsLinearRegression(fit_intercept=False), - projection=projection, - discrete_instrument=binary_Z, - discrete_treatment=binary_T, - featurizer=featurizer, - ), - ] - - if X is None: - est_list = est_list[:-1] - - if binary_T and binary_Z: - est_list += [ - IntentToTreatDRIV( - flexible_model_effect=StatsModelsLinearRegression( - fit_intercept=False - ), - fit_cate_intercept=True, - featurizer=featurizer, - ), - LinearIntentToTreatDRIV( - flexible_model_effect=StatsModelsLinearRegression( - fit_intercept=False - ), - featurizer=featurizer, - ), - ] - - for est in est_list: - with self.subTest(d_w=d_w, d_x=d_x, binary_T=binary_T, binary_Z=binary_Z, - projection=projection, featurizer=featurizer, - est=est): - - # ensure we can serialize unfit estimator - pickle.dumps(est) - - est.fit(y, T, Z=Z, X=X, W=W) - - # ensure we can serialize fit estimator - pickle.dumps(est) - - # expected effect size - const_marginal_effect_shape = const_marg_eff_shape(n, d_x, binary_T) - marginal_effect_shape = marg_eff_shape(n, binary_T) - effect_shape = eff_shape(n, d_x) - # test effect - const_marg_eff = est.const_marginal_effect(X) - self.assertEqual(shape(const_marg_eff), const_marginal_effect_shape) - marg_eff = est.marginal_effect(T, X) - self.assertEqual(shape(marg_eff), marginal_effect_shape) - T0 = "a" if binary_T else 0 - T1 = "b" if binary_T else 1 - eff = est.effect(X, T0=T0, T1=T1) - self.assertEqual(shape(eff), effect_shape) - - # test inference - const_marg_eff_int = est.const_marginal_effect_interval(X) - marg_eff_int = est.marginal_effect_interval(T, X) - eff_int = est.effect_interval(X, T0=T0, T1=T1) - self.assertEqual(shape(const_marg_eff_int), (2,) + const_marginal_effect_shape) - self.assertEqual(shape(marg_eff_int), (2,) + marginal_effect_shape) - self.assertEqual(shape(eff_int), (2,) + effect_shape) - - # test can run score - est.score(y, T, Z=Z, X=X, W=W) - - if X is not None: - # test cate_feature_names - expect_feat_len = featurizer.fit( - X).n_output_features_ if featurizer else d_x - self.assertEqual(len(est.cate_feature_names()), expect_feat_len) - - # test can run shap values - shap_values = est.shap_values(X[:10]) + + if d_x is None: + X = None + else: + X = np.random.normal(size=(n, d_x)) + + if binary_T: + T = np.random.choice(["a", "b"], size=(n,)) + else: + T = np.random.normal(size=(n,)) + + if binary_Z: + Z = np.random.choice(["c", "d"], size=(n,)) + else: + Z = np.random.normal(size=(n,)) + + est_list = [ + DRIV( + flexible_model_effect=StatsModelsLinearRegression(fit_intercept=False), + model_final=StatsModelsLinearRegression( + fit_intercept=False + ), + fit_cate_intercept=True, + projection=projection, + discrete_instrument=binary_Z, + discrete_treatment=binary_T, + featurizer=featurizer, + ), + LinearDRIV( + flexible_model_effect=StatsModelsLinearRegression(fit_intercept=False), + fit_cate_intercept=True, + projection=projection, + discrete_instrument=binary_Z, + discrete_treatment=binary_T, + featurizer=featurizer, + ), + SparseLinearDRIV( + flexible_model_effect=StatsModelsLinearRegression(fit_intercept=False), + fit_cate_intercept=True, + projection=projection, + discrete_instrument=binary_Z, + discrete_treatment=binary_T, + featurizer=featurizer, + ), + ForestDRIV( + flexible_model_effect=StatsModelsLinearRegression(fit_intercept=False), + projection=projection, + discrete_instrument=binary_Z, + discrete_treatment=binary_T, + featurizer=featurizer, + ), + ] + + if X is None: + est_list = est_list[:-1] + + if binary_T and binary_Z: + est_list += [ + IntentToTreatDRIV( + flexible_model_effect=StatsModelsLinearRegression( + fit_intercept=False + ), + fit_cate_intercept=True, + featurizer=featurizer, + ), + LinearIntentToTreatDRIV( + flexible_model_effect=StatsModelsLinearRegression( + fit_intercept=False + ), + featurizer=featurizer, + ), + ] + + for est in est_list: + with self.subTest(d_w=d_w, d_x=d_x, binary_T=binary_T, + binary_Z=binary_Z, projection=projection, featurizer=featurizer, + est=est): + + # TODO: serializing/deserializing for every combination -- is this necessary? + # ensure we can serialize unfit estimator + pickle.dumps(est) + + est.fit(y, T, Z=Z, X=X, W=W) + + # ensure we can serialize fit estimator + pickle.dumps(est) + + # expected effect size + exp_const_marginal_effect_shape = const_marg_eff_shape(n, d_x, binary_T) + marginal_effect_shape = marg_eff_shape(n, binary_T) + effect_shape = eff_shape(n, d_x) + + # assert calculated constant marginal effect shape is expected + # const_marginal effect is defined in LinearCateEstimator class + const_marg_eff = est.const_marginal_effect(X) + self.assertEqual(shape(const_marg_eff), exp_const_marginal_effect_shape) + + # assert calculated marginal effect shape is expected + marg_eff = est.marginal_effect(T, X) + self.assertEqual(shape(marg_eff), marginal_effect_shape) + + T0 = "a" if binary_T else 0 + T1 = "b" if binary_T else 1 + eff = est.effect(X, T0=T0, T1=T1) + self.assertEqual(shape(eff), effect_shape) + + # test inference + const_marg_eff_int = est.const_marginal_effect_interval(X) + marg_eff_int = est.marginal_effect_interval(T, X) + eff_int = est.effect_interval(X, T0=T0, T1=T1) + self.assertEqual(shape(const_marg_eff_int), (2,) + exp_const_marginal_effect_shape) + self.assertEqual(shape(marg_eff_int), (2,) + marginal_effect_shape) + self.assertEqual(shape(eff_int), (2,) + effect_shape) + + # test can run score + est.score(y, T, Z=Z, X=X, W=W) + + if X is not None: + # test cate_feature_names + expect_feat_len = featurizer.fit( + X).n_output_features_ if featurizer else d_x + self.assertEqual(len(est.cate_feature_names()), expect_feat_len) + + # test can run shap values + _ = est.shap_values(X[:10]) def test_accuracy(self): np.random.seed(123) diff --git a/econml/tests/test_drlearner.py b/econml/tests/test_drlearner.py index 3674aa7af..925353ec1 100644 --- a/econml/tests/test_drlearner.py +++ b/econml/tests/test_drlearner.py @@ -1,29 +1,31 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. -import numpy as np +from contextlib import ExitStack +import pickle import unittest + +import numpy as np +from numpy.random import normal, multivariate_normal, binomial import pytest -import pickle + +import scipy.special from sklearn.base import TransformerMixin -from numpy.random import normal, multivariate_normal, binomial +from sklearn.ensemble import GradientBoostingClassifier, GradientBoostingRegressor, RandomForestRegressor from sklearn.exceptions import DataConversionWarning -from sklearn.linear_model import LinearRegression, Lasso, LassoCV, LogisticRegression +from sklearn.linear_model import LinearRegression, Lasso, LassoCV, LogisticRegression, LogisticRegressionCV +from sklearn.model_selection import KFold, GroupKFold, check_cv from sklearn.pipeline import Pipeline -from sklearn.preprocessing import OneHotEncoder, FunctionTransformer -from sklearn.model_selection import KFold, GroupKFold -from sklearn.preprocessing import PolynomialFeatures +from sklearn.preprocessing import OneHotEncoder, FunctionTransformer, PolynomialFeatures + from econml.dr import DRLearner, LinearDRLearner, SparseLinearDRLearner, ForestDRLearner -from econml.utilities import shape, hstack, vstack, reshape, cross_product from econml.inference import BootstrapInference, StatsModelsInferenceDiscrete -from contextlib import ExitStack -from sklearn.ensemble import GradientBoostingClassifier, GradientBoostingRegressor, RandomForestRegressor -from sklearn.linear_model import LinearRegression, LogisticRegression +from econml.utilities import shape, hstack, vstack, reshape, cross_product from econml.sklearn_extensions.linear_model import StatsModelsLinearRegression -import scipy.special import econml.tests.utilities # bugfix for assertWarns +@pytest.mark.serial class TestDRLearner(unittest.TestCase): @classmethod @@ -797,27 +799,37 @@ def test_groups(self): est.fit(y, t, W=w, groups=groups) # test nested grouping - class NestedModel(LassoCV): - def __init__(self, eps=1e-3, n_alphas=100, alphas=None, fit_intercept=True, - precompute='auto', max_iter=1000, tol=1e-4, normalize=False, - copy_X=True, cv=None, verbose=False, n_jobs=None, - positive=False, random_state=None, selection='cyclic'): - - super().__init__( - eps=eps, n_alphas=n_alphas, alphas=alphas, - fit_intercept=fit_intercept, normalize=normalize, - precompute=precompute, max_iter=max_iter, tol=tol, copy_X=copy_X, - cv=cv, verbose=verbose, n_jobs=n_jobs, positive=positive, - random_state=random_state, selection=selection) + class NestedModel: + def __init__(self, cv): + self.model = LassoCV(cv=cv) + + # DML nested CV works via a 'cv' attribute + @property + def cv(self): + return self.model.cv + + @cv.setter + def cv(self, value): + self.model.cv = value def fit(self, X, y): - # ensure that the grouping has worked correctly and we get all 10 copies of the items in - # whichever groups we saw - (yvals, cts) = np.unique(y, return_counts=True) - for (yval, ct) in zip(yvals, cts): - if ct != 10: - raise Exception("Grouping failed; received {0} copies of {1} instead of 10".format(ct, yval)) - return super().fit(X, y) + for (train, test) in check_cv(self.cv, y).split(X, y): + (yvals, cts) = np.unique(y[train], return_counts=True) + # with 2-fold outer and 2-fold inner grouping, and six total groups, + # should get 1 or 2 groups per split + if len(yvals) > 2: + raise Exception(f"Grouping failed: received {len(yval)} groups instead of at most 2") + + # ensure that the grouping has worked correctly and we get all 10 copies of the items in + # whichever groups we see + for (yval, ct) in zip(yvals, cts): + if ct != 10: + raise Exception(f"Grouping failed; received {ct} copies of {yval} instead of 10") + self.model.fit(X, y) + return self + + def predict(self, X): + return self.model.predict(X) # test nested grouping est = LinearDRLearner(model_propensity=LogisticRegression(), @@ -827,7 +839,9 @@ def fit(self, X, y): # by default, we use 5 split cross-validation for our T and Y models # but we don't have enough groups here to split both the outer and inner samples with grouping # TODO: does this imply we should change some defaults to make this more likely to succeed? - est = LinearDRLearner(cv=GroupKFold(2)) + est = LinearDRLearner(model_propensity=LogisticRegressionCV(cv=5), + model_regression=LassoCV(cv=5), + cv=GroupKFold(2)) with pytest.raises(Exception): est.fit(y, t, W=w, groups=groups) diff --git a/econml/tests/test_dynamic_dml.py b/econml/tests/test_dynamic_dml.py index 7539c18f9..d007a2706 100644 --- a/econml/tests/test_dynamic_dml.py +++ b/econml/tests/test_dynamic_dml.py @@ -16,7 +16,7 @@ from econml.tests.dgp import DynamicPanelDGP -@pytest.mark.dml +@pytest.mark.cate_api class TestDynamicDML(unittest.TestCase): def test_cate_api(self): diff --git a/econml/tests/test_linear_model.py b/econml/tests/test_linear_model.py index fda93d5c9..ac012e009 100644 --- a/econml/tests/test_linear_model.py +++ b/econml/tests/test_linear_model.py @@ -51,6 +51,11 @@ def setUpClass(cls): cls.y_2D_consistent = np.concatenate((TestLassoExtensions.y_simple.reshape(-1, 1), TestLassoExtensions.y2_full.reshape(-1, 1)), axis=1) + def test_can_clone(self): + for model in [WeightedLasso(), WeightedLassoCV(), WeightedMultiTaskLassoCV(), + WeightedLassoCVWrapper(), DebiasedLasso(), MultiOutputDebiasedLasso()]: + clone(model) + ################# # WeightedLasso # ################# diff --git a/econml/tests/test_shap.py b/econml/tests/test_shap.py index d2c6153f9..2c69b39d4 100644 --- a/econml/tests/test_shap.py +++ b/econml/tests/test_shap.py @@ -181,7 +181,9 @@ def eta_sample(n): # test shap could generate the plot from the shap_values heatmap(shap_values1["Y0"]["orange"], show=False) - waterfall(shap_values1["Y0"]["orange"][6], show=False) + if shap.__version__ != "0.40.0": + # waterfall is broken in this version, fixed by https://github.com/slundberg/shap/pull/2444 + waterfall(shap_values1["Y0"]["orange"][6], show=False) scatter(shap_values1["Y0"]["orange"][:, "A"], show=False) bar(shap_values1["Y0"]["orange"], show=False) beeswarm(shap_values1["Y0"]["orange"], show=False) diff --git a/econml/tests/test_statsmodels.py b/econml/tests/test_statsmodels.py index 75a544cdf..222398b07 100644 --- a/econml/tests/test_statsmodels.py +++ b/econml/tests/test_statsmodels.py @@ -1,31 +1,29 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. +import unittest + import numpy as np import pytest -from econml.dml import DML, LinearDML, NonParamDML + +import scipy.special +from sklearn.base import clone +from sklearn.ensemble import RandomForestRegressor +from sklearn.linear_model import LinearRegression, LogisticRegression +from sklearn.preprocessing import PolynomialFeatures +from statsmodels.regression.linear_model import WLS +from statsmodels.sandbox.regression.gmm import IV2SLS +from statsmodels.tools.tools import add_constant + +from econml.inference import StatsModelsInference, StatsModelsInferenceDiscrete +from econml.dml import LinearDML, NonParamDML from econml.dr import LinearDRLearner -from econml.iv.dr import LinearDRIV from econml.iv.dml import DMLIV -from econml.inference import StatsModelsInference, StatsModelsInferenceDiscrete -from econml.utilities import (ndim, transpose, shape, reshape, hstack, WeightedModelWrapper) +from econml.iv.dr import LinearDRIV from econml.sklearn_extensions.linear_model import WeightedLasso, StatsModelsLinearRegression -from econml.iv.dr._dr import _DummyCATE -from statsmodels.regression.linear_model import WLS -from statsmodels.tools.tools import add_constant -from statsmodels.sandbox.regression.gmm import IV2SLS -from sklearn.dummy import DummyClassifier -from sklearn.linear_model import LinearRegression, LogisticRegression, LassoCV, Lasso, MultiTaskLassoCV -from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier -from sklearn.model_selection import KFold, StratifiedKFold -import scipy.special -import time from econml.sklearn_extensions.linear_model import StatsModelsLinearRegression as OLS from econml.sklearn_extensions.linear_model import StatsModels2SLS -import unittest -import joblib -from sklearn.preprocessing import PolynomialFeatures -from sklearn.base import clone +from econml.utilities import (ndim, transpose, shape, reshape, hstack, WeightedModelWrapper) class StatsModelsOLS: @@ -267,6 +265,7 @@ def _compare_dr_classes(est, lr, X_test, alpha=.05, tol=1e-10): "{}, {}".format(est.effect_interval(X_test, alpha=alpha), lr.effect_interval(X_test, alpha=alpha)) +@pytest.mark.serial class TestStatsModels(unittest.TestCase): def test_comp_with_lr(self): @@ -328,6 +327,25 @@ def true_effect(x): assert np.all(np.abs(est.intercept_ - lr.intercept_) < 1e-12), "{}, {}".format(est.intercept_, lr.intercept_) + def test_o_dtype(self): + """ Testing that the models still work when the np arrays are of O dtype """ + np.random.seed(123) + n = 1000 + d = 3 + + X = np.random.normal(size=(n, d)).astype('O') + y = np.random.normal(size=n).astype('O') + + est = OLS().fit(X, y) + lr = LinearRegression().fit(X, y) + assert np.all(np.abs(est.coef_ - lr.coef_) < 1e-12), "{}, {}".format(est.coef_, lr.coef_) + assert np.all(np.abs(est.intercept_ - lr.intercept_) < 1e-12), "{}, {}".format(est.coef_, lr.intercept_) + + est = OLS(fit_intercept=False).fit(X, y) + lr = LinearRegression(fit_intercept=False).fit(X, y) + assert np.all(np.abs(est.coef_ - lr.coef_) < 1e-12), "{}, {}".format(est.coef_, lr.coef_) + assert np.all(np.abs(est.intercept_ - lr.intercept_) < 1e-12), "{}, {}".format(est.coef_, lr.intercept_) + def test_inference(self): """ Testing that we recover the expected standard errors and confidence intervals in a known example """ @@ -1099,8 +1117,6 @@ def split(self, X, T): def test_dml_multi_dim_treatment_outcome(self): """ Testing that the summarized and unsummarized version of DML gives the correct (known results). """ - from econml.dml import LinearDML - from econml.inference import StatsModelsInference np.random.seed(123) n = 100000 precision = .01 diff --git a/econml/tests/test_tree.py b/econml/tests/test_tree.py index 7de214f6c..b5d898f56 100644 --- a/econml/tests/test_tree.py +++ b/econml/tests/test_tree.py @@ -2,15 +2,14 @@ # Licensed under the MIT License. import unittest -import logging -import time -import random + import numpy as np -import sparse as sp import pytest + from econml.tree import DepthFirstTreeBuilder, BestSplitter, Tree, MSE +@pytest.mark.serial class TestTree(unittest.TestCase): def _get_base_config(self): @@ -259,10 +258,14 @@ def test_honest_values(self): np.testing.assert_array_almost_equal(tree.value.flatten(), .4 * np.ones(len(tree.value))) def test_noisy_instance(self): + + # initialize parameters n_samples = 5000 X = np.random.normal(0, 1, size=(n_samples, 1)) y_base = 1.0 * X[:, [0]] * (X[:, [0]] > 0) y = y_base + np.random.normal(0, .1, size=(n_samples, 1)) + + # initialize config wtih base config and overwite some values config = self._get_base_config() config['n_features'] = 1 config['max_features'] = 1 @@ -274,11 +277,16 @@ def test_noisy_instance(self): config['max_node_samples'] = X.shape[0] config['samples_train'] = np.arange(X.shape[0], dtype=np.intp) config['samples_val'] = np.arange(X.shape[0], dtype=np.intp) + + # predict tree using config parameters and assert + # shape of trained tree is the same as y_test tree = self._train_tree(config, X, y) X_test = np.zeros((100, 1)) X_test[:, 0] = np.linspace(np.percentile(X, 10), np.percentile(X, 90), 100) y_test = 1.0 * X_test[:, [0]] * (X_test[:, [0]] > 0) np.testing.assert_array_almost_equal(tree.predict(X_test), y_test, decimal=1) + + # initialize config wtih base honest config and overwite some values config = self._get_base_honest_config() config['n_features'] = 1 config['max_features'] = 1 @@ -290,6 +298,9 @@ def test_noisy_instance(self): config['max_node_samples'] = X.shape[0] // 2 config['samples_train'] = np.arange(X.shape[0] // 2, dtype=np.intp) config['samples_val'] = np.arange(X.shape[0] // 2, X.shape[0], dtype=np.intp) + + # predict tree using config parameters and assert + # shape of trained tree is the same as y_test tree = self._train_tree(config, X, y) X_test = np.zeros((100, 1)) X_test[:, 0] = np.linspace(np.percentile(X, 10), np.percentile(X, 90), 100) diff --git a/econml/utilities.py b/econml/utilities.py index 3eab431ea..f5cd07b03 100644 --- a/econml/utilities.py +++ b/econml/utilities.py @@ -514,7 +514,7 @@ def check_inputs(Y, T, X, W=None, multi_output_T=True, multi_output_Y=True): return Y, T, X, W -def check_input_arrays(*args, validate_len=True, force_all_finite=True): +def check_input_arrays(*args, validate_len=True, force_all_finite=True, dtype=None): """Cast input sequences into numpy arrays. Only inputs that are sequence-like will be converted, all other inputs will be left as is. @@ -531,6 +531,13 @@ def check_input_arrays(*args, validate_len=True, force_all_finite=True): force_all_finite : bool (default=True) Whether to allow inf and nan in input arrays. + dtype : 'numeric', type, list of type or None (default=None) + Argument passed to sklearn.utils.check_array. + Specifies data type of result. If None, the dtype of the input is preserved. + If "numeric", dtype is preserved unless array.dtype is object. + If dtype is a list of types, conversion on the first type is only + performed if the dtype of the input is not in the list. + Returns ------- args: array-like @@ -541,7 +548,7 @@ def check_input_arrays(*args, validate_len=True, force_all_finite=True): args = list(args) for i, arg in enumerate(args): if np.ndim(arg) > 0: - new_arg = check_array(arg, dtype=None, ensure_2d=False, accept_sparse=True, + new_arg = check_array(arg, dtype=dtype, ensure_2d=False, accept_sparse=True, force_all_finite=force_all_finite) if not force_all_finite: # For when checking input values is disabled diff --git a/notebooks/CustomerScenarios/Case Study - Customer Segmentation at An Online Media Company - EconML + DoWhy.ipynb b/notebooks/CustomerScenarios/Case Study - Customer Segmentation at An Online Media Company - EconML + DoWhy.ipynb index 337a40703..387d73710 100644 --- a/notebooks/CustomerScenarios/Case Study - Customer Segmentation at An Online Media Company - EconML + DoWhy.ipynb +++ b/notebooks/CustomerScenarios/Case Study - Customer Segmentation at An Online Media Company - EconML + DoWhy.ipynb @@ -789,7 +789,7 @@ "cell_type": "code", "execution_count": 20, "source": [ - "res_random = est_nonparam_dw.refute_estimate(method_name=\"random_common_cause\")\r\n", + "res_random = est_nonparam_dw.refute_estimate(method_name=\"random_common_cause\", num_simulations=5)\r\n", "print(res_random)" ], "outputs": [ diff --git a/notebooks/CustomerScenarios/Case Study - Multi-investment Attribution at A Software Company - EconML + DoWhy.ipynb b/notebooks/CustomerScenarios/Case Study - Multi-investment Attribution at A Software Company - EconML + DoWhy.ipynb index 0ab3166d9..d9abe9162 100644 --- a/notebooks/CustomerScenarios/Case Study - Multi-investment Attribution at A Software Company - EconML + DoWhy.ipynb +++ b/notebooks/CustomerScenarios/Case Study - Multi-investment Attribution at A Software Company - EconML + DoWhy.ipynb @@ -2,6 +2,7 @@ "cells": [ { "cell_type": "markdown", + "metadata": {}, "source": [ "\n", "\n", @@ -12,11 +13,11 @@ "In an ideal world, the startup would run several randomized experiments where each customer would receive a random assortment of investments. However, this can be logistically prohibitive or strategically unsound: the startup might not have the resources to design such experiments or they might not want to risk losing out on big opportunities due to lack of incentives.\n", "\n", "In this customer scenario walkthrough, we show how tools from the [EconML](https://aka.ms/econml) and [DoWhy](https://github.com/microsoft/dowhy) libraries can use historical investment data to learn the effects of multiple investments." - ], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "### Summary\n", "\n", @@ -32,11 +33,11 @@ " 3. [Replace Treatment with a Random (Placebo) Variable](#Replace-Treatment-with-a-Random-(Placebo)-Variable)\n", " 4. [Remove a Random Subset of the Data](#Remove-a-Random-Subset-of-the-Data)\n", "8. [Conclusions](#Conclusions)" - ], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "# Background\n", "\n", @@ -55,45 +56,45 @@ "\n", "\n", "Furthermore, EconML provides users tools to [understand causal effects](#Understand-Treatment-Effects-with-EconML) and [make causal policy decisions](#Make-Policy-Decisions-with-EconML)." - ], - "metadata": {} + ] }, { "cell_type": "code", "execution_count": 1, + "metadata": {}, + "outputs": [], "source": [ - "# Some imports to get us started\r\n", - "import warnings\r\n", - "warnings.simplefilter('ignore')\r\n", - "\r\n", - "# Utilities\r\n", - "import os\r\n", - "import urllib.request\r\n", - "import numpy as np\r\n", - "import pandas as pd\r\n", - "from networkx.drawing.nx_pydot import to_pydot\r\n", - "from IPython.display import Image, display\r\n", - "\r\n", - "# Generic ML imports\r\n", - "from xgboost import XGBRegressor, XGBClassifier\r\n", - "\r\n", - "# EconML imports\r\n", - "from econml.dr import LinearDRLearner\r\n", - "\r\n", - "# DoWhy imports \r\n", - "import dowhy\r\n", - "from dowhy import CausalModel\r\n", - "\r\n", - "import matplotlib.pyplot as plt\r\n", - "import seaborn as sns\r\n", - "\r\n", + "# Some imports to get us started\n", + "import warnings\n", + "warnings.simplefilter('ignore')\n", + "\n", + "# Utilities\n", + "import os\n", + "import urllib.request\n", + "import numpy as np\n", + "import pandas as pd\n", + "from networkx.drawing.nx_pydot import to_pydot\n", + "from IPython.display import Image, display\n", + "\n", + "# Generic ML imports\n", + "from xgboost import XGBRegressor, XGBClassifier\n", + "\n", + "# EconML imports\n", + "from econml.dr import LinearDRLearner\n", + "\n", + "# DoWhy imports \n", + "import dowhy\n", + "from dowhy import CausalModel\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", "%matplotlib inline" - ], - "outputs": [], - "metadata": {} + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "# Data\n", "\n", @@ -118,46 +119,26 @@ "**Revenue** | Y | \\\\$ Revenue from customer given by the amount of software purchased\n", "\n", "**To protect the privacy of the startup's customers, the data used in this scenario is synthetically generated and the feature distributions don't correspond to real distributions. However, the feature names have preserved their names and meaning.*" - ], - "metadata": {} + ] }, { "cell_type": "code", "execution_count": 2, + "metadata": {}, + "outputs": [], "source": [ "# Import the sample multi-attribution data\n", "file_url = \"https://msalicedatapublic.blob.core.windows.net/datasets/ROI/multi_attribution_sample.csv\"\n", "multi_data = pd.read_csv(file_url)" - ], - "outputs": [], - "metadata": {} + ] }, { "cell_type": "code", "execution_count": 3, - "source": [ - "# Data sample\n", - "multi_data.head()" - ], + "metadata": {}, "outputs": [ { - "output_type": "execute_result", "data": { - "text/plain": [ - " Global Flag Major Flag SMC Flag Commercial Flag IT Spend \\\n", - "0 1 0 1 0 45537 \n", - "1 0 0 1 1 20842 \n", - "2 0 0 0 1 82171 \n", - "3 0 0 0 0 30288 \n", - "4 0 0 1 0 25930 \n", - "\n", - " Employee Count PC Count Size Tech Support Discount Revenue \n", - "0 26 26 152205 0 1 17688.36300 \n", - "1 107 70 159038 0 1 14981.43559 \n", - "2 10 7 264935 1 1 32917.13894 \n", - "3 40 39 77522 1 1 14773.76855 \n", - "4 37 43 91446 1 1 17098.69823 " - ], "text/html": [ "
\n", "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MSSubClassMSZoningLotFrontageStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlope...SaleTypeSaleConditionSalePriceAgeAtSaleYearsSinceRemodelHasDeckHasPorchHasFireplaceHasFenceIntercept
Id
1.060.0RL65.0PaveNARegLvlAllPubInsideGtl...WDNormal208500.05.05.001001
2.020.0RL80.0PaveNARegLvlAllPubFR2Gtl...WDNormal181500.031.031.010101
3.060.0RL68.0PaveNAIR1LvlAllPubInsideGtl...WDNormal223500.07.06.001101
4.070.0RL60.0PaveNAIR1LvlAllPubCornerGtl...WDAbnorml140000.091.036.001101
5.060.0RL84.0PaveNAIR1LvlAllPubFR2Gtl...WDNormal250000.08.08.011101
..................................................................
1456.060.0RL62.0PaveNARegLvlAllPubInsideGtl...WDNormal175000.08.07.001101
1457.020.0RL85.0PaveNARegLvlAllPubInsideGtl...WDNormal210000.032.022.010111
1458.070.0RL66.0PaveNARegLvlAllPubInsideGtl...WDNormal266500.069.04.001111
1459.020.0RL68.0PaveNARegLvlAllPubInsideGtl...WDNormal142125.060.014.011001
1460.020.0RL75.0PaveNARegLvlAllPubInsideGtl...WDNormal147500.043.043.011001
\n", + "

1451 rows × 65 columns

\n", + "
" + ], + "text/plain": [ + " MSSubClass MSZoning LotFrontage Street Alley LotShape LandContour \\\n", + "Id \n", + "1.0 60.0 RL 65.0 Pave NA Reg Lvl \n", + "2.0 20.0 RL 80.0 Pave NA Reg Lvl \n", + "3.0 60.0 RL 68.0 Pave NA IR1 Lvl \n", + "4.0 70.0 RL 60.0 Pave NA IR1 Lvl \n", + "5.0 60.0 RL 84.0 Pave NA IR1 Lvl \n", + "... ... ... ... ... ... ... ... \n", + "1456.0 60.0 RL 62.0 Pave NA Reg Lvl \n", + "1457.0 20.0 RL 85.0 Pave NA Reg Lvl \n", + "1458.0 70.0 RL 66.0 Pave NA Reg Lvl \n", + "1459.0 20.0 RL 68.0 Pave NA Reg Lvl \n", + "1460.0 20.0 RL 75.0 Pave NA Reg Lvl \n", + "\n", + " Utilities LotConfig LandSlope ... SaleType SaleCondition SalePrice \\\n", + "Id ... \n", + "1.0 AllPub Inside Gtl ... WD Normal 208500.0 \n", + "2.0 AllPub FR2 Gtl ... WD Normal 181500.0 \n", + "3.0 AllPub Inside Gtl ... WD Normal 223500.0 \n", + "4.0 AllPub Corner Gtl ... WD Abnorml 140000.0 \n", + "5.0 AllPub FR2 Gtl ... WD Normal 250000.0 \n", + "... ... ... ... ... ... ... ... \n", + "1456.0 AllPub Inside Gtl ... WD Normal 175000.0 \n", + "1457.0 AllPub Inside Gtl ... WD Normal 210000.0 \n", + "1458.0 AllPub Inside Gtl ... WD Normal 266500.0 \n", + "1459.0 AllPub Inside Gtl ... WD Normal 142125.0 \n", + "1460.0 AllPub Inside Gtl ... WD Normal 147500.0 \n", + "\n", + " AgeAtSale YearsSinceRemodel HasDeck HasPorch HasFireplace HasFence \\\n", + "Id \n", + "1.0 5.0 5.0 0 1 0 0 \n", + "2.0 31.0 31.0 1 0 1 0 \n", + "3.0 7.0 6.0 0 1 1 0 \n", + "4.0 91.0 36.0 0 1 1 0 \n", + "5.0 8.0 8.0 1 1 1 0 \n", + "... ... ... ... ... ... ... \n", + "1456.0 8.0 7.0 0 1 1 0 \n", + "1457.0 32.0 22.0 1 0 1 1 \n", + "1458.0 69.0 4.0 0 1 1 1 \n", + "1459.0 60.0 14.0 1 1 0 0 \n", + "1460.0 43.0 43.0 1 1 0 0 \n", + "\n", + " Intercept \n", + "Id \n", + "1.0 1 \n", + "2.0 1 \n", + "3.0 1 \n", + "4.0 1 \n", + "5.0 1 \n", + "... ... \n", + "1456.0 1 \n", + "1457.0 1 \n", + "1458.0 1 \n", + "1459.0 1 \n", + "1460.0 1 \n", + "\n", + "[1451 rows x 65 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Xy = (\n", + " ames_df\n", + " .assign(SalePrice = ames_housing.target) # add target feature\n", + " .set_index('Id')\n", + " .loc[\n", + " lambda df: df['MasVnrType'].notna() # drop outliers with missing detail in this column\n", + " ]\n", + " .loc[\n", + " lambda df: df['Electrical'].notna() # drop outlier with missing electrical row\n", + " ]\n", + " .assign(\n", + " AgeAtSale = lambda df: df['YrSold'].sub(df['YearBuilt']), # add interpretable year columns\n", + " YearsSinceRemodel = lambda df: df['YrSold'].sub(df['YearRemodAdd']).clip(lower = 0), # clip lower for outlier\n", + " \n", + " HasDeck = lambda df: df['WoodDeckSF'].gt(0).map(int),\n", + " HasPorch = lambda df: \n", + " df[['OpenPorchSF', 'EnclosedPorch', '3SsnPorch', 'ScreenPorch']]\n", + " .gt(0)\n", + " .max(axis = 1)\n", + " .map(int),\n", + " \n", + " HasFireplace = lambda df: df['Fireplaces'].clip(upper = 1).map(int),\n", + " HasFence = lambda df: df['Fence'].notna().map(int)\n", + " )\n", + " \n", + " # drop year columns\n", + " .drop(\n", + " columns = [\n", + " 'GarageYrBlt', 'YearBuilt', 'YrSold', 'YearRemodAdd', \n", + " 'WoodDeckSF', 'OpenPorchSF', 'EnclosedPorch', '3SsnPorch', 'ScreenPorch',\n", + " 'FireplaceQu', 'Fireplaces',\n", + " 'LotArea', 'MasVnrArea', 'BsmtFinSF1', 'BsmtFinSF2', 'BsmtUnfSF', 'TotalBsmtSF', \n", + " '1stFlrSF', '2ndFlrSF', 'LowQualFinSF', 'GarageArea', 'PoolArea'\n", + " ]\n", + " ) \n", + " .assign(LotFrontage = lambda df: df['LotFrontage'].fillna(0)) # fill missing with 0\n", + " .fillna('NA') # rest of missing values are in categorical columns, so fill with NA category\n", + " .assign(Intercept = 1) # add constant column for OLS\n", + ")\n", + "\n", + "Xy" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# identify categorical columns for one hot encoding\n", + "categorical = list(\n", + " Xy\n", + " .apply(lambda series: series.dtype)\n", + " .loc[\n", + " lambda df: df.eq('object')\n", + " ]\n", + " .index\n", + ") + ['MSSubClass']\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "X = Xy.drop(columns = 'SalePrice')\n", + "X_ohe = (\n", + " X\n", + " .pipe(pd.get_dummies, prefix_sep = '_OHE_', columns = categorical)\n", + ")\n", + "y = Xy['SalePrice']" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
OLS Regression Results
Dep. Variable: SalePrice R-squared: 0.923
Model: OLS Adj. R-squared: 0.908
Method: Least Squares F-statistic: 59.41
Date: Fri, 22 Apr 2022 Prob (F-statistic): 0.00
Time: 11:20:06 Log-Likelihood: -16565.
No. Observations: 1451 AIC: 3.362e+04
Df Residuals: 1206 BIC: 3.491e+04
Df Model: 244
Covariance Type: nonrobust
\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
coef std err t P>|t| [0.025 0.975]
LotFrontage 9.1690 24.385 0.376 0.707 -38.674 57.012
OverallQual 6443.4507 1098.337 5.867 0.000 4288.587 8598.315
OverallCond 5761.3467 921.305 6.253 0.000 3953.808 7568.885
GrLivArea 71.2724 3.926 18.155 0.000 63.570 78.975
BsmtFullBath 7808.0939 1862.581 4.192 0.000 4153.836 1.15e+04
BsmtHalfBath 2704.3964 3161.287 0.855 0.392 -3497.837 8906.630
FullBath 4353.2284 2358.076 1.846 0.065 -273.159 8979.616
HalfBath 1125.2313 2213.287 0.508 0.611 -3217.089 5467.552
BedroomAbvGr -4678.0376 1473.399 -3.175 0.002 -7568.747 -1787.328
KitchenAbvGr -1.089e+04 6648.976 -1.639 0.102 -2.39e+04 2150.473
TotRmsAbvGrd 1013.7051 1016.102 0.998 0.319 -979.818 3007.228
GarageCars 8663.3405 1708.010 5.072 0.000 5312.340 1.2e+04
MiscVal 9.0392 6.684 1.352 0.177 -4.074 22.153
MoSold -510.0946 260.244 -1.960 0.050 -1020.675 0.486
AgeAtSale -305.4555 85.143 -3.588 0.000 -472.501 -138.410
YearsSinceRemodel -27.7465 58.392 -0.475 0.635 -142.308 86.815
HasDeck 1621.8650 1585.671 1.023 0.307 -1489.115 4732.845
HasPorch 1870.3246 1739.962 1.075 0.283 -1543.365 5284.014
HasFireplace 2375.0085 1818.079 1.306 0.192 -1191.941 5941.958
HasFence -5877.2263 2031.768 -2.893 0.004 -9863.419 -1891.033
Intercept -8887.1036 3683.133 -2.413 0.016 -1.61e+04 -1661.044
MSZoning_OHE_C (all) -2.978e+04 8731.959 -3.411 0.001 -4.69e+04 -1.27e+04
MSZoning_OHE_FV 1.271e+04 6497.547 1.957 0.051 -33.757 2.55e+04
MSZoning_OHE_RH 4234.7895 6421.424 0.659 0.510 -8363.614 1.68e+04
MSZoning_OHE_RL 4630.5784 3487.791 1.328 0.185 -2212.233 1.15e+04
MSZoning_OHE_RM -682.4301 3937.317 -0.173 0.862 -8407.183 7042.323
Street_OHE_Grvl -8776.6589 6992.025 -1.255 0.210 -2.25e+04 4941.225
Street_OHE_Pave -110.4448 6575.318 -0.017 0.987 -1.3e+04 1.28e+04
Alley_OHE_Grvl -1810.1857 3604.374 -0.502 0.616 -8881.726 5261.355
Alley_OHE_NA -4693.0936 2616.409 -1.794 0.073 -9826.313 440.125
Alley_OHE_Pave -2383.8243 3913.934 -0.609 0.543 -1.01e+04 5295.053
LotShape_OHE_IR1 -1.047e+04 2822.356 -3.711 0.000 -1.6e+04 -4935.205
LotShape_OHE_IR2 -2372.8849 3985.625 -0.595 0.552 -1.02e+04 5446.644
LotShape_OHE_IR3 1.303e+04 6882.455 1.894 0.059 -469.573 2.65e+04
LotShape_OHE_Reg -9075.0815 2919.659 -3.108 0.002 -1.48e+04 -3346.907
LandContour_OHE_Bnk -8623.9473 3406.031 -2.532 0.011 -1.53e+04 -1941.544
LandContour_OHE_HLS 2046.0477 3508.549 0.583 0.560 -4837.490 8929.585
LandContour_OHE_Low -2995.0390 4504.323 -0.665 0.506 -1.18e+04 5842.141
LandContour_OHE_Lvl 685.8349 2559.439 0.268 0.789 -4335.612 5707.282
Utilities_OHE_AllPub 9427.5382 1.43e+04 0.658 0.511 -1.87e+04 3.75e+04
Utilities_OHE_NoSeWa -1.831e+04 1.58e+04 -1.161 0.246 -4.93e+04 1.26e+04
LotConfig_OHE_Corner 1416.0814 3192.892 0.444 0.657 -4848.159 7680.322
LotConfig_OHE_CulDSac 1.221e+04 3776.342 3.234 0.001 4803.547 1.96e+04
LotConfig_OHE_FR2 -5854.6021 4099.815 -1.428 0.154 -1.39e+04 2188.960
LotConfig_OHE_FR3 -1.593e+04 1.07e+04 -1.487 0.137 -3.69e+04 5082.020
LotConfig_OHE_Inside -728.1482 3025.508 -0.241 0.810 -6663.992 5207.696
LandSlope_OHE_Gtl -4550.2129 4120.952 -1.104 0.270 -1.26e+04 3534.819
LandSlope_OHE_Mod 1596.2168 4053.999 0.394 0.694 -6357.457 9549.891
LandSlope_OHE_Sev -5933.1075 6686.760 -0.887 0.375 -1.91e+04 7185.867
Neighborhood_OHE_Blmngtn -8611.0187 7466.688 -1.153 0.249 -2.33e+04 6038.122
Neighborhood_OHE_Blueste 8758.5694 1.88e+04 0.465 0.642 -2.82e+04 4.57e+04
Neighborhood_OHE_BrDale 7873.6626 8884.523 0.886 0.376 -9557.175 2.53e+04
Neighborhood_OHE_BrkSide -2860.6985 5242.223 -0.546 0.585 -1.31e+04 7424.192
Neighborhood_OHE_ClearCr -7321.5088 5986.224 -1.223 0.222 -1.91e+04 4423.061
Neighborhood_OHE_CollgCr -7448.2921 3217.816 -2.315 0.021 -1.38e+04 -1135.153
Neighborhood_OHE_Crawfor 1.347e+04 4666.804 2.885 0.004 4310.036 2.26e+04
Neighborhood_OHE_Edwards -1.837e+04 3377.030 -5.441 0.000 -2.5e+04 -1.17e+04
Neighborhood_OHE_Gilbert -1.216e+04 4007.323 -3.036 0.002 -2e+04 -4302.317
Neighborhood_OHE_IDOTRR -8124.2762 7043.131 -1.154 0.249 -2.19e+04 5693.874
Neighborhood_OHE_MeadowV -4486.2237 9507.217 -0.472 0.637 -2.31e+04 1.42e+04
Neighborhood_OHE_Mitchel -1.792e+04 4222.368 -4.245 0.000 -2.62e+04 -9640.032
Neighborhood_OHE_NAmes -1.482e+04 2980.842 -4.970 0.000 -2.07e+04 -8967.059
Neighborhood_OHE_NPkVill 1.457e+04 1.3e+04 1.117 0.264 -1.1e+04 4.01e+04
Neighborhood_OHE_NWAmes -1.563e+04 3810.048 -4.103 0.000 -2.31e+04 -8155.691
Neighborhood_OHE_NoRidge 3.405e+04 5108.666 6.664 0.000 2.4e+04 4.41e+04
Neighborhood_OHE_NridgHt 2.408e+04 4495.108 5.357 0.000 1.53e+04 3.29e+04
Neighborhood_OHE_OldTown -1.378e+04 5188.658 -2.656 0.008 -2.4e+04 -3600.088
Neighborhood_OHE_SWISU -1.101e+04 6473.184 -1.700 0.089 -2.37e+04 1694.043
Neighborhood_OHE_Sawyer -9096.5155 3707.536 -2.454 0.014 -1.64e+04 -1822.579
Neighborhood_OHE_SawyerW -2713.1583 4030.968 -0.673 0.501 -1.06e+04 5195.331
Neighborhood_OHE_Somerst 473.0768 6378.177 0.074 0.941 -1.2e+04 1.3e+04
Neighborhood_OHE_StoneBr 4.238e+04 5929.178 7.148 0.000 3.08e+04 5.4e+04
Neighborhood_OHE_Timber -4534.9132 4950.992 -0.916 0.360 -1.42e+04 5178.602
Neighborhood_OHE_Veenker 4353.6079 8133.294 0.535 0.593 -1.16e+04 2.03e+04
Condition1_OHE_Artery -7801.2753 5084.697 -1.534 0.125 -1.78e+04 2174.560
Condition1_OHE_Feedr -429.5102 4172.041 -0.103 0.918 -8614.775 7755.754
Condition1_OHE_Norm 9584.1240 3175.648 3.018 0.003 3353.715 1.58e+04
Condition1_OHE_PosA -1570.5646 8957.572 -0.175 0.861 -1.91e+04 1.6e+04
Condition1_OHE_PosN 2006.2559 6446.011 0.311 0.756 -1.06e+04 1.47e+04
Condition1_OHE_RRAe -1.461e+04 8110.361 -1.801 0.072 -3.05e+04 1302.710
Condition1_OHE_RRAn 5895.9682 5781.315 1.020 0.308 -5446.584 1.72e+04
Condition1_OHE_RRNe -6683.7253 1.61e+04 -0.416 0.678 -3.82e+04 2.49e+04
Condition1_OHE_RRNn 4720.8981 1.17e+04 0.403 0.687 -1.83e+04 2.77e+04
Condition2_OHE_Artery 2.001e+04 2.45e+04 0.816 0.415 -2.81e+04 6.81e+04
Condition2_OHE_Feedr 1.612e+04 1.7e+04 0.949 0.343 -1.72e+04 4.95e+04
Condition2_OHE_Norm 1.434e+04 1.17e+04 1.221 0.222 -8698.454 3.74e+04
Condition2_OHE_PosA 7.161e+04 3.15e+04 2.271 0.023 9740.065 1.33e+05
Condition2_OHE_PosN -1.802e+05 2.05e+04 -8.777 0.000 -2.2e+05 -1.4e+05
Condition2_OHE_RRAe 1.586e+04 6.38e+04 0.248 0.804 -1.09e+05 1.41e+05
Condition2_OHE_RRAn 7256.3041 2.53e+04 0.287 0.774 -4.23e+04 5.69e+04
Condition2_OHE_RRNn 2.611e+04 2.01e+04 1.300 0.194 -1.33e+04 6.55e+04
BldgType_OHE_1Fam -716.5811 9984.921 -0.072 0.943 -2.03e+04 1.89e+04
BldgType_OHE_2fmCon 8059.3471 2.37e+04 0.341 0.733 -3.84e+04 5.45e+04
BldgType_OHE_Duplex -3857.5649 4671.286 -0.826 0.409 -1.3e+04 5307.186
BldgType_OHE_Twnhs -8883.8366 1.14e+04 -0.778 0.437 -3.13e+04 1.35e+04
BldgType_OHE_TwnhsE -3488.4680 1.07e+04 -0.326 0.744 -2.45e+04 1.75e+04
HouseStyle_OHE_1.5Fin -4604.0771 8092.784 -0.569 0.570 -2.05e+04 1.13e+04
HouseStyle_OHE_1.5Unf 2.016e+04 2.27e+04 0.889 0.374 -2.43e+04 6.46e+04
HouseStyle_OHE_1Story 8291.4055 6853.861 1.210 0.227 -5155.411 2.17e+04
HouseStyle_OHE_2.5Fin -2.954e+04 1.44e+04 -2.052 0.040 -5.78e+04 -1299.420
HouseStyle_OHE_2.5Unf 9664.9619 1.39e+04 0.694 0.488 -1.77e+04 3.7e+04
HouseStyle_OHE_2Story -1.393e+04 6785.508 -2.053 0.040 -2.72e+04 -619.319
HouseStyle_OHE_SFoyer 4838.1623 9922.688 0.488 0.626 -1.46e+04 2.43e+04
HouseStyle_OHE_SLvl -3756.6333 1.19e+04 -0.316 0.752 -2.71e+04 1.95e+04
RoofStyle_OHE_Flat -1.689e+04 1.73e+04 -0.975 0.330 -5.09e+04 1.71e+04
RoofStyle_OHE_Gable -1.148e+04 7732.231 -1.485 0.138 -2.66e+04 3690.317
RoofStyle_OHE_Gambrel -7415.3888 1.04e+04 -0.713 0.476 -2.78e+04 1.3e+04
RoofStyle_OHE_Hip -9351.0472 7843.684 -1.192 0.233 -2.47e+04 6037.736
RoofStyle_OHE_Mansard -481.5264 1.12e+04 -0.043 0.966 -2.24e+04 2.14e+04
RoofStyle_OHE_Shed 3.673e+04 3e+04 1.223 0.221 -2.22e+04 9.56e+04
RoofMatl_OHE_ClyTile -4.909e+05 3.37e+04 -14.583 0.000 -5.57e+05 -4.25e+05
RoofMatl_OHE_CompShg 5.286e+04 1.07e+04 4.958 0.000 3.19e+04 7.38e+04
RoofMatl_OHE_Membran 1.018e+05 2.88e+04 3.540 0.000 4.54e+04 1.58e+05
RoofMatl_OHE_Metal 6.736e+04 2.72e+04 2.474 0.014 1.39e+04 1.21e+05
RoofMatl_OHE_Roll 5.087e+04 2.61e+04 1.949 0.051 -327.761 1.02e+05
RoofMatl_OHE_Tar&Grv 4.625e+04 1.5e+04 3.084 0.002 1.68e+04 7.57e+04
RoofMatl_OHE_WdShake 4.21e+04 1.75e+04 2.400 0.017 7677.711 7.65e+04
RoofMatl_OHE_WdShngl 1.208e+05 1.44e+04 8.413 0.000 9.26e+04 1.49e+05
Exterior1st_OHE_AsbShng 9696.9557 1.27e+04 0.761 0.447 -1.53e+04 3.47e+04
Exterior1st_OHE_AsphShn -2.415e+04 3.09e+04 -0.781 0.435 -8.48e+04 3.65e+04
Exterior1st_OHE_BrkComm 1.531e+04 2.56e+04 0.598 0.550 -3.49e+04 6.56e+04
Exterior1st_OHE_BrkFace 1.711e+04 6574.131 2.602 0.009 4208.008 3e+04
Exterior1st_OHE_CBlock -1796.2630 1.35e+04 -0.133 0.894 -2.83e+04 2.48e+04
Exterior1st_OHE_CemntBd 2.217e+04 1.51e+04 1.470 0.142 -7412.081 5.18e+04
Exterior1st_OHE_HdBoard -6860.0299 5879.900 -1.167 0.244 -1.84e+04 4675.940
Exterior1st_OHE_ImStucc -1.281e+04 2.52e+04 -0.509 0.611 -6.22e+04 3.66e+04
Exterior1st_OHE_MetalSd 2689.8186 8964.917 0.300 0.764 -1.49e+04 2.03e+04
Exterior1st_OHE_Plywood -5150.1853 5983.701 -0.861 0.390 -1.69e+04 6589.436
Exterior1st_OHE_Stone -1.816e+04 2.09e+04 -0.867 0.386 -5.92e+04 2.29e+04
Exterior1st_OHE_Stucco 510.5993 9283.028 0.055 0.956 -1.77e+04 1.87e+04
Exterior1st_OHE_VinylSd -4822.0000 8171.964 -0.590 0.555 -2.09e+04 1.12e+04
Exterior1st_OHE_Wd Sdng -1860.6358 5630.041 -0.330 0.741 -1.29e+04 9185.128
Exterior1st_OHE_WdShing -769.1740 7248.323 -0.106 0.916 -1.5e+04 1.35e+04
Exterior2nd_OHE_AsbShng -3203.8250 1.19e+04 -0.269 0.788 -2.66e+04 2.02e+04
Exterior2nd_OHE_AsphShn 3915.7836 1.88e+04 0.209 0.835 -3.29e+04 4.07e+04
Exterior2nd_OHE_Brk Cmn -3173.2980 1.74e+04 -0.182 0.855 -3.74e+04 3.1e+04
Exterior2nd_OHE_BrkFace 1258.8278 7598.163 0.166 0.868 -1.36e+04 1.62e+04
Exterior2nd_OHE_CBlock -1796.2630 1.35e+04 -0.133 0.894 -2.83e+04 2.48e+04
Exterior2nd_OHE_CmentBd -1.574e+04 1.51e+04 -1.044 0.297 -4.53e+04 1.38e+04
Exterior2nd_OHE_HdBoard 6872.3491 5364.921 1.281 0.200 -3653.266 1.74e+04
Exterior2nd_OHE_ImStucc 1.311e+04 9301.970 1.409 0.159 -5144.716 3.14e+04
Exterior2nd_OHE_MetalSd 435.0711 8724.900 0.050 0.960 -1.67e+04 1.76e+04
Exterior2nd_OHE_Other -1.489e+04 2.48e+04 -0.600 0.548 -6.36e+04 3.38e+04
Exterior2nd_OHE_Plywood 3124.0477 5007.673 0.624 0.533 -6700.671 1.29e+04
Exterior2nd_OHE_Stone -5797.3288 1.44e+04 -0.402 0.688 -3.41e+04 2.25e+04
Exterior2nd_OHE_Stucco -1983.3949 8964.950 -0.221 0.825 -1.96e+04 1.56e+04
Exterior2nd_OHE_VinylSd 7700.3839 7298.120 1.055 0.292 -6618.039 2.2e+04
Exterior2nd_OHE_Wd Sdng 3585.3264 5011.472 0.715 0.474 -6246.847 1.34e+04
Exterior2nd_OHE_Wd Shng -2299.6747 5899.731 -0.390 0.697 -1.39e+04 9275.203
MasVnrType_OHE_BrkCmn -6274.5203 5517.488 -1.137 0.256 -1.71e+04 4550.421
MasVnrType_OHE_BrkFace -2262.0880 2368.739 -0.955 0.340 -6909.395 2385.219
MasVnrType_OHE_None -3672.8917 2259.807 -1.625 0.104 -8106.482 760.698
MasVnrType_OHE_Stone 3322.3963 2919.671 1.138 0.255 -2405.803 9050.596
ExterQual_OHE_Ex 1.422e+04 5116.160 2.780 0.006 4185.143 2.43e+04
ExterQual_OHE_Fa -6367.8330 8771.450 -0.726 0.468 -2.36e+04 1.08e+04
ExterQual_OHE_Gd -8843.3857 3594.454 -2.460 0.014 -1.59e+04 -1791.308
ExterQual_OHE_TA -7898.5910 3564.036 -2.216 0.027 -1.49e+04 -906.190
ExterCond_OHE_Ex 1874.0404 1.58e+04 0.118 0.906 -2.92e+04 3.3e+04
ExterCond_OHE_Fa -823.5374 8072.232 -0.102 0.919 -1.67e+04 1.5e+04
ExterCond_OHE_Gd -1806.4046 7095.527 -0.255 0.799 -1.57e+04 1.21e+04
ExterCond_OHE_Po -8032.0747 2.28e+04 -0.352 0.725 -5.29e+04 3.68e+04
ExterCond_OHE_TA -99.1272 6795.914 -0.015 0.988 -1.34e+04 1.32e+04
Foundation_OHE_BrkTil -735.2174 4378.082 -0.168 0.867 -9324.722 7854.287
Foundation_OHE_CBlock 4520.0426 3868.479 1.168 0.243 -3069.654 1.21e+04
Foundation_OHE_PConc 4739.6745 3924.169 1.208 0.227 -2959.282 1.24e+04
Foundation_OHE_Slab -6697.5708 9147.951 -0.732 0.464 -2.46e+04 1.13e+04
Foundation_OHE_Stone 5152.2702 1.07e+04 0.481 0.631 -1.59e+04 2.62e+04
Foundation_OHE_Wood -1.587e+04 1.29e+04 -1.229 0.219 -4.12e+04 9465.221
BsmtQual_OHE_Ex 1.391e+04 4262.926 3.262 0.001 5543.931 2.23e+04
BsmtQual_OHE_Fa -2292.1347 4875.000 -0.470 0.638 -1.19e+04 7272.289
BsmtQual_OHE_Gd -5966.2262 3339.328 -1.787 0.074 -1.25e+04 585.312
BsmtQual_OHE_NA -9754.4051 1e+04 -0.971 0.332 -2.95e+04 9955.272
BsmtQual_OHE_TA -4781.8426 3332.797 -1.435 0.152 -1.13e+04 1756.881
BsmtCond_OHE_Fa -4845.8247 8149.163 -0.595 0.552 -2.08e+04 1.11e+04
BsmtCond_OHE_Gd -7111.8847 8377.604 -0.849 0.396 -2.35e+04 9324.413
BsmtCond_OHE_NA -9754.4051 1e+04 -0.971 0.332 -2.95e+04 9955.272
BsmtCond_OHE_Po 1.298e+04 2.42e+04 0.537 0.591 -3.44e+04 6.04e+04
BsmtCond_OHE_TA -150.8057 7993.237 -0.019 0.985 -1.58e+04 1.55e+04
BsmtExposure_OHE_Av -1690.9167 5189.468 -0.326 0.745 -1.19e+04 8490.473
BsmtExposure_OHE_Gd 1.881e+04 5462.687 3.444 0.001 8096.549 2.95e+04
BsmtExposure_OHE_Mn -5336.8363 5397.044 -0.989 0.323 -1.59e+04 5251.801
BsmtExposure_OHE_NA -1.321e+04 1.95e+04 -0.676 0.499 -5.16e+04 2.51e+04
BsmtExposure_OHE_No -7467.7095 5089.471 -1.467 0.143 -1.75e+04 2517.491
BsmtFinType1_OHE_ALQ 1183.0046 2593.365 0.456 0.648 -3905.004 6271.013
BsmtFinType1_OHE_BLQ 2715.0436 2736.678 0.992 0.321 -2654.135 8084.222
BsmtFinType1_OHE_GLQ 4919.8223 2639.327 1.864 0.063 -258.360 1.01e+04
BsmtFinType1_OHE_LwQ -4735.4031 3382.713 -1.400 0.162 -1.14e+04 1901.253
BsmtFinType1_OHE_NA -9754.4051 1e+04 -0.971 0.332 -2.95e+04 9955.272
BsmtFinType1_OHE_Rec 1496.4299 2817.792 0.531 0.595 -4031.888 7024.748
BsmtFinType1_OHE_Unf -4711.5957 2408.305 -1.956 0.051 -9436.529 13.337
BsmtFinType2_OHE_ALQ 1997.7787 6684.893 0.299 0.765 -1.11e+04 1.51e+04
BsmtFinType2_OHE_BLQ -7776.7648 5524.662 -1.408 0.159 -1.86e+04 3062.252
BsmtFinType2_OHE_GLQ -3241.5252 7811.910 -0.415 0.678 -1.86e+04 1.21e+04
BsmtFinType2_OHE_LwQ -9113.0595 5262.793 -1.732 0.084 -1.94e+04 1212.187
BsmtFinType2_OHE_NA 1.938e+04 2.13e+04 0.911 0.362 -2.24e+04 6.11e+04
BsmtFinType2_OHE_Rec -4760.1815 5159.896 -0.923 0.356 -1.49e+04 5363.188
BsmtFinType2_OHE_Unf -5368.5507 4092.223 -1.312 0.190 -1.34e+04 2660.116
Heating_OHE_Floor 439.6600 2.34e+04 0.019 0.985 -4.55e+04 4.64e+04
Heating_OHE_GasA 3335.7938 6837.557 0.488 0.626 -1.01e+04 1.68e+04
Heating_OHE_GasW 6368.9145 8447.243 0.754 0.451 -1.02e+04 2.29e+04
Heating_OHE_Grav 1322.5788 1.18e+04 0.112 0.911 -2.19e+04 2.45e+04
Heating_OHE_OthW -3.457e+04 1.72e+04 -2.012 0.044 -6.83e+04 -859.113
Heating_OHE_Wall 1.422e+04 1.41e+04 1.006 0.315 -1.35e+04 4.2e+04
HeatingQC_OHE_Ex 2004.6743 5845.507 0.343 0.732 -9463.819 1.35e+04
HeatingQC_OHE_Fa 2442.9863 6730.368 0.363 0.717 -1.08e+04 1.56e+04
HeatingQC_OHE_Gd -1012.4556 5879.638 -0.172 0.863 -1.25e+04 1.05e+04
HeatingQC_OHE_Po -1.197e+04 2.27e+04 -0.527 0.598 -5.66e+04 3.26e+04
HeatingQC_OHE_TA -348.6333 5795.189 -0.060 0.952 -1.17e+04 1.1e+04
CentralAir_OHE_N -5246.3361 2681.618 -1.956 0.051 -1.05e+04 14.818
CentralAir_OHE_Y -3640.7675 2852.738 -1.276 0.202 -9237.649 1956.114
Electrical_OHE_FuseA -791.5328 1.09e+04 -0.072 0.942 -2.22e+04 2.06e+04
Electrical_OHE_FuseF -1438.2511 1.18e+04 -0.122 0.903 -2.45e+04 2.17e+04
Electrical_OHE_FuseP -1.348e+04 1.7e+04 -0.795 0.427 -4.68e+04 1.98e+04
Electrical_OHE_Mix 1.031e+04 3.75e+04 0.275 0.784 -6.33e+04 8.39e+04
Electrical_OHE_SBrkr -3482.1497 1.09e+04 -0.319 0.750 -2.49e+04 1.8e+04
KitchenQual_OHE_Ex 1.696e+04 3297.921 5.143 0.000 1.05e+04 2.34e+04
KitchenQual_OHE_Fa -7828.8880 4265.506 -1.835 0.067 -1.62e+04 539.748
KitchenQual_OHE_Gd -9598.4777 2218.775 -4.326 0.000 -1.4e+04 -5245.390
KitchenQual_OHE_TA -8419.3093 2131.317 -3.950 0.000 -1.26e+04 -4237.808
Functional_OHE_Maj1 -715.7203 8569.672 -0.084 0.933 -1.75e+04 1.61e+04
Functional_OHE_Maj2 -8942.8567 1.22e+04 -0.735 0.462 -3.28e+04 1.49e+04
Functional_OHE_Min1 4869.5743 6253.392 0.779 0.436 -7399.161 1.71e+04
Functional_OHE_Min2 6029.6443 6505.458 0.927 0.354 -6733.629 1.88e+04
Functional_OHE_Mod 1383.6326 8505.898 0.163 0.871 -1.53e+04 1.81e+04
Functional_OHE_Sev -3.265e+04 2.59e+04 -1.261 0.208 -8.35e+04 1.82e+04
Functional_OHE_Typ 2.114e+04 5172.138 4.088 0.000 1.1e+04 3.13e+04
GarageType_OHE_2Types -1.567e+04 9932.399 -1.578 0.115 -3.52e+04 3813.919
GarageType_OHE_Attchd 1981.8353 3076.841 0.644 0.520 -4054.720 8018.390
GarageType_OHE_Basment -1115.6943 6412.207 -0.174 0.862 -1.37e+04 1.15e+04
GarageType_OHE_BuiltIn -1923.5918 4083.332 -0.471 0.638 -9934.816 6087.633
GarageType_OHE_CarPort 3052.2831 9302.887 0.328 0.743 -1.52e+04 2.13e+04
GarageType_OHE_Detchd 3845.0677 3216.441 1.195 0.232 -2465.373 1.02e+04
GarageType_OHE_NA 945.7773 1729.266 0.547 0.585 -2446.927 4338.482
GarageFinish_OHE_Fin -2013.3263 1793.821 -1.122 0.262 -5532.684 1506.031
GarageFinish_OHE_NA 945.7773 1729.266 0.547 0.585 -2446.927 4338.482
GarageFinish_OHE_RFn -4884.6414 1679.299 -2.909 0.004 -8179.313 -1589.970
GarageFinish_OHE_Unf -2934.9133 1816.802 -1.615 0.106 -6499.357 629.530
GarageQual_OHE_Ex 9.166e+04 2.53e+04 3.624 0.000 4.2e+04 1.41e+05
GarageQual_OHE_Fa -2.851e+04 8707.863 -3.274 0.001 -4.56e+04 -1.14e+04
GarageQual_OHE_Gd -2.447e+04 1.08e+04 -2.260 0.024 -4.57e+04 -3224.112
GarageQual_OHE_NA 945.7773 1729.266 0.547 0.585 -2446.927 4338.482
GarageQual_OHE_Po -2.482e+04 2.3e+04 -1.081 0.280 -6.99e+04 2.02e+04
GarageQual_OHE_TA -2.368e+04 8441.072 -2.806 0.005 -4.02e+04 -7123.487
GarageCond_OHE_Ex -8.566e+04 2.9e+04 -2.953 0.003 -1.43e+05 -2.88e+04
GarageCond_OHE_Fa 1.788e+04 8704.218 2.054 0.040 804.321 3.5e+04
GarageCond_OHE_Gd 2.134e+04 1.14e+04 1.870 0.062 -1054.208 4.37e+04
GarageCond_OHE_NA 945.7773 1729.266 0.547 0.585 -2446.927 4338.482
GarageCond_OHE_Po 1.464e+04 1.48e+04 0.986 0.324 -1.45e+04 4.38e+04
GarageCond_OHE_TA 2.197e+04 8023.293 2.738 0.006 6227.248 3.77e+04
PavedDrive_OHE_N -786.7359 3061.162 -0.257 0.797 -6792.530 5219.058
PavedDrive_OHE_P -6025.0798 3793.883 -1.588 0.113 -1.35e+04 1418.264
PavedDrive_OHE_Y -2075.2879 2469.093 -0.841 0.401 -6919.483 2768.907
PoolQC_OHE_Ex 6.616e+04 1.82e+04 3.629 0.000 3.04e+04 1.02e+05
PoolQC_OHE_Fa -3.16e+04 2.05e+04 -1.543 0.123 -7.18e+04 8589.279
PoolQC_OHE_Gd 1.028e+04 1.71e+04 0.600 0.549 -2.33e+04 4.39e+04
PoolQC_OHE_NA -5.373e+04 9797.772 -5.484 0.000 -7.3e+04 -3.45e+04
Fence_OHE_GdPrv -7630.4719 3554.210 -2.147 0.032 -1.46e+04 -657.351
Fence_OHE_GdWo 2541.7890 3449.379 0.737 0.461 -4225.660 9309.239
Fence_OHE_MnPrv 2481.3099 2689.166 0.923 0.356 -2794.654 7757.274
Fence_OHE_MnWw -3269.8532 6239.134 -0.524 0.600 -1.55e+04 8970.910
Fence_OHE_NA -3009.8774 2359.220 -1.276 0.202 -7638.509 1618.755
MiscFeature_OHE_Gar2 -1.054e+05 7.98e+04 -1.320 0.187 -2.62e+05 5.12e+04
MiscFeature_OHE_NA 3.343e+04 2.8e+04 1.194 0.233 -2.15e+04 8.83e+04
MiscFeature_OHE_Othr 3.893e+04 2.48e+04 1.568 0.117 -9766.082 8.76e+04
MiscFeature_OHE_Shed 3.175e+04 2.37e+04 1.339 0.181 -1.48e+04 7.83e+04
MiscFeature_OHE_TenC -7590.1330 3.26e+04 -0.233 0.816 -7.15e+04 5.64e+04
SaleType_OHE_COD -1.36e+04 5758.295 -2.362 0.018 -2.49e+04 -2304.596
SaleType_OHE_CWD -2098.4435 1.21e+04 -0.174 0.862 -2.58e+04 2.16e+04
SaleType_OHE_Con 1.011e+04 1.65e+04 0.611 0.541 -2.23e+04 4.26e+04
SaleType_OHE_ConLD 1248.1659 9025.417 0.138 0.890 -1.65e+04 1.9e+04
SaleType_OHE_ConLI -2735.0310 1.09e+04 -0.251 0.802 -2.41e+04 1.87e+04
SaleType_OHE_ConLw -9016.4938 1.15e+04 -0.787 0.431 -3.15e+04 1.35e+04
SaleType_OHE_New 2.217e+04 1.42e+04 1.566 0.118 -5606.285 4.99e+04
SaleType_OHE_Oth -1335.1238 1.38e+04 -0.097 0.923 -2.84e+04 2.58e+04
SaleType_OHE_WD -1.363e+04 4322.187 -3.154 0.002 -2.21e+04 -5150.580
SaleCondition_OHE_Abnorml -4331.4298 4710.968 -0.919 0.358 -1.36e+04 4911.173
SaleCondition_OHE_AdjLand 9443.5614 1.31e+04 0.722 0.471 -1.62e+04 3.51e+04
SaleCondition_OHE_Alloca 3457.3320 8613.688 0.401 0.688 -1.34e+04 2.04e+04
SaleCondition_OHE_Family -3097.8496 6351.270 -0.488 0.626 -1.56e+04 9362.916
SaleCondition_OHE_Normal 3316.2751 4173.754 0.795 0.427 -4872.350 1.15e+04
SaleCondition_OHE_Partial -1.767e+04 1.33e+04 -1.327 0.185 -4.38e+04 8450.767
MSSubClass_OHE_20.0 7963.2412 6544.517 1.217 0.224 -4876.663 2.08e+04
MSSubClass_OHE_30.0 9157.7316 7559.871 1.211 0.226 -5674.228 2.4e+04
MSSubClass_OHE_40.0 -4097.6267 1.82e+04 -0.226 0.822 -3.97e+04 3.15e+04
MSSubClass_OHE_45.0 618.1253 2.53e+04 0.024 0.981 -4.9e+04 5.03e+04
MSSubClass_OHE_50.0 1.106e+04 8962.787 1.235 0.217 -6519.392 2.86e+04
MSSubClass_OHE_60.0 1.361e+04 7755.112 1.756 0.079 -1600.793 2.88e+04
MSSubClass_OHE_70.0 1.665e+04 7990.503 2.084 0.037 972.058 3.23e+04
MSSubClass_OHE_75.0 -1.453e+04 1.54e+04 -0.946 0.344 -4.47e+04 1.56e+04
MSSubClass_OHE_80.0 8460.2993 1.26e+04 0.671 0.502 -1.63e+04 3.32e+04
MSSubClass_OHE_85.0 14.9640 1.12e+04 0.001 0.999 -2.19e+04 2.19e+04
MSSubClass_OHE_90.0 -3857.5649 4671.286 -0.826 0.409 -1.3e+04 5307.186
MSSubClass_OHE_120.0 -1.566e+04 1.31e+04 -1.197 0.231 -4.13e+04 1e+04
MSSubClass_OHE_160.0 -9945.8069 1.49e+04 -0.669 0.503 -3.91e+04 1.92e+04
MSSubClass_OHE_180.0 -2.013e+04 1.74e+04 -1.157 0.248 -5.43e+04 1.4e+04
MSSubClass_OHE_190.0 -8199.1071 2.76e+04 -0.297 0.767 -6.24e+04 4.6e+04
\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
Omnibus: 373.078 Durbin-Watson: 1.937
Prob(Omnibus): 0.000 Jarque-Bera (JB): 9764.841
Skew: 0.588 Prob(JB): 0.00
Kurtosis: 15.654 Cond. No. 1.47e+19


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The smallest eigenvalue is 1.73e-29. This might indicate that there are
strong multicollinearity problems or that the design matrix is singular." + ], + "text/plain": [ + "\n", + "\"\"\"\n", + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: SalePrice R-squared: 0.923\n", + "Model: OLS Adj. R-squared: 0.908\n", + "Method: Least Squares F-statistic: 59.41\n", + "Date: Fri, 22 Apr 2022 Prob (F-statistic): 0.00\n", + "Time: 11:20:06 Log-Likelihood: -16565.\n", + "No. Observations: 1451 AIC: 3.362e+04\n", + "Df Residuals: 1206 BIC: 3.491e+04\n", + "Df Model: 244 \n", + "Covariance Type: nonrobust \n", + "=============================================================================================\n", + " coef std err t P>|t| [0.025 0.975]\n", + "---------------------------------------------------------------------------------------------\n", + "LotFrontage 9.1690 24.385 0.376 0.707 -38.674 57.012\n", + "OverallQual 6443.4507 1098.337 5.867 0.000 4288.587 8598.315\n", + "OverallCond 5761.3467 921.305 6.253 0.000 3953.808 7568.885\n", + "GrLivArea 71.2724 3.926 18.155 0.000 63.570 78.975\n", + "BsmtFullBath 7808.0939 1862.581 4.192 0.000 4153.836 1.15e+04\n", + "BsmtHalfBath 2704.3964 3161.287 0.855 0.392 -3497.837 8906.630\n", + "FullBath 4353.2284 2358.076 1.846 0.065 -273.159 8979.616\n", + "HalfBath 1125.2313 2213.287 0.508 0.611 -3217.089 5467.552\n", + "BedroomAbvGr -4678.0376 1473.399 -3.175 0.002 -7568.747 -1787.328\n", + "KitchenAbvGr -1.089e+04 6648.976 -1.639 0.102 -2.39e+04 2150.473\n", + "TotRmsAbvGrd 1013.7051 1016.102 0.998 0.319 -979.818 3007.228\n", + "GarageCars 8663.3405 1708.010 5.072 0.000 5312.340 1.2e+04\n", + "MiscVal 9.0392 6.684 1.352 0.177 -4.074 22.153\n", + "MoSold -510.0946 260.244 -1.960 0.050 -1020.675 0.486\n", + "AgeAtSale -305.4555 85.143 -3.588 0.000 -472.501 -138.410\n", + "YearsSinceRemodel -27.7465 58.392 -0.475 0.635 -142.308 86.815\n", + "HasDeck 1621.8650 1585.671 1.023 0.307 -1489.115 4732.845\n", + "HasPorch 1870.3246 1739.962 1.075 0.283 -1543.365 5284.014\n", + "HasFireplace 2375.0085 1818.079 1.306 0.192 -1191.941 5941.958\n", + "HasFence -5877.2263 2031.768 -2.893 0.004 -9863.419 -1891.033\n", + "Intercept -8887.1036 3683.133 -2.413 0.016 -1.61e+04 -1661.044\n", + "MSZoning_OHE_C (all) -2.978e+04 8731.959 -3.411 0.001 -4.69e+04 -1.27e+04\n", + "MSZoning_OHE_FV 1.271e+04 6497.547 1.957 0.051 -33.757 2.55e+04\n", + "MSZoning_OHE_RH 4234.7895 6421.424 0.659 0.510 -8363.614 1.68e+04\n", + "MSZoning_OHE_RL 4630.5784 3487.791 1.328 0.185 -2212.233 1.15e+04\n", + "MSZoning_OHE_RM -682.4301 3937.317 -0.173 0.862 -8407.183 7042.323\n", + "Street_OHE_Grvl -8776.6589 6992.025 -1.255 0.210 -2.25e+04 4941.225\n", + "Street_OHE_Pave -110.4448 6575.318 -0.017 0.987 -1.3e+04 1.28e+04\n", + "Alley_OHE_Grvl -1810.1857 3604.374 -0.502 0.616 -8881.726 5261.355\n", + "Alley_OHE_NA -4693.0936 2616.409 -1.794 0.073 -9826.313 440.125\n", + "Alley_OHE_Pave -2383.8243 3913.934 -0.609 0.543 -1.01e+04 5295.053\n", + "LotShape_OHE_IR1 -1.047e+04 2822.356 -3.711 0.000 -1.6e+04 -4935.205\n", + "LotShape_OHE_IR2 -2372.8849 3985.625 -0.595 0.552 -1.02e+04 5446.644\n", + "LotShape_OHE_IR3 1.303e+04 6882.455 1.894 0.059 -469.573 2.65e+04\n", + "LotShape_OHE_Reg -9075.0815 2919.659 -3.108 0.002 -1.48e+04 -3346.907\n", + "LandContour_OHE_Bnk -8623.9473 3406.031 -2.532 0.011 -1.53e+04 -1941.544\n", + "LandContour_OHE_HLS 2046.0477 3508.549 0.583 0.560 -4837.490 8929.585\n", + "LandContour_OHE_Low -2995.0390 4504.323 -0.665 0.506 -1.18e+04 5842.141\n", + "LandContour_OHE_Lvl 685.8349 2559.439 0.268 0.789 -4335.612 5707.282\n", + "Utilities_OHE_AllPub 9427.5382 1.43e+04 0.658 0.511 -1.87e+04 3.75e+04\n", + "Utilities_OHE_NoSeWa -1.831e+04 1.58e+04 -1.161 0.246 -4.93e+04 1.26e+04\n", + "LotConfig_OHE_Corner 1416.0814 3192.892 0.444 0.657 -4848.159 7680.322\n", + "LotConfig_OHE_CulDSac 1.221e+04 3776.342 3.234 0.001 4803.547 1.96e+04\n", + "LotConfig_OHE_FR2 -5854.6021 4099.815 -1.428 0.154 -1.39e+04 2188.960\n", + "LotConfig_OHE_FR3 -1.593e+04 1.07e+04 -1.487 0.137 -3.69e+04 5082.020\n", + "LotConfig_OHE_Inside -728.1482 3025.508 -0.241 0.810 -6663.992 5207.696\n", + "LandSlope_OHE_Gtl -4550.2129 4120.952 -1.104 0.270 -1.26e+04 3534.819\n", + "LandSlope_OHE_Mod 1596.2168 4053.999 0.394 0.694 -6357.457 9549.891\n", + "LandSlope_OHE_Sev -5933.1075 6686.760 -0.887 0.375 -1.91e+04 7185.867\n", + "Neighborhood_OHE_Blmngtn -8611.0187 7466.688 -1.153 0.249 -2.33e+04 6038.122\n", + "Neighborhood_OHE_Blueste 8758.5694 1.88e+04 0.465 0.642 -2.82e+04 4.57e+04\n", + "Neighborhood_OHE_BrDale 7873.6626 8884.523 0.886 0.376 -9557.175 2.53e+04\n", + "Neighborhood_OHE_BrkSide -2860.6985 5242.223 -0.546 0.585 -1.31e+04 7424.192\n", + "Neighborhood_OHE_ClearCr -7321.5088 5986.224 -1.223 0.222 -1.91e+04 4423.061\n", + "Neighborhood_OHE_CollgCr -7448.2921 3217.816 -2.315 0.021 -1.38e+04 -1135.153\n", + "Neighborhood_OHE_Crawfor 1.347e+04 4666.804 2.885 0.004 4310.036 2.26e+04\n", + "Neighborhood_OHE_Edwards -1.837e+04 3377.030 -5.441 0.000 -2.5e+04 -1.17e+04\n", + "Neighborhood_OHE_Gilbert -1.216e+04 4007.323 -3.036 0.002 -2e+04 -4302.317\n", + "Neighborhood_OHE_IDOTRR -8124.2762 7043.131 -1.154 0.249 -2.19e+04 5693.874\n", + "Neighborhood_OHE_MeadowV -4486.2237 9507.217 -0.472 0.637 -2.31e+04 1.42e+04\n", + "Neighborhood_OHE_Mitchel -1.792e+04 4222.368 -4.245 0.000 -2.62e+04 -9640.032\n", + "Neighborhood_OHE_NAmes -1.482e+04 2980.842 -4.970 0.000 -2.07e+04 -8967.059\n", + "Neighborhood_OHE_NPkVill 1.457e+04 1.3e+04 1.117 0.264 -1.1e+04 4.01e+04\n", + "Neighborhood_OHE_NWAmes -1.563e+04 3810.048 -4.103 0.000 -2.31e+04 -8155.691\n", + "Neighborhood_OHE_NoRidge 3.405e+04 5108.666 6.664 0.000 2.4e+04 4.41e+04\n", + "Neighborhood_OHE_NridgHt 2.408e+04 4495.108 5.357 0.000 1.53e+04 3.29e+04\n", + "Neighborhood_OHE_OldTown -1.378e+04 5188.658 -2.656 0.008 -2.4e+04 -3600.088\n", + "Neighborhood_OHE_SWISU -1.101e+04 6473.184 -1.700 0.089 -2.37e+04 1694.043\n", + "Neighborhood_OHE_Sawyer -9096.5155 3707.536 -2.454 0.014 -1.64e+04 -1822.579\n", + "Neighborhood_OHE_SawyerW -2713.1583 4030.968 -0.673 0.501 -1.06e+04 5195.331\n", + "Neighborhood_OHE_Somerst 473.0768 6378.177 0.074 0.941 -1.2e+04 1.3e+04\n", + "Neighborhood_OHE_StoneBr 4.238e+04 5929.178 7.148 0.000 3.08e+04 5.4e+04\n", + "Neighborhood_OHE_Timber -4534.9132 4950.992 -0.916 0.360 -1.42e+04 5178.602\n", + "Neighborhood_OHE_Veenker 4353.6079 8133.294 0.535 0.593 -1.16e+04 2.03e+04\n", + "Condition1_OHE_Artery -7801.2753 5084.697 -1.534 0.125 -1.78e+04 2174.560\n", + "Condition1_OHE_Feedr -429.5102 4172.041 -0.103 0.918 -8614.775 7755.754\n", + "Condition1_OHE_Norm 9584.1240 3175.648 3.018 0.003 3353.715 1.58e+04\n", + "Condition1_OHE_PosA -1570.5646 8957.572 -0.175 0.861 -1.91e+04 1.6e+04\n", + "Condition1_OHE_PosN 2006.2559 6446.011 0.311 0.756 -1.06e+04 1.47e+04\n", + "Condition1_OHE_RRAe -1.461e+04 8110.361 -1.801 0.072 -3.05e+04 1302.710\n", + "Condition1_OHE_RRAn 5895.9682 5781.315 1.020 0.308 -5446.584 1.72e+04\n", + "Condition1_OHE_RRNe -6683.7253 1.61e+04 -0.416 0.678 -3.82e+04 2.49e+04\n", + "Condition1_OHE_RRNn 4720.8981 1.17e+04 0.403 0.687 -1.83e+04 2.77e+04\n", + "Condition2_OHE_Artery 2.001e+04 2.45e+04 0.816 0.415 -2.81e+04 6.81e+04\n", + "Condition2_OHE_Feedr 1.612e+04 1.7e+04 0.949 0.343 -1.72e+04 4.95e+04\n", + "Condition2_OHE_Norm 1.434e+04 1.17e+04 1.221 0.222 -8698.454 3.74e+04\n", + "Condition2_OHE_PosA 7.161e+04 3.15e+04 2.271 0.023 9740.065 1.33e+05\n", + "Condition2_OHE_PosN -1.802e+05 2.05e+04 -8.777 0.000 -2.2e+05 -1.4e+05\n", + "Condition2_OHE_RRAe 1.586e+04 6.38e+04 0.248 0.804 -1.09e+05 1.41e+05\n", + "Condition2_OHE_RRAn 7256.3041 2.53e+04 0.287 0.774 -4.23e+04 5.69e+04\n", + "Condition2_OHE_RRNn 2.611e+04 2.01e+04 1.300 0.194 -1.33e+04 6.55e+04\n", + "BldgType_OHE_1Fam -716.5811 9984.921 -0.072 0.943 -2.03e+04 1.89e+04\n", + "BldgType_OHE_2fmCon 8059.3471 2.37e+04 0.341 0.733 -3.84e+04 5.45e+04\n", + "BldgType_OHE_Duplex -3857.5649 4671.286 -0.826 0.409 -1.3e+04 5307.186\n", + "BldgType_OHE_Twnhs -8883.8366 1.14e+04 -0.778 0.437 -3.13e+04 1.35e+04\n", + "BldgType_OHE_TwnhsE -3488.4680 1.07e+04 -0.326 0.744 -2.45e+04 1.75e+04\n", + "HouseStyle_OHE_1.5Fin -4604.0771 8092.784 -0.569 0.570 -2.05e+04 1.13e+04\n", + "HouseStyle_OHE_1.5Unf 2.016e+04 2.27e+04 0.889 0.374 -2.43e+04 6.46e+04\n", + "HouseStyle_OHE_1Story 8291.4055 6853.861 1.210 0.227 -5155.411 2.17e+04\n", + "HouseStyle_OHE_2.5Fin -2.954e+04 1.44e+04 -2.052 0.040 -5.78e+04 -1299.420\n", + "HouseStyle_OHE_2.5Unf 9664.9619 1.39e+04 0.694 0.488 -1.77e+04 3.7e+04\n", + "HouseStyle_OHE_2Story -1.393e+04 6785.508 -2.053 0.040 -2.72e+04 -619.319\n", + "HouseStyle_OHE_SFoyer 4838.1623 9922.688 0.488 0.626 -1.46e+04 2.43e+04\n", + "HouseStyle_OHE_SLvl -3756.6333 1.19e+04 -0.316 0.752 -2.71e+04 1.95e+04\n", + "RoofStyle_OHE_Flat -1.689e+04 1.73e+04 -0.975 0.330 -5.09e+04 1.71e+04\n", + "RoofStyle_OHE_Gable -1.148e+04 7732.231 -1.485 0.138 -2.66e+04 3690.317\n", + "RoofStyle_OHE_Gambrel -7415.3888 1.04e+04 -0.713 0.476 -2.78e+04 1.3e+04\n", + "RoofStyle_OHE_Hip -9351.0472 7843.684 -1.192 0.233 -2.47e+04 6037.736\n", + "RoofStyle_OHE_Mansard -481.5264 1.12e+04 -0.043 0.966 -2.24e+04 2.14e+04\n", + "RoofStyle_OHE_Shed 3.673e+04 3e+04 1.223 0.221 -2.22e+04 9.56e+04\n", + "RoofMatl_OHE_ClyTile -4.909e+05 3.37e+04 -14.583 0.000 -5.57e+05 -4.25e+05\n", + "RoofMatl_OHE_CompShg 5.286e+04 1.07e+04 4.958 0.000 3.19e+04 7.38e+04\n", + "RoofMatl_OHE_Membran 1.018e+05 2.88e+04 3.540 0.000 4.54e+04 1.58e+05\n", + "RoofMatl_OHE_Metal 6.736e+04 2.72e+04 2.474 0.014 1.39e+04 1.21e+05\n", + "RoofMatl_OHE_Roll 5.087e+04 2.61e+04 1.949 0.051 -327.761 1.02e+05\n", + "RoofMatl_OHE_Tar&Grv 4.625e+04 1.5e+04 3.084 0.002 1.68e+04 7.57e+04\n", + "RoofMatl_OHE_WdShake 4.21e+04 1.75e+04 2.400 0.017 7677.711 7.65e+04\n", + "RoofMatl_OHE_WdShngl 1.208e+05 1.44e+04 8.413 0.000 9.26e+04 1.49e+05\n", + "Exterior1st_OHE_AsbShng 9696.9557 1.27e+04 0.761 0.447 -1.53e+04 3.47e+04\n", + "Exterior1st_OHE_AsphShn -2.415e+04 3.09e+04 -0.781 0.435 -8.48e+04 3.65e+04\n", + "Exterior1st_OHE_BrkComm 1.531e+04 2.56e+04 0.598 0.550 -3.49e+04 6.56e+04\n", + "Exterior1st_OHE_BrkFace 1.711e+04 6574.131 2.602 0.009 4208.008 3e+04\n", + "Exterior1st_OHE_CBlock -1796.2630 1.35e+04 -0.133 0.894 -2.83e+04 2.48e+04\n", + "Exterior1st_OHE_CemntBd 2.217e+04 1.51e+04 1.470 0.142 -7412.081 5.18e+04\n", + "Exterior1st_OHE_HdBoard -6860.0299 5879.900 -1.167 0.244 -1.84e+04 4675.940\n", + "Exterior1st_OHE_ImStucc -1.281e+04 2.52e+04 -0.509 0.611 -6.22e+04 3.66e+04\n", + "Exterior1st_OHE_MetalSd 2689.8186 8964.917 0.300 0.764 -1.49e+04 2.03e+04\n", + "Exterior1st_OHE_Plywood -5150.1853 5983.701 -0.861 0.390 -1.69e+04 6589.436\n", + "Exterior1st_OHE_Stone -1.816e+04 2.09e+04 -0.867 0.386 -5.92e+04 2.29e+04\n", + "Exterior1st_OHE_Stucco 510.5993 9283.028 0.055 0.956 -1.77e+04 1.87e+04\n", + "Exterior1st_OHE_VinylSd -4822.0000 8171.964 -0.590 0.555 -2.09e+04 1.12e+04\n", + "Exterior1st_OHE_Wd Sdng -1860.6358 5630.041 -0.330 0.741 -1.29e+04 9185.128\n", + "Exterior1st_OHE_WdShing -769.1740 7248.323 -0.106 0.916 -1.5e+04 1.35e+04\n", + "Exterior2nd_OHE_AsbShng -3203.8250 1.19e+04 -0.269 0.788 -2.66e+04 2.02e+04\n", + "Exterior2nd_OHE_AsphShn 3915.7836 1.88e+04 0.209 0.835 -3.29e+04 4.07e+04\n", + "Exterior2nd_OHE_Brk Cmn -3173.2980 1.74e+04 -0.182 0.855 -3.74e+04 3.1e+04\n", + "Exterior2nd_OHE_BrkFace 1258.8278 7598.163 0.166 0.868 -1.36e+04 1.62e+04\n", + "Exterior2nd_OHE_CBlock -1796.2630 1.35e+04 -0.133 0.894 -2.83e+04 2.48e+04\n", + "Exterior2nd_OHE_CmentBd -1.574e+04 1.51e+04 -1.044 0.297 -4.53e+04 1.38e+04\n", + "Exterior2nd_OHE_HdBoard 6872.3491 5364.921 1.281 0.200 -3653.266 1.74e+04\n", + "Exterior2nd_OHE_ImStucc 1.311e+04 9301.970 1.409 0.159 -5144.716 3.14e+04\n", + "Exterior2nd_OHE_MetalSd 435.0711 8724.900 0.050 0.960 -1.67e+04 1.76e+04\n", + "Exterior2nd_OHE_Other -1.489e+04 2.48e+04 -0.600 0.548 -6.36e+04 3.38e+04\n", + "Exterior2nd_OHE_Plywood 3124.0477 5007.673 0.624 0.533 -6700.671 1.29e+04\n", + "Exterior2nd_OHE_Stone -5797.3288 1.44e+04 -0.402 0.688 -3.41e+04 2.25e+04\n", + "Exterior2nd_OHE_Stucco -1983.3949 8964.950 -0.221 0.825 -1.96e+04 1.56e+04\n", + "Exterior2nd_OHE_VinylSd 7700.3839 7298.120 1.055 0.292 -6618.039 2.2e+04\n", + "Exterior2nd_OHE_Wd Sdng 3585.3264 5011.472 0.715 0.474 -6246.847 1.34e+04\n", + "Exterior2nd_OHE_Wd Shng -2299.6747 5899.731 -0.390 0.697 -1.39e+04 9275.203\n", + "MasVnrType_OHE_BrkCmn -6274.5203 5517.488 -1.137 0.256 -1.71e+04 4550.421\n", + "MasVnrType_OHE_BrkFace -2262.0880 2368.739 -0.955 0.340 -6909.395 2385.219\n", + "MasVnrType_OHE_None -3672.8917 2259.807 -1.625 0.104 -8106.482 760.698\n", + "MasVnrType_OHE_Stone 3322.3963 2919.671 1.138 0.255 -2405.803 9050.596\n", + "ExterQual_OHE_Ex 1.422e+04 5116.160 2.780 0.006 4185.143 2.43e+04\n", + "ExterQual_OHE_Fa -6367.8330 8771.450 -0.726 0.468 -2.36e+04 1.08e+04\n", + "ExterQual_OHE_Gd -8843.3857 3594.454 -2.460 0.014 -1.59e+04 -1791.308\n", + "ExterQual_OHE_TA -7898.5910 3564.036 -2.216 0.027 -1.49e+04 -906.190\n", + "ExterCond_OHE_Ex 1874.0404 1.58e+04 0.118 0.906 -2.92e+04 3.3e+04\n", + "ExterCond_OHE_Fa -823.5374 8072.232 -0.102 0.919 -1.67e+04 1.5e+04\n", + "ExterCond_OHE_Gd -1806.4046 7095.527 -0.255 0.799 -1.57e+04 1.21e+04\n", + "ExterCond_OHE_Po -8032.0747 2.28e+04 -0.352 0.725 -5.29e+04 3.68e+04\n", + "ExterCond_OHE_TA -99.1272 6795.914 -0.015 0.988 -1.34e+04 1.32e+04\n", + "Foundation_OHE_BrkTil -735.2174 4378.082 -0.168 0.867 -9324.722 7854.287\n", + "Foundation_OHE_CBlock 4520.0426 3868.479 1.168 0.243 -3069.654 1.21e+04\n", + "Foundation_OHE_PConc 4739.6745 3924.169 1.208 0.227 -2959.282 1.24e+04\n", + "Foundation_OHE_Slab -6697.5708 9147.951 -0.732 0.464 -2.46e+04 1.13e+04\n", + "Foundation_OHE_Stone 5152.2702 1.07e+04 0.481 0.631 -1.59e+04 2.62e+04\n", + "Foundation_OHE_Wood -1.587e+04 1.29e+04 -1.229 0.219 -4.12e+04 9465.221\n", + "BsmtQual_OHE_Ex 1.391e+04 4262.926 3.262 0.001 5543.931 2.23e+04\n", + "BsmtQual_OHE_Fa -2292.1347 4875.000 -0.470 0.638 -1.19e+04 7272.289\n", + "BsmtQual_OHE_Gd -5966.2262 3339.328 -1.787 0.074 -1.25e+04 585.312\n", + "BsmtQual_OHE_NA -9754.4051 1e+04 -0.971 0.332 -2.95e+04 9955.272\n", + "BsmtQual_OHE_TA -4781.8426 3332.797 -1.435 0.152 -1.13e+04 1756.881\n", + "BsmtCond_OHE_Fa -4845.8247 8149.163 -0.595 0.552 -2.08e+04 1.11e+04\n", + "BsmtCond_OHE_Gd -7111.8847 8377.604 -0.849 0.396 -2.35e+04 9324.413\n", + "BsmtCond_OHE_NA -9754.4051 1e+04 -0.971 0.332 -2.95e+04 9955.272\n", + "BsmtCond_OHE_Po 1.298e+04 2.42e+04 0.537 0.591 -3.44e+04 6.04e+04\n", + "BsmtCond_OHE_TA -150.8057 7993.237 -0.019 0.985 -1.58e+04 1.55e+04\n", + "BsmtExposure_OHE_Av -1690.9167 5189.468 -0.326 0.745 -1.19e+04 8490.473\n", + "BsmtExposure_OHE_Gd 1.881e+04 5462.687 3.444 0.001 8096.549 2.95e+04\n", + "BsmtExposure_OHE_Mn -5336.8363 5397.044 -0.989 0.323 -1.59e+04 5251.801\n", + "BsmtExposure_OHE_NA -1.321e+04 1.95e+04 -0.676 0.499 -5.16e+04 2.51e+04\n", + "BsmtExposure_OHE_No -7467.7095 5089.471 -1.467 0.143 -1.75e+04 2517.491\n", + "BsmtFinType1_OHE_ALQ 1183.0046 2593.365 0.456 0.648 -3905.004 6271.013\n", + "BsmtFinType1_OHE_BLQ 2715.0436 2736.678 0.992 0.321 -2654.135 8084.222\n", + "BsmtFinType1_OHE_GLQ 4919.8223 2639.327 1.864 0.063 -258.360 1.01e+04\n", + "BsmtFinType1_OHE_LwQ -4735.4031 3382.713 -1.400 0.162 -1.14e+04 1901.253\n", + "BsmtFinType1_OHE_NA -9754.4051 1e+04 -0.971 0.332 -2.95e+04 9955.272\n", + "BsmtFinType1_OHE_Rec 1496.4299 2817.792 0.531 0.595 -4031.888 7024.748\n", + "BsmtFinType1_OHE_Unf -4711.5957 2408.305 -1.956 0.051 -9436.529 13.337\n", + "BsmtFinType2_OHE_ALQ 1997.7787 6684.893 0.299 0.765 -1.11e+04 1.51e+04\n", + "BsmtFinType2_OHE_BLQ -7776.7648 5524.662 -1.408 0.159 -1.86e+04 3062.252\n", + "BsmtFinType2_OHE_GLQ -3241.5252 7811.910 -0.415 0.678 -1.86e+04 1.21e+04\n", + "BsmtFinType2_OHE_LwQ -9113.0595 5262.793 -1.732 0.084 -1.94e+04 1212.187\n", + "BsmtFinType2_OHE_NA 1.938e+04 2.13e+04 0.911 0.362 -2.24e+04 6.11e+04\n", + "BsmtFinType2_OHE_Rec -4760.1815 5159.896 -0.923 0.356 -1.49e+04 5363.188\n", + "BsmtFinType2_OHE_Unf -5368.5507 4092.223 -1.312 0.190 -1.34e+04 2660.116\n", + "Heating_OHE_Floor 439.6600 2.34e+04 0.019 0.985 -4.55e+04 4.64e+04\n", + "Heating_OHE_GasA 3335.7938 6837.557 0.488 0.626 -1.01e+04 1.68e+04\n", + "Heating_OHE_GasW 6368.9145 8447.243 0.754 0.451 -1.02e+04 2.29e+04\n", + "Heating_OHE_Grav 1322.5788 1.18e+04 0.112 0.911 -2.19e+04 2.45e+04\n", + "Heating_OHE_OthW -3.457e+04 1.72e+04 -2.012 0.044 -6.83e+04 -859.113\n", + "Heating_OHE_Wall 1.422e+04 1.41e+04 1.006 0.315 -1.35e+04 4.2e+04\n", + "HeatingQC_OHE_Ex 2004.6743 5845.507 0.343 0.732 -9463.819 1.35e+04\n", + "HeatingQC_OHE_Fa 2442.9863 6730.368 0.363 0.717 -1.08e+04 1.56e+04\n", + "HeatingQC_OHE_Gd -1012.4556 5879.638 -0.172 0.863 -1.25e+04 1.05e+04\n", + "HeatingQC_OHE_Po -1.197e+04 2.27e+04 -0.527 0.598 -5.66e+04 3.26e+04\n", + "HeatingQC_OHE_TA -348.6333 5795.189 -0.060 0.952 -1.17e+04 1.1e+04\n", + "CentralAir_OHE_N -5246.3361 2681.618 -1.956 0.051 -1.05e+04 14.818\n", + "CentralAir_OHE_Y -3640.7675 2852.738 -1.276 0.202 -9237.649 1956.114\n", + "Electrical_OHE_FuseA -791.5328 1.09e+04 -0.072 0.942 -2.22e+04 2.06e+04\n", + "Electrical_OHE_FuseF -1438.2511 1.18e+04 -0.122 0.903 -2.45e+04 2.17e+04\n", + "Electrical_OHE_FuseP -1.348e+04 1.7e+04 -0.795 0.427 -4.68e+04 1.98e+04\n", + "Electrical_OHE_Mix 1.031e+04 3.75e+04 0.275 0.784 -6.33e+04 8.39e+04\n", + "Electrical_OHE_SBrkr -3482.1497 1.09e+04 -0.319 0.750 -2.49e+04 1.8e+04\n", + "KitchenQual_OHE_Ex 1.696e+04 3297.921 5.143 0.000 1.05e+04 2.34e+04\n", + "KitchenQual_OHE_Fa -7828.8880 4265.506 -1.835 0.067 -1.62e+04 539.748\n", + "KitchenQual_OHE_Gd -9598.4777 2218.775 -4.326 0.000 -1.4e+04 -5245.390\n", + "KitchenQual_OHE_TA -8419.3093 2131.317 -3.950 0.000 -1.26e+04 -4237.808\n", + "Functional_OHE_Maj1 -715.7203 8569.672 -0.084 0.933 -1.75e+04 1.61e+04\n", + "Functional_OHE_Maj2 -8942.8567 1.22e+04 -0.735 0.462 -3.28e+04 1.49e+04\n", + "Functional_OHE_Min1 4869.5743 6253.392 0.779 0.436 -7399.161 1.71e+04\n", + "Functional_OHE_Min2 6029.6443 6505.458 0.927 0.354 -6733.629 1.88e+04\n", + "Functional_OHE_Mod 1383.6326 8505.898 0.163 0.871 -1.53e+04 1.81e+04\n", + "Functional_OHE_Sev -3.265e+04 2.59e+04 -1.261 0.208 -8.35e+04 1.82e+04\n", + "Functional_OHE_Typ 2.114e+04 5172.138 4.088 0.000 1.1e+04 3.13e+04\n", + "GarageType_OHE_2Types -1.567e+04 9932.399 -1.578 0.115 -3.52e+04 3813.919\n", + "GarageType_OHE_Attchd 1981.8353 3076.841 0.644 0.520 -4054.720 8018.390\n", + "GarageType_OHE_Basment -1115.6943 6412.207 -0.174 0.862 -1.37e+04 1.15e+04\n", + "GarageType_OHE_BuiltIn -1923.5918 4083.332 -0.471 0.638 -9934.816 6087.633\n", + "GarageType_OHE_CarPort 3052.2831 9302.887 0.328 0.743 -1.52e+04 2.13e+04\n", + "GarageType_OHE_Detchd 3845.0677 3216.441 1.195 0.232 -2465.373 1.02e+04\n", + "GarageType_OHE_NA 945.7773 1729.266 0.547 0.585 -2446.927 4338.482\n", + "GarageFinish_OHE_Fin -2013.3263 1793.821 -1.122 0.262 -5532.684 1506.031\n", + "GarageFinish_OHE_NA 945.7773 1729.266 0.547 0.585 -2446.927 4338.482\n", + "GarageFinish_OHE_RFn -4884.6414 1679.299 -2.909 0.004 -8179.313 -1589.970\n", + "GarageFinish_OHE_Unf -2934.9133 1816.802 -1.615 0.106 -6499.357 629.530\n", + "GarageQual_OHE_Ex 9.166e+04 2.53e+04 3.624 0.000 4.2e+04 1.41e+05\n", + "GarageQual_OHE_Fa -2.851e+04 8707.863 -3.274 0.001 -4.56e+04 -1.14e+04\n", + "GarageQual_OHE_Gd -2.447e+04 1.08e+04 -2.260 0.024 -4.57e+04 -3224.112\n", + "GarageQual_OHE_NA 945.7773 1729.266 0.547 0.585 -2446.927 4338.482\n", + "GarageQual_OHE_Po -2.482e+04 2.3e+04 -1.081 0.280 -6.99e+04 2.02e+04\n", + "GarageQual_OHE_TA -2.368e+04 8441.072 -2.806 0.005 -4.02e+04 -7123.487\n", + "GarageCond_OHE_Ex -8.566e+04 2.9e+04 -2.953 0.003 -1.43e+05 -2.88e+04\n", + "GarageCond_OHE_Fa 1.788e+04 8704.218 2.054 0.040 804.321 3.5e+04\n", + "GarageCond_OHE_Gd 2.134e+04 1.14e+04 1.870 0.062 -1054.208 4.37e+04\n", + "GarageCond_OHE_NA 945.7773 1729.266 0.547 0.585 -2446.927 4338.482\n", + "GarageCond_OHE_Po 1.464e+04 1.48e+04 0.986 0.324 -1.45e+04 4.38e+04\n", + "GarageCond_OHE_TA 2.197e+04 8023.293 2.738 0.006 6227.248 3.77e+04\n", + "PavedDrive_OHE_N -786.7359 3061.162 -0.257 0.797 -6792.530 5219.058\n", + "PavedDrive_OHE_P -6025.0798 3793.883 -1.588 0.113 -1.35e+04 1418.264\n", + "PavedDrive_OHE_Y -2075.2879 2469.093 -0.841 0.401 -6919.483 2768.907\n", + "PoolQC_OHE_Ex 6.616e+04 1.82e+04 3.629 0.000 3.04e+04 1.02e+05\n", + "PoolQC_OHE_Fa -3.16e+04 2.05e+04 -1.543 0.123 -7.18e+04 8589.279\n", + "PoolQC_OHE_Gd 1.028e+04 1.71e+04 0.600 0.549 -2.33e+04 4.39e+04\n", + "PoolQC_OHE_NA -5.373e+04 9797.772 -5.484 0.000 -7.3e+04 -3.45e+04\n", + "Fence_OHE_GdPrv -7630.4719 3554.210 -2.147 0.032 -1.46e+04 -657.351\n", + "Fence_OHE_GdWo 2541.7890 3449.379 0.737 0.461 -4225.660 9309.239\n", + "Fence_OHE_MnPrv 2481.3099 2689.166 0.923 0.356 -2794.654 7757.274\n", + "Fence_OHE_MnWw -3269.8532 6239.134 -0.524 0.600 -1.55e+04 8970.910\n", + "Fence_OHE_NA -3009.8774 2359.220 -1.276 0.202 -7638.509 1618.755\n", + "MiscFeature_OHE_Gar2 -1.054e+05 7.98e+04 -1.320 0.187 -2.62e+05 5.12e+04\n", + "MiscFeature_OHE_NA 3.343e+04 2.8e+04 1.194 0.233 -2.15e+04 8.83e+04\n", + "MiscFeature_OHE_Othr 3.893e+04 2.48e+04 1.568 0.117 -9766.082 8.76e+04\n", + "MiscFeature_OHE_Shed 3.175e+04 2.37e+04 1.339 0.181 -1.48e+04 7.83e+04\n", + "MiscFeature_OHE_TenC -7590.1330 3.26e+04 -0.233 0.816 -7.15e+04 5.64e+04\n", + "SaleType_OHE_COD -1.36e+04 5758.295 -2.362 0.018 -2.49e+04 -2304.596\n", + "SaleType_OHE_CWD -2098.4435 1.21e+04 -0.174 0.862 -2.58e+04 2.16e+04\n", + "SaleType_OHE_Con 1.011e+04 1.65e+04 0.611 0.541 -2.23e+04 4.26e+04\n", + "SaleType_OHE_ConLD 1248.1659 9025.417 0.138 0.890 -1.65e+04 1.9e+04\n", + "SaleType_OHE_ConLI -2735.0310 1.09e+04 -0.251 0.802 -2.41e+04 1.87e+04\n", + "SaleType_OHE_ConLw -9016.4938 1.15e+04 -0.787 0.431 -3.15e+04 1.35e+04\n", + "SaleType_OHE_New 2.217e+04 1.42e+04 1.566 0.118 -5606.285 4.99e+04\n", + "SaleType_OHE_Oth -1335.1238 1.38e+04 -0.097 0.923 -2.84e+04 2.58e+04\n", + "SaleType_OHE_WD -1.363e+04 4322.187 -3.154 0.002 -2.21e+04 -5150.580\n", + "SaleCondition_OHE_Abnorml -4331.4298 4710.968 -0.919 0.358 -1.36e+04 4911.173\n", + "SaleCondition_OHE_AdjLand 9443.5614 1.31e+04 0.722 0.471 -1.62e+04 3.51e+04\n", + "SaleCondition_OHE_Alloca 3457.3320 8613.688 0.401 0.688 -1.34e+04 2.04e+04\n", + "SaleCondition_OHE_Family -3097.8496 6351.270 -0.488 0.626 -1.56e+04 9362.916\n", + "SaleCondition_OHE_Normal 3316.2751 4173.754 0.795 0.427 -4872.350 1.15e+04\n", + "SaleCondition_OHE_Partial -1.767e+04 1.33e+04 -1.327 0.185 -4.38e+04 8450.767\n", + "MSSubClass_OHE_20.0 7963.2412 6544.517 1.217 0.224 -4876.663 2.08e+04\n", + "MSSubClass_OHE_30.0 9157.7316 7559.871 1.211 0.226 -5674.228 2.4e+04\n", + "MSSubClass_OHE_40.0 -4097.6267 1.82e+04 -0.226 0.822 -3.97e+04 3.15e+04\n", + "MSSubClass_OHE_45.0 618.1253 2.53e+04 0.024 0.981 -4.9e+04 5.03e+04\n", + "MSSubClass_OHE_50.0 1.106e+04 8962.787 1.235 0.217 -6519.392 2.86e+04\n", + "MSSubClass_OHE_60.0 1.361e+04 7755.112 1.756 0.079 -1600.793 2.88e+04\n", + "MSSubClass_OHE_70.0 1.665e+04 7990.503 2.084 0.037 972.058 3.23e+04\n", + "MSSubClass_OHE_75.0 -1.453e+04 1.54e+04 -0.946 0.344 -4.47e+04 1.56e+04\n", + "MSSubClass_OHE_80.0 8460.2993 1.26e+04 0.671 0.502 -1.63e+04 3.32e+04\n", + "MSSubClass_OHE_85.0 14.9640 1.12e+04 0.001 0.999 -2.19e+04 2.19e+04\n", + "MSSubClass_OHE_90.0 -3857.5649 4671.286 -0.826 0.409 -1.3e+04 5307.186\n", + "MSSubClass_OHE_120.0 -1.566e+04 1.31e+04 -1.197 0.231 -4.13e+04 1e+04\n", + "MSSubClass_OHE_160.0 -9945.8069 1.49e+04 -0.669 0.503 -3.91e+04 1.92e+04\n", + "MSSubClass_OHE_180.0 -2.013e+04 1.74e+04 -1.157 0.248 -5.43e+04 1.4e+04\n", + "MSSubClass_OHE_190.0 -8199.1071 2.76e+04 -0.297 0.767 -6.24e+04 4.6e+04\n", + "==============================================================================\n", + "Omnibus: 373.078 Durbin-Watson: 1.937\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 9764.841\n", + "Skew: 0.588 Prob(JB): 0.00\n", + "Kurtosis: 15.654 Cond. No. 1.47e+19\n", + "==============================================================================\n", + "\n", + "Notes:\n", + "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", + "[2] The smallest eigenvalue is 1.73e-29. This might indicate that there are\n", + "strong multicollinearity problems or that the design matrix is singular.\n", + "\"\"\"" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Train a linear regression using statsmodels\n", + "model = sm.OLS(y, X_ohe)\n", + "results = model.fit()\n", + "results.summary()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# Train a Fine-tuned Predictive ML Model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we train a LightGBM regression model and use grid search to do model tuning." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# Split data into train and test\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "x_train_ohe, x_test_ohe, x_train, x_test, y_train, y_test = train_test_split(\n", + " X_ohe, X, y, test_size=0.2, random_state=0\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# train a lightGBM regression model\n", + "est = LGBMRegressor()\n", + "param_grid = {\"learning_rate\": [0.1, 0.05, 0.01], \"max_depth\": [3, 5, 10]}\n", + "search = GridSearchCV(est, param_grid, n_jobs=-1)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best estimator: {'learning_rate': 0.1, 'max_depth': 5}\n" + ] + } + ], + "source": [ + "search.fit(x_train_ohe, y_train)\n", + "print(\"Best estimator: \", search.best_params_)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test set score: 0.8581588030286735\n" + ] + } + ], + "source": [ + "print(\"Test set score: \", search.best_estimator_.score(x_test_ohe, y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Correlation Interpretation\n", + "### Feature Importance - Shap Value\n", + "We explain this ML model by understanding the top important features to predict the housing price, internally using **shap value**." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "fitted_model = search.best_estimator_" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 98%|===================| 286/291 [00:17<00:00] " + ] + } + ], + "source": [ + "# use interventional approach\n", + "background = shap.maskers.Independent(x_train_ohe, max_samples=1000)\n", + "explainer = shap.TreeExplainer(\n", + " fitted_model, data=background, feature_names=X_ohe.columns\n", + ")\n", + "shap_values = explainer(x_test_ohe)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot the feature importance\n", + "shap.summary_plot(shap_values, x_test_ohe)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the summary plot above, we could see the **most important features** sorted by their importance level. It tells us that houses that measure high in overall quality, square footage, and are also relatively new will have a higher housing price. " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# Causal Interpretation\n", + "### Direct Causal Effect -- Do certain house characteristics have a direct effect on home value?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We've seen which features are good predictors of home value, but are these features also causally signficiant? Below we use the CausalAnalysis class to assess the causal effects of certain house characteristics on home value." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# order feature names according to shap values\n", + "vals = np.abs(shap_values.values).mean(0)\n", + "feature_importance = pd.DataFrame(\n", + " list(zip(shap_values.feature_names, vals)), columns=[\"features\", \"importance\"]\n", + ")\n", + "feature_importance.sort_values(by=[\"importance\"], ascending=False, inplace=True)\n", + "\n", + "# keep top k features for causal analysis\n", + "k = 5\n", + "sorted_features = feature_importance[\"features\"]\n", + "top_k_features = list(sorted_features.values)[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from econml.solutions.causal_analysis import CausalAnalysis\n", + "\n", + "# initialize heterogeneity features\n", + "hetero_cols = ['AgeAtSale', 'MSZoning']\n", + "ca = CausalAnalysis(\n", + " feature_inds=top_k_features + [\n", + " 'HasFireplace',\n", + " 'HasPorch',\n", + " 'HasDeck',\n", + " ],\n", + " categorical=categorical + ['HasFireplace', 'HasPorch', 'HasDeck', 'HasFence'],\n", + " heterogeneity_inds=hetero_cols,\n", + " classification=False,\n", + " nuisance_models=\"automl\",\n", + " heterogeneity_model=\"linear\",\n", + " n_jobs=-1,\n", + " random_state=123,\n", + " upper_bound_on_cat_expansion=6\n", + ")\n", + "ca.fit(x_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pointstderrzstatp_valueci_lowerci_upper
featurefeature_value
OverallQualnum10103.8155631675.1486786.0315931.623509e-096820.58448513387.046640
GarageCarsnum13144.1752682997.6389204.3848431.160696e-057268.91094619019.439590
OverallCondnum5645.7991331457.9133113.8725201.077156e-042788.3415518503.256716
GrLivAreanum53.68023716.8967383.1769591.488283e-0320.56323986.797235
HasFireplace1v04391.2171781510.6831652.9067763.651749e-031430.3325827352.101775
HasPorch1v04702.9030442279.1390242.0634563.906933e-02235.8726429169.933446
AgeAtSalenum-122.702114110.966856-1.1057552.688327e-01-340.19315594.788926
HasDeck1v01610.6417831819.4770980.8852223.760367e-01-1955.4678005176.751367
\n", + "
" + ], + "text/plain": [ + " point stderr zstat p_value \\\n", + "feature feature_value \n", + "OverallQual num 10103.815563 1675.148678 6.031593 1.623509e-09 \n", + "GarageCars num 13144.175268 2997.638920 4.384843 1.160696e-05 \n", + "OverallCond num 5645.799133 1457.913311 3.872520 1.077156e-04 \n", + "GrLivArea num 53.680237 16.896738 3.176959 1.488283e-03 \n", + "HasFireplace 1v0 4391.217178 1510.683165 2.906776 3.651749e-03 \n", + "HasPorch 1v0 4702.903044 2279.139024 2.063456 3.906933e-02 \n", + "AgeAtSale num -122.702114 110.966856 -1.105755 2.688327e-01 \n", + "HasDeck 1v0 1610.641783 1819.477098 0.885222 3.760367e-01 \n", + "\n", + " ci_lower ci_upper \n", + "feature feature_value \n", + "OverallQual num 6820.584485 13387.046640 \n", + "GarageCars num 7268.910946 19019.439590 \n", + "OverallCond num 2788.341551 8503.256716 \n", + "GrLivArea num 20.563239 86.797235 \n", + "HasFireplace 1v0 1430.332582 7352.101775 \n", + "HasPorch 1v0 235.872642 9169.933446 \n", + "AgeAtSale num -340.193155 94.788926 \n", + "HasDeck 1v0 -1955.467800 5176.751367 " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# get global causal effect ordered by causal importance (pvalue)\n", + "global_summ = ca.global_causal_effect(alpha=0.05)\n", + "global_summ.sort_values(by=\"p_value\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The table above sorts the features by causal significance (p value). If we compare the causal summary table to the ordering of the SHAP feature importances plot, we notice that for the most part the top predictive features are also causally significant. For example, OverallQual is the most predictive feature according to SHAP, and is also the most causally signficant. However, in contrast, AgeAtSale is a good predictor, but not very causally significant. This could perhaps be explained by the idea that even though older houses are correlated with low quality characteristics, once you control for these characteristics, house age by itself is not causally significant. " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# helper function to plot error bar\n", + "def errorbar(res):\n", + " xticks = res.index.get_level_values(0)\n", + " lowererr = res[\"point\"] - res[\"ci_lower\"]\n", + " uppererr = res[\"ci_upper\"] - res[\"point\"]\n", + " xticks = [\n", + " \"{}***\".format(t)\n", + " if p < 1e-6\n", + " else (\"{}**\".format(t) if p < 1e-3 else (\"{}*\".format(t) if p < 1e-2 else t))\n", + " for t, p in zip(xticks, res[\"p_value\"])\n", + " ]\n", + " plot_title = \"Direct Causal Effect of Each Feature with 95% Confidence Interval, \"\n", + " plt.figure(figsize=(15, 5))\n", + " plt.errorbar(\n", + " np.arange(len(xticks)),\n", + " res[\"point\"],\n", + " yerr=[lowererr, uppererr],\n", + " fmt=\"o\",\n", + " capsize=5,\n", + " capthick=1,\n", + " barsabove=True,\n", + " )\n", + " plt.xticks(np.arange(len(xticks)), xticks, rotation=45)\n", + " plt.title(plot_title)\n", + " plt.axhline(0, color=\"r\", linestyle=\"--\", alpha=0.5)\n", + " plt.ylabel(\"Average Treatment Effect\")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "errorbar(global_summ)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We learn the **Average Treatment Effect (ATE)** for certain house characteristics (e.g. having a fireplace), assuming they are the treatment. The error bar above is ordered by **feature importance**, and the summary table above is ordered by **causal significance (p-value)**. Notice they are not in the exact same order. For example, the second most predictive feature, GrLivArea (total square footage), is only the fourth most causally significant feature." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Segmentation -- How do different type of houses respond differently to having a fireplace?\n", + "From the analysis above, we learned the direct effect of a few different house amenities on housing price at an average level. However, the effect of these house amenities on house price may vary by features like home age and zoning classification. In the following section, we are going to use the presence of a fireplace as an example to learn how different type of houses may increase in value with the addition of a fireplace. " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(12, 8))\n", + "ca.plot_heterogeneity_tree(\n", + " x_test,\n", + " \"HasFireplace\",\n", + " max_depth=2,\n", + " min_impurity_decrease=1e-6,\n", + " min_samples_leaf = 5\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the global level, we know that the ATE of having a fireplace is 4.4k, which means on average that having a fireplace will raise the housing price by $4.4k. In the shallow tree above, we can see although overall fireplaces already have a positive effect on housing price, the effect is even more dramatic on houses older than 75 years old." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "### Policy Analysis -- What is the best policy considering cost?\n", + "To take a step further, we'd like to know the sub-population where the treatment effect will still be positive after taking cost into consideration. Assuming the average cost of adding a fireplace is $2,500, let us see what kind of houses have a housing price that will increase more than their cost. " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(12, 8))\n", + "ca.plot_policy_tree(\n", + " x_test,\n", + " \"HasFireplace\",\n", + " treatment_costs=2500,\n", + " max_depth=2,\n", + " min_samples_leaf = 5\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You could see if we follow the recommended policy above, on average, the housing price will increase by \\\\$2,356 compared with no fireplace added. Similarly, it will increase by \\\\$465 compared with adding a fireplace for every house. To be more detailed, we could also output the individualized policy. In the following table, we will only print the top five houses ordered by policy gains." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TreatmentEffect of treatmentEffect of treatment lower boundEffect of treatment upper boundMSSubClassMSZoningLotFrontageStreetAlleyLotShape...MoSoldSaleTypeSaleConditionAgeAtSaleYearsSinceRemodelHasDeckHasPorchCurrent treatmentHasFenceIntercept
Id
1350.0112224.5031783758.86293720690.14342070.0RM50.0PavePaveReg...12.0WDNormal136.021.001001
1063.019574.1097093261.37862815886.840790190.0RM85.0PaveGrvlReg...9.0WDNormal107.057.001001
243.019482.7168313235.81616115729.61750150.0RM63.0PaveNAReg...4.0WDNormal106.056.001001
199.018660.1809272968.65560314351.70625075.0RM92.0PaveNAReg...7.0WDAbnorml97.059.001011
521.018618.6086211186.79476416050.422479190.0RL60.0PaveGrvlReg...8.0WDNormal108.08.011001
\n", + "

5 rows × 68 columns

\n", + "
" + ], + "text/plain": [ + " Treatment Effect of treatment Effect of treatment lower bound \\\n", + "Id \n", + "1350.0 1 12224.503178 3758.862937 \n", + "1063.0 1 9574.109709 3261.378628 \n", + "243.0 1 9482.716831 3235.816161 \n", + "199.0 1 8660.180927 2968.655603 \n", + "521.0 1 8618.608621 1186.794764 \n", + "\n", + " Effect of treatment upper bound MSSubClass MSZoning LotFrontage \\\n", + "Id \n", + "1350.0 20690.143420 70.0 RM 50.0 \n", + "1063.0 15886.840790 190.0 RM 85.0 \n", + "243.0 15729.617501 50.0 RM 63.0 \n", + "199.0 14351.706250 75.0 RM 92.0 \n", + "521.0 16050.422479 190.0 RL 60.0 \n", + "\n", + " Street Alley LotShape ... MoSold SaleType SaleCondition AgeAtSale \\\n", + "Id ... \n", + "1350.0 Pave Pave Reg ... 12.0 WD Normal 136.0 \n", + "1063.0 Pave Grvl Reg ... 9.0 WD Normal 107.0 \n", + "243.0 Pave NA Reg ... 4.0 WD Normal 106.0 \n", + "199.0 Pave NA Reg ... 7.0 WD Abnorml 97.0 \n", + "521.0 Pave Grvl Reg ... 8.0 WD Normal 108.0 \n", + "\n", + " YearsSinceRemodel HasDeck HasPorch Current treatment HasFence \\\n", + "Id \n", + "1350.0 21.0 0 1 0 0 \n", + "1063.0 57.0 0 1 0 0 \n", + "243.0 56.0 0 1 0 0 \n", + "199.0 59.0 0 1 0 1 \n", + "521.0 8.0 1 1 0 0 \n", + "\n", + " Intercept \n", + "Id \n", + "1350.0 1 \n", + "1063.0 1 \n", + "243.0 1 \n", + "199.0 1 \n", + "521.0 1 \n", + "\n", + "[5 rows x 68 columns]" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ca.individualized_policy(\n", + " x_test,\n", + " \"HasFireplace\",\n", + " n_rows=5,\n", + " treatment_costs=2500,\n", + " alpha=0.1,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that here the `effect of treatment` is the treatment effect of selecting one of the discrete treatment values minus the cost. In the treament column, 1 corresponds to having a fireplace, and 0 corresponds to no fireplace." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### What If Analysis - How does the overall housing price change if every home had a fireplace?\n", + "The causal analysis tool could also answer **what if** types of questions. For a given treatment, we'd also like to know the **counterfactuals** if we intervene it in a different way. In the example below, we will learn how the overall housing price changes if every house in Ames had a fireplace." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current average housing price on test set: 142705.43537414967\n", + "Average housing price with one more room on test set: 147392.03061904767\n" + ] + } + ], + "source": [ + "whatif_df = (\n", + " x_test\n", + " .loc[\n", + " lambda df: df['HasFireplace'].eq(0)\n", + " ]\n", + ")\n", + "whatif_y = y_test.loc[whatif_df.index]\n", + "\n", + "cf = ca.whatif(\n", + " whatif_df, \n", + " whatif_df['HasFireplace'].add(1).clip(upper = 1), \n", + " 'HasFireplace', \n", + " whatif_y)\n", + "print(\"Current average housing price on test set: \", whatif_y.mean())\n", + "print(\n", + " \"Average housing price with one more room on test set: \",\n", + " cf[\"point_estimate\"].mean(),\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Histogram of Housing price -- Current vs. One more room')" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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6NChjBo1CoD777+fkSNHZkGhqB/96EcsX76cHXfcsdE8GzZsoFMn7+qKcod4ZlZRw4cPp6YmeVX0ggULGDBgAN26dWPVqlW89957PPvssxxxxBFMmzaN8ePHU1NTw4wZM7j88ss5/PDDeemllwCYPn06Q4YM4aCDDuL3v//9ZssZNWoUb7/9NkOHDuWee+5h8uTJXH/99UBypPG1r32NE044gR/84AfMmzePE044gSOPPJJTTjmFZcuWZfkmTpzIsGHDGDBgAE888cRmy/nlL3/J0KFDOeKII/j0pz/Na68lr0leu3YtF1xwAQMHDmTQoEH8/Oc/B+Dhhx/mmGOOYfDgwZxxxhmsXbu28h9yK3JQMLOK2m+//ejUqROLFy+mpqaGY445hqFDhzJnzhxqa2sZNGgQnTt/+HroYcOGMWrUKK677jrq6uo44IADgOQX/hNPPMENN9zAVVdt/grnGTNm0LVrV+rq6jjzzDM3m7569Wp+97vfcemllzJhwgTuvfde5s2bx4UXXsi//uu/ZvnefvttampquOWWW7jwwgs3m8+xxx7L448/zp/+9CfGjBnDtdcmr9r+1re+Rffu3XnqqaeYP38+n/rUp1ixYgVXX301jz76KP/7v/9LdXU13/ve97b6M92WfExlZhXXcLRQU1PDl7/8ZV599VVqamro3r07w4YNKzSPz33ucwAceeSRLFq0qMV1aAgUzz//PE8//TQnnXQSAB988AH77vvhK7nPOussAI4//njWrFnD6tWrN5lPfX09Z555JsuWLeP999/Png949NFHufvuu7N8u+++Ow888ADPPPMMw4cPB+D999/nmGOOaXHd25KDgplV3LBhw6ipqeGpp55iwIAB9OnTh+9+97vsuuuuZX+Nl9NwnaCqqooNGza0uA4777wzkDzwdeihhzJnzpyy+Upv8SwdnzBhAl/+8pcZNWoUs2bNYvLkydl8S/NGBCeddBI/+9nPWlzf9sKnj8ys4oYPH84DDzxAjx49qKqqokePHqxevZo5c+aU/eXcrVs33nrrrVapyyc+8QmWL1+eBYX169ezYMGHj0vdc889AMyePZvu3bvTvXv3Tcq/+eab9OqVdNn2k5/8JEs/+eSTN7k7adWqVRx99NH84Q9/YOHChQC88847vPDCC63SrtbiIwWz7Vxb3CU2cOBAVqxYwdlnn71J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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# distribution comparison\n", + "plt.hist(cf.point_estimate, label=\"With fireplace\", alpha=0.7, weights=np.ones(len(whatif_y)) / len(whatif_y))\n", + "plt.hist(whatif_y, label=\"Without fireplace\", alpha=0.7, weights=np.ones(len(whatif_y)) / len(whatif_y))\n", + "plt.legend()\n", + "plt.xlabel(\"Housing Price\")\n", + "plt.title(\"Histogram of Housing price -- Current vs. One more room\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the summary table we could see overall if we add a fireplace to houses without fireplaces in the test set, the average housing price for those houses will increase by about \\\\$5k. And the histrogram shows a comparison between the current housing price distribution and the counterfactuals ditribution if we added a fireplace to the fireplace-less houses in the test set." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cohort Analysis -- What is the causal effect on a new dataset?\n", + "The CausalAnalysis class can also help us learn the global and local causal effect of a new dataset given a trained model. From the two tables below, you can see the global effect on the test set is similar to that of the training set. And calculating the local effect gives you the heterogeneous treatment effect for each observation." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pointstderrzstatp_valueci_lowerci_upper
featurefeature_value
OverallQualnum10207.2655241694.1082746.0251551.689473e-096886.87432213527.656727
GrLivAreanum53.57215516.8964063.1706241.521117e-0320.45580886.688502
GarageCarsnum13215.2357233030.8316424.3602671.299037e-057274.91486219155.556584
AgeAtSalenum-139.794231110.416091-1.2660682.054889e-01-356.20579376.617332
OverallCondnum5723.9143401462.8499113.9128519.121266e-052856.7812008591.047479
HasFireplace1v04390.8350301523.1030932.8828223.941301e-031405.6078237376.062237
HasPorch1v04713.1758592303.0969972.0464514.071199e-02199.1886929227.163026
HasDeck1v01653.3908571836.8569760.9001203.680566e-01-1946.7826625253.564375
\n", + "
" + ], + "text/plain": [ + " point stderr zstat p_value \\\n", + "feature feature_value \n", + "OverallQual num 10207.265524 1694.108274 6.025155 1.689473e-09 \n", + "GrLivArea num 53.572155 16.896406 3.170624 1.521117e-03 \n", + "GarageCars num 13215.235723 3030.831642 4.360267 1.299037e-05 \n", + "AgeAtSale num -139.794231 110.416091 -1.266068 2.054889e-01 \n", + "OverallCond num 5723.914340 1462.849911 3.912851 9.121266e-05 \n", + "HasFireplace 1v0 4390.835030 1523.103093 2.882822 3.941301e-03 \n", + "HasPorch 1v0 4713.175859 2303.096997 2.046451 4.071199e-02 \n", + "HasDeck 1v0 1653.390857 1836.856976 0.900120 3.680566e-01 \n", + "\n", + " ci_lower ci_upper \n", + "feature feature_value \n", + "OverallQual num 6886.874322 13527.656727 \n", + "GrLivArea num 20.455808 86.688502 \n", + "GarageCars num 7274.914862 19155.556584 \n", + "AgeAtSale num -356.205793 76.617332 \n", + "OverallCond num 2856.781200 8591.047479 \n", + "HasFireplace 1v0 1405.607823 7376.062237 \n", + "HasPorch 1v0 199.188692 9227.163026 \n", + "HasDeck 1v0 -1946.782662 5253.564375 " + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# global effect on new dataset\n", + "ca.cohort_causal_effect(x_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pointstderrzstatp_valueci_lowerci_upper
samplefeaturefeature_value
0OverallQualnum10466.4511231701.6325796.1508297.707896e-107131.31255213801.589694
GrLivAreanum54.1522198.3323536.4990318.083900e-1137.82110870.483330
GarageCarsnum10319.7689902381.3106824.3336511.466567e-055652.48581814987.052162
AgeAtSalenum-276.854177115.013736-2.4071401.607800e-02-502.276958-51.431396
OverallCondnum8238.3209471069.0539897.7061791.296412e-146143.01363210333.628263
...........................
290AgeAtSalenum-276.854177115.013736-2.4071401.607800e-02-502.276958-51.431396
OverallCondnum5849.9408183055.3905501.9146295.553977e-02-138.51461911838.396255
HasFireplace1v01339.5706492653.2927050.5048716.136494e-01-3860.7874936539.928791
HasPorch1v06906.5899305156.1300351.3394911.804109e-01-3199.23923717012.419098
HasDeck1v01899.8603053984.7275660.4767856.335149e-01-5910.0622139709.782822
\n", + "

2328 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " point stderr zstat \\\n", + "sample feature feature_value \n", + "0 OverallQual num 10466.451123 1701.632579 6.150829 \n", + " GrLivArea num 54.152219 8.332353 6.499031 \n", + " GarageCars num 10319.768990 2381.310682 4.333651 \n", + " AgeAtSale num -276.854177 115.013736 -2.407140 \n", + " OverallCond num 8238.320947 1069.053989 7.706179 \n", + "... ... ... ... \n", + "290 AgeAtSale num -276.854177 115.013736 -2.407140 \n", + " OverallCond num 5849.940818 3055.390550 1.914629 \n", + " HasFireplace 1v0 1339.570649 2653.292705 0.504871 \n", + " HasPorch 1v0 6906.589930 5156.130035 1.339491 \n", + " HasDeck 1v0 1899.860305 3984.727566 0.476785 \n", + "\n", + " p_value ci_lower ci_upper \n", + "sample feature feature_value \n", + "0 OverallQual num 7.707896e-10 7131.312552 13801.589694 \n", + " GrLivArea num 8.083900e-11 37.821108 70.483330 \n", + " GarageCars num 1.466567e-05 5652.485818 14987.052162 \n", + " AgeAtSale num 1.607800e-02 -502.276958 -51.431396 \n", + " OverallCond num 1.296412e-14 6143.013632 10333.628263 \n", + "... ... ... ... \n", + "290 AgeAtSale num 1.607800e-02 -502.276958 -51.431396 \n", + " OverallCond num 5.553977e-02 -138.514619 11838.396255 \n", + " HasFireplace 1v0 6.136494e-01 -3860.787493 6539.928791 \n", + " HasPorch 1v0 1.804109e-01 -3199.239237 17012.419098 \n", + " HasDeck 1v0 6.335149e-01 -5910.062213 9709.782822 \n", + "\n", + "[2328 rows x 6 columns]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# local effect on new dataset\n", + "ca.local_causal_effect(x_test)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "authors": [ + { + "name": "mesameki" + } + ], + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/notebooks/Solutions/Causal Interpretation for Boston Housing Price.ipynb b/notebooks/Solutions/Causal Interpretation for Boston Housing Price.ipynb deleted file mode 100644 index ce0dd54b4..000000000 --- a/notebooks/Solutions/Causal Interpretation for Boston Housing Price.ipynb +++ /dev/null @@ -1,1628 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Causal Interpretation for Boston Housing Price\n", - "\n", - "This notebook uses the well-known Boston Housing dataset to showcase how we can interpret a blackbox model from both the **correlation and causation** perspective by leveraging the power of model interpretation tools like [SHAP](https://shap.readthedocs.io/en/latest/index.html) and [EconML](https://aka.ms/econml). This housing dataset collects median home values and neighborhood characteristics for the Boston area, largely from the 1970 U.S. Census. We start with a linear regression to build intuition. We then train a fine-tuned predictive ML model and use SHAP to better understand the correlations between features and target and which features are the strongest predictors. Finally, we train a separate causal model using EconML, which identifies features that have a **direct causal effect** on housing price, instead of just predicting the housing price given a set of characteristics.\n", - "\n", - "Also, this dataset has attracted some controversy because it includes the **share of Black residents (`B`)** in the neighborhood as a possible predictor of home prices. In addition to the fairness implications of using neighborhood racial mix to predict prices, our analysis shows that the statistical relationship between the share of Black residents and home prices is **not a causal effect**. In the 1970s in Boston, Black residents were concentrated in less desirable neighborhoods—for example those with higher pollution, higher crime, and smaller houses. This pattern of correlations makes the share of Black residents an effective predictive feature, as shown in our SHAP analysis, but we find that it has no direct causal effect on home prices. In other words, in this historical dataset neighborhoods with higher shares of Black residents also tend to have lower median home prices, but we show that changing the racial mix of a neighborhood on its own would not change median home prices.\n", - "\n", - "It includes the following sections:\n", - "1. [A Gentle Start: Linear Regression](#A-Gentle-Start:-Linear-Regression)\n", - "2. [Train a Fine-tuned Predictive ML Model](#Train-a-Fine-tuned-Predictive-ML-Model)\n", - "3. [Correlation Interpretation](#Correlation-Interpretation)\n", - " * Feature Importance -- Learn the top predictors for a given ML model\n", - " * Partial Dependence Plot -- Learn the statistical relationship between share of Black residents and housing price\n", - "4. [Causal Interpretation](#Causal-Interpretation)\n", - " * Direct Causal Effect -- Do the top predictors also have a direct effect on outcome of interest?\n", - " * Segmentation -- How different type of houses respond differently to number of rooms?\n", - " * What If Analysis -- How the overall housing price changes with one more room?\n", - " * Policy Analysis -- What is the best policy considering cost?\n", - " * Cohort Analysis -- What is the causal effect on a new dataset?\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Some imports to get us started\n", - "from lightgbm import LGBMClassifier, LGBMRegressor\n", - "from sklearn.model_selection import GridSearchCV\n", - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import statsmodels.api as sm\n", - "\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# A Gentle Start: Linear Regression\n", - "\n", - "### Data Description\n", - "\n", - "The data contain features of Boston census tracts in 1970 and was originally published by Harrison, D. and Rubinfeld, D.L. [Hedonic prices and the demand for clean air](https://www.law.berkeley.edu/files/Hedonic.PDF), J. Environ. Economics & Management, vol.5, 81-102, 1978.\n", - "\n", - "Below is a list of data description:\n", - "\n", - "Feature Name|Description\n", - ":--- |:---\n", - "**CRIM**|per capita crime rate by town\n", - "**ZN**|proportion of residential land zoned for lots over 25,000 sq.ft.\n", - "**INDUS**|proportion of non-retail business acres per town.\n", - "**CHAS**|Charles River dummy variable (1 if tract bounds river; 0 otherwise)\n", - "**NOX**|nitric oxides concentration (parts per 10 million)\n", - "**RM**|average number of rooms per dwelling\n", - "**AGE**|proportion of owner-occupied units built prior to 1940\n", - "**DIS**|weighted distances to five Boston employment centres\n", - "**RAD**|index of accessibility to radial highways\n", - "**TAX**|full-value property-tax rate per \\$10,000\n", - "**PTRATIO**|pupil-teacher ratio by town\n", - "**B**|$1000\\dot(Bk - 0.63)^2$ where Bk is the proportion of Black residents by town\n", - "**LSTAT**|\\% lower socioeconomic status by town: $\\frac{1}{2}$(share of adults with less than high school education + share of male workers classified as laborers)\n", - "**MEDV**|Median value of owner-occupied homes in \\$1000's" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We start with a linear regression to learn the correlation between each predictor and the outcome variable, the coefficients could tell us how the housing price will change with one unit increase of each feature, and the p-value tells us the variable significance." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Load the boston housing data\n", - "from sklearn.datasets import load_boston\n", - "\n", - "boston_data = load_boston()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
OLS Regression Results
Dep. Variable: y R-squared: 0.741
Model: OLS Adj. R-squared: 0.734
Method: Least Squares F-statistic: 108.1
Date: Tue, 20 Jul 2021 Prob (F-statistic): 6.72e-135
Time: 17:58:02 Log-Likelihood: -1498.8
No. Observations: 506 AIC: 3026.
Df Residuals: 492 BIC: 3085.
Df Model: 13
Covariance Type: nonrobust
\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
coef std err t P>|t| [0.025 0.975]
Intercept 36.4595 5.103 7.144 0.000 26.432 46.487
CRIM -0.1080 0.033 -3.287 0.001 -0.173 -0.043
ZN 0.0464 0.014 3.382 0.001 0.019 0.073
INDUS 0.0206 0.061 0.334 0.738 -0.100 0.141
CHAS 2.6867 0.862 3.118 0.002 0.994 4.380
NOX -17.7666 3.820 -4.651 0.000 -25.272 -10.262
RM 3.8099 0.418 9.116 0.000 2.989 4.631
AGE 0.0007 0.013 0.052 0.958 -0.025 0.027
DIS -1.4756 0.199 -7.398 0.000 -1.867 -1.084
RAD 0.3060 0.066 4.613 0.000 0.176 0.436
TAX -0.0123 0.004 -3.280 0.001 -0.020 -0.005
PTRATIO -0.9527 0.131 -7.283 0.000 -1.210 -0.696
B 0.0093 0.003 3.467 0.001 0.004 0.015
LSTAT -0.5248 0.051 -10.347 0.000 -0.624 -0.425
\n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "\n", - " \n", - "\n", - "
Omnibus: 178.041 Durbin-Watson: 1.078
Prob(Omnibus): 0.000 Jarque-Bera (JB): 783.126
Skew: 1.521 Prob(JB): 8.84e-171
Kurtosis: 8.281 Cond. No. 1.51e+04


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 1.51e+04. This might indicate that there are
strong multicollinearity or other numerical problems." - ], - "text/plain": [ - "\n", - "\"\"\"\n", - " OLS Regression Results \n", - "==============================================================================\n", - "Dep. Variable: y R-squared: 0.741\n", - "Model: OLS Adj. R-squared: 0.734\n", - "Method: Least Squares F-statistic: 108.1\n", - "Date: Tue, 20 Jul 2021 Prob (F-statistic): 6.72e-135\n", - "Time: 17:58:02 Log-Likelihood: -1498.8\n", - "No. Observations: 506 AIC: 3026.\n", - "Df Residuals: 492 BIC: 3085.\n", - "Df Model: 13 \n", - "Covariance Type: nonrobust \n", - "==============================================================================\n", - " coef std err t P>|t| [0.025 0.975]\n", - "------------------------------------------------------------------------------\n", - "Intercept 36.4595 5.103 7.144 0.000 26.432 46.487\n", - "CRIM -0.1080 0.033 -3.287 0.001 -0.173 -0.043\n", - "ZN 0.0464 0.014 3.382 0.001 0.019 0.073\n", - "INDUS 0.0206 0.061 0.334 0.738 -0.100 0.141\n", - "CHAS 2.6867 0.862 3.118 0.002 0.994 4.380\n", - "NOX -17.7666 3.820 -4.651 0.000 -25.272 -10.262\n", - "RM 3.8099 0.418 9.116 0.000 2.989 4.631\n", - "AGE 0.0007 0.013 0.052 0.958 -0.025 0.027\n", - "DIS -1.4756 0.199 -7.398 0.000 -1.867 -1.084\n", - "RAD 0.3060 0.066 4.613 0.000 0.176 0.436\n", - "TAX -0.0123 0.004 -3.280 0.001 -0.020 -0.005\n", - "PTRATIO -0.9527 0.131 -7.283 0.000 -1.210 -0.696\n", - "B 0.0093 0.003 3.467 0.001 0.004 0.015\n", - "LSTAT -0.5248 0.051 -10.347 0.000 -0.624 -0.425\n", - "==============================================================================\n", - "Omnibus: 178.041 Durbin-Watson: 1.078\n", - "Prob(Omnibus): 0.000 Jarque-Bera (JB): 783.126\n", - "Skew: 1.521 Prob(JB): 8.84e-171\n", - "Kurtosis: 8.281 Cond. No. 1.51e+04\n", - "==============================================================================\n", - "\n", - "Notes:\n", - "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", - "[2] The condition number is large, 1.51e+04. This might indicate that there are\n", - "strong multicollinearity or other numerical problems.\n", - "\"\"\"" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Train a linear regression using statsmodels\n", - "X = sm.add_constant(boston_data.data)\n", - "X_df = pd.DataFrame(X, columns=[\"Intercept\"] + boston_data.feature_names.tolist())\n", - "model = sm.OLS(boston_data.target, X_df)\n", - "results = model.fit()\n", - "results.summary()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Train a Fine-tuned Predictive ML Model" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we train a LightGBM regression model and use grid search to do model tuning." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Split data into train and test\n", - "from sklearn.model_selection import train_test_split\n", - "\n", - "x_train, x_test, y_train, y_test = train_test_split(\n", - " boston_data.data, boston_data.target, test_size=0.2, random_state=0\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "categorical = [\"CHAS\"]\n", - "# Store the numerical columns in a list numerical\n", - "numerical = list(set(boston_data.feature_names).difference(set(categorical)))" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# train a lightGBM regression model\n", - "est = LGBMRegressor()\n", - "param_grid = {\"learning_rate\": [0.1, 0.05, 0.01], \"max_depth\": [3, 5, 10]}\n", - "search = GridSearchCV(est, param_grid, n_jobs=-1)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Best estimator: {'learning_rate': 0.1, 'max_depth': 10}\n" - ] - } - ], - "source": [ - "search.fit(x_train, y_train)\n", - "print(\"Best estimator: \", search.best_params_)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Test set score: 0.7025992540638362\n" - ] - } - ], - "source": [ - "print(\"Test set score: \", search.best_estimator_.score(x_test, y_test))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Correlation Interpretation\n", - "### Feature Importance - Shap Value\n", - "We explain this ML model by understanding the top important features to predict the housing price, internally using **shap value**." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "fitted_model = search.best_estimator_" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "import shap\n", - "\n", - "# use interventional approach\n", - "background = shap.maskers.Independent(x_train, max_samples=1000)\n", - "explainer = shap.TreeExplainer(\n", - " fitted_model, data=background, feature_names=boston_data.feature_names\n", - ")\n", - "shap_values = explainer(x_test)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# plot the feature importance\n", - "shap.summary_plot(shap_values, x_test)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the summary plot above, we could see the **most important features** sorted by their importance level. It tells us that neighborhoods with a smaller shares of low socioeconomic status residents, higher median number of rooms and less pupil-teacher ratio will have a higher housing price. It's also in line with what we learnt from Linear Regression above." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Partial Dependence Plot -- Statistical relationship between share of Black residents and housing price" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "shap.plots.partial_dependence(\n", - " \"B\",\n", - " fitted_model.predict,\n", - " pd.DataFrame(boston_data.data, columns=boston_data.feature_names),\n", - " ice=False,\n", - " model_expected_value=True,\n", - " feature_expected_value=True,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Taking share of Black residents as an example, here `B` is a function of Black population in town, the higher of `B`, the lower of Black population(%). From the coefficient of linear regression, the shap summary plot and also the partial dependence plot, we could get the same conclusion that there is a positive correlation between `B` and median housing price. In other word, housing price will decrease with the increasing of Black population(%). However, is that really **causal**? Let us validate that in the following section. \n", - "\n", - "Overall, all the insights above are coming from **corelation** perspective, telling us the positive or negative correlation between each predictor and the target. In order to correctly find the **casusal** relationship, we have to train a different model controlling on all the possible **hidden variables (confounders)** and learn the **direct causal effect** for a given feature. That's what the causal interpretation tool is doing. In the following section, we will explore the causal relationship in different ways." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Causal Interpretation\n", - "### Direct Causal Effect -- Do the top predictors also have a direct effect on outcome of interest?" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "classification = False\n", - "# order feature names according to shap values\n", - "vals = np.abs(shap_values.values).mean(0)\n", - "feature_importance = pd.DataFrame(\n", - " list(zip(shap_values.feature_names, vals)), columns=[\"features\", \"importance\"]\n", - ")\n", - "feature_importance.sort_values(by=[\"importance\"], ascending=False, inplace=True)\n", - "top_features = feature_importance[\"features\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "A worker stopped while some jobs were given to the executor. This can be caused by a too short worker timeout or by a memory leak.\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from econml.solutions.causal_analysis import CausalAnalysis\n", - "\n", - "ca = CausalAnalysis(\n", - " top_features,\n", - " categorical,\n", - " heterogeneity_inds=None,\n", - " classification=classification,\n", - " nuisance_models=\"automl\",\n", - " heterogeneity_model=\"linear\",\n", - " n_jobs=-1,\n", - " random_state=123,\n", - ")\n", - "ca.fit(pd.DataFrame(x_train, columns=boston_data.feature_names), y_train)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
pointstderrzstatp_valueci_lowerci_upper
featurefeature_value
RMnum4.4956410.39931711.2583212.107348e-293.7129945.278288
LSTATnum-0.4508490.083196-5.4191485.988376e-08-0.613909-0.287789
PTRATIOnum-1.8348130.441934-4.1517833.298943e-05-2.700987-0.968639
CHAS1.0v0.05.5552341.4657173.7901141.505781e-042.6824828.427986
CRIMnum-0.8793860.325632-2.7005526.922443e-03-1.517613-0.241159
INDUSnum-0.4565600.213477-2.1386923.246064e-02-0.874967-0.038154
AGEnum-0.0283040.020342-1.3914401.640919e-01-0.0681730.011565
NOXnum-8.4229136.143376-1.3710561.703575e-01-20.4637103.617883
Bnum-0.0056550.005880-0.9617283.361862e-01-0.0171800.005870
DISnum-0.4230340.447826-0.9446413.448421e-01-1.3007560.454687
TAXnum-0.0068520.010871-0.6303055.284951e-01-0.0281580.014454
ZNnum0.0338440.1269670.2665597.898088e-01-0.2150070.282695
RADnum-0.0307880.208264-0.1478318.824764e-01-0.4389780.377402
\n", - "
" - ], - "text/plain": [ - " point stderr zstat p_value ci_lower \\\n", - "feature feature_value \n", - "RM num 4.495641 0.399317 11.258321 2.107348e-29 3.712994 \n", - "LSTAT num -0.450849 0.083196 -5.419148 5.988376e-08 -0.613909 \n", - "PTRATIO num -1.834813 0.441934 -4.151783 3.298943e-05 -2.700987 \n", - "CHAS 1.0v0.0 5.555234 1.465717 3.790114 1.505781e-04 2.682482 \n", - "CRIM num -0.879386 0.325632 -2.700552 6.922443e-03 -1.517613 \n", - "INDUS num -0.456560 0.213477 -2.138692 3.246064e-02 -0.874967 \n", - "AGE num -0.028304 0.020342 -1.391440 1.640919e-01 -0.068173 \n", - "NOX num -8.422913 6.143376 -1.371056 1.703575e-01 -20.463710 \n", - "B num -0.005655 0.005880 -0.961728 3.361862e-01 -0.017180 \n", - "DIS num -0.423034 0.447826 -0.944641 3.448421e-01 -1.300756 \n", - "TAX num -0.006852 0.010871 -0.630305 5.284951e-01 -0.028158 \n", - "ZN num 0.033844 0.126967 0.266559 7.898088e-01 -0.215007 \n", - "RAD num -0.030788 0.208264 -0.147831 8.824764e-01 -0.438978 \n", - "\n", - " ci_upper \n", - "feature feature_value \n", - "RM num 5.278288 \n", - "LSTAT num -0.287789 \n", - "PTRATIO num -0.968639 \n", - "CHAS 1.0v0.0 8.427986 \n", - "CRIM num -0.241159 \n", - "INDUS num -0.038154 \n", - "AGE num 0.011565 \n", - "NOX num 3.617883 \n", - "B num 0.005870 \n", - "DIS num 0.454687 \n", - "TAX num 0.014454 \n", - "ZN num 0.282695 \n", - "RAD num 0.377402 " - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# get global causal effect ordered by causal importance (pvalue)\n", - "global_summ = ca.global_causal_effect(alpha=0.05)\n", - "global_summ.sort_values(by=\"p_value\")" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "# helper function to plot error bar\n", - "def errorbar(res):\n", - " xticks = res.index.get_level_values(0)\n", - " lowererr = res[\"point\"] - res[\"ci_lower\"]\n", - " uppererr = res[\"ci_upper\"] - res[\"point\"]\n", - " xticks = [\n", - " \"{}***\".format(t)\n", - " if p < 1e-6\n", - " else (\"{}**\".format(t) if p < 1e-3 else (\"{}*\".format(t) if p < 1e-2 else t))\n", - " for t, p in zip(xticks, res[\"p_value\"])\n", - " ]\n", - " plot_title = \"Direct Causal Effect of Each Feature with 95% Confidence Interval, \"\n", - " plt.figure(figsize=(15, 5))\n", - " plt.errorbar(\n", - " np.arange(len(xticks)),\n", - " res[\"point\"],\n", - " yerr=[lowererr, uppererr],\n", - " fmt=\"o\",\n", - " capsize=5,\n", - " capthick=1,\n", - " barsabove=True,\n", - " )\n", - " plt.xticks(np.arange(len(xticks)), xticks, rotation=45)\n", - " plt.title(plot_title)\n", - " plt.axhline(0, color=\"r\", linestyle=\"--\", alpha=0.5)\n", - " plt.ylabel(\"Average Treatment Effect\")" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "errorbar(global_summ)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We learn the **Average Treatment Effect (ATE)** for each feature, assuming they are the treatment. The error bar above is ordered by **feature importance**, and the summary table above is ordered by **causal significance (p-value)**. You could see they are not exact in the same order. Some top features such as percentage of lower status population (`LSTAT`) and number of rooms (`RM`), they are the strongest predictors and also have a direct causal effect on housing price, but others like pupil-teacher ratio (`PTRATIO`) and nitric oxides concentration (`NOX`) they don't really have significant causal effect on housing price. Also on the other side features like whether in Charles River Area (`CHAS`), it doesn't have strong prediction power comparing with others features, but it has a direct causal effect. \n", - "\n", - "Following on the findings we learnt for share of Black residents (`B`), we could see it also gives us insignificant causal effect on housing price, which means race by itself has no direct causal effect on home prices. By learning the correlation between `B` and other features, we could see it's highly correlated with crime rate(`CRIM`) and percentage of lower status population (`LSTAT`), which do have strong causal effects. This pattern of correlations make `B` as a strong predictor but not a direct driver. Using the causal analysis tool has helped us **avoid reaching a controversial and incorrect conclusion**. \n", - "\n", - "To sum up, EconML could give us some extra insights from a **causal relationship** perspective." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Segmentation -- How different type of houses respond differently to number of rooms?\n", - "From the analysis above, we learnt the direct treatment effect of each feature from an overall average level. However, different regions might respond differently on housing price for each potential driver. In the following section, we are going to use number of rooms (`RM`) as an example to learn how different type of houses respond differently to number of rooms? " - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plt.figure(figsize=(12, 8))\n", - "ca.plot_heterogeneity_tree(\n", - " pd.DataFrame(x_test, columns=boston_data.feature_names),\n", - " \"RM\",\n", - " max_depth=2,\n", - " min_impurity_decrease=1e-6,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the global level, we know that the ATE of `RM` is 4.5, which means in average adding one more room will raise the housing price by 4.5 units. In the shallow tree above, we could see although overall `RM` has a significant positive effect on housing price, housing price will be more expensive for one more room in regions with lower pupil-teacher rate, and the effect will be insignificant in the regions with higher pupil-teacher rate and lower retail business rate. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Policy Analysis -- What is the best policy considering cost?\n", - "To take a step further, we'd like to know the sub-population where the treatment effect will still be positive after taking cost into consideration. Assuming the average cost of adding one more room is 4 units, let us see what kind of houses have a housing price that will increase more than their cost. " - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plt.figure(figsize=(12, 8))\n", - "ca.plot_policy_tree(\n", - " pd.DataFrame(x_test, columns=boston_data.feature_names),\n", - " \"RM\",\n", - " treatment_costs=4,\n", - " max_depth=2,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You could see if we follow the recommended policy above, on average, the housing price will increase by 2 more units compared with no more room added. Similarly, it will increase by around 1.4 units compared with adding one more room for every house. To be more detailed, we could also output the individualized policy. In the following table, I will only print the top five houses ordered by policy gains." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TreatmentEffect of treatmentEffect of treatment lower boundEffect of treatment upper boundCRIMZNINDUSCHASNOXCurrent treatmentAGEDISRADTAXPTRATIOBLSTAT
35decrease5.1930294.1054456.2806134.222390.018.101.00.7705.80389.01.904724.0666.020.2353.0414.64
37decrease4.9712833.9781395.9644278.267250.018.101.00.6685.87589.61.129624.0666.020.2347.888.88
17increase4.9036313.1067256.7005370.0401180.01.520.00.4047.28734.17.30902.0329.012.6396.904.08
12decrease4.8294104.1652815.4935396.288070.018.100.00.7406.34196.42.072024.0666.020.2318.0117.79
91decrease4.7281593.7514515.70486811.160400.018.100.00.7406.62994.62.124724.0666.020.2109.8523.27
\n", - "
" - ], - "text/plain": [ - " Treatment Effect of treatment Effect of treatment lower bound \\\n", - "35 decrease 5.193029 4.105445 \n", - "37 decrease 4.971283 3.978139 \n", - "17 increase 4.903631 3.106725 \n", - "12 decrease 4.829410 4.165281 \n", - "91 decrease 4.728159 3.751451 \n", - "\n", - " Effect of treatment upper bound CRIM ZN INDUS CHAS NOX \\\n", - "35 6.280613 4.22239 0.0 18.10 1.0 0.770 \n", - "37 5.964427 8.26725 0.0 18.10 1.0 0.668 \n", - "17 6.700537 0.04011 80.0 1.52 0.0 0.404 \n", - "12 5.493539 6.28807 0.0 18.10 0.0 0.740 \n", - "91 5.704868 11.16040 0.0 18.10 0.0 0.740 \n", - "\n", - " Current treatment AGE DIS RAD TAX PTRATIO B LSTAT \n", - "35 5.803 89.0 1.9047 24.0 666.0 20.2 353.04 14.64 \n", - "37 5.875 89.6 1.1296 24.0 666.0 20.2 347.88 8.88 \n", - "17 7.287 34.1 7.3090 2.0 329.0 12.6 396.90 4.08 \n", - "12 6.341 96.4 2.0720 24.0 666.0 20.2 318.01 17.79 \n", - "91 6.629 94.6 2.1247 24.0 666.0 20.2 109.85 23.27 " - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ca.individualized_policy(\n", - " pd.DataFrame(x_test, columns=boston_data.feature_names),\n", - " \"RM\",\n", - " n_rows=5,\n", - " treatment_costs=4,\n", - " alpha=0.1,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Note that here the `effect of treatment` is the treatment effect of increasing or decreasing 10% of average treatment level minus the cost, and `decrease` or `increase` mean in which direction we will get positive policy gain." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### What If Analysis - How the overall housing price changes with one more room?\n", - "The causal analysis tool could also answer **what if** types of questions. For a given treatment, we'd also like to know the **counterfactuals** if we intervene it in a different way. In the example below, we will learn how the overall housing price changes with one more room?" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Current average housing price on test set: 22.21960784313725\n", - "Average housing price with one more room on test set: 26.916421568627456\n" - ] - } - ], - "source": [ - "cf = ca.whatif(x_test, x_test[:, 5] + 1, 5, y_test)\n", - "print(\"Current average housing price on test set: \", y_test.mean())\n", - "print(\n", - " \"Average housing price with one more room on test set: \",\n", - " cf[\"point_estimate\"].mean(),\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Histogram of Housing price -- Current vs. One more room')" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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pJ7A/ZIGA98G3gK6ATcBlwM/KjHvTWk8Q4cO9Z2+WdLc44ntoaamhqVLl3L66ad/YtiKFSvo3bv3etOfeuqpfO1rX+PnP/85EyeWV+t60kknMX36dPbZZx8k8dOf/pTtt9+eF154oeT03bp1Y+LEiXz961/n3XffZfXq1YwZM4ZBgwa1eP369u3LT37yEw499FAigi9+8YuccMIJ6003cOBAxo4dy1FHHcXatWvp2rUrN9xwA7vsskurll1OmR2pxe88lfR94K8RcU3BsFHAtyLi2KbmHTp0aPhFGxsQP+7YoebNm8fee+/d2WHYBq7UcSJpVkSU/eOBcp6KqU536kjaDDgSeEFS3zRMwInA7LIjNzOzdlNOVUxf4DZJVWQXgnsi4iFJj0qqBgTUAxe0X5hmZlaucp6KeQ7Yt8Tww9olIjMzaxP/8tTMLGec2M3McsaJ3cwsZ9y6o1lnqfTjpmU+VvrWW28xZswYZsyYQc+ePenTpw/jx49nzz33rGw8jZg6dSrdunUr+YMoqwzfsZttRCKCk046iVGjRvHyyy8za9YsrrrqKhYtWlTW/MUtIJZqEbE5U6dOpa6ursXzWfmc2M02Io899hhdu3blggs+fjp5n332Yc2aNRx77Me/L7zooouYMGECsH7TtcX9Dz/8MCNGjGDIkCF85StfYcWKFevm+8EPfsCQIUOoqanhhRdeYP78+dx4442MGzeO2traks3+Wts5sZttRGbPns1+++3X4vkamq499dRTP9F/xBFHMHbsWB555BGefvpphg4dynXXXbduvt69e/P0009z4YUXcs0119C/f38uuOACLrnkEurr6zn44IMrtm72Mdexm1mzGpquLe7/4x//yNy5c9c1+fu3v/2NESNGrJuusInf++67r4OiNSd2s43IoEGDSjbm1aVLF9auXbuu/6OPPvrE+OKmaxv6I4IjjzySu+66q2R5bWni11rPVTFmG5HDDjuMlStXctNNN60b9txzzxERzJ07l5UrV7J8+XKmTJlS1vKGDx/Ok08+yUsvvQRkbwz685//3OQ8rWkK2FrGd+xmnaUTWr2UxP3338+YMWO4+uqr6d69O/3792f8+PF89atfZfDgwQwYMIB9912vFZGSqqurmTBhAqeddhorV64EYOzYsU0+Onncccdx8skn88ADD3D99de7nr0dtLjZ3rZw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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# distribution comparison\n", - "plt.hist(cf.point_estimate, label=\"With one more room\", alpha=0.7)\n", - "plt.hist(y_test, label=\"Current\", alpha=0.7)\n", - "plt.legend()\n", - "plt.xlabel(\"Housing Price\")\n", - "plt.title(\"Histogram of Housing price -- Current vs. One more room\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From the summary table we could see overall if we add one more room in the test set, the housing price will increase by 4+ units, which is in line with the ATE we learnt above. And the histrogram shows a comparison between the current housing price distribution and the counterfactuals ditribution if we add one more room." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Cohort Analysis -- What is the causal effect on a new dataset?\n", - "Causal analysis class could also help us to learn the global and local causal effect of a new dataset given the model trained with training set. From the two tables below, you could see the global effect on test set is similar with training set, and the local effect gives you the heterogeneous treatment effect for each observation." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
pointstderrzstatp_valueci_lowerci_upper
featurefeature_value
LSTATnum-0.4030590.078745-5.1185493.078958e-07-0.532583-0.273536
RMnum4.6967920.4804459.7759181.428563e-223.9065305.487054
PTRATIOnum-2.0648640.546016-3.7816921.557659e-04-2.962980-1.166748
NOXnum-5.1114126.638709-0.7699414.413351e-01-16.0311165.808292
AGEnum-0.0194040.018952-1.0238363.059127e-01-0.0505770.011770
CRIMnum-0.7513230.311513-2.4118511.587175e-02-1.263716-0.238930
DISnum-0.4178470.438805-0.9522383.409765e-01-1.1396170.303923
Bnum0.0008730.0055190.1582288.742774e-01-0.0082050.009952
INDUSnum-0.5468750.307997-1.7755857.580141e-02-1.053485-0.040265
TAXnum0.0012190.0132460.0920079.266925e-01-0.0205690.023007
RADnum-0.1532490.258233-0.5934535.528784e-01-0.5780060.271507
ZNnum0.0881380.1587700.5551345.788031e-01-0.1730140.349291
CHAS1.0v0.08.1945942.0862543.9278998.569134e-054.76301211.626177
\n", - "
" - ], - "text/plain": [ - " point stderr zstat p_value ci_lower \\\n", - "feature feature_value \n", - "LSTAT num -0.403059 0.078745 -5.118549 3.078958e-07 -0.532583 \n", - "RM num 4.696792 0.480445 9.775918 1.428563e-22 3.906530 \n", - "PTRATIO num -2.064864 0.546016 -3.781692 1.557659e-04 -2.962980 \n", - "NOX num -5.111412 6.638709 -0.769941 4.413351e-01 -16.031116 \n", - "AGE num -0.019404 0.018952 -1.023836 3.059127e-01 -0.050577 \n", - "CRIM num -0.751323 0.311513 -2.411851 1.587175e-02 -1.263716 \n", - "DIS num -0.417847 0.438805 -0.952238 3.409765e-01 -1.139617 \n", - "B num 0.000873 0.005519 0.158228 8.742774e-01 -0.008205 \n", - "INDUS num -0.546875 0.307997 -1.775585 7.580141e-02 -1.053485 \n", - "TAX num 0.001219 0.013246 0.092007 9.266925e-01 -0.020569 \n", - "RAD num -0.153249 0.258233 -0.593453 5.528784e-01 -0.578006 \n", - "ZN num 0.088138 0.158770 0.555134 5.788031e-01 -0.173014 \n", - "CHAS 1.0v0.0 8.194594 2.086254 3.927899 8.569134e-05 4.763012 \n", - "\n", - " ci_upper \n", - "feature feature_value \n", - "LSTAT num -0.273536 \n", - "RM num 5.487054 \n", - "PTRATIO num -1.166748 \n", - "NOX num 5.808292 \n", - "AGE num 0.011770 \n", - "CRIM num -0.238930 \n", - "DIS num 0.303923 \n", - "B num 0.009952 \n", - "INDUS num -0.040265 \n", - "TAX num 0.023007 \n", - "RAD num 0.271507 \n", - "ZN num 0.349291 \n", - "CHAS 1.0v0.0 11.626177 " - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# global effect on new dataset\n", - "ca.cohort_causal_effect(x_test)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
pointstderrzstatp_valueci_lowerci_upper
samplefeaturefeature_value
0LSTATnum-0.0866470.198795-0.4358620.662937-0.4136350.240341
RMnum9.3874212.1214124.4250810.0000105.89800912.876833
PTRATIOnum0.6107450.6510340.9381160.348185-0.4601101.681600
NOXnum25.79262432.2914540.7987450.424439-27.32209178.907338
AGEnum-0.0632100.047780-1.3229300.185859-0.1418020.015382
...........................
101INDUSnum-0.5958080.252946-2.3554750.018499-1.011868-0.179749
TAXnum-0.0168600.013712-1.2296120.218842-0.0394140.005694
RADnum0.1026970.4921870.2086550.834718-0.7068780.912272
ZNnum-0.1591290.091308-1.7427760.081373-0.309316-0.008941
CHAS1.0v0.08.8702474.6029721.9270700.0539711.29903216.441462
\n", - "

1326 rows × 6 columns

\n", - "
" - ], - "text/plain": [ - " point stderr zstat p_value \\\n", - "sample feature feature_value \n", - "0 LSTAT num -0.086647 0.198795 -0.435862 0.662937 \n", - " RM num 9.387421 2.121412 4.425081 0.000010 \n", - " PTRATIO num 0.610745 0.651034 0.938116 0.348185 \n", - " NOX num 25.792624 32.291454 0.798745 0.424439 \n", - " AGE num -0.063210 0.047780 -1.322930 0.185859 \n", - "... ... ... ... ... \n", - "101 INDUS num -0.595808 0.252946 -2.355475 0.018499 \n", - " TAX num -0.016860 0.013712 -1.229612 0.218842 \n", - " RAD num 0.102697 0.492187 0.208655 0.834718 \n", - " ZN num -0.159129 0.091308 -1.742776 0.081373 \n", - " CHAS 1.0v0.0 8.870247 4.602972 1.927070 0.053971 \n", - "\n", - " ci_lower ci_upper \n", - "sample feature feature_value \n", - "0 LSTAT num -0.413635 0.240341 \n", - " RM num 5.898009 12.876833 \n", - " PTRATIO num -0.460110 1.681600 \n", - " NOX num -27.322091 78.907338 \n", - " AGE num -0.141802 0.015382 \n", - "... ... ... \n", - "101 INDUS num -1.011868 -0.179749 \n", - " TAX num -0.039414 0.005694 \n", - " RAD num -0.706878 0.912272 \n", - " ZN num -0.309316 -0.008941 \n", - " CHAS 1.0v0.0 1.299032 16.441462 \n", - "\n", - "[1326 rows x 6 columns]" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# local effect on new dataset\n", - "ca.local_causal_effect(x_test)" - ] - } - ], - "metadata": { - "authors": [ - { - "name": "mesameki" - } - ], - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/pyproject.toml b/pyproject.toml index 9f0652dbb..bf2e2991e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,5 +15,6 @@ markers = [ "notebook", "automl", "dml", - "causal" + "serial", + "cate_api" ] \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 850bfd55d..9f454e806 100644 --- a/setup.cfg +++ b/setup.cfg @@ -34,13 +34,13 @@ packages = find_namespace: install_requires = numpy scipy > 1.4.0 - scikit-learn > 0.22.0 + scikit-learn > 0.22.0, < 1.2 sparse joblib >= 0.13.0 statsmodels >= 0.10 pandas - shap >= 0.38.1, < 0.40.0 - dowhy < 0.7 + shap >= 0.38.1, < 0.41.0 + dowhy < 0.8 lightgbm test_suite = econml.tests tests_require = @@ -57,6 +57,8 @@ tf = ; This extra is not currently compatible with python 3.9 or above because of tensorflow breaking changes keras < 2.4;python_version < '3.9' tensorflow > 1.10, < 2.3;python_version < '3.9' + ; Version capped due to tensorflow incompatibility + protobuf < 4 plt = graphviz matplotlib @@ -64,6 +66,8 @@ all = azure-cli keras < 2.4 tensorflow > 1.10, < 2.3 + ; Version capped due to tensorflow incompatibility + protobuf < 4 matplotlib [options.packages.find]