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(max_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.3.tar.gz (774.8 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.3-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for geometric_sampling-0.4.3.tar.gz
Algorithm Hash digest
SHA256 58f79b9ded1fd2220ce4c8aeec3f0744b71e5aa38d31b3de6137e5099343c95b
MD5 f030870581b111466ad0774a6e85607f
BLAKE2b-256 18836ab5dc86dffa422ee745bf3d88f4f1a7e224eccb04499e6b521f77ec86b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for geometric_sampling-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b297afa8f449e5735b02b6d8b093457a85f77c3b7a1552cd4385806a55721498
MD5 21db1f30fef61b7285fce48ace35fce4
BLAKE2b-256 f30f78e771c426a9b12b42484591ba5866eeff9600e205c8562e522bdde930a6

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