Skip to main content

Python port of robustbase::lmrob (MM regression)

Project description

pylmrob

CI PyPI Python versions Documentation Status License: GPL-3.0-or-later

Python port of the lmrob MM-estimator from R's robustbase package.

Coefficient agreement with R on the classical validation datasets is within rtol=1e-3 for both estimates and covariance; see docs/numerical-notes.md for known divergences and docs/bench-report.md for wall-clock numbers.

Status: alpha. Public API is provisional.

Install

pip install pylmrob

From source (requires Python 3.10+ and a C compiler):

git clone https://github.com/anevolbap/pyrobustlm
cd pyrobustlm
uv pip install --no-build-isolation -e ".[dev]"
pytest

Quickstart

import pandas as pd
from pylmrob import lmrob, Control

df = pd.read_csv("stackloss.csv")
fit = lmrob(
    "stack.loss ~ Air.Flow + Water.Temp + Acid.Conc.",
    df,
    control=Control(setting="KS2014"),
    seed=42,
)
print(fit.summary())

More: docs/quickstart.md, docs/examples/, docs/porting-from-r.md.

Comparison with statsmodels

statsmodels.robust.RLM implements M-estimators (Huber, Tukey, Hampel) but not MM-estimators. If you need MM (high breakdown + high efficiency), use pylmrob. If plain M is enough, RLM has a more mature API.

Contributing

See CONTRIBUTING.md for the dev setup, test layout, and PR guidelines.

References

  • Yohai, V. J. (1987). High Breakdown-Point and High Efficiency Robust Estimates for Regression. Annals of Statistics, 15(2). doi:10.1214/aos/1176350366.
  • Salibian-Barrera, M. and Yohai, V. J. (2006). A Fast Algorithm for S-Regression Estimates. JCGS, 15(2). doi:10.1198/106186006X113629.
  • Koller, M. and Stahel, W. A. (2011). Sharpening Wald-type Inference in Robust Regression for Small Samples. CSDA, 55(8). doi:10.1016/j.csda.2011.02.014.
  • Koller, M. and Stahel, W. A. (2017). Nonsingular Subsampling for Regression S-estimators with Categorical Predictors. Computational Statistics, 32(2). doi:10.1007/s00180-016-0679-x.
  • Maronna, R. A. and Yohai, V. J. (2000). Robust regression with both continuous and categorical predictors. JSPI, 89(1-2). doi:10.1016/S0378-3758(99)00208-6.

License and citation

GPL-3.0-or-later, matching robustbase. See LICENSE and NOTICE. Citation metadata in CITATION.cff (GitHub renders a "Cite this repository" button).

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

pylmrob-0.5.20.tar.gz (11.4 MB view details)

Uploaded Source

Built Distributions

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

pylmrob-0.5.20-cp313-cp313-win_amd64.whl (614.4 kB view details)

Uploaded CPython 3.13Windows x86-64

pylmrob-0.5.20-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (689.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pylmrob-0.5.20-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (664.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pylmrob-0.5.20-cp313-cp313-macosx_11_0_arm64.whl (430.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pylmrob-0.5.20-cp312-cp312-win_amd64.whl (616.1 kB view details)

Uploaded CPython 3.12Windows x86-64

pylmrob-0.5.20-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (689.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pylmrob-0.5.20-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (664.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pylmrob-0.5.20-cp312-cp312-macosx_11_0_arm64.whl (432.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pylmrob-0.5.20-cp311-cp311-win_amd64.whl (620.6 kB view details)

Uploaded CPython 3.11Windows x86-64

pylmrob-0.5.20-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (694.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pylmrob-0.5.20-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (674.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pylmrob-0.5.20-cp311-cp311-macosx_11_0_arm64.whl (431.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pylmrob-0.5.20-cp310-cp310-win_amd64.whl (620.0 kB view details)

Uploaded CPython 3.10Windows x86-64

pylmrob-0.5.20-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (694.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pylmrob-0.5.20-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (673.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pylmrob-0.5.20-cp310-cp310-macosx_11_0_arm64.whl (433.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file pylmrob-0.5.20.tar.gz.

File metadata

  • Download URL: pylmrob-0.5.20.tar.gz
  • Upload date:
  • Size: 11.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylmrob-0.5.20.tar.gz
Algorithm Hash digest
SHA256 e0908e0daf0e0536b30735ddb5a61085b754e481627134804dec15175b05c92b
MD5 efa3776a66b51bc70b05590d610add59
BLAKE2b-256 1970540a62bdd6f921825e06fee0eb8a343f8f3a28aa54f7466745cfd8b424cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20.tar.gz:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pylmrob-0.5.20-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 614.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylmrob-0.5.20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fe89cdb397eaa86c1a8ab212839c6d3b0dcb64a7517a2b97a85e5da6f7877289
MD5 a90f9df31a0612e2a37737a55f652417
BLAKE2b-256 8bc5571da3a046558059892798435fee817c574bee2c9d04870b6d75b4370a5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8eb04f9bd66e2a208da3982826319eea9baeddc99bedf8a07eac2401d24151c3
MD5 f8d850e9eac21d6bc85d706cb5eaa653
BLAKE2b-256 dca04801d5b3530b062e1f1d53853278d5b3ba3aee79dbd407f01edae996f751

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 07f81545cad728b4dc85dbda6f3e8eaa7e1a8677b53d6edf1728158523821b9f
MD5 f06bd73e48df6759a1dfb29c43432ad7
BLAKE2b-256 a6d0b43603e226b415b50db87ab3c9899a5d9030b2effa19dbc4a8acfb924edc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f22b39478d47b8b03eb0b09134b159f5096f22282310a8e3f9289038e6142dd1
MD5 012b4fa85632620c149f5e2175ac192e
BLAKE2b-256 64107bcc297a9ed22104631c40704290b0a461ead6446d28de466fedd04313fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pylmrob-0.5.20-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 616.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylmrob-0.5.20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c807869bce3b5ef7bf83066c630eccc3d232d12d232995bc87fc8fb90e410464
MD5 3844b74a5418c44b587a8502be68c36f
BLAKE2b-256 ccbffab903d24c2099f6c11cfe119fd406810ea69ba7e612f75bad2da06067e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5ec431f9321cf08345d0a13fc296c25fec46539daafefc50101f95bc7f351e33
MD5 be101daf6f031ac92a69174b6543ce2c
BLAKE2b-256 ba1c8cae414fcb34525fbd86553cc13578f73ed20a9434a99c424996da3e404e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ad7a38aa99aa0b5b39d8fa1402a67d005780cf8111dd3a793c3c93502b39f839
MD5 d0cd21ee7813b71595e3a8981208049a
BLAKE2b-256 5106debe296c89652f0670366cdd721a13fb6005fcea513ac86c9edc57aa88c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4db40dc3c8fceeaadecf017b0d2c7dafff4477e0566384249a1cc0232975721d
MD5 16e0b003f19ca6e87b6e85fa05b96966
BLAKE2b-256 87bb96ff0c2aa13e524df1acf973cba451b60f506bac25cdedc09876ba304668

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pylmrob-0.5.20-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 620.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylmrob-0.5.20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 474794a743bfffa0f2fe2716b9605a341c7c1750aaf807ac6e257b04258a49f9
MD5 f748a977e60076a9750323c2561c76c6
BLAKE2b-256 85af22bb346fd5b705f21a74f0f2e6709c420fa680a00417636c99823059cda6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6882284313ccb61f749799a0a157979a7fb26b606529ed32d44bbefdaab3dfda
MD5 7ac9917ef03ef5254caea111f78cd30e
BLAKE2b-256 2939fb0d21ab3a77a9bb37a9870a5bf77595bffd4cee8c63b408d02bf8303eb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1b821c6f03a434081e047cbaf3e5ddbe91061ea5b4ed29c81191cd6271c557ad
MD5 43adafda06147c5754b5b1cd584f7cc5
BLAKE2b-256 83ccb0e18fb714b3f25e8eea67b551c72debec31b0038060354486181a85cf41

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 47533f62888444e6fa74471c50314ac97fbae2deb9b94cafda2f9523d9ef7b1c
MD5 23150bf983d02770e2ac54e9c75287fe
BLAKE2b-256 5d680d8f919cc217517308d2e07a6bc3bebd91c3378fccd93dad221a442370cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pylmrob-0.5.20-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 620.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylmrob-0.5.20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f3a8e67504d40fe1937a6c354452cbb46e9ad6f67bfdcf82757ad0ceb667cb2e
MD5 da3228413a9e3cdae8139a2b84b8286d
BLAKE2b-256 4fb105fff55fdbb378990d6b0fe7157123a9a7ed83cd75476313326da9a613cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8c99f484e74ee988d106c3873bfc7468868de9afe828c10e63503e9a6b9a9c94
MD5 3560a8718be09711eaee6037ecbbc3e0
BLAKE2b-256 478e4aefde6f538b76b6718f5b7c8e8862b6c6d44683150f9a0d8b247c8696ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 47b141460b2044535648806b0e93333c7c2e510de08a30c049cc26915f7cd96a
MD5 73fd335d6fe6cebd56c3347bc5171e84
BLAKE2b-256 c7e4cba6dc69d81f9585b58ee304d3c4e6b4d5ae8b6e588b57537f5ad17d0d10

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylmrob-0.5.20-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pylmrob-0.5.20-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 107da35fece33062a8caff8b878311b679d5b9c686366271fbdf14d23cac8440
MD5 a5e29e6543efa0ea1531167d1635c28e
BLAKE2b-256 e5831ab0110865ae59911ea771544e850cfc197597b169ce4789922030bf3354

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylmrob-0.5.20-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on anevolbap/pyrobustlm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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