fontaine618/NAIVI
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# Node attribute imputation using variational inference (NAIVI) Author: **Simon Fontaine** (simfont@umich.edu) ## Requirements All requirements are contained in the `requirements.txt` file, or can be obtained using the `poetry` library. Note: the latest version of `pypet` conflicts with newer versions of `numpy`. There are some basic types that were removed from `numpy` that are referenced in `pypet`. Therefore, I am using a patched version of `pypet` that is compatible with the latest version of `numpy`. This patched version, rather than the public version, is referenced in the `requirements.txt` file, so you should not have any issues with the installation. ## Repository structure ### NAIVI Contains the source code to run various node attribute imputation methods. - `vmp`: the proposed method (joint latent space model estimated with variational message passing) - `mle`: the joint latent space model estimated using either maximum likelihood estimation with projection (MLE) or maximum a posteriori estimation (MAP) using the prior - `mcmc`: the joint latent space model estimated using the NUTS sampler from Pyro - `smoothing`: local averaging - `mice`: imputation within the data matrix only using either MICE with linear models or KNN - `constant`: imputation using the mean - `gcn`: imputation using a graph convolutional network ### Pypet experiments This folder contains utilities to run experiments using the `pypet` library. ### Experiments This folder contains the scripts to run the experiments using `pypet`. Figures are also included in the respective folders; raw results are omitted to reduce memory requirements for the repository, but are available upon request. ### Datasets Datasets used in the real data experiments. ### Examples #### Using the `pypet` manager The file `single_experiment.py` shows how to run a single experiment using the `pypet` manager.