Calculate weight factors for survey data to approximate a representative sample
Project description
Weight Factors
Calculate weight factors for survey data to approximate a representative sample
Installation
pip install weightfactors
or clone and install from source
git clone https://github.com/markteffect/weightfactors
cd weightfactors
poetry install
Usage
Currently, the package implements a generalized raking algorithm.
If you'd like to see support for other algorithms, please open an issue or submit a pull request.
Let's use the following dataset as an example:
sample = pd.DataFrame(
{
"Gender": [
"Male",
"Male",
"Female",
"Female",
"Female",
"Male",
"Female",
"Female",
"Male",
"Female",
],
"Score": [7.0, 6.0, 8.5, 7.5, 8.0, 5.0, 9.5, 8.0, 4.5, 8.5],
}
)
Suppose our sample comprises 40% males and 60% females.
If we were to calculate the average score, we would get:
np.average(sample["Score"])
# 7.25
Now, assuming a 50/50 gender distribution in the population,
let's calculate weight factors to approximate the population distribution:
from weightfactors import GeneralizedRaker
raker = GeneralizedRaker({"Gender": {"Male": 0.5, "Female": 0.5}})
weights = raker.rake(sample)
# [1.25000008 1.25000008 0.83333334 0.83333334 0.83333334 1.25000008
# 0.83333334 0.83333334 1.25000008 0.83333334]
Let's calculate the average score again, this time applying the weight factors:
np.average(sample["Score"], weights=weights)
# 6.9791666284520835
For more detailed information and customization options, please refer to the docstrings.
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
Built Distribution
File details
Details for the file weightfactors-0.0.5.tar.gz
.
File metadata
- Download URL: weightfactors-0.0.5.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.3 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c34eda51376905507240875d0598668e338e7199ef580dced01f568a182afd2e |
|
MD5 | 5c805ee424b7ac728d4dba743c6c72b1 |
|
BLAKE2b-256 | 13916e4ef4118789e8920fc9a9b1ed56d85aaa7ad302b63b8848a023aa66eb30 |
File details
Details for the file weightfactors-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: weightfactors-0.0.5-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.3 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6af15b0555742052368b3008060c9c43f3b0d10591958d1959dffb4e0054a4ec |
|
MD5 | 49f38362bb039c89048a8e42d53ea456 |
|
BLAKE2b-256 | 4394aaee9696f3020d6777bb295ca66f3f06d2fa3fca34c60591bf67166c4b10 |