The present disclosure relates to datasets containing personally identifiable or confidential information and in particular to risk assessment of the datasets.
Personal information is being continuously captured in a multitude of electronic databases. Details about health, financial status and buying habits are stored in databases managed by public and private sector organizations. These electronic databases contain information about millions of people, which can provide valuable research, epidemiologic and business insight. For example, examining a drugstore chain's prescriptions can indicate where a flu outbreak is occurring. To extract or maximize the value contained in these databases, data custodians must often provide outside organizations access to their data. In order to protect the privacy of the people whose data is being analyzed, a data custodian will “de-identify” or “anonymize” information before releasing it to a third-party, whether that be through data transformations or the generation of synthetic data from personal or confidential data. An important type of de-identification ensures that data cannot be traced to the person about whom it pertains, this protects against ‘identity disclosure’. However, attribute or inferential disclosure can also be prevented, where applicable, to protect confidentiality using a range of technical disclosure-risk or privacy metrics.
When de-identifying records, many people assume that removing names and addresses (direct identifiers) is sufficient to protect the privacy of the persons whose data is being released. The problem of de-identification involves those personal details that are not obviously identifying. These personal details, known as quasi-identifiers (QIs), include the person's age, sex, postal code, profession, ethnic origin and income, financial transactions, medical procedures (to name a few). To be able to de-identify data the assessment of the risk of re-identification is required to be determined. Confidential attributes may also be captured (as QIs or as separate fields) when confidentiality is to be protected, limiting disclosure risk to an acceptable level . Further, the size of the datasets can contain a vast number of entries requiring a computer processor to be able analyze the data, to de-identify, confidentialize, or generate synthetic data.
Accordingly, systems and methods that enable improved risk assessment remains highly desirable.
In accordance with an aspect of the present disclosure there is provided a system and method executed by a processor for estimating disclosure risk (including, for example, one or more of identification, attribution, or inference) of a single individual or entity's information in a dataset, the individual or entity described by a data subject profile in the dataset, the method comprising: retrieving a population distribution from a storage device, the population distribution determined by one or more quasi-identifying or confidential fields identified in the data subject profile; assigning an information score to each quasi-identifying or confidential value of the one or more quasi-identifying or confidential fields associated with the data subject profile; aggregating the assigned information scores of the quasi-identifying or confidential values for the data subject profile into an aggregated disclosure value; calculating an anonymity or confidentiality value from the aggregated information value and a size of a population associated with the dataset; and calculating disclosure metric for the individual or entity from the anonymity or confidentiality value.
In a further embodiment of the system and method, the information score is defined by a number of information binary bits provided by the quasi-identifying value.
In a further embodiment of the system and method, an aspect calculating an anonymity value from an information score is defined as a=reid_bits-given_bits where reid bits is a number of re-identification bits calculated from the size of the population using reid_bits=log2 (population) and given bits describes the aggregated information value available for re-identification of the data subject profile.
In a further embodiment of the system and method, the population distribution is a single variable or multi-variable distribution, which maps value to a probability of an individual or entity having that value.
In a further embodiment of the system and method, further comprising creating an aggregate result of a plurality of re-identification metric for a plurality of data subject profiles on a larger dataset.
In a further embodiment of the system and method, creating the aggregate result for the data subjects in a single value result.
In a further embodiment of the system and method, the aggregate result is one of a type of disclosure risk metric, or an arithmetic average.
In a further embodiment of the system and method, wherein the aggregate result is a multi-valued summary.
In a further embodiment of the system and method, wherein the multi-valued summary is an array or matrix of results.
In a further embodiment of the system and method, wherein creating the aggregate information scores is a summation of information scores for the subject.
In a further embodiment of the system and method, wherein the information scores in each data subject profile is summed to obtain a total information value contained in all child records for a given parent data subject profile.
In a further embodiment of the system and method, wherein the data subject profile comprises a record, the method further comprising: aggregating information scores within the record; aggregating information score from related records from within a child table associated with the record; and aggregating information score from the child table.
In a further embodiment of the system and method, further comprising selecting a pre-defined number of data elements with the most information related to a given parent as defined by the information score.
In a further embodiment of the system and method, further comprising calculating an arithmetic average information (u) in all elements related to a given parent data subject profile.
In a further embodiment of the system and method, wherein calculating re-identification metric is defined a value associated with anonymity, equivalence class size, or re-identification risk.
In a further embodiment of the system and method, further comprising the evaluation of the ability to unambiguously link a record in one dataset to identify a matching individual or entity in another dataset.
In a further embodiment of the system and method, wherein anonymity value is a metric measured in bits, where if the anonymity value is greater than zero there are many individuals or entities who would match this record in the population, if the anonymity is equal to zero the individual is unique in the population, and if the anonymity value is less than zero the individual or entity is unlikely to exist in the dataset or population.
In a further embodiment of the system and method, further comprising generating a histogram from a plurality of calculated anonymity values to estimate a number of data subjects who are unique in the dataset.
Other aspects of the present invention comprise computing devices utilizing computer-readable media to implement methods arranged for deriving risk contribution models from a dataset. Rather than inspect the entire data model in order to identify all quasi-identifying fields, the computing device develops a list of commonly-occurring but difficult-to-detect quasi-identifying fields. For each such field, the computing device creates a distribution of values/information values from other sources. Then, when risk measurement is performed, random simulated values (or information values) are selected for these fields. Quasi-identifying values are then selected for each field with multiplicity equal to the associated randomly-selected count. These are incorporated into the overall risk measurement and utilized in the anonymization process. In typical implementations, the overall average of re-identification risk measurement results prove to be generally consistent with the results which are obtained on the fully-classified data model.
The implementation of simulated contributions can simplify classification, reduce manual effort, and increase the computing device's execution of the anonymization process of the dataset. This can, overall, save computing resources by reducing processor and memory usage during the anonymization process. Furthermore, additional resources can be focused on automation for de-identification, where the identifiers are transformed. Rather than a prescriptive approach, de-identification can be customized to maintain maximum data utility in the most desired fields.
Further features and advantages of the present disclosure will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
Embodiments are described below, by way of example only, with reference to
An information theory-based replacement is provided for traditional risk measures, such as k-anonymity, or expected number of correct re-identifications, or re-identification risk. Methods based on k-anonymity compare records or data subjects within dataset to one another. If the dataset is a sample of an electronic database, then risk associated with the dataset is then extrapolated to a larger population contained in the electronic database. The disclosed computer system and computer implemented method directly estimates the risk of a record against a population and does not compare individuals against one-another but against a population, which allows this method to process a single record without a dataset being processed in order to provide a risk assessment. The system and method are effective at generating a risk measure because it can account unequal probabilities of matching records. For example, consider a probabilistic matching scheme which finds the most likely match, the mutual information can be used to measure and validate that a dataset is l-diverse. Entropy has been proposed for use in disclosure control of aggregate data, which predicts an attacker's ability to impute a missing value or values from views on the same data. Entropy can be used to estimate the average amount of information in QI and how the size of the population limits the amount of information that can be released about each subject.
The system and method disclosed take as input one or more subject profiles to determine risk of the dataset. The individual person is a subject or patient present in a dataset. The data of a subject profile is a description of the individual in structured form. The structure may be expressed in a database, extensible mark-up language (XML), JavaScript Object Notation (JSON), or another structured format. The subject profile consists of fields and associated values that describe the subject. For example, a subject profile may contain date of birth, province or state of residence, gender. Furthermore, a subject profile may contain “longitudinal data” (or temporal data) which either changes in time or describes an event at a particular time. Examples of longitudinal data might be information about a hospital visit (admission data, length of stay, diagnosis), financial transactions (vendor, price, date, time, store location), or an address history (address, start date, end date). It is noted that the term “individual” as used herein may include and/or be applicable one or more entities in some cases as will be evident by the accompanying description and context of a given use.
An example data subject profile is shown in
A data subject profile may in fact be data extracted from a text file and assigned to certain meaningful fields. If a dataset is being processed that contains multiple individuals, they are not required to have the same field. By not requiring the same fields to be present enables processing of unstructured, semi-structured and textual dataset, where individuals may not have the same schema.
Often when data is stored in a database, XML, or JSON format there is a schema which defines, which fields exists, what they contain, and any relationships between fields, elements, records, or tables. The relationships are usually of the form 1-to-1 or 1-to-many. For example, consider the relationship between a subject and DOB, Gender(1-to-1), or subject and some financial transactions (1-to-many). There are scenarios where many-to-many and many-to-one relations exist and these should not be excluded, however the disclosed examples provided will focus on the more common relationships within a subject profile.
In disclosure control and risk measurement each field in a schema is classified into direct-identifiers (DI), quasi-identifiers (aka indirect identifiers) (QI), and non-identifiers (NI). For ease of presentation, QIs may be assumed to incorporate any relevant confidential attributes needed to estimate disclosure risk. The system can generically apply to any value regardless of classification, however QIs (or QI fields) will be referred to as this is normally utilized in risk measurement.
Referring to
Once a distribution for each QI is acquired, each value in a data subject profile is assigned an information or disclosure score (204). For example, information scores are measured in bits and based on information theory. For example the sex of the subject may be expressed as 1-bit of data, male or female, whereas an alphanumeric postal code having 3 numbers and 3 letters would be 24 bits, where A-Z is 4.7 bits=log2(26), 0-9 is 3.3 bits=log2(10) and the postal code could be 4.7+3.3+4.7+3.3+4.7+3.3=24 bits. However not all of those postal codes are in use, so if the number of postal codes in use is 845,990 the number of bits where information in postal code is log2(845,990)=19.7 bits. Further the specific population per postal code could reduce the number of bits, for example a specific postal code K1G4J4 has a population of 4,076, where Canada has a population of 35 million, so the information in K1G4J4 is log2(4076/35 million)=13 bits. Although a postal code calculation of information bits is described the method of determining the number of information bits is applicable to other QIs in a similar manner.
Aggregation of information scores is performed to create a single information score from several values (206). There are several different aggregation techniques, each serves to model certain types of relationships. Aggregation techniques can be composed where one aggregation technique uses the results of other aggregation techniques. Regardless the complexity of a schema, the end result is a single information score that is measured in bits, which describes the accumulated or total information available for re-identification of the data subject. The resulting single value is referred to as the given_bits.
Anonymity can then be calculated using given_bits and the population size as input (208). The equation for anonymity (a) is a=reid_bits-given_bits, where reid bits is the number of re-identification bits, is calculated from size of the population using the following equation reid_bits=log2(population). The population is the group of subjects from which the subject profile (or dataset) is sampled. For example, if a dataset contains a random sample of voters then the population is the total number of voters.
Most measures use equivalence class size (k), which cannot be less than 1; at minimum an individual person is considered unique. Anonymity can measure beyond uniqueness (negative anonymity or zero anonymity is unique). Negative anonymity suggests a person is unique usually even on a subset of their subject profile. The magnitude of negative anonymity indicates how much suppression or generalization by de-identification techniques will be required to have the person look like another person in the population. Anonymity can be used to establish the probability that someone else would look like this person. Negative anonymity can be used to determine if there is sufficient information to link records across dataset with a significant confidence level.
There are several technical privacy and confidentiality-risk metrics that can be used to calculate from anonymity. Anonymity can be converted to equivalence or similarity class size and re-identification risk. All of these metrics are established standards. A result of the process defined here is that the risk is measured on an individual, not on a dataset. Other methodologies focus on measuring re-identification metrics on datasets but cannot necessarily assign a risk to a data subject in a dataset or an individual data subject (i.e. dataset of 1 data subject). This enables processing subject profiles individually, leading to linear time processing, instead of other k-anonymity methods, which are usually quadratic or worse processing times. Furthermore, this enables measuring re-identification metric of profiles coming from text documents, which are not contained in a dataset or having a common schema.
For all the following examples, let a be the anonymity of the given subject where Equivalence (or similarity) class size (k) is calculated ask=2max(a,0). The re-identification risk using the following formula reid_risk=2−max(a,0) is calculated (210). The re-identification risk may be presented for the associated record. Alternatively, the resulting calculated re-identification metric (210) can be aggregated (212) into a whole for the dataset to create an aggregate result. The aggregation method utilized depends on the re-identification metric and the data model being considered and will be discussed below.
Re-identification Risk can be one of a maximum risk or an average risk of someone randomly choosing a record from the dataset and trying to re-identify it in the population. In the case of average risk, it may be calculated as
where is n the total number of data subjects in the sample, i iterates over each data subject, and reid_riski is the risk of re-identification for subject (i).
Re-identification Risk can be an average risk of someone randomly choosing a subject in the population and trying to re-identify their record in the dataset. This average is the number of equivalence classes divided by the population size. The equation is
where is n the total number of data subjects in the sample, i iterates over each data subject, Ki and ki are the number of records matching a subject in the sample, wherein calculating the risk of re-identification may be replaced with calculating the number of data subjects matching this record (k) using the following equation k=2max(a,0) (k value) and using sample instead of population measurement, respectively.
Further the anonymity may be aggregated into histogram. Since anonymity is normally a real value (i.e. continuous or decimal) if anonymity values are converted into an integer value, the anonymity profile of dataset can be concisely expressed. In part, this is because anonymity is in a logarithmic scale, expressing magnitudes of difference. However, operations like round, round-up (ceil), round-down (floor), will change the average risk profile of the histogram. A first histogram models population anonymity and maintains the average risk profile of the sample to population re-identification. Let H[. . . ] J be the histogram. H[a]=x where a is an integer anonymity value and x is non-negative real value indicating the number of people with this anonymity.
For each subject let the anonymity of the subject contributed to the histogram be
z=floor (a)
d=a-z
p=21-d−1
H[z]=H[z]+p
H[z+1]=H[z+1]+(1-p)
This histogram is an effective tool for estimating the number of data subjects with a particular anonymity. A common use for this would be to estimate the number of data subjects who are unique. The number of unique data subjects is=Σi=li<0 H[i] where l is the lowest anonymity value in the histogram.
The second histogram models sample and population anonymity and maintain the average risk profile of the population to sample re-identification. A two-dimensional histogram describes the population and sample anonymity as a matrix of values, the row and column number represent integer anonymity values for the population and sample, while the cells contain real values indicating the number of people with this (population, sample) anonymity.
A population distribution defines a mapping of quasi-identifying values to the probabilities of those values occurring in the range, region, or demographic profile covering the data subjects associated with/contained within the dataset. The algorithm is agnostic of the source of the priors, however a number of methods are defined to obtain priors including Estimated Sample Distribution (ESD) measurement.
A population distribution may be derived from census data or other pre-existing data sources. The probability of value (pr(v)) is defined as
A population distribution may be approximated using the distribution from the dataset. The method for estimating population distributions using sample data is provided by determining the sample distribution, this is a map of values to the number of people with this value. Each value is classified as common or rare. Common values occur when more than X individuals have that value in the sample distribution. Rare values occur when a value is associated with X or less data subjects in the sample distribution where Xis normally set to 1. Thus, to the total number of values is the sum of the rare values and common values.
TotalValues=RareValuessample+CommonValues.
The total number of values (Estimated Values) is estimated including unseen values, that is values that did not occur in the data (sample) but occur in the population. Estimation of the total number of values can use, but is not limited to species estimators, such as Bias Chao estimator or Abundance Coverage-based Estimator (ACE). These estimators are dependent on the distribution selected.
Alternatively, a distribution may be compared against a standard distribution, such as a uniform distribution or normal distribution. If they match in shape within a certain tolerance (error), then information about the sample distribution can be used to estimate the number of values that have not been seen. Assuming all unseen values are in fact rare values the number of rare values in the population is calculated where
RareValuespop=Estimates Values-CommonValues
The resulting population distribution for a common value is the probability of value occurring in the sample distribution. Consider common values are well-represented and the sample distribution should be a good estimate of the population, so prpop(vcommon)=prsample(v), where prsample(v) is the sample probability and prpop(v) is the population probability.
For the resulting population distribution for rare values, find the frequency of the value of the sample distribution and correct this for the probability that this value was randomly selected to be included in the dataset. The intuition is that the rare values that are in the data made it by chance and need to be accounted for the chance of rare value having made it in to the dataset.
A population distribution may be approximated using a uniform distribution. Given the size of the value space (how many values are possible), then assume the probability of any given value is 1/NumberOfValues. On average this leads to an overestimate of the risk of re-identification (a conservative assumption), however on any individual case it can underestimate or overestimate the probability of a value and lead to under or overestimation of risk.
A distribution may be based on known or published averages. This average may be returned as the probability for a value occurring, which satisfy the value specificity. For example, a publication may claim that “80% of Canadians see a doctor at least once a year”. The probability would be 80% and the specificity is 1 year. The population distribution can return that the year (date without month or day) of a doctor's visit has an 80% probability (i.e. 80% of the population visited a doctor that year).
A distribution based on known or published averages may be made more granular (more specific) by combining a known average and uniform distribution over the specificity. As with the previous example, 80% is the probability and 1 year is the specificity, however the values are in days. The probability can be estimated of a particular subject visiting a doctor on a particular day as (assuming 365 days in a year) 80%÷365=0.8±365=0.2%.
A joint distribution may be used to more accurately model probabilities and correlations between values. The probability of set/combination of quasi-identifier values occurring can be expressed as the joint distribution over two or more quasi-identifying values. A joint quasi-identifier may be defined as a tuple of values, for example a zip code and date of birth (90210, Apr. 1, 1965). A joint distribution of the quasi-identifiers can be used to calculate the probability of this combination of values occurring. A joint distribution may be acquired by any methods for acquiring a population distribution.
A method for assigning an information score (measured in bits) is to calculate I(v)=-log2(pr(v)) where v is the value, I(v) is the information score for the value, and pr(v) is the probability of the value occurring in the population distribution.
A method for assigning an information score (measured in bits) can incorporate the expected (probable or likely) knowledge of an average adversary. The method assumes a probability of knowing a particular value is given. Let 0≤k(v)≤1 be the probability that someone would know value v. For example, if v is a birth event, it is likely to be known or in the public domain (k(v)=1), while a sinus infection is not particularly knowable or memorable (k(v)<1). The expected information from value I(v) can be calculated as
I(v)=−log2 (pr(v))*k(v)
Assigning an information score (measured in bits) can incorporate the probability of knowing a value and compute the weighted average risk of all combinations of knowledge scenarios. For a set of values (V={v1, v2, . . . , vn-1, vn}), a knowledge scenario (KS) is the set of values known by an adversary (KS⊆V). The set of all knowledge scenarios is the power set of VV (i.e. □(V)). Let the probability of a particular value being known be k(vi). Let the risk associated with a knowledge scenario be risk(KS). The weight average of all knowledge scenarios is
Because the power set is combinatorial, then the previous equation is combinatorial in computation, however, the equation can be factored into terms leading linear processing if the following equation is used for the information in each value
I(v)=log2 (k(v)*pr(v)+(1-k(v)))
Consider the following example where V={v1, v2} then
average=k(v1)k(v2)R(v1, v2)+k(v1)(1-k(v2))R(v1)+(1-k(v1))k(v2)R(v2)+(1-k(v1))(1-k(v2))R( )
If R(v1, v2)=2I(v1)I(v2)-reid_bits then the equation becomes
average=k (v1)k(v2)2I(v1)I(v2)-reid_bits+k(v1)(1-k(v2))2I(v1)-reid_bits+(1-k(v1))k(v2)2I(v2)-reid_bits+(1-k(v1))(1-k(v2))2−reid_bits average=2−reid_bits(k(v1)2I(v1)+1-k(v1))(k(v2)2I(v2)+1-k(v2))
This result is computationally significant, simplifying combinatorial processing to linear.
Values can be aggregated into a single information score for a data subject. This score is referred to as the given_bits for the data subject. A number of methods are described below, however this list is neither complete nor limiting. New aggregations scheme can be introduced to the methodology.
Aggregation of Total Knowledge is a method where information scores for values are summed together resulting in the total information. Assume there are n values indexed from 1 . . . n. Then the total information score (given_bits) is given_bits=Σi=1n I(vi)
Simple Mutual Information is a method where information scores are aggregated yet account for correlations. In information theory correlation is expressed as mutual information. The relationship between two values is expressed in pointwise mutual information. If the values are correlated, that is they tend to co-occur, then the total information from the two value is less than the sum of the two independent values. This occurs because one value may be inferred from another value, thus knowing the second value does not increase information.
Assuming there are n values indexed from 1 . . . n this method requires joint distributions as previously described. Assuming that joint distributions are provided for all pairwise combinations of values from 1 . . . m where m<n a set PV of all pairs of values (vi, vj) where i ∈ {1 . . . m}, j ∈ {1 . . . m}, i≠j is constructed. For each pair (vi, vj) ∈ PV the pointwise mutual information
where pr(vi, vj) is the value from the joint distribution that is calculated. A subset of pairs (SPV) from PV where SPV ⊆PV is calculated. The given_bits for values 1 . . . n is calculated. This may be done via the method of Aggregation of Total Knowledge but is not limited to this. For each pair (vi, vj) ∈ SPV the pointwise mutual information is added to given_bits where
given_bits′=given_bits+Σ(v
and given_bits' is then aggregated to an information score accounting for mutual information.
A general and extensible method for aggregating information score in complex schema consisting of multiple table (or table like elements) is described. A dataset may be expressed as a schema, which has tables and relations between tables. For practical purposes the model is described as if it was in a database forming a directed acyclic graph. For the purposes of this method and risk measurement, the top or root table 302 would be the subject table, since all measurements are based on subjects as shown in
Aggregation of information within a record is often accomplished using aggregation of total knowledge or simple mutual information. Related record aggregation is applied to the information score from records within a single child table that are related to the same parent record (from the parent table). The following schemes may be used:
Total Information—The information in each record is summed to obtain the total information contained in all child records for the given parent. This is effectively aggregation of total information.
Maximum Adversary Power X—Select the X records with the most information in them related to the given parent as defined by the information score. Total (sum) the information in X records.
Average Adversary Power X—Calculate the arithmetic average information (u) in all elements related to the given parent. The information for the data element is=X*u
Table Aggregation is applied to information scores from child tables (result of related records aggregation) relating to a single parent record. A parent record may have multiple child records in multiple child tables. The purpose of aggregation is to determine how much of this information from these child tables is aggregated up to the parent record. This resulting information is added to the information of the parent record.
Total Information—The information from each child table for this parent record is summed and added to the information of the parent record.
Maximum Table—Add the information from the child table, which has the high information contribution, to the parent record.
Aggregating all information from child records can be fulfilled by any methods described for related record aggregation, such as total power, average adversary power X, and maximum adversary power X Note that now the adversary power aggregation would be over all child claims instead of limited to a single table.
The Back Fill Adversary Power is a variant of Average Adversary Power X; under many circumstances it behaves as average adversary power X and maximum Table would have behaved under the first aggregation scheme, however in case were the information is spread across different tables and adversary power X cannot be fulfilled by a single table, then it includes X events. For a given parent record (p) average adversary power Xis calculated for each table. Recall that this method calculates a u, which is the average information in a QI. This algorithm will refer to ut as the information in an average data element for table t. The data element and information values are initially set to 0. While data element <X the highest contributing table (T) is selected that has not been processed yet and Y is the number of records in T that are about to be processed then information=min(X-data_elements, Y)*ut and data elements=data elements+min (X-data_elements, Y) where the table T is marked as processed. Information about the amount of information aggregated from child tables is then processed.
Measuring mutual information requires joint distributions, which may not always be accessible to users of the method. A QI groups mechanism can be used to approximate known correlation by only including one of the correlated variables in the risk measurement. A group of QI is defined as a set of tuples table and column and effectively replaces these QIs (table and column) with a single pseudo QI. The pseudo QI must also have a place in the data structure (particular table that it will be placed into). The information score of the pseudo QI may be defined by many procedures. One procedure is that the information score of the pseudo QI is the maximum of information score of any QI contains within it (in the tuple of table and columns).
Alternatively, probabilities may be utilized instead of information scores. First recall that information scores areI(v)=−log2(pr(v)), so an information score can be represented as a probability using 2−I(v)=pr(v).
I(a)+I(b)=−log2(pr(a)*pr(b)) 2−(I(a)+I(b))=pr(a)*pr(b)
the result is
probability_existance=2−given_bits
An expected number of matching people in the population is calculated by:
The re-identification risk is then calculated by
Aggregation is then performed as previously described as the same re-identification metrics are provided.
Each element in the embodiments of the present disclosure may be implemented as hardware, software/program, or any combination thereof. Software codes, either in its entirety or a part thereof, may be stored in a computer readable medium or memory (e.g., as a ROM, for example a non-volatile memory such as flash memory, CD ROM, DVD ROM, Blu-ray™, a semiconductor ROM, USB, or a magnetic recording medium, for example a hard disk). The program may be in the form of source code, object code, a code intermediate source and object code such as partially compiled form, or in any other form.
It would be appreciated by one of ordinary skill in the art that the system and components shown in
The present disclosure provided, for the purposes of explanation, numerous specific embodiments, implementations, examples, and details in order to provide a thorough understanding of the invention. It is apparent, however, that the embodiments may be practiced without all of the specific details or with an equivalent arrangement. In other instances, some well-known structures and devices are shown in block diagram form, or omitted, in order to avoid unnecessarily obscuring the embodiments of the invention. The description should in no way be limited to the illustrative implementations, drawings, and techniques illustrated, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and components might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
Further aspects of the present invention include techniques that may be utilized to anonymize data obtained, for example, from clinical trials before that data can be utilized to develop new drugs, medical devices, and the like. In one exemplary process of anonymizing data, a population distribution for each quasi-identifier (QI) in a schema is retrieved by a computing device from a storage device. A population distribution may be associated with one or more QIs and multiple distributions may be required for the schema. The population distribution is associated by the type of data contained in the dataset. For example, the population distribution may be from census data which can be determined based upon the QI in the schema. The association of the dataset with population distributions may be determined automatically by analyzing content of the dataset or by a predefined association. A population distribution maps a value to probability, which represents the probability of someone in the population having this value.
A population distribution defines a mapping of quasi-identifying values to the probabilities of those values occurring in the range, region, or demographic profile covering the data subjects associated with/contained within the dataset. The dataset is agnostic of the source of the population distribution; however, a number of methods are defined to obtain population distributions, including Estimated Sample Distribution (ESD) measurement. A population distribution may be derived from census data or other pre-existing data sources. A population distribution may be approximated using the distribution from the dataset. A distribution may be based on un-structured data as well, for example using natural language processing or other suitable functionalities. The distributions from un-structured data can be combined with other distributions for a given QI. A distribution may be based on known or published averages. A distribution based on known or published averages may be made more granular (more specific) by combining a known average and uniform distribution over the specificity.
In the process described above, sorting through and classifying the data to begin the anonymization process can be burdensome due to the large number of columns and variables typically available in datasets. In fact, the process of classifying, connecting, and transforming quasi-identifiers (QIs) is one of the most time-consuming and complex elements of the measurement and mitigation of disclosure risk. Some datasets have few quasi-identifying fields about many subjects; other datasets have many quasi-identifying fields about relatively few subjects. In at least the latter case, it is intractable to identify and classify every field.
For example, in the case of structured clinical data, there are on average O(1800) quasi-identifiers which are identified and considered for transformation in risk mitigation. These QIs can be cross sectional or longitudinal in nature. Level 1 (L1) QIs are cross sectional in nature, such that they are found once for each individual or subject in the data set. Level 2 (L2) QIs are longitudinal in nature, such that more than one instance may be recorded for each individual or subject in the data set. These quantities tend to vary over time and can include clinically-relevant data such as dates, medical events, and medications taken.
The high-level process flow for deriving risk contribution models for identifying variables is shown in the diagram 1100 in
Rather than inspect the entire data model in order to identify all quasi-identifying fields, the computing device develops a list of commonly-occurring but difficult-to-detect quasi-identifying fields. For each such field, the computing device creates a distribution of values/information values from other sources. Then, when risk measurement is performed, random simulated values (or information values) are selected for these fields. Quasi-identifying values are then selected for each field with multiplicity equal to the associated randomly-selected count. These values are incorporated into the overall risk measurement and utilized in the anonymization process. In typical implementations, the overall average of disclosure risk measurement results prove to be generally consistent with the results which are obtained on the fully-classified data model.
As mentioned above, the computing device may also automatically identify quasi-identifying fields within the dataset, using a deterministic algorithm, a set of pre-defined rules, or an algorithm that leverages probabilistic decision-making, for example through machine learning or artificial intelligence. The combination of automatic identification of quasi-identifying fields with simulated values may be used in conjunction with, or in lieu of, real data by the computing device to avoid complex risk measurements, or to speed up processing of large/complex datasets. Possible additional uses of automatic identification of quasi-identifying fields with simulated values by the computing device include, but are not limited to, the detection and inclusion in risk measurement of personal information within streaming data, or the performance of on-device processing of data, such as disclosure risk measurement or anonymization. Simulated values and distributions derived as part of the process explained above can also help feed into a natural language processing algorithm or other algorithms to detect identifying and other information in un-structured data as well.
The usage of simulated contributions can simplify classification, reduce manual effort, and increase the computing device's execution of the anonymization process of the dataset. This can, overall, save computing resources by reducing processor and memory usage during the anonymization process. Furthermore, additional resources can be focused on automation for de-identification, where the identifiers are transformed. Rather than a prescriptive approach, de-identification can be customized to maintain maximum data utility in the most desired fields.
A computing device, such as a remote service or a local computing device operating an application, is configured to generate value distributions and then select quasi-identifying fields in order to streamline a data anonymization process which utilizes the classified data in subsequent processing (e.g., performing de-identification, risk assessment, etc.). Specifically, two distinct steps are performed to streamline data classification. The first is an up-front one-time (or infrequently recurring) step of generating value distributions. The second either precedes or embellishes the first step of previous submission on a per-measurement basis.
For any quasi-identifying field which is to be simulated, a population distribution must be created. These distributions can be obtained from a variety of sources, including, but not limited to a single large dataset, an aggregation of small dataset, census or other data sources, research papers, unstructured data etc. A population distribution may also be derived from other distributions, including but not limited to joint distributions. The distribution may be comprised of the distribution of actual values, the distribution of the raw information values of the actual values, or the distribution of knowable information values of the actual values.
A second distribution reflects the number of longitudinal quasi-identifying values held by individuals in the population. (Longitudinal quasi-identifying values are those which a person has an unknown number of, such as medical diagnoses, as opposed to those which always have a cardinality of one, such as date of birth). As with the values, the counts may be sourced from a single dataset, an aggregation of multiple datasets, or other external sources. The raw population distributions may be processed in various manners, such as by smoothing algorithms. A single set of distributions may be created for multiple risk measurement projects or created in a bespoke manner for each individual risk measurement project.
A computing device can be configured to store the source(s) of the two types of distributions as a whole, or the source(s) of actual values, frequency of values, the information values of the actual values, or the number of longitudinal quasi-identifying values held by individuals in the population.
These distributions may also be compared or validated against historical/prior information by the computing device, such that any new data/evidence obtained can be used by the computing device to generate or update a posterior risk estimate. Such an extension can be used in applications including, but not limited to, Bayesian risk estimation, and anonymization of streaming data.
When a dataset is received for a risk measurement assessment, for each data subject the computing device randomly selects a random value for each demographic quasi-identifying value from the associated population distribution. A random count of longitudinal values from the distribution of counts for that data subject (either a single count for that data subject which is shared across all longitudinal quasi-identifying values, or a separate count for each longitudinal quasi-identifying field). Quasi-identifying values are then selected for each field with multiplicity equal to the associated randomly-selected count. Once the identifying variables are sufficiently identified in the dataset, the computing device then proceeds with the remainder of the process and retrieves the appropriate population distributions for the randomly-generated quasi-identifying fields. Other (true) quasi-identifying fields use their own population distributions as applicable.
Cross sectional (or L1) QIs are those that are found once for each individual or subject in the data set. For example, subject height and weight at intake tend to be included in risk measurement and appear as a measured value in many clinical trials. Accordingly, certain assumptions can be made about the height and weight distributions that enables modeling on a per-participant basis. For example, height and weight measurements tend to follow unimodal distributions centered about global averages and given an assumption of independence in the present risk measurement methodology, correlations between height and weight can be safely ignored if generated randomly for each participant. And while the simulated heights and weights for individual subjects may vary meaningfully from their true values, taken in aggregate, their contribution to average risk may closely mirror that of the real data.
Given these assumptions, histograms can be built using the desired L1 quantities for each participant by aggregating L1 data across a number of completed studies, such that the resultant histograms can be used by the computing device to derive probability densities, specifically representing the probability of having a certain value of the desired quantity. Sample frequencies (or priors) can also be computed from this aggregated data, which can be used directly in risk measurement. These estimates may also be used by the computing device in the context of Bayesian risk estimation, wherein the given data/evidence is compared to historical/prior information to generate a posterior risk estimate. Such an implementation would have applications within the anonymization of streaming data, for example.
One possible algorithm for simulating L1 contributions to risk measurement may be implemented as follows:
For each data subject in the study and for each L1 quantity to be simulated:
In practice, there are a number of QIs which, if found in a dataset, may be treated as cross sectional variables—for example, baseline lesion size may be considered in risk measurement for a clinical trial focused on skin cancer, or pregnancy status for female participants. Given a sufficient amount of data, it may be possible to model such quantities using the same general algorithm described above. Bayesian priors may also be used, such that samples or other relationships in the data may be used as evidence to update or generate a posterior estimation of disclosure risk. Such modelling would further reduce analyst workload in terms of data modelling and classification, particularly when such quantities are embedded in complex tabular data structures such as key-value pairs.
Broadly speaking, the longitudinal QIs that tend to enter risk measurement take the form of dates and codes—for example, in clinical data, codified fields related to subject medical history and concomitant medications are present, but in practice other L2 QIs may also be subject to risk measurement, including but not limited to transactional data such as that, for example, associated with financial transactions. As a matter of convention, such L2 quantities will be referred to as “claims” going forward.
In order to simulate the contribution of longitudinal quantities to the average risk, there are two major considerations: 1) Not all individuals will have claims in a given L2 table, and 2) The claims in such a table will be a mixture of common and uncommon quantities. For example, in the case of concomitant medications, many individuals may take aspirin for pain relief, but only some may take an experimental cancer medication.
Certain types of quasi-identifiers pose additional complexities or have implicit or explicit criteria/constraints regarding their simulation. For example, in clinical data, dates pose additional complexities as they must be offset according to the PhUSE dates offsetting algorithm, requiring both the first collected date of each participant, as well as the recruitment period of the study.
Models can be built using an approach similar to that for the cross sectional (L1) variables, wherein subject claims from different studies are aggregated together, whether in a stratified or non-stratified fashion, from which distributions can be drawn representing the number of claims or transactions per participant or individual, as well as the sample frequencies of each claim. These distributions can then be used by the computing device to derive approximate probability density functions for the number of claims and the frequency of each claim, from which each participant receives a simulated number of claims, as well as a simulated prior value for each claim.
In particular, given a probabilistic mechanism to represent the number of claims per participant, and the frequency of each claim within a broader, representative population, the contribution of these L2 variables may be simulated, as shown by the algorithm presented in chart 1200 in
The process described above is illustratively presented in
In step 1310, the computing device classifies the remaining identifying variables that were not contained in the simulation of step 1305. The classified identifiers are also used to de-identify to reduce risk below the threshold in subsequent steps. In step 1315, the computing device performs de-identification by determining a candidate de-identification solution. In step 1120, the computing device performs risk assessment by calculating risk from classified risk drivers plus simulated contributions. In step 1325, the computing device compares the risk assessment to a risk threshold. When the comparison indicates that the risk threshold is not met, then the process reverts back to step 1315 in which de-identification is performed. When the comparison indicates that the risk threshold is met, then the anonymization process is concluded, as shown in step 1330.
In other implementations, the selection of the random values can be injected into the step in which the population distribution data associated with the dataset is retrieved. Retrieving population distributions still occurs, but only for the identified actual quasi-identifying fields. Additionally, when applying information values to each quasi-identifying value in the dataset, random counts of longitudinal fields are created, and information values are directly sourced from the distribution rather than quasi-identifying values. Re-identification risk measurement then proceeds as with the previous submission.
Random simulated quasi-identifier values can be applied to a direct-comparison-based risk measurement algorithm. While the previous submissions describe the case of simulated risk contributions applied to and evaluated against an average disclosure risk measurement, the same approach could be used by the computing device to evaluate an expected maximum risk measurement, either through a single run, or as a Monte Carlo simulation. While the use of simulated risk contributions by the device would not identify which records exceed a maximum risk threshold, an expected count of the number of data subjects who would exceed this value could be evaluated.
Comparisons of true and simulated average risk values including subject height, weight, medical history codes, and concomitant medication codes are shown in
In general, the simulated risk values presented in
If the current dataset is not selected for validation at decision block 1520, then the data is utilized to classify a minimal dataset at block 1545. The value distributions 1540 and classified minimal dataset are inputs to block 1550 at which risk is calculated for each subject. An average risk is calculated at block 1555 and provided to block 1560, model validation.
If the calculated risk is low (i.e., at or below some predetermined threshold) at decision block 1565, then the subject data is included in a de-identified dataset 1570. If not, then a modified de-identification solution may be implemented at block 1475 and the calculation of subject and average risk is repeated in a loop.
The classified full dataset at block 1425 may also be utilized to calculate risk for each subject at block 1480 and an average risk calculated at block 1485. The calculations may be used for model validation at block 1460, as shown.
The procedure is conservative in nature in that typically, priors are computed on a per-study basis, so drawing them instead from an aggregated sample will actually result in “rare” values becoming rarer on average. Over time, stratifying the sampling according to factors such as condition studied, study indication, and even population demographics may help to improve the robustness and quality of the modelling.
The simulation of quasi-identifiers in risk measurement and mitigation can be further extended to contexts such as incremental/streaming data and risk monitoring. In such circumstances, quasi-identifiers may occur infrequently or sparsely enough in the data that it is not possible to compute robust estimates of their relative contribution to disclosure risk. Accordingly, in such contexts, the use of simulated risk contributions by the computing device of the detected identifiers to could allow for dynamic or real-time disclosure risk calculation and anonymization of data, thereby preventing identity disclosure. Furthermore, the use of periodically updated, probabilistic models also lends itself to Bayesian formulations of disclosure risk, such that new data/evidence can be applied to historical/prior information to generate more accurate posterior risk estimates. A computing device can compare simulated distributions with actual distributions of incremental data to determine whether further disclosure risk control is necessary or whether an existing de-identification strategy is still applicable to the new data. This can save processing in the context of incremental/streaming data.
In the context of incremental data releases, it is possible that earlier data releases may contain less information than later releases, and potentially also fewer types of identifying information than the full data release. For example, an interim clinical dataset may contain incomplete descriptions of patient visits, or less detailed information on medical conditions, treatments, or medications, as compared to the final clinical dataset. In circumstances where only a partial amount of identifying information is available, the computing device can consider the contributions to disclosure risk of both the identifying information recorded in the data, as well as simulated quasi-identifiers for information that has not yet been seen, in order to provide a reasonably accurate estimate of the disclosure risk expected from a full data release.
Given a number of possible identifiers that could be present in a future data release, the computing device may use this information to de-identify the incremental data in a manner that brings the estimated final disclosure risk below threshold, in order to ensure that only a suitable amount of information is disclosed in the incremental release. Likewise, once a more complete dataset becomes available, the computing device can remove any simulated components that have been supplanted by real data and update the disclosure risk using this newly-available information. The complete dataset can then be de-identified by the computing device in a manner that accounts for the new information available for the final data release and is also consistent with the de-identification strategy employed in the previous, incremental release. The computing device can also update the simulated data models and distributions to derive more accurate estimates of disclosure risk and produce updated de-identification strategies for future data releases.
In the context of physical data repositories like relational or non-relational databases, data lakes, etc. the use of simulated quasi-identifiers can serve as an efficient way for a computing device to estimate or anticipate the disclosure risk associated to a given data request. For example, given some amount of quasi-identifying information requested for a number of data subjects, the estimated disclosure risk can be computed by an external or embedded computing device before any actual data access occurs. If the expected disclosure risk of the data is above a specified threshold, the user can be prevented from accessing or downloading the data. The computing device can then simulate the conditions that would result in an estimated disclosure risk which falls below threshold and require the user to confirm that the proposed level of de-identification is acceptable. At which point, the true data can be retrieved from the data repository, de-identified, and provided to the user.
In the context of heterogeneous data pools like data lakes, the use of simulated quasi-identifiers can serve as a more accurate way to estimate the disclosure risk associated to a given data request. The computing device can utilize simulated quasi-identifiers in a manner to account for the various cohorts (i.e. heterogeneity) within the pooled data, to ensure that the expected disclosure risk of the released data is not under-estimated. The computing device can then simulate the conditions that would result in all cohorts with an expected disclosure risk below a specified threshold and require the user to confirm that the proposed level of de-identification is acceptable. Alternatively, the computing device can identify which cohorts have an expected disclosure risk above a specified threshold and prevent the user from accessing or downloading the data.
In the context of secure computation and query-based systems, the use of simulated quasi-identifiers can serve as an efficient way to estimate the disclosure risk associated to a given query or request. The computing device can compute the estimated disclosure risk using simulated quasi-identifiers and select the appropriate subset or all records and de-identification strategy that would meet the disclosure risk requirements and privacy budget of the data recipient is such a system. In this way, simulated quasi-identifiers can ensure that a response to a targeted query is calculated using the subset of data that meets the disclosure controls in an expedited fashion. It will be appreciated that the principles described herein with respect to disclosure risk may be generalized to other metrics of interest in a given use scenario. For example, differential privacy mechanisms and other privacy-preserving techniques may be advantageously configured and/or modified to utilize the present simulated quasi-identifiers to thereby lower disclosure risk.
It may be possible to leverage simulated risk contributions within a computing system that allows for an expedited disclosure risk measurement and mitigation process by minimizing user intervention and domain knowledge/subject matter expertise requirements. In a structured clinical data context, the “core” quasi-identifying information that drives disclosure risk tends to be spread across multiple locations in a dataset. Identifying and collecting this information can be a time-consuming process and requires considerable domain knowledge. These fields tend to benefit the most from simulated risk contributions. Conversely, fields such as data subject age, gender, and other demographics information tends to be localized to a few clearly-marked fields and tables.
As shown at block 1610, the system enables the user to identify which of the “core” quasi-identifiers for which they wish to account using simulated risk contributions from a dataset 1615. The system 1600 then requests that the remaining quasi-identifying information such as age, gender, race, ethnicity, etc. be identified and classified by the user, as indicated at block 1620. The system can perform a disclosure risk measurement by combining simulated risk contributions for the “core” quasi-identifiers (block 1625) with risk contributions from the remaining user-identified and -classified fields (block 1630). An aggregated risk is computed by the system based on core and non-core contributions (block 1635). The system transforms non-core quasi-identifiers and direct identifiers to mitigate risk (block 1640) and a de-identified dataset 1645 may be exported by the system.
In system 1700, fields considered under the scope of simulated risk contributions do not need to be identified or otherwise manipulated by the user, as the statistical models underpinning the simulation process already account for their contribution to disclosure risk. Similarly, with the system accounting for the effects of synthetic data on the total re-identification risk, user input at block 1720 required to identify the fields to be synthesized may be minimized or reduced to zero in some cases. As shown at block 1725, if there are certain types of fields present in the data with regular structures and known upper and lower bounds such as dates, the system may autonomously identify such fields based on their content and formatting and synthesize the identified fields, accordingly, at block 1730. The system computes risk contributions of the identified fields at block 1735.
In the simulated risk component 1715, the system identifies fields to be simulated at block 1740 and simulates risk contributions for each field at block 1745. The outputs of the simulated risk component and synthetic data component 1705 are aggregated at block 1750 to produce a final estimated risk estimate 1755.
Synthetic data may be generated by the synthetic data component to emulate certain types of personal information such as clinical visit dates, treatment dates, etc., which conventionally requires stronger underlying assumptions and prior knowledge to effectively simulate. For example, in the case of dates recorded in a clinical trial dataset, the start and end dates of the trial would typically be needed to properly understand the scope of the risk contribution simulation, as well as the length of the period in which participants are recruited into the study. Synthetic data instead advantageously allows for the substitution of real personal information with generated data which possesses similar statistical properties to the original data—such as trends within a given field, and its correlations to other fields—but is not attributable back to the original data subjects. In this way, the system can combine synthetic data and simulated risk contributions together to produce a robust estimate of the disclosure risk associated with the dataset, with a minimum of user intervention.
The use of simulated risk contributions can also be extended beyond anonymizing structured data to encompass a system which performs disclosure risk measurement and anonymization of unstructured data, such as clinical study reports (CSRs). In a clinical context, instances of personal information such as patient demographics, medical histories, drug codes, etc. are embedded in unstructured documents in a manner that oftentimes requires a lengthy initial phase of detection leveraging automated or semi-automated natural language processing (NLP) technologies before risk measurement and mitigation can begin. Moreover, a suitably high recall of this embedded personal information is required before the risk measurement and de-identification processes produce reliable and accurate assessments of the original and mitigated disclosure risk. In this context, a system combining simulated risk contributions and modern NLP technologies, using unstructured data as input, may allow for a substantial decrease in the amount of time and effort required to reach a state of readiness for risk measurement and mitigation.
Given a known number of data subjects in a particular unstructured text, the system may produce simulated risk contributions for personal information such as demographics, medical history codes, concomitant medication codes, etc. Therefore, the remaining detection process would be limited to capturing fields such as dates which feature regular and repeating formats and content, and which can be captured almost fully automatically by leveraging NLP technologies embedded within the system, with minimal additional user input or effort. Simulated quasi-identifier distributions and models can also be used to improve the detection of personally-identifying information in unstructured data, by using the simulated distributions as a form of gazetteer to inform the natural language processing technologies. By combining these simulated risk contributions together with the remaining detected personally-identifying information , the system may compute an estimate of disclosure risk, with risk mitigation focusing on transforming the detected personally-identifying information in a way that achieves a suitably low disclosure risk.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
This applications claims priority to U.S. Provisional Application Ser. No. 62/885,435 filed Aug. 12, 2019 entitled “Simulated Risk Contributions” the entirety of which is herein incorporated by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
62885435 | Aug 2019 | US |