Online local differential private sparse vector estimation method
Through the online local differential private sparse vector estimation method, the existing online data analysis has solved the problem of low utility performance and difficulty in dealing with multidimensional vector data in real-time scenarios, and efficient local privacy protection and accurate data analysis are achieved.
Patent Information
- Application Number
- CN202510321497.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-18
- Publication Date
- 2025-06-17
AI Technical Summary
The existing online local private data analysis methods have low utility performance in real-time scenarios and are difficult to process multi-dimensional vector data, which limits its application scope.
An online local differential private sparse vector estimation method is proposed, which realizes the estimation of sparse vectors by selecting the hierarchy level, inserting stub records, obtaining the target subset and reference subset, setting the initial state of the output set, iterating the random selection of residual elements, defining the conditional probability, deriving the unbiased estimator, and performing reconstruction.
It realizes optimal local privacy protection, significantly reduces the error rate, maximizes the estimation effectiveness on the server side, and ensures functionality and utility comparable to offline analysis, thereby improving the accuracy and practicality of data analysis.
Smart Images

Figure CN120162825A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the fields of data science and privacy protection. Specifically, it relates to an online local differential private sparse vector estimation method. Background Art
[0002] The analysis of streaming user data is crucial for tracking user behavior and status over time and is widely used in healthcare, location-based services, and online decision-making and service quality improvement in various Internet services. However, this approach also poses significant privacy challenges. Temporal data, including demographic data (such as age, geographical location) and activity data (such as sensor readings, page or application access records), may disclose personal sensitive information. At the same time, with the implementation of privacy protection globally, how to perform effective analysis under the premise of privacy protection has become an important issue.
[0003] Although certain progress has been made in the field of online local private data analysis, there are still gaps in practicality and functionality compared to the offline approach, mainly reflected in the following aspects:
[0004] 1. Low utility performance. Streaming data is generated very quickly and contains various types and formats of data, which requires preprocessing and conversion before being used for analysis. Existing online analysis methods often rely on historical data for comparison or calculation, which is not practical in real-time scenarios and limits their utility performance.
[0005] 2. Single data format. Most existing online privacy protection mechanisms focus on the average estimation of binary or discrete values, while offline research can better adapt to different analysis tasks on multi-dimensional vectors. Given that real-world user data mostly exists in multi-dimensional forms, this limitation restricts the application scope of online private data analysis.
[0006] For the problems in the related art, no effective solution has been proposed yet. Summary of the Invention
[0007] In view of the problems in the related art, the present invention proposes an online local differential private sparse vector estimation method to overcome the above-mentioned technical problems existing in the existing related art.
[0008] To this end, the specific technical solution adopted by the present invention is as follows:
[0009] An online local differential private sparse vector estimation method, the method comprising the following steps:
[0010] S1. Select the hierarchical level, adjust the number of symbol sets to a preset number by inserting a number of stub records, and obtain a target subset and a reference subset through cyclic traversal;
[0011] S2. Based on the target subset and the reference subset, set the initial state of the output set, perform iteration, randomly select elements from the residuals according to specific conditional probabilities and add them to the output set, and output the output set that meets the preset conditions;
[0012] S3. The server defines the conditional probability of one of the elements appearing in the output set, derives an unbiased estimator, and uses the unbiased estimator to average all the estimated values belonging to the hierarchical level;
[0013] S4. Reconstruct according to the average residual value, add the residual corresponding to the timestamp at the current hierarchical level to several previous residual values to obtain the estimation result.
[0014] Furthermore, to select the hierarchical level, adjust the number of elements in the symbol set to the preset number by inserting several stub records, and obtain the target subset and the reference subset through loop traversal, including the following steps:
[0015] S11. Select the hierarchical level to which each user belongs according to the mean square error minimization criterion of the statistical query task;
[0016] S12. Based on the selected hierarchical level, adjust the number of elements in the symbol set to the preset number by inserting a preset number of stub records into the residual set;
[0017] S13. Use a double loop to obtain the target subset and the reference subset from the adjusted symbol set.
[0018] Furthermore, the statistical query tasks include: triple vector group query, mean query, and range query.
[0019] Furthermore, based on the selected hierarchical level, adjusting the number of elements in the symbol set to the preset number by inserting a preset number of stub records into the residual set includes the following steps:
[0020] S121. Initialize the residual set based on the selected hierarchical level;
[0021] S122. Calculate the length of the expanded residual set according to the time period corresponding to the hierarchical level and the number of stub records to be inserted;
[0022] S123. Insert a preset number of stub records into the residual set, traverse the expanded residual set, construct a symbol set according to the preset rules, and calculate the number of elements in the symbol set;
[0023] S124. Compare the number of elements in the symbol set with the preset number of stub records, and check whether it is necessary to supplement the stub compliance. If the number of elements in the symbol set is less than the preset number of stub records, supplement the stub compliance to the preset quantity through the sum of the number of data changes of the user within the time period.
[0024] Further, the formula of the symbol set is:
[0025] S R = {i - | i ∈ [d] and R i = -1} ∪ {i + | i ∈ [d] and R i = 1};
[0026] In the formula, S R represents the symbol set; i - represents the element with a value of -1; i represents the index of the element in the residual set; d represents the dimension of the sparse vector; R i represents the residual of the i-th element; i + represents the element with a value of 1.
[0027] Further, obtaining the target subset and the reference subset from the adjusted symbol set by using a double loop includes the following steps:
[0028] S131. Initialize variables, determine parameters and random values, and calculate the normalization factor;
[0029] S132. Traverse the adjusted symbol set by using a double loop, and in each loop, calculate the value of the current combination according to the calculation formula and update the cumulative selection probability;
[0030] S133. Based on the updated cumulative selection probability, check whether it reaches or exceeds the random value. If so, terminate the loop and output the target subset and the reference subset.
[0031] Further, the calculation formula of the normalization factor is:
[0032]
[0033] In the formula, Ω represents the normalization factor; m represents the size of the output domain; d' represents the size of the residual set after inserting s stub records; ε represents the privacy budget; m' represents the number of selected elements; s represents the number of inserted stub records.
[0034] Further, based on the target subset and the reference subset, set the initial state of the output set, perform iteration, randomly select elements in the residual according to the specific conditional probability and add them to the output set, and output the output set that meets the preset conditions includes the following steps:
[0035] S21. Based on the target subset and the reference subset, set the initial state of the output set to be empty, initialize the remaining capacities of non-zero elements and zero elements, and determine the remaining sampling number of zero entries;
[0036] S22. Execute an iterative process. In each round of iteration, traverse all elements of the residual, and randomly select elements to add to the output set according to whether each element value is zero and a specific conditional probability;
[0037] S23. Repeat the iterative process of step S22 until the output set meets the preset size, and ensure that the whole process follows the requirements of ε-local differential privacy, and output an output set that meets the preset conditions.
[0038] Further, randomly selecting elements to add to the output set according to whether each element value is zero and a specific conditional probability includes:
[0039] If the element value is zero, determine whether to add the element value to the output set according to the zero conditional probability, and randomly assign positive and negative signs to the element value;
[0040] If the element value is non-zero, determine whether to add the element value to the output set according to the non-zero conditional probability, and determine the element value sign according to the rule;
[0041] After each insertion, adjust the remaining capacity value accordingly.
[0042] Further, the formula for averaging all estimated values belonging to the hierarchical level using an unbiased estimator is:
[0043]
[0044] In the formula, represents the average value of the residuals of all users at the hierarchical level h at time step t′; * represents all; t′ represents the time step; h represents the hierarchical level; n represents the total number of all users; j represents the user index value; h j represents the level where user j is located; represents the residual corresponding to user j at hierarchical level h at time step t′; # represents the number of elements satisfying the Boolean expression; h j =h represents the Boolean expression.
[0045] The beneficial effects of the present invention are:
[0046] Through a dedicated mechanism designed for sparse vector aggregation and relying solely on streaming computation execution, the present invention achieves optimal local privacy protection and significantly reduces the error rate. Combined with an optimized hierarchical structure selection strategy, it not only minimizes the computational and communication costs at the user end but also maximizes the estimation utility at the server end, ensuring functionality and utility comparable to offline analysis, thereby enhancing the accuracy and practicality of data analysis. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.
[0048] Figure 1 is a flowchart of an online local differential private sparse vector estimation method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0049] To further illustrate the embodiments, the present invention provides drawings. These drawings are part of the disclosure of the present invention, mainly used to illustrate the embodiments, and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments. With reference to these contents, those of ordinary skill in the art should be able to understand other possible implementation manners and the advantages of the present invention.
[0050] According to an embodiment of the present invention, an online local differential private sparse vector estimation method is provided.
[0051] Now, the present invention will be further described in conjunction with the drawings and specific embodiments. As Figure 1 shown, the online local differential private sparse vector estimation method according to an embodiment of the present invention includes the following steps:
[0052] S1. Select the hierarchical structure level, adjust the number of symbol sets to a preset number by inserting a number of stub records, and obtain the target subset and the reference subset through loop traversal.
[0053] Preferably, selecting the hierarchical structure level, adjusting the number of symbol sets to a preset number by inserting a number of stub records, and obtaining the target subset and the reference subset includes the following steps:
[0054] S11. Select the hierarchical structure level to which each user belongs according to the mean square error minimization criterion of the statistical query task.
[0055] Preferably, the statistical query tasks include: ternary vector group query, mean query, and range query.
[0056] It should be noted that a hierarchical level h (h ∈ [0:H]) is selected for each user, where H (the number of levels) = [log r T], T represents a time period, and r represents the time granularity base. The selection of the hierarchical level depends on W h (representing the sampling rate for selecting level h), then the number of users selecting level h is n * W h (n is the total number of users), and W h Different minimum MSE (mean squared error) values are adopted according to different statistical query tasks and settings. After analysis, the MSE bounds for different tasks are as follows:
[0057] (1) For the triple vector group, the error bound of MSE is:
[0058]
[0059] In the formula, O represents the order of magnitude; d represents the dimension of the vector; T represents the time period; s represents the number of non-zero entries; h represents the selected hierarchical level; n represents the total number of all users; W h represents the sampling rate of level h; ε represents the privacy budget.
[0060] (2) For the mean query, the error bound of MSE is:
[0061]
[0062] In the formula, O represents the order of magnitude; d represents the dimension of the vector; T represents the time period; s represents the number of non-zero entries; r represents the time granularity base; n represents the total number of all users; W h represents the sampling rate of level h; ε represents the privacy budget.
[0063] By solving, it is obtained that when W h = 1 / H, it is close to the minimum error, and the error bound is:
[0064]
[0065] In the formula, O represents the order of magnitude; d represents the dimension of the vector; T represents the time period; s represents the number of non-zero entries; r represents the time granularity base; n represents the total number of all users; ε represents the privacy budget; W h represents the sampling rate of level h; H represents the number of optional hierarchical levels.
[0066] (3) For the range query, the error bound of MSE is:
[0067]
[0068] Where O represents the order of magnitude; H represents the number of optional hierarchical levels; h represents the selected hierarchical level; d represents the dimension of the vector; s represents the number of non-zero entries; T represents the time period; r represents the time granularity base; n represents the total number of users; W h represents the sampling rate at level h; ε represents the privacy budget.
[0069] When the minimum error bound is:
[0070]
[0071] Where W h represents the sampling rate at level h; r represents the time granularity base; h represents the selected hierarchical level; H represents the number of optional hierarchical levels; h′ represents all possible hierarchical levels; O represents the order of magnitude; d represents the dimension of the vector; s represents the number of non-zero entries; T represents the time period; n represents the total number of users; ε represents the privacy budget.
[0072] After selecting the hierarchy, according to the time granularity r h , the original streaming data {0, 1} d*T (d represents the dimension of the vector, T represents the time period), including multi-dimensional binary, categorical or set-valued data, is represented by the time residual R j,t,h ={x j,t -x j,t-1} t∈|T| (j represents the j-th user, t represents a certain time step, h represents the hierarchy selected by user j), and each residual belongs to the ternary vector domain {-1, 0, 1} d .
[0073] S12. Based on the selected hierarchical structure level, adjust the number of the symbol set to a preset number by inserting a preset number of stub records into the residual set.
[0074] Preferably, based on the selected hierarchical structure level, adjusting the number of the symbol set to a preset number by inserting a preset number of stub records into the residual set includes the following steps:
[0075] S121. Initialize the residual set based on the selected hierarchical structure level.
[0076] S122. Calculate the length of the expanded residual set according to the time period corresponding to the hierarchical structure level and the number of stub records to be inserted.
[0077] S123. Insert a preset number of stub records into the residual set, traverse the expanded residual set, construct the symbol set according to the preset rules, and calculate the number of elements in the symbol set.
[0078] Preferably, the formula for the symbol set is:
[0079] S R ={i - | i ∈ [d] and R i = -1} ∪ {i + | i ∈ [d] and R i = 1};
[0080] Wherein, S R represents a symbol set; i - represents an element with a value of -1; i represents the index of an element in the residual set; d represents the dimension of the sparse vector; R i represents the residual of the i-th element; i + represents an element with a value of 1.
[0081] S124. Compare the number of elements in the symbol set with the preset number of stub records, and check whether stub symbols need to be supplemented. If the number of elements in the symbol set is less than the preset number of stub records, supplement the stub symbols to the preset quantity through the sum of the number of data changes by the user within the time period.
[0082] It should be noted that at the hierarchical level h, insert s stub records at the end of the residual set R, then the expanded length d' = d * T h + s (d represents the dimension of the vector, T h represents the time period after stratification according to the time granularity r h ), by using i - and i + to represent that the i-th element of R (residual) (represented by R i ) is equal to -1 and 1 respectively, interpret the sparse ternary vector as a symbol set S R :
[0083] S R ={i - | i ∈ [d] and R i = -1} ∪ {i + | i ∈ [d] and R i = 1};
[0084] Wherein, S R represents a symbol set; i - represents an element with a value of -1; i represents the index of an element in the residual set; d represents the dimension of the sparse vector; R i represents the residual of the i-th element; i + represents an element with a value of 1.
[0085] If the vector contains fewer than s non-zero entries, add symbol elements at the end of the symbol set S R to ensure that SR If there are exactly s elements, the added stub symbols are:
[0086]
[0087] where i + represents the element with value 1; i represents the index of the element in the residual set; d represents the dimension of the sparse vector; T h represents the time period after stratification according to the time granularity r h ; s represents the number of inserted stub records; R j,t′,h represents the residual set corresponding to user j at time step t′ at level h; j represents the user index value; t′ represents a certain h time step within T; h represents the selected stratification level; ||{R j,t′,h} t′∈[Th] )||1 represents the sum of the number of data changes of user j within the time period T h .
[0088] S13. Use a double loop to obtain the target subset and the reference subset from the adjusted symbol set.
[0089] Preferably, using a double loop to obtain the target subset and the reference subset from the adjusted symbol set includes the following steps:
[0090] S131. Initialize variables, determine parameters and random values, and calculate the normalization factor.
[0091] Preferably, the calculation formula for the normalization factor is:
[0092]
[0093] where Ω represents the normalization factor; m represents the size of the output domain; d′ represents the size of the residual set after inserting s stub records; ε represents the privacy budget; m′ represents the number of all possible selected elements; s represents the number of inserted stub records.
[0094] S132. Use a double loop to traverse the adjusted symbol set, and in each loop, calculate the value of the current combination according to the calculation formula and update the cumulative selection probability.
[0095] S133. Based on the updated cumulative selection probability, check whether it reaches or exceeds the random value. If so, terminate the loop and output the target subset and the reference subset.
[0096] It should be noted that by traversing two loops, appropriate target subsets and reference subsets are found; the outer loop goes from numt (initially 0) to m, and the inner loop goes from numr (initially 0) to m - numt, where m represents the size of the output domain, numt represents the size of the target subset, and numr represents the size of the reference subset.
[0097] Calculate:
[0098]
[0099] In the formula, l represents the size of all possible subsets given numr and numt; s represents the number of stub records inserted; numt represents the size of the target subset; numr represents the size of the reference subset; d′ represents the size of the residual set R after inserting s stub records; m represents the size of the output domain; acc represents the cumulative selection probability, which is used to randomly sample from the distribution to determine whether to accept the current distribution condition; Ω represents the normalization factor; ε represents the privacy budget; represents the combination number operation; [[·]] is an indicator function that determines whether numt in the function is equal to 0. If it holds, it is 1, otherwise it is 0.
[0100] acc is initially 0. When acc ≥ r (r is a random value randomly sampled from 0 to 1), the loop is terminated, and the size numt of the target subset and the size numr of the reference subset are obtained.
[0101] S2. Based on the target subset and the reference subset, set the initial state of the output set, perform iteration, randomly select elements from the residuals according to specific conditional probabilities and add them to the output set, and output an output set that meets the preset conditions.
[0102] Preferably, based on the target subset and the reference subset, setting the initial state of the output set, performing iteration, randomly selecting elements from the residuals according to specific conditional probabilities and adding them to the output set, and outputting an output set that meets the preset conditions includes the following steps:
[0103] S21. Based on the target subset and the reference subset, set the initial state of the output set to be empty, initialize the remaining capacities of non - zero elements and zero elements, and determine the remaining sampling number of zero entries.
[0104] S22. Perform the iterative process. In each round of iteration, traverse all elements of the residuals, and randomly select elements and add them to the output set according to whether each element value is zero and specific conditional probabilities.
[0105] Preferably, randomly selecting elements and adding them to the output set according to whether each element value is zero and specific conditional probabilities includes:
[0106] If the element value is zero, determine whether to add the element value to the output set according to the zero conditional probability, and randomly assign a positive or negative sign to the element value;
[0107] If the element value is non-zero, determine whether to add the element value to the output set according to the non-zero conditional probability, and determine the element value sign according to the rule;
[0108] After each insertion, adjust the remaining capacity value accordingly.
[0109] S23. Repeat the iterative process of step S22 until the output set meets the preset size, and ensure that the entire process follows the requirements of ε-local differential privacy, and output an output set that meets the preset conditions.
[0110] It should be noted that let the output result be Z, initialize numrp (the remaining capacity to add non-zero elements to Z) = s, numrf (the remaining capacity to add 0 elements to Z) = d′, numf = m - numt - numr, and numf represents the remaining sampling number of zero entries.
[0111] Repeat the following steps for T rounds, judge each element in the obtained residual R. If it is 0, generate a random number between 0 and 1 to judge whether it is less than numf / numrf. If it holds, add the current element to Z. If added, then according to whether another random number is less than the threshold 0.5, decide whether to add a positive or negative sign, and modify the value of numf when the insertion is successful. On the contrary, if it is not 0, generate a random number between 0 and 1 to judge whether it is less than (numt + numr) / numrp. If it holds, add the current element to Z. If added, then according to whether another random number is less than numt / (numt + numr), decide whether to insert it as a positive or negative number.
[0112] After execution, modify the corresponding size of numrp or numrf, and finally output a set Z that meets ε-local differential privacy and has a size of m.
[0113] S3. The server defines the conditional probability of one of the elements appearing in the output set, derives an unbiased estimator, and uses the unbiased estimator to average all the estimated values belonging to the hierarchical level.
[0114] Preferably, the formula for averaging all the estimated values belonging to the hierarchical level using the unbiased estimator is:
[0115]
[0116] In the formula, represents; t′ represents the time step; h represents the hierarchical level; n represents all users; j represents the user index value; hj = h represents a Boolean expression.
[0117] It should be noted that the server first defines the conditional probability of an element i appearing in the output vector Z b as follows:
[0118]
[0119] In the formula, pt represents the probability of the true value; P represents the conditional probability; i b represents an element; Z represents the output vector; S R represents the symbol set; m represents the size of the output domain; d′ represents the size of the residual set R after inserting s stub records; Ω represents the normalization factor; pf represents the probability of the false value; i -b represents taking the inverse of i b For example, if i b is positive, then i -b is negative; ε represents the privacy budget; m′ represents the number of all possible selected elements; s represents the number of inserted stub records; pr represents the probability of the inverted value.
[0120] pt: The probability that it appears in the output vector Z when i b is in the input vector S R .
[0121] pf: The probability that it appears in the output vector Z when neither i b nor i -b is in the input vector S R .
[0122] pr: The probability that it appears in the output vector Z when i -b is in the input vector S R .
[0123] Next, an unbiased estimator is derived.
[0124] (1) For the ternary vector group:
[0125]
[0126] In the formula, represents the unbiased estimator of the residual of the jth user; i + represents that the sign of the element is +; Z represents the output vector; i - represents that the sign of the element is -, [[·]] is the indicator function, which is 1 if the operation inside the function holds, and 0 otherwise, pt represents the true value probability, and pr represents the inverted value probability.
[0127] (2) For the frequency data:
[0128]
[0129] In the formula, represents the residual unbiased estimator of the j-th user; i + represents that the sign of the element is +; Z represents the output vector; i - represents that the sign of the element is -; [[·]] is an indicator function, which is 1 if the operation inside the function holds, and 0 otherwise. pf represents the probability of false value; pt represents the probability of true value; pr represents the probability of reversed value.
[0130] The server receives the modified messages from each user and uses the unbiased estimator (j represents user j, t′ represents a certain time step, h represents the hierarchical level corresponding to user j), and then averages all the estimates belonging to level h:
[0131]
[0132] In the formula, represents the average residual of all users at the hierarchical level h at time step t′; * represents all, here it represents all users; t′ represents the time step; h represents the hierarchical level; n represents the total number of all users; j represents the user index value; h j represents the layer where user j is located; represents the residual corresponding to user j at hierarchical level h at time step t′; # represents the number of elements satisfying the subsequent Boolean expression; h j = h represents a Boolean expression, which is 1 if it holds, and 0 otherwise.
[0133] S4. Reconstruct according to the average residual value, add the residual corresponding to the time stamp at the current hierarchical level to several previous residual values to obtain the estimation result.
[0134] It should be noted that the server reconstructs according to the average residual value, and adds the residual corresponding to the time stamp t′ at the hierarchical level h to the previous t′ - 1 residual values, and the final result obtained is the original user data x *,t′ .
[0135] In addition, Streaming Data: refers to those data sequences that are generated in a continuous, fast, and real-time manner; unlike traditional batch data that processes a fixed set of data at a time, it is continuously generated and needs to be processed immediately. The characteristics of streaming data are infinite and dynamic, that is, the size of the data set has no upper limit, and the data is constantly updated and changing.
[0136] ε-Local Differential Privacy: ε-Local Differential Privacy is a data privacy protection technology mainly used to ensure the privacy security of individual data during statistical analysis or data sharing. Each user applies a randomization mechanism to their own data to prevent potential attackers from inferring the original data of individual users from the statistical data. The randomization mechanism usually introduces a certain amount of noise, and the magnitude of this noise is controlled by the parameter ε. The smaller ε is, the greater the perturbation to the data, but the stronger the privacy protection provided; conversely, the larger ε is, the smaller the perturbation to the data, but the weaker the privacy protection provided.
[0137] Hierarchical Structure: It refers to the hierarchical arrangement of elements in an organization, system, or model, and this arrangement reflects the relationships between different components.
[0138] Residual Reconstruction: It is mainly used to recover or reconstruct the original data from a series of residuals. Residuals refer to the error parts after the original data undergoes certain processing (such as prediction, compression, or encoding), and they contain information in the original data that has not been fully captured or represented.
[0139] Online Local Differential Private Sparse Vector Estimation Method, which can perform statistical analysis on real-time data streams while protecting user privacy. The research focuses on constructing an optimal Local Differential Privacy (LDP) framework to achieve online analysis of streaming binary vector data, which can be multi-dimensional and include binary, categorical, or set types; by leveraging the negative correlation of event occurrences in sparse vectors, it achieves an optimized error rate under local privacy constraints, and only requires streaming computing in the input stage of the data stream.
[0140] Among them, it can handle a wide range of user data, such as multi-dimensional binary / set-valued vectors, and support various statistical queries, such as mean / frequency estimation and range queries.
[0141] Secondly, this framework can achieve functions and utilities comparable to offline analysis, and even under the influence of a constant factor, it is almost lossless in practical value. A mechanism called ExSub has been developed, which provides an optimal local privacy protection scheme for sparse ternary vector aggregation and can be executed only relying on streaming computing; this mechanism only performs streaming computing in the data-related stage, thus significantly reducing the error rate. Compared with the state-of-the-art offline mechanism, the ExSub mechanism can reduce the error by 10% - 30%.
[0142] An optimized hierarchical structure selection strategy has been designed, aiming to reduce the computational and communication costs at the user end while maximizing the estimation utility at the server end; through extensive experiments on synthetic datasets and real-world datasets, it has been proven that the proposed solution can reduce the error by 40% - 60% compared with existing online protocols.
[0143] In summary, by means of the above technical solutions of the present invention, through a dedicated mechanism designed for sparse vector aggregation and relying only on streaming computing execution, optimal local privacy protection is achieved, and the error rate is significantly reduced; combined with an optimized hierarchical structure selection strategy, not only the computing and communication costs at the user end are minimized, but also the estimation utility at the server end is maximized, ensuring functionality and utility comparable to offline analysis, thereby improving the accuracy and practicality of data analysis.
[0144] The above are only the preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included in the protection scope of the present invention.
Claims
1. An online local differential private sparse vector estimation method, characterized in that: The method comprises the following steps: S1. Select a hierarchy level, adjust the number of symbol sets to a preset number by inserting a number of stub records, and obtain a target subset and a reference subset by looping through them; S2. Based on the target subset and the reference subset, set the initial state of the output set, perform iterations, randomly select elements in the residual according to a specific conditional probability and add them to the output set, and output the output set that meets the preset conditions; S3, the server defines the conditional probability of one of the elements appearing in the output set, derives an unbiased estimator, and uses the unbiased estimator to average all estimates belonging to the hierarchy level; S4. Reconstruct according to the average residual value, add the residual corresponding to the timestamp at the current hierarchy level to several previous residual values to obtain an estimation result.
2. The method for estimating a local differential private sparse vector online according to claim 1, characterized in that: The step of selecting a hierarchical level, inserting a plurality of stub records to adjust the number of symbol sets to a preset number, and looping through the records to obtain a target subset and a reference subset comprises the following steps: S11, selecting the hierarchical level to which each user belongs according to the mean square error minimization criterion of the statistical query task; S12, based on the selected hierarchy level, adjusting the number of symbol sets to a preset number by inserting a preset number of stub records into the residual set; S13. Using a double loop, obtain a target subset and a reference subset from the adjusted symbol set.
3. The method for estimating an online local differential private sparse vector according to claim 2, characterized in that: The statistical query tasks include: triple vector group query, mean query and range query.
4. The method for estimating an online local differential private sparse vector according to claim 3, characterized in that: The adjusting the number of symbol sets to a preset number by inserting a preset number of stub records into the residual set based on the selected hierarchy level comprises the following steps: S121, initializing a residual set based on the selected hierarchy level; S122, calculating the length of the expanded residual set according to the time period corresponding to the hierarchical level and the number of stub records to be inserted; S123, inserting a preset number of stub records into the residual set, traversing the expanded residual set, constructing a symbol set based on a preset rule, and calculating the number of elements in the symbol set; S124, compare the number of elements in the symbol set with the preset number of stub records to check whether the stubs need to be supplemented. If the number of elements in the symbol set is less than the preset number of stub records, supplement the stubs to the preset number based on the sum of the number of times the user's data changes within the time period.
5. The method for estimating an online local differential private sparse vector according to claim 4, characterized in that: The formula for the symbol set is: S R ={i - |i∈[d]and R i =-1}∪{i + |i∈[d]and R i =1}; In the formula, S R Represents a set of symbols; i - represents an element with a value of -1; i represents the index of the element in the residual set; d represents the dimension of the sparse vector; R i Represents the residual of the i-th element; i + Represents an element with value 1.
6. The method for estimating a local differential private sparse vector online according to claim 5, characterized in that: The method of obtaining the target subset and the reference subset from the adjusted symbol set by using a double loop comprises the following steps: S131, initializing variables, determining parameters and random values, and calculating normalization factors; S132, using a double loop to traverse the adjusted symbol set, and in each loop, calculating the value of the current combination according to the calculation formula, and updating the cumulative selection probability; S133. Based on the updated cumulative selection probability, check whether it reaches or exceeds the random value. If so, terminate the loop and output the target subset and the reference subset.
7. The method for estimating a local differential private sparse vector online according to claim 6, characterized in that: The calculation formula of the normalization factor is: Where Ω represents the normalization factor; m represents the size of the output domain; d′ represents the size of the residual set after inserting s stub records; ε represents the privacy budget; m′ represents the number of selected elements; and s represents the number of inserted stub records.
8. The method for online local differential private sparse vector estimation according to claim 1, characterized in that: The method of setting the initial state of the output set based on the target subset and the reference subset, performing iterations, randomly selecting elements in the residual according to a specific conditional probability and adding them to the output set, and outputting the output set that meets the preset conditions includes the following steps: S21, based on the target subset and the reference subset, setting the initial state of the output set to be empty, initializing the remaining capacity of non-zero elements and zero elements, and determining the remaining number of samples of zero entries; S22, executing an iterative process, traversing all elements of the residual in each round of iteration, and randomly selecting elements to add to the output set according to whether the value of each element is zero and a specific conditional probability; S23. Repeat the iterative process of step S22 until the output set meets the preset size, and ensure that the entire process complies with the requirements of ε-local differential privacy, and output an output set that meets the preset conditions.
9. The method for estimating a local differential private sparse vector online according to claim 8, characterized in that: The randomly selecting elements to add to the output set according to whether each element value is zero and a specific conditional probability includes: If the element value is zero, determine whether to add the element value to the output set based on the zero conditional probability, and randomly assign a positive or negative sign to the element value; If the element value is non-zero, determine whether to add the element value to the output set based on the non-zero conditional probability, and determine the element value sign based on the rule; After each insertion, the remaining capacity value is adjusted accordingly.
10. The method for online local differential private sparse vector estimation according to claim 1, characterized in that: The formula for averaging all estimates belonging to a hierarchy level using an unbiased estimator is: In the formula, represents the residual mean of all users at hierarchical level h at time step t′; * represents all; t′ represents the time step; h represents the hierarchical level; n represents the total number of users; j represents the user index value; h j Indicates the level of user j; represents the residual corresponding to user j at level h of the hierarchy at time step t′; # represents the number of elements that satisfy the Boolean expression; h j =h represents a Boolean expression.