Synthetic data generation device and synthetic data generation method

By employing the Staircase mechanism for parameter learning in Bayesian networks, the generation of high-quality synthetic data is achieved while ensuring privacy, addressing the limitations of the Laplace mechanism in existing techniques.

WO2026004068A1PCT designated stage Publication Date: 2026-01-02NT T INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/023397
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-27
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing synthetic data generation techniques using Bayesian networks add random noise with the Laplace mechanism, which is not optimal for minimizing absolute mean error, resulting in potentially low-quality synthetic data while attempting to protect privacy.

Method used

The use of a Staircase mechanism for parameter learning in Bayesian networks to determine optimal parent nodes and add noise, ensuring high-quality synthetic data generation while preserving privacy.

Benefits of technology

The Staircase mechanism minimizes absolute mean error under differential privacy settings, enabling the generation of high-quality synthetic data while maintaining privacy, compared to using the Laplace mechanism.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024023397_02012026_PF_FP_ABST
    Figure JP2024023397_02012026_PF_FP_ABST
Patent Text Reader

Abstract

A synthetic data generation device according to an aspect of the present invention comprises: a parameter learning unit that learns a generation parameter on the basis of a data set, the graph structure of a Bayesian network learned from the data set, the maximum number of parent nodes of individual nodes included in the Bayesian network, and a first privacy protection budget, the generation parameter having noise added thereto by using the staircase mechanism; and a synthetic data generation unit that generates differentially private synthetic data on the basis of the generation parameter.
Need to check novelty before this filing date? Find Prior Art

Description

Synthetic data generation device and synthetic data generation method

[0001] The present disclosure relates to a synthetic data generation device and a synthetic data generation method.

[0002] Techniques for concealing data related to individuals in a dataset using probabilistic methods are known. For example, a differentially private synthetic data generation technique using a Bayesian network (Non-Patent Document 1) is known. The synthetic data generation technique described in Non-Patent Document 1 consists of "learning" for estimating generation parameters and "data generation" for generating synthetic data from the generation parameters. Furthermore, the learning consists of "structure learning" for learning the graph structure of a Bayesian network from a given dataset and "parameter learning" for estimating generation parameters from the graph structure.

[0003] Jun Zhang, Graham Cormode, Cecilia M. Procopiuc, Divesh Srivastava, and Xiaokui Xiao. "Privbayes: Private data release via bayesian networks," ACM Trans. Database Syst., 42(4), October 2017.

[0004] The synthetic data generation technique described in Non-Patent Document 1 adds random noise using the Laplace mechanism during the parameter learning process, but this noise cannot be said to be optimal in terms of absolute mean error, and the quality of the synthetic data may not be high.

[0005] The present disclosure has been made in consideration of the above points, and aims to generate high-quality synthetic data while protecting privacy.

[0006] A synthetic data generation device according to one aspect of the present disclosure includes a parameter learning unit that learns generation parameters to which noise is added using a Staircase mechanism based on a dataset, a graph structure of a Bayesian network learned from the dataset, the maximum number of parent nodes of each node included in the Bayesian network, and a first privacy protection budget, and a synthetic data generation unit that generates differentially private synthetic data based on the generation parameters.

[0007] High-quality synthetic data can be generated while preserving privacy.

[0008] FIG. 1 is a diagram showing an example of a structure learning algorithm; FIG. 2 is a diagram showing an example of a hardware configuration of a synthetic data generation device according to the present embodiment; FIG. 3 is a diagram showing an example of a functional configuration of a synthetic data generation device according to the present embodiment; FIG. 4 is a flowchart showing an example of a synthetic data generation process according to the present embodiment; FIG. 5 is a diagram showing an example of an algorithm for calculating the number of parent nodes; and FIG. 6 is a diagram showing an example of an algorithm for minimum mean error noisy parameter learning.

[0009] An embodiment of the present invention will be described in detail below with reference to the drawings. In the following embodiment, a synthetic data generation device 10 will be described that uses a mechanism called a Staircase mechanism instead of the Laplace mechanism in the parameter learning process of the synthetic data generation technique described in Non-Patent Document 1. The Staircase mechanism has been shown to minimize the absolute mean error under the setting of differential privacy, and therefore, compared to the case where the Laplace mechanism is used, it is possible to generate high-quality synthetic data while preserving privacy.

[0010] When the Staircase mechanism is used instead of the Laplace mechanism, the problem of determining the optimal number of parent nodes for each node in a Bayesian network is non-trivial, and therefore the synthetic data generation device 10 according to this embodiment also solves this problem.

[0011] <Preparation> Hereinafter, an outline of the prior art necessary for explaining the synthetic data generating device 10 according to this embodiment will be described.

[0012] <<Dataset>> A dataset is data in a table format. Hereinafter, the number of attributes of the dataset is referred to as d, and each attribute is referred to as A. 1 , ..., A d Let the number of records in the dataset be n. Let the number of attribute values ​​that an attribute can take be K. 1 , ..., K d Each record represents personal information (personal information represented by attribute values ​​of d attributes) of a certain person (individual).

[0013] Differential Privacy Differential privacy is a privacy-preserving metric that quantitatively represents the degree to which inferences about the original data can be made from the output of a random process.

[0014] Let F be the set of all possible datasets. That is, let D∈F be any dataset D. Let Y be the set of all output values ​​of a certain query under consideration. Furthermore, if two datasets D and D'∈F differ in only one record, then the two are said to be adjacent datasets.

[0015] A randomization function M:F→Y satisfies ε-differential privacy protection if the following holds for any adjacent data sets D, D′εF and any subset U⊂Y.

[0016] Pr[M(D)∈U]≦e ε Pr[M(D')εU] where ε>0.

[0017] Staircase Mechanism (Reference 1) To explain the Staircase mechanism, consider the following probability distribution ST(x|γ, Δ, ε) for γε[0, 1], Δ>0.

[0018] Here, s is a natural number, ||| 1 is the L1 norm. Also, a(γ) is a regularization term to

[0019] Note that d' is the number of attribute values ​​that an attribute can take (i.e., d'∈{K 1 , ..., K d}).

[0020] Let q:F→R be a function that counts the number of records in a dataset that contain one or more specific attribute values ​​and returns the ratio of that number to the total number of records, n. Let Δ=1 / n, and define M(D) as follows: where R represents the set of all real numbers.

[0021] M(D): = q(D) + X X ~ ST(x|γ, Δ = 1 / n, ε) In this case, the M(D) defined above is called a Staircase mechanism and is known to satisfy ε-differential privacy.

[0022] <Bayesian Network> - Graph notation and definition A set G:=(V,E) where set V and set E ⊂ V × V is called a graph. Elements of V are called nodes or vertices, and elements of E are called edges or sides. In the following, we consider a directed graph, where (u,v)∈E represents the edge from u to v. A subgraph of G is a graph of V. 0 For ⊂V, (V 0 , E∩(V 0 ×V 0 ))

[0023] For a directed graph G = (V, E), a sequence of vertices v 0 , ..., v L ∈V is a path if for any i, (v i , v i+1 )∈E. Also, v 0 =v L In particular, it is said to be a cycle when

[0024] For a directed graph G=(V,E) and its vertex vεV, define pa(v) and ch(v) below.

[0025] pa(v):={u∈V|(u,v)∈E} ch(v):={u∈V|(v,u)∈E} Here, pa(v) represents the set of parents of v (i.e., the set of nodes that extend edges to v), and ch(v) represents the set of children of v (i.e., the set of nodes to which edges extend from v).

[0026] Furthermore, a vertex that has no parent is called a start vertex, and a vertex that has no child is called a terminal vertex. Furthermore, des(v) is defined below, and des(v) is called a descendant of v.

[0027] des(v):={uεV|∃(v→u)} Here, the symbol (v→u) means the path from v to u. However, it is assumed that des(v) does not include v itself.

[0028] Also, define ndes(v):=V\({v}∪des(v)), and call ndes(v) a non-descendant of v.

[0029] ・Notation and definition of probability (independence) Two random variables X and Y on R are said to be independent if they are independent of any (measurable) set S 1 , S 2 For ⊂R, the following holds:

[0030] Pr[X∈S 1 , Y∈S 2 ] = Pr[X∈S 1 ]Pr[Y∈S 2 ] Hereinafter, the independence of two random variables X and Y will be represented by the following symbols.

[0031] (Conditional independence) For random variables X, Y, and Z on R, X and Y are independent under Z if they are independent under any (measurable) set S 1 , S 2 , S 3 For ⊂R, the following holds:

[0032] Pr[X∈S 1 , Y∈S 2 |Z∈S 3 ] = Pr[X∈S 1 |Z∈S 3 ]Pr[Y∈S 2 |Z∈S 3] Hereinafter, the fact that random variables X and Y are independent under random variable Z will be represented by the following symbols.

[0033] It should be noted that the fact that the random variables X and Y are independent under the random variable Z is neither a necessary nor a sufficient condition for the random variables X and Y to be independent.

[0034] A family of random variables {X i} i∈V and V 0 = {i 1 , ..., i t} ⊂ V, define the following:

[0035] The above means that the random variables that follow the joint distribution on the right-hand side are defined on the left-hand side.

[0036] Definition of a Bayesian network Let G = (V, E) be a directed acyclic graph, where V is a set of nodes and E is a set of edges.

[0037] The set of random variables corresponding to each node is denoted by {X t} t∈V For any t∈V, if the following holds, then {X t} t∈V is said to be a Bayesian network with a graph structure G.

[0038] Here, the Bayesian network of the dataset D is a network of each attribute A of the dataset D. 1 , ..., A d node v 1 , ..., v d and A 1 ×...×A d The joint probability distribution (X 1 , ..., X d ) follows the above equation 6. In the synthetic data generation technology described in Non-Patent Document 1, a graph structure G is learned from a given data set D by structural learning, and then the generation parameter Θ is estimated. In this way, synthetic data is generated by sampling from the generation parameter Θ. Note that the generation parameter Θ is tX for each pa(t) t |X pa(t) It consists of a distribution of

[0039] <Structure Learning> An example of a structure learning algorithm for obtaining a graph structure G of a Bayesian network from a given data set D will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of a structure learning algorithm. This algorithm is called Greedy Bayes or the like and is a known algorithm, so please refer to Non-Patent Document 1 for details.

[0040] The inputs of the algorithm shown in Fig. 1 are a dataset D, the number of parent nodes k, and a privacy-preserving budget ε. g and the output is a graph structure G. For simplicity, in the algorithm shown in FIG. t is abbreviated simply as "t".

[0041] In the algorithm shown in FIG. 1, V and E are first initialized to φ (line 1), and then the attribute t 1 Determine ∈A:={1,...,d} and 1 is stored in V (line 2). Next, lines 4 to 12 are executed for each i = 2, ..., d (line 3). That is, after first initializing S = φ (line 4), lines 6 to 7 are executed for each t∈A\V (line 5). Using S as a score function, the next node t and its parent r are calculated by the exponential mechanism (reference 2). 1 , ..., r k (line 10), and finally, for each of j=1,...,k, (r j , t) is stored in E (lines 11 and 12). Here, in lines 6 and 7, r 1 , ..., r k ∈V (i.e., all combinations of k nodes in V), t The mutual information I with is calculated and stored in S.

[0042] When the joint distribution of node X and its parent candidates is Π, the mutual information I(X, Π) between X and Π is defined as follows:

[0043] Furthermore, the index mechanism is a function that probabilistically returns an element that maximizes a score function S (which is sometimes called a "utility function"). Specifically, the index mechanism is expressed as follows:

[0044] Pr[t]~exp(ε g ・S / 2・GSq) GS q =(2 / n)log((n+1) / 2)+((n-1)n)log((n+1) / (n-1)) where n is the number of records in the dataset D.

[0045] The above-mentioned exponential mechanism means that parent candidates with a large amount of mutual information I are selected as parents. For details of the exponential mechanism, see, for example, Reference 2.

[0046] <<θ-usefulness (Non-patent Document 1)>> p, P∈R d' Let p be a certain probability distribution. , p is assigned an appropriate noise X d' When adding ∼P, if (1 / d') / E[|X|]≧θ is satisfied, this noise X d' is said to be θ-usefulness, where E[·] represents the expected value.

[0047] <Synthetic Data Generating Device 10> With the above preparation, the synthetic data generating device 10 according to this embodiment will be described. Here, the synthetic data generating device 10 according to this embodiment has n outputs of synthetic data. out and the privacy-preserving budget for structure learning, ε g and the privacy-preserving budget for parameter learning, ε p and the usefulness index θ are given. out is an integer equal to or greater than 1, ε g is a real number greater than or equal to 0, ε p is a real number equal to or greater than 0, and θ is a real number greater than 0.

[0048] <Hardware Configuration Example of Synthetic Data Generation Device 10> An example of the hardware configuration of the synthetic data generation device 10 according to this embodiment will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of the hardware configuration of the synthetic data generation device 10 according to this embodiment.

[0049] 2, synthetic data generation device 10 according to this embodiment includes input device 101, display device 102, external I / F 103, communication I / F 104, RAM (Random Access Memory) 105, ROM (Read Only Memory) 106, auxiliary storage device 107, and processor 108. Each of these pieces of hardware is connected to each other via bus 109 so as to be able to communicate with each other.

[0050] The input device 101 is, for example, a keyboard, a mouse, a touch panel, a physical button, etc. The display device 102 is, for example, a display, a display panel, etc. Note that the synthetic data generation device 10 does not necessarily have to include at least one of the input device 101 and the display device 102, for example.

[0051] The external I / F 103 is an interface with an external device such as a recording medium 103a. Examples of the recording medium 103a include a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), and a USB (Universal Serial Bus) memory card.

[0052] The communication I / F 104 is an interface for connecting to a communication network. The RAM 105 is a volatile semiconductor memory (storage device) that temporarily stores programs and data. The ROM 106 is a non-volatile semiconductor memory (storage device) that can store programs and data even when the power is turned off. The auxiliary storage device 107 is a non-volatile storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or a flash memory. The processor 108 is a variety of arithmetic devices such as a CPU (Central Processing Unit).

[0053] 2 is an example, and the hardware configuration of synthetic data generation device 10 is not limited to this. Synthetic data generation device 10 may have, for example, multiple auxiliary storage devices 107 or multiple processors 108, may not have some of the hardware shown in the figure, or may have various hardware other than the hardware shown in the figure.

[0054] <Functional Configuration Example of Synthetic Data Generation Device 10> An example of the functional configuration of the synthetic data generation device 10 according to this embodiment will be described with reference to Fig. 3. Fig. 3 is a diagram showing an example of the functional configuration of the synthetic data generation device 10 according to this embodiment.

[0055] 3 , the synthetic data generation device 10 according to this embodiment includes an input unit 201, a parent node number calculation unit 202, a data synthesis unit 203, and an output unit 204. These units are realized, for example, by a process in which one or more programs installed in the synthetic data generation device 10 are executed by the processor 108 or the like. The synthetic data generation device 10 according to this embodiment also includes a dataset storage unit 205. The dataset storage unit 205 is realized, for example, by a storage area such as the auxiliary storage device 107. However, the dataset storage unit 205 may also be realized, for example, by a storage area such as a storage device (e.g., a storage device provided in a database server) connected to the synthetic data generation device 10 so as to be able to communicate with the synthetic data generation device 10.

[0056] The input unit 201 outputs n out and the privacy-preserving budget for structure learning, ε g and the privacy-preserving budget for parameter learning, ε p and the usefulness index θ. The input unit 201 also inputs a dataset D stored in the dataset storage unit 205.

[0057] The parent node number calculation unit 202 calculates the number of parent nodes by calculating the data set D and the privacy protection budget ε p and the usefulness index θ are input, and the number k of parent nodes that guarantees θ-usefulness is calculated.

[0058] The data synthesis unit 203 performs learning of the graph structure G of the Bayesian network through structure learning, learning of the generation parameters Θ through parameter learning, and generating synthetic data. Here, the data synthesis unit 203 includes a structure learning unit 211, a parameter learning unit 212, and a synthetic data generation unit 213.

[0059] The structure learning unit 211 receives the data set D, the number of parent nodes k calculated by the parent node number calculation unit 202, and the privacy protection budget ε g Using the inputs, the graph structure G of the Bayesian network is learned by structural learning.

[0060] The parameter learning unit 212 receives a data set D, the number of parent nodes k, and a privacy protection budget ε p The parameter learning unit 212 learns the generation parameter Θ (hereinafter simply referred to as "parameter Θ") using the inputs X and X. t and X pa(t) By adding random noise to the joint distribution of , the parameters Θ with the added noise are learned.

[0061] The synthetic data generator 213 calculates the parameters Θ to n out By generating records, synthetic data D syn This generates (ε g +ε p ) - Private synthetic data D syn The synthetic data D syn is the number of attributes d, the number of records n out This is data in table format.

[0062] The output unit 204 outputs the composite data D syn The output unit 204 outputs the composite data D to a predetermined output destination. Note that the output destination is not limited to a specific output destination, and can be any output destination. For example, the output unit 204 outputs the composite data D to the display device 102 such as a display, a storage area such as the auxiliary storage device 107, other devices or equipment connected in a communicable manner, etc. syn Just output the following.

[0063] The data set storage unit 205 stores a given data set DεF.

[0064] <<Synthetic Data Generation Process>> An example of the synthetic data generation process according to this embodiment will be described with reference to Fig. 4. Fig. 4 is a flowchart showing an example of the synthetic data generation process according to this embodiment.

[0065] The input unit 201 receives a data set D stored in the data set storage unit 205 and a given number of outputs n out , privacy-preserving budget ε g , privacy-preserving budget ε p , and the usefulness index θ (step S101).

[0066] The parent node number calculation unit 202 calculates the number of parent nodes by calculating the data set D and the privacy protection budget ε p and the usefulness index θ are input, and the number k of parent nodes that guarantees θ-usefulness is calculated (step S102). A specific example of an algorithm for calculating the number k of parent nodes will be described later.

[0067] The structure learning unit 211 of the data synthesis unit 203 receives the data set D, the number of parent nodes k calculated in step S102, and the privacy protection budget ε g Using the above as input, the graph structure G of the Bayesian network is learned by structure learning (step S103). The structure learning unit 211 may learn the graph structure G of the Bayesian network by, for example, the algorithm shown in FIG.

[0068] The parameter learning unit 212 of the data synthesis unit 203 receives the data set D, the graph structure G obtained in the above step S103, the number of parent nodes k calculated in the above step S102, and the privacy protection budget ε p The parameter Θ is learned using the inputs (step S104). A specific example of an algorithm for learning the parameter Θ will be described later.

[0069] The synthetic data generator 213 calculates the parameters Θ to n out By generating records, synthetic data D syn(Step S105). g +ε p ) - Private synthetic data D syn is obtained.

[0070] The output unit 204 outputs the composite data D generated in step S105. syn is output to a predetermined output destination (step S106).

[0071] <<Specific Example of Algorithm for Calculating the Number of Parent Nodes k>> An example of the algorithm for calculating the number of parent nodes k in step S102 of Fig. 4 will be described with reference to Fig. 5. Fig. 5 is a diagram showing an example of the algorithm for calculating the number of parent nodes.

[0072] The parent node number calculation unit 202 initializes K to 0 (line 1), and then executes lines 3 to 6 for each of i=1, ..., d. That is, the parent node number calculation unit 202 sets τ to the number of candidate attribute values ​​of the i-th attribute (i.e., the number of possible attribute values ​​of the i-th attribute, τ=K i ) (line 3), then if τ>K, then K=τ (lines 4-5). 1 , ..., K d The maximum value among these is set to K.

[0073] Next, the parent node number calculation unit 202 executes lines 9 to 12 for each of k = 1, ..., d-1. That is, the parent node number calculation unit 202 calculates T as follows (line 9), and ends the calculation if T ≤ θ (lines 10 to 11).

[0074] Finally, the parent node number calculation unit 202 outputs k-1 as the parent node number k (line 14). This gives the parent node number k that guarantees θ-usefulness.

[0075] <<Specific Example of Algorithm for Learning Parameter Θ>> An example of the algorithm for learning the parameter Θ in step S104 of Fig. 4 will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of an algorithm for minimum mean error noise-injected parameter learning.

[0076] Parameter learning unit 212 initializes Θ=φ (line 1), and then executes lines 3 to 9 for each of t=k+1, . . . , d.

[0077] That is, the parameter learning unit 212 learns the joint distribution Pr[X t , X pa(t) ] (line 3), then r←ST(x|γ=γ * , Δ=1 / n, ε=ε p / (d−k)) (line 4), where γ * is used to minimize the absolute mean error of ST. That is, γ * =argminE[|X|], X~ST(x|γ, Δ=1 / n, ε=ε p / (d−k)). For example, K 1 , ..., K d is 2 (i.e., K=2 is set in the algorithm shown in FIG. 5), * It can be seen by calculation that:

[0078] Next, the parameter learning unit 212 learns the noise r by dividing it into the joint distribution Pr[X t , X pa(t) ] is added to Pr * [X t , X pa(t) ] (line 5), Pr * [X t , X pa(t) ] to 0 and normalize the sum to 1 (line 6). pa(t) For each of Pr * [X t |X pa(t) = y] is added to the parameter Θ (line 8). pa(t) is a set consisting of all combinations of attribute values ​​of the parent node of t. * [X t |X pa(t) =y]) is Pr * [X t |X pa(t) = y] to Θ.

[0079] Next, the parameter learning unit 212 calculates the joint distribution Pr * [X k+1 , X pa(k+1) ] and calculate the marginal distribution for t and pa(t), and calculate Pr * [X t |X pa(t) ] and calculate Pr * [X t |X pa(t) ] is added to the parameter Θ (lines 11 and 12). This allows Pr * [X t |X pa(t) ], Pr for t = k + 1, ..., d * [X t |X pa(t) = y] (where y∈A pa(t) ) to obtain the parameter Θ.

[0080] As described above, the synthetic data generation device 10 according to this embodiment can learn the parameter Θ to which noise is added using the Staircase mechanism instead of the Laplace mechanism. Furthermore, when using the Staircase mechanism, the synthetic data generation device 10 according to this embodiment can determine the optimal number of parent nodes for each node in the Bayesian network.

[0081] Since the Staircase mechanism has been shown to minimize the absolute mean error under the setting of differential privacy, by using the synthetic data generation device 10 according to this embodiment, it is possible to generate high-quality synthetic data while protecting privacy, compared to the case where the Laplace mechanism is used.

[0082] The present invention is not limited to the above-described specifically disclosed embodiments, and various modifications, changes, and combinations with known technologies are possible without departing from the scope of the claims.

[0083] [References] Reference 1: Quan Geng, Peter Kairouz, Sewoong Oh, and Pramod Viswanath. The staircase mechanism in differential privacy. IEEE Journal of Selected Topics in Signal Processing, 9(7):1176-1184, 2015. Reference 2: Frank McSherry and Kunal Talwar. Mechanism design via differential privacy. In 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07), pages 94-103. IEEE, 2007.

[0084] 10 Synthetic data generation device 101 Input device 102 Display device 103 External I / F 103a Recording medium 104 Communication I / F 105 RAM 106 ROM 107 Auxiliary storage device 108 Processor 109 Bus 201 Input unit 202 Parent node number calculation unit 203 Data synthesis unit 204 Output unit 205 Data set storage unit 211 Structure learning unit 212 Parameter learning unit 213 Synthetic data generation unit

Claims

1. A synthetic data generation device having: a parameter learning unit that learns generation parameters to which noise is added using a Staircase mechanism based on a dataset, a graph structure of a Bayesian network learned from the dataset, the maximum number of parent nodes of each node included in the Bayesian network, and a first privacy protection budget; and a synthetic data generation unit that generates differentially private synthetic data based on the generation parameters.

2. The synthetic data generation device of claim 1, further comprising a parent node number calculation unit that calculates the maximum number that guarantees the usefulness index based on the dataset, a second privacy protection budget, and the usefulness index against noise, and the synthetic data generation unit generates the synthetic data that is ε-differential private, where ε is the sum of the first privacy protection budget and the second privacy protection budget.

3. The synthetic data generation device according to claim 1 or 2, wherein the parameter learning unit learns generation parameters to which noise is added using the Staircase mechanism, using parameters that minimize the absolute mean error of the probability distribution used in the Staircase mechanism.

4. A synthetic data generation method executed by a computer, comprising: a parameter learning procedure for learning generation parameters to which noise is added using a Staircase mechanism based on a dataset, a graph structure of a Bayesian network learned from the dataset, the maximum number of parent nodes of each node included in the Bayesian network, and a first privacy protection budget; and a synthetic data generation procedure for generating differentially private synthetic data based on the generation parameters.