Skip to main content

tppis

Open-source Python implementation of Truncated Preconditioned Profiled Independence Screening (TPPIS) from Tanaka and Matsui (2023), plus the baselines SIS, FPSIS (and FPSIS-BIC), and PPIS.

The method screens variables in high-dimensional regression when predictors are strongly multicollinear. A factor-analysis transform removes the common factors; TPPIS then truncates the tail of that transform so the unique-factor signal is not washed out.

Maintainer: Mohammed Aswath M · mohammed.aswath07@gmail.com · issues: github.com/Mohammed-Aswath/tppis

Install

pip install tppis

The package requires Python 3.10+, NumPy, SciPy, and scikit-learn 1.6+.

From a clone of this repository:

python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e ".[dev]"

Requires Python 3.10+, NumPy, SciPy, and scikit-learn 1.6+.

Quickstart

from tppis import TPPIS, make_example1

data = make_example1(n=100, p=80, phi=0.7, seed=0)
est = TPPIS().fit(data.X, data.y)

est.get_support(indices=True)   # selected columns, ranking order
est.d_, est.alpha_, est.k_      # BIC-chosen parameters
est.bic_
est.grid_                       # every (d, alpha, k, bic) evaluated

Fixed parameters, no search:

TPPIS(d=20, alpha=0.4, k=10).fit(data.X, data.y)

Inside a scikit-learn pipeline:

from sklearn.linear_model import LinearRegression
from sklearn.pipeline import Pipeline
from tppis import TPPIS

pipe = Pipeline([
    ("select", TPPIS(d=8, alpha=0.6, k=10)),
    ("lm", LinearRegression()),
])
pipe.fit(data.X, data.y)

The functional entry point screen(X, y, method="tppis") returns the same fitted estimator.

When to use which method

Method Transform How d is chosen
SIS none (X.T @ y) —
FPSIS project out leading d factors singular-value ratio (3)
FPSIS-BIC same BIC grid
PPIS Puffer whitening of the tail singular-value ratio (3)
TPPIS PPIS with the tail truncated at [n α] joint BIC over d, α, k

TPPIS at alpha=1 is exactly PPIS. That identity is tested.

Citation

If you use the method, cite the paper. If you use this software, cite the package as well.

Tanaka, S. and Matsui, H. (2023). Variable screening using factor analysis
for high-dimensional data with multicollinearity. arXiv:2306.05702.

See CITATION.cff.

License

MIT. See LICENSE.

Release files for tppis 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tppis 0.1.0
File Size Uploaded
tppis-0.1.0.tar.gz 29.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tppis 0.1.0
File Interpreter ABI Platform
tppis-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 57.3 kB

Release files / tppis-0.1.0.tar.gz

Download URL tppis-0.1.0.tar.gz
Size 29.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9a33d6c4068f7b14c28c3fa450f9cc9886ec688184f0a769e094c0c1c6f15ea8
BLAKE2b-256 checksum
How to use checksums
311bf2786139cc165db96d5dbe3b09ff93a4ccef27eaa812d7f8235c9b16ccb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / tppis-0.1.0-py3-none-any.whl

Download URL tppis-0.1.0-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9114b87a66f5d3ea1bc7d9a2f3ebf3e9ee528cca6cfeb288a8f7036be7d8f86b
BLAKE2b-256 checksum
How to use checksums
fb936fa5e956d7da8de7d876fecef4a5b8e63a328dcfc54b21dd53cc5feddc93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page