Skip to main content

Python package for Geometric Sampling Method

Project description

Geometric Sampling Method - Python Package

The Geometric Sampling Method, introduced by Panahbehagh (2024), presents an innovative approach to finite population sampling based on a unique geometric framework. This method allows researchers to visually depict first-order inclusion probabilities (FIP) as bars on a two-dimensional graph. By adjusting the positions of these bars, users can explore a wide range of sampling designs while controlling second-order inclusion probabilities (SIP).

This package, geometric_sampling, provides tools for implementing the Geometric Sampling Method and is available on PyPI.


Features

  • Create various unequal probability sampling designs with a fixed FIP.
  • Control and explore second-order inclusion probabilities (SIP) through visual manipulation.
  • Incorporate search algorithms, such as A* and Genetic Algorithm, to optimize sampling designs for specific needs (e.g., well-spread or optimal sampling).

Installation

Install the package via pip:

pip install geometric_sampling

How to Use

The package includes core classes and methods to facilitate sampling design creation and optimization. Below is a basic example demonstrating the API.

Example Usage

import geometric_sampling as gm
import numpy as np

# Set up random generator and sample data
rng = np.random.default_rng()
N = 50  # Population size
x = rng.random(size=N)  # Auxiliary variable
n = 5  # Sample size

# Generate initial inclusion probabilities
inclusion = rng.random(N)
inclusion *= n / inclusion.sum()

# Define initial sampling design and evaluation criteria
initial_design = gm.Design(inclusion)
nht = gm.criteria.VarNHT(x, inclusion)
astar = gm.search.AStar(initial_design, nht, switch_coefficient=1)

# Display initial criteria and design
print("Initial criteria value:", astar.initial_criteria_value)
astar.initial_design.show()

# Run the A* search algorithm to optimize the design
astar.run(iterations=2000, num_new_nodes=10, max_open_set_size=10000, num_changes=1)

# Display results after optimization
print("Best criteria value:", astar.best_criteria_value)
astar.best_design.show()

Maintainers


For more details, consult the official paper: Panahbehagh, B. (2024). Geometric Sampling Method.

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

geometric_sampling-0.4.2.tar.gz (113.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geometric_sampling-0.4.2-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file geometric_sampling-0.4.2.tar.gz.

File metadata

  • Download URL: geometric_sampling-0.4.2.tar.gz
  • Upload date:
  • Size: 113.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.29

File hashes

Hashes for geometric_sampling-0.4.2.tar.gz
Algorithm Hash digest
SHA256 7d59a9523d963ddda236abed68fb64d094a902827d088021cc6424ec3193fa9a
MD5 2737657b8be24391fa2c0c1ea00cdde0
BLAKE2b-256 74a19e3eddc454a744468ecb13505810894b30ac7e2be2e447b05f843a423eb7

See more details on using hashes here.

File details

Details for the file geometric_sampling-0.4.2-py3-none-any.whl.

File metadata

File hashes

Hashes for geometric_sampling-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 922b10d7baf6938db3710622283cf681e9b7785095b85d0700f8c51f345835e3
MD5 29f3668157cfff0f68c09f2f28880cad
BLAKE2b-256 f45289d6635cbff4f230d76acd70cbf549f167decce6f4d770dc7b145f9dbaa4

See more details on using hashes here.

Supported by

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