This repository contains the implementation of a research project that explores robust clustering techniques to identify economic preference types using generative and deep learning-based methods. The project uses a dataset of economic preferences and applies various clustering algorithms such as Gaussian Mixture Models (GMM), Wishart Mixture Models (WMM), and Variational Deep Embedding (VaDE) to uncover patterns in economic preferences.
- Economic Preference Analysis: Analyze risk aversion, time preference, and social preference.
- Clustering Algorithms:
- Gaussian Mixture Models (GMM) implemented using Expectation-Maximization (EM).
- Wishart Mixture Models (WMM) implemented using Generalized Expectation-Maximization (GEM).
- Variational Deep Embedding (VaDE) for generative deep clustering.
main.py: Main source code including preprocessing, clustering, and visualization.mm_em_gaussian.py: Implementation of Expectation-Maximization Gaussian Mixture Model (EM-GMM).mm_gem_wishart.py: Implementation of Generalized Expectation-Maximization Wishart Mixture Model (GEM-WMM).vade_main.py: Main script for training and evaluating VaDE.vade_pretrain.py: Pretraining script for parameter initialization in VaDE.vade_model.py: Implementation of the Variational Deep Embedding (VaDE) model based on the paper "Variational Deep Embedding: An Unsupervised and Generative Approach to Clustering". (Adapted from mori97/VaDE).transformed_features.txt: Dataset of transformed features after preprocessing the original data (used in VaDE).
Ensure you have Python 3.7.1 installed along with the following dependencies:
matplotlib3.5.2numpy1.21.6scikit-learn0.22.1scipy1.7.3tensorboard2.9.1tensorboardX2.5.1torch1.2.0+cu92torchvision0.4.0+cu92