Skip to content

sidv23/grdpg-ldp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Signal Recovery from Random Dot-Product Graphs Under Local Differential Privacy

This repository contains the code and experiments for the paper "Signal Recovery from Random Dot-Product Graphs Under Local Differential Privacy".


🚀 Getting Started

Note

  • Please ensure you have Julia (≥ 1.6) installed on your system.
  1. Clone the repository:
$ git clone https://github.com/sidv23/grdpg-ldp.git
$ cd grdpg-ldp
$ julia
  1. Activate the Julia environment:
> import Pkg
> Pkg.activate(".")
> Pkg.instantiate()

📊 Contents

The notebooks directory contains the Jupyter notebooks for the experiments and simulations. The directory contains the following files:

  • clustering.ipynb: The experiment for comparing the clustering accuracy and runtimes for k-Means, SDP clustering, and topology-aware clustering (Experiment 4.3).

  • eflip.ipynb: Illustration of how edgeFlip results in a transformation of the latent configuration underlying GRDPGs (Figure 2).

  • flights.ipynb: Illustration of recovering latent positions using UMAP for the openflights under $\epsilon$-LDP (Experiment 4.1).

  • pd_convergence.ipynb: Experiment to illustrate recovery of topological information under edgeFlip (Experiment 4.2).

  • heatmap.ipynb: Heatmap of $d_{2, \infty}$ error for the different values of $\epsilon$ and $n$ (Experiment 3.1).

  • top-clustering.ipynb: Topology-aware spectral clustering with more details.

The src directory contains the .jl source-code and the data directory contains the data files.

🛠️ Troubleshooting

Warning

The code here uses the Ripserer.jl backend for computing persistent homology. The exact computation of persistent homology is achieved using the Alpha complex which, additionally, uses the MiniQHull.jl library, which has a known incompatibility with the Windows operating system (see here).

If you're using Windows, you can:

  1. Use the Windows Subsystem for Linux (WSL) to run the code.
  2. Modify the code to avoid using the Alpha complex, e.g., replace Alpha(Xn) with Xn.

For other issues, please open a new issue.

📜 Citation

@inproceedings{vishwanath2025signal,
  title={Signal Recovery from Random Dot-Product Graphs under Local Differential Privacy},
  author={Vishwanath, Siddharth and Hehir, Jonathan},
  booktitle={International Conference on Artificial Intelligence and Statistics},
  year={2025},
  organization={PMLR}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published