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(X, Y)

# Calculate out-of-sample forecasts
Y_forecast = model.predict(X)

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

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.1.9.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

ptfa-0.1.9-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ptfa-0.1.9.tar.gz
Algorithm Hash digest
SHA256 c7ccf98aa9ea7654c8d5362f9cc797297f2b2725d28e406a1c18d4f6fcfe4e99
MD5 dd667c332cd4560686eb0edcd924fa0d
BLAKE2b-256 83c4b0cd91958f328ba75ab0d966dfd0d6a7980ed7b8283b847495fb24883261

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ptfa-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 17.9 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.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 daffe0cf2d8df7f4841b7d5ef2c1c22c7707c63c15b19a579a088a4d38a8a47f
MD5 b6e3810250d9b2710189011c9a10dd61
BLAKE2b-256 034e0d01134193b5224bbf50be327e3f40f78328928857e6dc236fc49e4306aa

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