Implements differentially private (DP) versions of common classical statistical procedures, including descriptive statistics (mean, variance, quantiles, histograms), hypothesis tests (t-test, chi-square, Kolmogorov-Smirnov, one-way ANOVA), and regression (closed-form DP linear regression and DP-SGD for generalized linear models). Provides Laplace and Gaussian mechanisms with analytic calibration, exponential mechanism for medians, privacy-aware confidence intervals that account for both sampling and privacy noise, and privacy budget accounting via basic, advanced, and Renyi differential privacy (RDP) composition. Designed for official statistics and privacy-preserving data analysis research.
An R package implementing differentially private (DP) versions of common classical statistical procedures, with privacy budget accounting and privacy-aware confidence intervals.
dp_lm) calibrated to the
L2 sensitivity Δ₂ = C·D / λmin(XᵀX), and DP-SGD for GLMs (dp_glm).# install.packages("remotes")
remotes::install_github("MukulBijalwan/DPrivStats")
Or from a local clone:
install.packages("path/to/DPrivStats", repos = NULL, type = "source")
library(DPrivStats)
data(example_microdata)
# DP mean income under a Laplace mechanism
m <- dp_mean(example_microdata$income, epsilon = 0.5,
bounds = c(0, 500000))
print(m)
# DP linear regression with privacy-aware confidence intervals
fit <- dp_lm(income ~ education + age + hours, example_microdata,
epsilon = 2.0, delta = 1e-6,
bounds = list(y = c(0, 500000)))
dp_confint(fit)
See the vignettes (browseVignettes("DPrivStats")) for full workflows,
including official-statistics tabulation under a shared budget.
Mukul Bijalwan — [email protected]
MIT © Mukul Bijalwan