Skip to main content

Probabilistic Targeted Factor Analysis

Project description

Probabilistic Targeted Factor Analysis (PTFA)

PTFA is a probabilistic extension of Partial Least Squares (PLS), designed to extract latent factors from predictors (X) and targets (Y) for optimal prediction. It leverages an Expectation-Maximization (EM) algorithm for robust parameter estimation, accommodating challenges such as missing data, stochastic volatility, and dynamic factors.

The framework balances flexibility and efficiency, providing an alternative to traditional methods like PCA and standard PLS by incorporating probabilistic foundations.

Features

  • Joint estimation of latent factors and parameters.
  • Robust against noise, missing data, and model uncertainty.
  • Extensible to stochastic volatility, mixed-frequency data and dynamic factor models.
  • Competitive performance in high-dimensional forecasting tasks.

Installation

You can install PTFA from PyPI:

pip install ptfa

Usage

Here is a quick example of how to use the ProbabilisticTFA class:

import numpy as np
from ptfa import ProbabilisticTFA

# Example data: predictors (X) and targets (Y)
X = np.random.rand(100, 10)  # 100 observations, 10 predictors
Y = np.random.rand(100, 2)   # 100 observations, 2 targets

# Initialize PTFA model with desired number of components
model = ProbabilisticTFA(n_components=3)

# Fit the model
model.fit(X, Y)

# Calculate in-sample predictions
Y_predicted = model.fitted()

# Calculate out-of-sample forecasts
X = np.random.rand(100, 10)
Y_forecast = model.predict(X)

print("Predicted targets:")
print(Y_predicted)

print("Forecasted targets:")
print(Y_forecast)

Contributing

Feel free to open issues or contribute to the repository through pull requests. We welcome suggestions and improvements.

Licence

This project is licensed under the MIT License.

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

ptfa-0.2.7.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

ptfa-0.2.7-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file ptfa-0.2.7.tar.gz.

File metadata

  • Download URL: ptfa-0.2.7.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ptfa-0.2.7.tar.gz
Algorithm Hash digest
SHA256 0a366174da20444bb353ebbebe270dfc44ccd77febacfbc6c97c6019ccfc46dd
MD5 6e534abc4171c38a5d46c10df1144ae5
BLAKE2b-256 ce10f366afcf8c4de58185b0d3c3e29958c254cb97deb2dbd3d83284ff8232da

See more details on using hashes here.

File details

Details for the file ptfa-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: ptfa-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ptfa-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a4eabd5ef12add6a278f2ce9cb444e0bc0632a984b04be23cc2e74d2b4ad63b8
MD5 ae0729798618be6a209c8309244d4ec2
BLAKE2b-256 007f0c3283d01b0bae040b8d459b4a123da981764867ad4cfd6dba332d31f333

See more details on using hashes here.

Supported by

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