Skip to main content

StatsAssume

Automating Assumption Checks for Regression Models

GitHub Workflow Status PyPI

FeaturesDownloadUsageMotivationContributingUpcoming

Features

StatsAssume automates the assumption checks of regression models (e.g., linear and logistic regression) on your data and displays the results in an elegant dashboard. 

  • Automatically detects regression task (and relevant assumption checks) based on the target variable of dataset.

  • Automatically executes statistical tests and visual plots of assumption checks relevant to the regression task.

  • Generates clear visual output of results in a beautiful dashboard (built on Jupyter-Dash).

  • Displays insightful information on assumption concepts and possible fixes for assumption violations.

  • Able to automatically encode categorical variables to create dataset suitable for regression modelling (unless specified otherwise).



Download

pip install statsassume

Usage

Quickstart

from statsassume import Check
from statsassume.datasets import load_data

df = load_data('Fish_processed')  # Get toy dataset (pre-processed)

assume = Check(df, target='Weight')  # Initiate Check class and define target variable
assume.report()  # Run assumption checks and generate dashboard report

NOTE: Data should ideally be pre-processed before running StatsAssume assumption checks.

Toy datasets available in StatsAssume can be found HERE

Comprehensive Usage

  • While pre-processing should ideally be performed prior, StatsAssume comes with automatic encoding of categorical variables so that we can quickly commence model runs and assumption checks
  • Here's how to put the Check class (core object of StatsAssume) to its best use:
df = load_data('Fish')  # Get toy dataset (raw)

assume = Check(df=df, 
               target='Weight',
               task='linear regression',
               predictors=['Height', 'Width', 'Length1', 'Species'],
               keep=True,
               categorical_features=['Species'],
               categorical_encoder='ohe',
               mode='inline')

Attributes

  • df: pd.DataFrame
    Dataset (in pandas DataFrame format)

  • target: str
    Column name of target (dependent) variable

  • task: str
    Type of regression task to be performed. Options include: 'linear regression'(More tasks to come soon). If None specified, task will be automatically determined based on target variable.

  • predictors: list
    List of column names of predictor (independent) features. If None specified, all columns other than target will be regarded as predictors

  • keep: bool
    If True, variables in predictors list will be kept as predictor variables, and other non-target variables will be dropped. If False, variables in predictors list will be dropped, and other non-target variables will be retained. Default is True.

  • categorical_features: list
    List of column names deemed categorical, so that appropriate encoding can be performed. If None specified, the categorical variables will be automatically detected and encoded into numerical format for regression modelling. Default is None.

  • categorical_encoding: str
    Type of encoding technique to be performed on categorical variables. Options include: ohe (i.e. one-hot encoding) and ord (i.e. ordinal encoding). Default is ohe.

  • mode: str
    Type of display for dashboard report. Options include inline (displayed as output directly in Jupyter notebook), external (displayed in a new full-screen browser tab), or jupyterlab (displayed in separate tab right inside JupyterLab). Default is inline.

Notes

  • Only df and target attributes are compulsory


Motivation

  • Tedious to perform assumption checks manually
  • Lack of rigour and consistency in references and notebooks online


Contributing

  1. Have a look at the existing Issues and Pull Requests that you would like to help with.
  2. Clone repo and create a new branch: $ git checkout https://github.com/kennethleungty/statsassume -b name_of_new_branch.
  3. Make changes and test
  4. Submit Pull Request with comprehensive description of changes

If you would like to request a feature or report a bug, please create a GitHub Issue.

See full contribution guide →

Upcoming

Release files for statsassume 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for statsassume 0.0.5
File Size Uploaded
statsassume-0.0.5.tar.gz 26.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for statsassume 0.0.5
File Interpreter ABI Platform
statsassume-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 55.8 kB

Release files / statsassume-0.0.5.tar.gz

Download URL statsassume-0.0.5.tar.gz
Size 26.7 kB
Tags Source
SHA-256 checksum
How to use checksums
bf8e6d4d3f343a539bf4f95ca281773224d9448c7e4eee05076c9b97178214f0
BLAKE2b-256 checksum
How to use checksums
dc58422e611364805136784f82ec8d14e59cc06984e8f8ca2329e62c842f97a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7

Release files / statsassume-0.0.5-py3-none-any.whl

Download URL statsassume-0.0.5-py3-none-any.whl
Size 29.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91ecf3b8a8eee16d1e40a9d5e0c8846c6f8d420b07d553d9be67323e7453dc27
BLAKE2b-256 checksum
How to use checksums
a4553bf9566f24c0670b092ab20b18373a0f03ea0027dfb6eed3a4b7934bf2f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page