Skip to content

Add NestedTabularSynthesizer for typed/nested tabular data under dpsynth/google/research/activity_logs. - #83

Merged
copybara-service[bot] merged 1 commit into
mainfrom
cl/940786768
Aug 13, 2026
Merged

copybara-service[bot] merged 1 commit into
mainfrom
cl/940786768

Conversation

@copybara-service

@copybara-service copybara-service Bot commented Jul 7, 2026 •

Copy link
Copy Markdown

Add NestedTabularSynthesizer for typed/nested tabular data under dpsynth/google/research/activity_logs.

Introduces NestedTabularSynthesizer in dpsynth/google/research/activity_logs
that handles datasets where each record has a type and different types have
different attribute schemas.

Two-model architecture:

  • Model 1 (shared): learns joint distribution over record types + shared
    attributes using a single TabularSynthesizer.
  • Model 2 (per-type): learns type-specific attribute distributions via
    independent TabularSynthesizers under parallel composition.

Privacy accounting: sequential composition of Model 1 + Model 2 (parallel
composition for Model 2). The detail level reports a ZCDpEvent at the
calibrated rho rather than using an arbitrary per-type dp_event, since
different schemas may produce different dp_events that could undercount
under PLD accounting.

Input/output format: dict[str, pd.DataFrame] keyed by type name.

@copybara-service copybara-service Bot changed the title Add NestedTabularSynthesizer for typed/nested tabular data Add NestedTabularSynthesizer for typed/nested tabular data. In this setting, record smay have a field that is a OneOf[...] where the sub-field can be one of several different schemas. We handle this via a two-stage approach: (1) learn the top-level (shared features) directly and (2) apply parallel composition to learn the detailed features for each type. Jul 8, 2026
@copybara-service
copybara-service Bot force-pushed the cl/940786768 branch 7 times, most recently from 796235b to 4339268 Compare July 13, 2026 10:46
@copybara-service
copybara-service Bot force-pushed the cl/940786768 branch 2 times, most recently from 864462c to 8788708 Compare July 27, 2026 08:16
@copybara-service copybara-service Bot changed the title Add NestedTabularSynthesizer for typed/nested tabular data. In this setting, record smay have a field that is a OneOf[...] where the sub-field can be one of several different schemas. We handle this via a two-stage approach: (1) learn the top-level (shared features) directly and (2) apply parallel composition to learn the detailed features for each type. Add NestedTabularSynthesizer for typed/nested tabular data under google/research/activity_logs. Aug 12, 2026
@copybara-service copybara-service Bot changed the title Add NestedTabularSynthesizer for typed/nested tabular data under google/research/activity_logs. Add NestedTabularSynthesizer for typed/nested tabular data under dpsynth/google/research/activity_logs. Aug 13, 2026
…nth/google/research/activity_logs.

Introduces NestedTabularSynthesizer in dpsynth/google/research/activity_logs
that handles datasets where each record has a type and different types have
different attribute schemas.

Two-model architecture:
- Model 1 (shared): learns joint distribution over record types + shared
  attributes using a single TabularSynthesizer.
- Model 2 (per-type): learns type-specific attribute distributions via
  independent TabularSynthesizers under parallel composition.

Privacy accounting: sequential composition of Model 1 + Model 2 (parallel
composition for Model 2). The detail level reports a ZCDpEvent at the
calibrated rho rather than using an arbitrary per-type dp_event, since
different schemas may produce different dp_events that could undercount
under PLD accounting.

Input/output format: dict[str, pd.DataFrame] keyed by type name.

PiperOrigin-RevId: 964138819
@copybara-service
copybara-service Bot merged commit 280033e into main Aug 13, 2026
@copybara-service
copybara-service Bot deleted the cl/940786768 branch August 13, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants