Skip to main content

Contains a few functions useful for data-analysis, causal inference etc.

Project description

skmiscpy

Contains a few functions useful for data-analysis, causal inference etc.

Installation

pip install skmiscpy

Usage

So far, skmiscpy can be used to do a basic causal analysis. Here very simple examples are shown for demonstration purposes. Check Causal Analysis Workflow & Estimating ATE Using skmiscpy for better understanding.

import pandas as pd
from skmiscpy import compute_smd, plot_smd
from skmiscpy import plot_mirror_histogram

Draw a mirror histogram

data = pd.DataFrame({
    'treatment': [1, 1, 0, 0, 1, 0],
    'propensity_score': [2.0, 3.5, 3.0, 2.2, 2.2, 3.3]
})

plot_mirror_histogram(data=data, var='propensity_score', group='treatment')

# Draw a weighted mirror histogram
data_with_weights = pd.DataFrame({
    'treatment': [1, 1, 0, 0, 1, 0],
    'propensity_score': [2.0, 3.5, 3.0, 2.2, 2.2, 3.3],
    'weights': [1.0, 1.5, 2.0, 1.2, 1.1, 0.8]
})

plot_mirror_histogram(
    data=data_with_weights, var='propensity_score', group='treatment', weights='weights',
    xlabel='Propensity Score', ylabel='Weighted Count', title='Weighted Mirror Histogram'
)

Compute Standardized Mean Difference (SMD)

data = pd.DataFrame({
    'group': [1, 0, 1, 0, 1, 0],
    'age': [23, 35, 45, 50, 22, 30],
    'bmi': [22.5, 27.8, 26.1, 28.5, 24.3, 29.0],
    'blood_pressure': [120, 130, 140, 135, 125, 133],
    'weights': [1.2, 0.8, 1.5, 0.7, 1.0, 0.9]
})

# Compute SMD for 'age', 'bmi', and 'blood_pressure' under ATE estimand
smd_results = compute_smd(data, vars=['age', 'bmi', 'blood_pressure'], group='group', estimand='ATE')

# Compute SMD adjusted by weights
smd_results_with_weights = compute_smd(data, vars=['age', 'bmi', 'blood_pressure'], group='group', wt_var='weights')

print(smd_results)
print(smd_results_with_weights)

Create a love plot (point plot of SMD)

data = pd.DataFrame({
    'variables': ['age', 'bmi', 'blood_pressure'],
    'unadjusted_smd': [0.25, 0.4, 0.1],
    'adjusted_smd': [0.05, 0.2, 0.08]
})

plot_smd(data)

## Adding a reference line at 0.1
plot_smd(data, add_ref_line=True, ref_line_value=0.1)

## Customizing the Seaborn plot with additional keyword arguments
plot_smd(data, add_ref_line=True, ref_line_value=0.1, palette='coolwarm', markers=['o', 's'])

Contributing

Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

skmiscpy was created by Shafayet Khan Shafee. It is licensed under the terms of the MIT license.

Credits

skmiscpy was created with cookiecutter and the py-pkgs-cookiecutter template.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skmiscpy-0.3.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

skmiscpy-0.3.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file skmiscpy-0.3.0.tar.gz.

File metadata

  • Download URL: skmiscpy-0.3.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.6 Darwin/22.6.0

File hashes

Hashes for skmiscpy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c3832621ce09dd6865e4d800dd3e5e3029609a9969c77aa91f7ce394d02a5a43
MD5 37cbb0025e9e6ac901a1f92692b243b5
BLAKE2b-256 5665eef4b0d9be866498ab1a5f298dcbf9d56efad4f01063fef04df931ce5c37

See more details on using hashes here.

File details

Details for the file skmiscpy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: skmiscpy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.6 Darwin/22.6.0

File hashes

Hashes for skmiscpy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db168f59253f0b74c0c20ec8951c36934ac84d2f287451c539ba67677bf9013a
MD5 730652404e3b47b832a9dc792fcdee93
BLAKE2b-256 bd27c2663f5cce0a7c4e971f496c15d83ca93220b15bdf5c811466b8fee94622

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page