From a3efc603cf2811273ec8e91fd869b562fb4b058f Mon Sep 17 00:00:00 2001 From: Erik-Jan van Kesteren Date: Mon, 12 Aug 2024 12:46:43 +0200 Subject: [PATCH 1/3] first pass on paper shortening 2230 -> 1465 words --- docs/paper/build_command.txt | 5 ++ docs/paper/paper.bib | 61 +++++++++++------------ docs/paper/paper.md | 94 +++++++++-------------------------- docs/paper/paper.pdf | Bin 361958 -> 361979 bytes 4 files changed, 58 insertions(+), 102 deletions(-) diff --git a/docs/paper/build_command.txt b/docs/paper/build_command.txt index 098ee820..ebdc6d34 100644 --- a/docs/paper/build_command.txt +++ b/docs/paper/build_command.txt @@ -1,4 +1,8 @@ +# Word count: +wc -w docs/paper/paper.md + +# Building the paper: On windows: docker run --rm --volume %cd%/docs/paper:/data --env JOURNAL=joss openjournals/inara @@ -6,3 +10,4 @@ docker run --rm --volume %cd%/docs/paper:/data --env JOURNAL=joss openjournals/i on unix: docker run --rm --volume $PWD/docs/paper:/data --user $(id -u):$(id -g) --env JOURNAL=joss openjournals/inara + diff --git a/docs/paper/paper.bib b/docs/paper/paper.bib index 23b14cb2..7b49c275 100644 --- a/docs/paper/paper.bib +++ b/docs/paper/paper.bib @@ -1,7 +1,9 @@ @misc{bates2019ons, title={ONS methodology working paper series number 16—Synthetic data pilot}, author={Bates, AG and Spakulov{\'a}, I and Dove, I and Mealor, A}, - year={2019} + year={2019}, + url={https://www.ons.gov.uk/methodology/methodologicalpublications/generalmethodology/onsworkingpaperseries/onsmethodologyworkingpaperseriesnumber16syntheticdatapilot}, + urldate={2024-08-12} } @inproceedings{dwork2006differential, @@ -10,14 +12,16 @@ @inproceedings{dwork2006differential booktitle={International colloquium on automata, languages, and programming}, pages={1--12}, year={2006}, - organization={Springer} + organization={Springer}, + doi={10.1007/11787006_1} } -@book{dewolf2012statistical, +@book{hundepool2012statistical, title={Statistical disclosure control}, - author={de Wolf, Peter-Paul}, + author={Hundepool, Anco and Domingo-Ferrer, Josep and Franconi, Luisa and Giessing, Sarah and Nordholt, Eric Schulte and Spicer, Keith and De Wolf, Peter-Paul}, year={2012}, - publisher={Wiley \& Sons, Chichester} + publisher={Wiley \& Sons, Chichester}, + doi={10.1002/9781118348239} } @article{sweeney2002k, @@ -28,22 +32,17 @@ @article{sweeney2002k number={05}, pages={557--570}, year={2002}, - publisher={World Scientific} + publisher={World Scientific}, + doi={10.1142/S0218488502001648} } @misc{bond2015guidelines, - title={Guidelines for Output Checking. Eurostat}, + title={Guidelines for the checking of output based on microdata research}, + publisher={Eurostat}, author={Bond, S and Brandt, M and de Wolf, PP}, - year={2015} -} - -@article{dwork2010differential, - title={Differential privacy for statistics: What we know and what we want to learn}, - author={Dwork, Cynthia and Smith, Adam}, - journal={Journal of Privacy and Confidentiality}, - volume={1}, - number={2}, - year={2010} + year={2015}, + url={https://web.archive.org/web/20160408145718/http://dwbproject.org/export/sites/default/about/public_deliveraples/dwb_d11-8_synthetic-data_cta-ecta_output-checking-guidelines_final-reports.zip}, + urldate={2024-08-12} } @book{hastie2009elements, @@ -51,16 +50,8 @@ @book{hastie2009elements author={Hastie, Trevor and Tibshirani, Robert and Friedman, Jerome H and Friedman, Jerome H}, volume={2}, year={2009}, - publisher={Springer} -} - -@inproceedings{akaike1973information, - title={Information theory and an extension of the maximum likelihood principle}, - author={Akaike, H}, - booktitle={2nd International Symposium on Information Theory}, - pages={267--281}, - year={1973}, - organization={Akad{\'e}miai Kiad{\'o} Location Budapest, Hungary} + publisher={Springer}, + doi={10.1007/978-0-387-84858-7} } @article{neath2012bayesian, @@ -71,8 +62,10 @@ @article{neath2012bayesian number={2}, pages={199--203}, year={2012}, - publisher={Wiley Online Library} + publisher={Wiley Online Library}, + doi={10.1002/wics.199} } + @software{vink2024polars, author = {Ritchie Vink and Stijn de Gooijer and @@ -131,7 +124,8 @@ @article{nowok2016synthpop journal={Journal of statistical software}, volume={74}, pages={1--26}, - year={2016} + year={2016}, + doi={10.18637/jss.v074.i11} } @article{templ2017simulation, @@ -142,7 +136,8 @@ @article{templ2017simulation number={10}, pages={1--38}, year={2017}, - publisher={UCLA, Dept. of Statistics} + publisher={UCLA, Dept. of Statistics}, + doi={10.18637/jss.v079.i10} } @inproceedings{ping2017datasynthesizer, @@ -150,12 +145,14 @@ @inproceedings{ping2017datasynthesizer author={Ping, Haoyue and Stoyanovich, Julia and Howe, Bill}, booktitle={Proceedings of the 29th International Conference on Scientific and Statistical Database Management}, pages={1--5}, - year={2017} + year={2017}, + doi={10.1145/3085504.3091117} } @article{vankesteren2024democratize, title={To democratize research with sensitive data, we should make synthetic data more accessible}, author={{van Kesteren}, Erik-Jan}, journal={arXiv preprint arXiv:2404.17271}, - year={2024} + year={2024}, + doi={10.48550/arXiv.2404.17271} } \ No newline at end of file diff --git a/docs/paper/paper.md b/docs/paper/paper.md index b02fcff7..36dd8488 100644 --- a/docs/paper/paper.md +++ b/docs/paper/paper.md @@ -29,38 +29,36 @@ bibliography: paper.bib --- # Summary -Synthetic data is a promising tool for improving the accessibility of datasets that are otherwise too sensitive to be shared publicly. To this end, we introduce `metasyn`, a Python package for generating synthetic data from tabular datasets. Unlike existing synthetic data generation software, `metasyn` is built on a simple generative model with a "naïve" marginal independence assumption --- an explicit choice that removes multivariate information from the synthetic data. It makes this trade-off in order to maintain transparency and auditability, to keep information leakage to a minimum, and even to enable privacy or disclosure risk guarantees through a plug-in system. While the analytical validity of the generated data is thus intentionally limited, its potential uses are broad, including exploratory analyses, code development and testing, and external communication and teaching [@vankesteren2024democratize]. `Metasyn` is flexible, scalable, and easily extended to meet diverse privacy needs. +Synthetic data is a promising tool for improving the accessibility of datasets that are otherwise too sensitive to be shared publicly. To this end, we introduce `metasyn`, a Python package for generating synthetic data from tabular datasets. Unlike existing synthetic data generation software, `metasyn` is built on a simple generative model that removes multivariate information from the synthetic data. This choice enables transparency and auditability, keeps information leakage to a minimum, and enables privacy guarantees through a plug-in system. While the analytical validity of the generated data is thus intentionally limited, its potential uses are broad, including exploratory analyses, code development and testing, and external communication and teaching [@vankesteren2024democratize]. ![Logo of the `metasyn` project.](img/logo.svg) # Statement of need -`Metasyn` is a python package for generating synthetic data with a focus on privacy and disclosure control. It is aimed at owners of sensitive datasets such as public organisations, research groups, and individual researchers who want to improve the accessibility of their data for research and reproducibility by others. The goal of `metasyn` is to make it easy for data owners to share the structure and an approximation of the content of their data with others while keeping privacy concerns to a minimum. +`Metasyn` is aimed at owners of sensitive datasets such as public organisations, research groups, and individual researchers who want to improve the accessibility of their data for research and reproducibility by others. The goal of `metasyn` is to make it easy for data owners to share the structure and an approximation of the content of their data with others while keeping privacy concerns to a minimum. -With this goal in mind, `metasyn` distinguishes itself from existing software for generating synthetic data [e.g., @nowok2016synthpop; @templ2017simulation; @ping2017datasynthesizer] by strictly limiting the statistical information from the real data in the produced synthetic data. This choice enables the software to generate synthetic data with __privacy and disclosure guarantees__ through a plug-in system. Moreover, our system provides an __auditable and editable intermediate representation__ in the form of a human- and machine-readable `.json` metadata file from which new data can be synthesized. +With this goal in mind, `metasyn` distinguishes itself from existing software for generating synthetic data [e.g., @nowok2016synthpop; @templ2017simulation; @ping2017datasynthesizer] by strictly limiting the statistical information from the real data in the synthetic data. `Metasyn` explicitly avoids generating synthetic data with high analytical validity; instead, the synthetic data has realistic structure and plausible values, but multivariate relations are omitted ("augmented plausible synthetic data"; [@bates2019ons]). Moreover, our system provides an __auditable and editable intermediate representation__ in the form of a `.json` metadata file from which new data can be synthesized. -Through our focus on privacy and transparency, `metasyn` explicitly avoids generating synthetic data with high analytical validity. The data generated by our system is realistic in terms of data structure and plausible in terms of values for each variable --- the "augmented plausible" category of synthetic data [@bates2019ons] --- but multivariate relations or conditional patterns not learnt from the real data. This has implications for how this synthetic data can be used: not for statistical analysis and inference, but rather for initial exploration, analysis script development, and communication outside the data owner's institution. In the intended use case, an external researcher can make use of the synthetic data to assess the feasibility of their intended research before making the (often time-consuming) step of requesting access to the sensitive source data for the final analysis. - -As mentioned before, the privacy capacities of `metasyn` are extensible through a plug-in system, recognizing that different data owners have different needs and definitions of privacy. A data owner can define under which conditions they would accept open distribution of their synthetic data --- be it based on differential privacy [@dwork2006differential], statistical disclosure control [@dewolf2012statistical], k-anonymity [@sweeney2002k], or another specific definition of privacy. As part of the initial release of `metasyn`, we publish a plugin following the disclosure control guidelines from Eurostat [@bond2015guidelines]. +These choices enable the software to generate synthetic data with __privacy and disclosure guarantees__ through a plug-in system, recognizing that different data owners have different needs and definitions of privacy. A data owner can define under which conditions they would accept open distribution of their synthetic data --- be it based on differential privacy [@dwork2006differential], statistical disclosure control [@hundepool2012statistical], k-anonymity [@sweeney2002k], or another specific definition of privacy. As part of the initial release of `metasyn`, we publish a [plug-in](https://github.com/sodascience/metasyn-disclosure-control) following the disclosure control guidelines from Eurostat [@bond2015guidelines]. # Software features -At its core, `metasyn` is designed for three functions, which are briefly described in this section: +At its core, `metasyn` has three main functions: -1. __Estimation__: Automatically select univariate distributions and fit them to a properly formatted tabular dataset, optionally with additional privacy guarantees. +1. __Estimation__: Automatically select distributions and fit them to a properly formatted tabular dataset, optionally with additional privacy guarantees. 2. __(De)serialization__: Create an intermediate representation of the fitted model for auditing, editing, and exporting. -3. __Generation__: Generate new synthetic datasets based on the fitted model or its serialized representation. +3. __Generation__: Generate new synthetic datasets based on a fitted model. ## Estimation -The generative model for multivariate datasets in `metasyn` makes the simplifying assumption of marginal independence: each column is considered separately, just as is done in e.g., naïve Bayes classifiers [@hastie2009elements]. Formally, this leads to the following generative model for the $K$-variate data $\mathbf{x}$: +The generative model for multivariate datasets in `metasyn` makes the assumption of marginal independence: each column is considered separately, just as is done in e.g., naïve Bayes classifiers [@hastie2009elements]. Formally, this leads to the following generative model for the $K$-variate data $\mathbf{x}$: \begin{equation} \label{eq:model} p(\mathbf{x}) = \prod_{k = 1}^K p(x_k) \end{equation} -There are many advantages to this naïve approach when compared to more advanced generative models: it is transparent and explainable, it is able to flexibly handle data of mixed types, and it is computationally scalable to high-dimensional datasets. As mentioned before, the tradeoff is the limited analytical validity when the independence assumption does not hold: in the synthetic data, the expected value of correlations, regression parameters, and other measures of association is 0. +There are many advantages to this naïve approach when compared to more advanced generative models: it is transparent and explainable, it is able to flexibly handle data of mixed types, and it is computationally scalable to high-dimensional datasets. -Model estimation starts with an appropriately pre-processed data frame. For `metasyn`, this means the data frame is tidy [@wickham2014tidy], each column has the correct data type, and missing data are represented by a missing value. Internally, our software uses the `polars` data frame library [@vink2024polars], as it is performant, has consistent data types, and natively supports missing data (i.e., `null` values). A simple example source table could look like this (note that categorical data has the appropriate `cat` data type, not `str`): +Model estimation starts with an appropriately pre-processed data frame, meaning it is tidy [@wickham2014tidy], each column has the correct data type, and missing data are represented by a missing value. Internally, our software uses the `polars` data frame library [@vink2024polars], as it is performant, has consistent data types, and natively supports missing data (i.e., `null` values). A simple example source table could look like this (note that categorical data has the appropriate `cat` data type, not `str`): ``` ┌─────┬────────┬─────┬────────┬──────────┐ @@ -76,7 +74,7 @@ Model estimation starts with an appropriately pre-processed data frame. For `met └─────┴────────┴─────┴────────┴──────────┘ ``` -For each data type supported by `metasyn`, there is a set of candidate distributions that can be fitted to that data type (see Table \autoref{tbl:dist}). To estimate the generative model of Equation \autoref{eq:model}, for each variable the software fits all compatible candidate distributions --- by default with maximum likelihood estimation --- and then selects the one with the lowest BIC [@neath2012bayesian]. For distributions where this is not possible, such as those for the string data type, a pseudo-BIC is created that trades off fit and complexity of the underlying models. +For each data type, a set of candidate distributions is fitted (see Table \autoref{tbl:dist}), and then `metasyn` selects the one with the lowest BIC [@neath2012bayesian]. For distributions where BIC computation is impossible (e.g., for the string data type) a pseudo-BIC is created that trades off fit and complexity of the underlying models. Table: \label{tbl:dist} Candidate distributions associated with data types in the core `metasyn` package. @@ -88,42 +86,18 @@ Table: \label{tbl:dist} Candidate distributions associated with data types in th | string | A108, C122, some words | Regex, Categorical, Faker, FreeText, Constant | | date/time | 2021-01-13, 01:40:12 | Uniform, Constant | -From this table, the string distributions deserve special attention as they are not commonly encountered as probability distributions. Regex (regular expression) inference is performed on structured strings using the companion package [RegexModel](https://pypi.org/project/regexmodel/). It is able to automatically detect structure such as room numbers (A108, C122, B109), e-mail addresses, websites, and more, which it summarizes using a probabilistic variant of regular expressions. Another option, should Regex inference fail for lack of structure, is to detect the language (using [lingua](https://pypi.org/project/lingua-language-detector/)) and randomly pick words from that language. We call this approach FreeText. The final alternative is for the data owner to specify that a certain variable should be synthesized using the popular [Faker](https://pypi.org/project/Faker/) package, which can generate specific data types such as localized addresses. +From this table, the string distributions deserve special attention as they are not commonly encountered as probability distributions. Regex (regular expression) inference is performed on structured strings using the companion package [RegexModel](https://pypi.org/project/regexmodel/). It is able to automatically detect structure such as room numbers (A108, C122, B109), e-mail addresses, websites, and more, which it summarizes using a probabilistic variant of regular expressions. The FreeText distribution detects the language (using [lingua](https://pypi.org/project/lingua-language-detector/)) and randomly picks words from that language. The [Faker](https://pypi.org/project/Faker/) distribution can generate specific data types such as localized addresses, when pre-specified by the user. Generative model estimation with `metasyn` can be performed as follows: ```python -from metasyn import MetaFrame, VarSpec - -# "ID" column is the primary key, -# thus should generate unique values. -# "B" column is not, despite unique -# values in the dataframe -specs = [ - VarSpec("ID", unique=True), - VarSpec("B", unique=False), -] - -# create metaframe -mf = MetaFrame.fit_dataframe(df, var_specs=specs) -``` - -## Serialization and deserialization -After a fitted model object is created, `metasyn` allows it to be transparently stored in a human- and machine-readable `.json` file. This file can be considered as metadata: it contains dataset-level descriptive information as well as variable-level information. The metadata format has a specific structure, which we call the `generative metadata format`, or `gmf`. The header contains the following dataset-level information: +from metasyn import MetaFrame -```json -"n_rows": 5, -"n_columns": 5, -"provenance": { - "created by": { - "name": "metasyn", - "version": "1.0.1" - }, - "creation time": "2024-08-07T12:20:36.022017" -} +mf = MetaFrame.fit_dataframe(df) ``` -Then, for each variable the `gmf` file contains information the name, the data type, the proportion of missing values, and the distribution fitted on the data. For example, a table column containing different types of fruits could result in the following `.json`: +## Serialization and deserialization +After a fitted model object is created, `metasyn` allows it to be transparently stored in a human- and machine-readable `.json` file. This file can be considered as metadata: it contains dataset-level descriptive information as well as the following variable-level information: ```json { @@ -146,36 +120,27 @@ Then, for each variable the `gmf` file contains information the name, the data t } ``` -There are several advantages to creating such a serialized representation. First, it can be audited: the data owner can see exactly what information from the real data is made public through exporting the synthetic data, namely, the parameters of the distribution. Second, the file can be edited. For example, if a data owner thinks some of the labels of the "fruit" column contain sensitive information, these can simply be pseudonymized in the metadata file. Third, after exporting this file, an unlimited number of synthetic records can be created without incurring additional privacy risks, because the original data is no longer part of the synthetization process. - - -Serialization and deserialization with `metasyn` can be performed as follows: +This `.json` can be manually audited, edited, and after exporting this file, an unlimited number of synthetic records can be created without incurring additional privacy risks. Serialization and deserialization with `metasyn` can be performed as follows: ```python -# write a fitted MetaFrame to json -mf.export("fruits_gmf.json") +mf.export("fruits.json") -# then, audit and export json from secure environment +# then, audit and transfer json -# outside the secure environment, load json into MetaFrame -mf_out = MetaFrame.from_json("fruits_gmf.json") +mf_out = MetaFrame.from_json("fruits.json") ``` ## Data generation -After creating the fitted model object, either from the original data or by deserializing a model object from a `.json` file, new data can be generated by the object. For each variable in the model object, the software randomly samples from the fitted distribution to create a synthetic version of the data. Data generation (or synthetization) in `metasyn` can be performed as follows: +For each variable in a fitted or deserialized model object, `metasyn` can randomly sample synthetic datapoints. Data generation (or synthetization) in `metasyn` can be performed as follows: ```python from metasyn import MetaFrame -# load json into a metadataset object -mf = MetaFrame.from_json("metasyn_example.json") - -# create a fake dataset df_syn = mf.synthesize(10) ``` -This may result in the following `polars` data frame[^1]. Note that missing values in the `optional` column are appropriately reproduced as well, courtesy of the "prop_missing" entry in the metadata format. +This may result in the following `polars` data frame[^1]. Note that missing values in the `optional` column are appropriately reproduced as well. ``` shape: (10, 5) @@ -186,11 +151,7 @@ shape: (10, 5) ╞═════╪════════╪═════╪════════╪══════════╡ │ 1 ┆ banana ┆ 4 ┆ beetle ┆ null │ │ 2 ┆ banana ┆ 3 ┆ audi ┆ null │ -│ 3 ┆ banana ┆ 1 ┆ beetle ┆ 223 │ -│ 4 ┆ banana ┆ 0 ┆ beetle ┆ 258 │ │ … ┆ … ┆ … ┆ … ┆ … │ -│ 7 ┆ banana ┆ 3 ┆ beetle ┆ 298 │ -│ 8 ┆ banana ┆ 2 ┆ beetle ┆ 67 │ │ 9 ┆ banana ┆ 4 ┆ beetle ┆ -30 │ │ 10 ┆ banana ┆ 2 ┆ beetle ┆ 172 │ └─────┴────────┴─────┴────────┴──────────┘ @@ -199,22 +160,15 @@ shape: (10, 5) [^1]: This `polars` dataframe can be easily converted to a `pandas` dataframe using `df_syn.to_pandas()` # Plug-ins and automatic privacy -In addition to the core features described above, the `metasyn` package allows for plug-ins: add-on packages that alter the behaviour of the parameter estimation. Through this system, privacy guarantees can be built into `metasyn` ([privacy plugin template](https://github.com/sodascience/metasyn-privacy-template)) and additional distributions can be supported ([distribution plugin template](https://github.com/sodascience/metasyn-distribution-template)). For example, a plugin package called [`metasyn-disclosure-control`](https://github.com/sodascience/metasyn-disclosure-control) implements the disclosure control output guidelines from Eurostat [@bond2015guidelines] by re-implementing the `fit()` method of the candidate distributions shown in Table \autoref{tbl:dist} to include a micro-aggregation step. In this way, information transfer from the sensitive real data to the synthetic public data can be further reduced. - -This plug-in system is user-friendly: the user only needs to `pip install` the package and then `metasyn` can automatically find it to make the methods accessible: +In addition to its core features, the `metasyn` package allows for plug-ins: packages that alter the distribution fitting behaviour. Through this system, privacy guarantees can be built into `metasyn` ([privacy plug-in template](https://github.com/sodascience/metasyn-privacy-template)) and additional distributions can be supported ([distribution plug-in template](https://github.com/sodascience/metasyn-distribution-template)). The [`metasyn-disclosure-control`](https://github.com/sodascience/metasyn-disclosure-control) plug-in implements output guidelines from Eurostat [@bond2015guidelines] by including micro-aggregation. In this way, information transfer from the sensitive real data to the synthetic public data can be further limited. Disclosure control is done as follows: ```python -from metasyn import MetaDataset +from metasyn import MetaFrame from metasyncontrib.disclosure import DisclosurePrivacy mf = MetaFrame.fit_dataframe(df, privacy=DisclosurePrivacy()) ``` -# Conclusion -Synthetic data is a valuable tool for communicating about sensitive datasets. In this work, we have presented the software `metasyn`, which allows data owners to generate a synthetic version of their sensitive tabular data with a focus on privacy and transparency. Unlike existing tools for generating synthetic data, we choose to aim for low analytic validity to enable strong privacy guarantees: the underlying model makes a simplifying independence assumption, resulting in few parameters and thus a very limited information transfer. This approach additionally allows for disclosure guarantees through a plug-in system. - -Further documentation and examples can be found on [metasyn.readthedocs.io](https://metasyn.readthedocs.io/). - # Acknowledgements This research was conducted in whole or in part using ODISSEI, the Open Data Infrastructure for Social Science and Economic Innovations (https://ror.org/03m8v6t10) diff --git a/docs/paper/paper.pdf b/docs/paper/paper.pdf index af7cf901234e4a1ec20139a9037a10fb47101843..3b19abcf707f7394e04f5e402ed6e5503fa67ca3 100644 GIT binary patch delta 45264 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

V|v2O9-!my0RHRXKyhaxJoxMwOb4%(<4~ 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 Hh4_B}S@gs% From f36f1aa95bf174679a46741b498868ec2061e39f Mon Sep 17 00:00:00 2001 From: Erik-Jan van Kesteren Date: Mon, 12 Aug 2024 13:03:46 +0200 Subject: [PATCH 2/3] Shorten to 1382 words and build paper --- docs/paper/paper.md | 37 ++++++++++++++----------------------- docs/paper/paper.pdf | Bin 361979 -> 342257 bytes 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/docs/paper/paper.md b/docs/paper/paper.md index 36dd8488..a8956c57 100644 --- a/docs/paper/paper.md +++ b/docs/paper/paper.md @@ -45,7 +45,7 @@ These choices enable the software to generate synthetic data with __privacy and At its core, `metasyn` has three main functions: -1. __Estimation__: Automatically select distributions and fit them to a properly formatted tabular dataset, optionally with additional privacy guarantees. +1. __Estimation__: Fit a generative model to a properly formatted tabular dataset, optionally with additional privacy guarantees. 2. __(De)serialization__: Create an intermediate representation of the fitted model for auditing, editing, and exporting. 3. __Generation__: Generate new synthetic datasets based on a fitted model. @@ -74,25 +74,24 @@ Model estimation starts with an appropriately pre-processed data frame, meaning └─────┴────────┴─────┴────────┴──────────┘ ``` -For each data type, a set of candidate distributions is fitted (see Table \autoref{tbl:dist}), and then `metasyn` selects the one with the lowest BIC [@neath2012bayesian]. For distributions where BIC computation is impossible (e.g., for the string data type) a pseudo-BIC is created that trades off fit and complexity of the underlying models. +For each data type, a set of candidate distributions is fitted (see \autoref{tbl:dist}), and then `metasyn` selects the one with the lowest BIC [@neath2012bayesian]. For distributions where BIC computation is impossible (e.g., for the string data type) a pseudo-BIC is created that trades off fit and complexity of the underlying models. Table: \label{tbl:dist} Candidate distributions associated with data types in the core `metasyn` package. -| Variable type | Example | Candidate distributions | -| :------------ | :--------------------- | :----------------------------------------------------------------- | -| categorical | yes/no, country | Categorical (Multinoulli), Constant | -| continuous | 1.0, 2.1, ... | Uniform, Normal, LogNormal, TruncatedNormal, Exponential, Constant | -| discrete | 1, 2, ... | Poisson, Uniform, Normal, TruncatedNormal, Categorical, Constant | -| string | A108, C122, some words | Regex, Categorical, Faker, FreeText, Constant | -| date/time | 2021-01-13, 01:40:12 | Uniform, Constant | +| Data type | Candidate distributions | +| :---------- | :----------------------------------------------------------------- | +| Categorical | Categorical, Constant | +| Continuous | Uniform, Normal, LogNormal, TruncatedNormal, Exponential, Constant | +| Discrete | Poisson, Uniform, Normal, TruncatedNormal, Categorical, Constant | +| String | Regex, Categorical, Faker, FreeText, Constant | +| Date/time | Uniform, Constant | -From this table, the string distributions deserve special attention as they are not commonly encountered as probability distributions. Regex (regular expression) inference is performed on structured strings using the companion package [RegexModel](https://pypi.org/project/regexmodel/). It is able to automatically detect structure such as room numbers (A108, C122, B109), e-mail addresses, websites, and more, which it summarizes using a probabilistic variant of regular expressions. The FreeText distribution detects the language (using [lingua](https://pypi.org/project/lingua-language-detector/)) and randomly picks words from that language. The [Faker](https://pypi.org/project/Faker/) distribution can generate specific data types such as localized addresses, when pre-specified by the user. +From this table, the string distributions deserve special attention as they are not commonly encountered as probability distributions. The regex (regular expression) distribution uses the package [`regexmodel`](https://pypi.org/project/regexmodel/) to automatically detect structure such as room numbers (A108, C122, B109), e-mail addresses, or websites. The FreeText distribution detects the language (using [lingua](https://pypi.org/project/lingua-language-detector/)) and randomly picks words from that language. The [Faker](https://pypi.org/project/Faker/) distribution can generate specific data types such as localized names and addresses pre-specified by the user. Generative model estimation with `metasyn` can be performed as follows: ```python from metasyn import MetaFrame - mf = MetaFrame.fit_dataframe(df) ``` @@ -124,10 +123,7 @@ This `.json` can be manually audited, edited, and after exporting this file, an ```python mf.export("fruits.json") - -# then, audit and transfer json - -mf_out = MetaFrame.from_json("fruits.json") +mf_new = MetaFrame.from_json("fruits.json") ``` ## Data generation @@ -135,15 +131,12 @@ mf_out = MetaFrame.from_json("fruits.json") For each variable in a fitted or deserialized model object, `metasyn` can randomly sample synthetic datapoints. Data generation (or synthetization) in `metasyn` can be performed as follows: ```python -from metasyn import MetaFrame - -df_syn = mf.synthesize(10) +df_syn = mf.synthesize(3) ``` This may result in the following `polars` data frame[^1]. Note that missing values in the `optional` column are appropriately reproduced as well. ``` -shape: (10, 5) ┌─────┬────────┬─────┬────────┬──────────┐ │ ID ┆ fruits ┆ B ┆ cars ┆ optional │ │ --- ┆ --- ┆ --- ┆ --- ┆ --- │ @@ -151,9 +144,7 @@ shape: (10, 5) ╞═════╪════════╪═════╪════════╪══════════╡ │ 1 ┆ banana ┆ 4 ┆ beetle ┆ null │ │ 2 ┆ banana ┆ 3 ┆ audi ┆ null │ -│ … ┆ … ┆ … ┆ … ┆ … │ -│ 9 ┆ banana ┆ 4 ┆ beetle ┆ -30 │ -│ 10 ┆ banana ┆ 2 ┆ beetle ┆ 172 │ +│ 3 ┆ banana ┆ 2 ┆ beetle ┆ 172 │ └─────┴────────┴─────┴────────┴──────────┘ ``` @@ -173,6 +164,6 @@ mf = MetaFrame.fit_dataframe(df, privacy=DisclosurePrivacy()) This research was conducted in whole or in part using ODISSEI, the Open Data Infrastructure for Social Science and Economic Innovations (https://ror.org/03m8v6t10) -The `metasyn` project is supported by the FAIR Research IT Innovation Fund of Utrecht University (March 2023) +`metasyn` was supported by the Utrecht University FAIR Research IT Innovation Fund (March 2023) # References \ No newline at end of file diff --git a/docs/paper/paper.pdf b/docs/paper/paper.pdf index 3b19abcf707f7394e04f5e402ed6e5503fa67ca3..d5c6ea79049ce485b336db97ef626af1cada28d0 100644 GIT binary patch delta 53048 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 P3?`4KYisMh%18H4RN31m delta 70915 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%0D~&mHY;f%#+Ih}v;iMaXb{?Y% z&12i?ndN&Gj4k_(BxlM_yp-qq9pz^inub!c5*Bt+xSsZu7u5;VpYnXFO0XuW5%0$~ z=Yu?2_5RLUh^gF<$5{e$i5a%CKun8}xZty{1M+#KhPO2*?W02+RtO&7@oi*lTat}= zDH#~@ua;Zm8)30BkK=i&U>nMRRRi13x~`Ng`b=9<@1&NDvxThTzzQZgPO5>4YxB5i zxiF7M+2@O?v*n6H;1_y(( zG(d~0k?z*JW0`K|$tAo4iiO(&^|?;nAF=+*c!H)G60MmhYaU*&*OWFS!56V6K+c@z zMNsX5fJ3ed`3OOtRC>` zW7D@%)*Zs%j(+Qc92bJG`>Qt+e0S(WAb>MZyqKuAj96h=o5S4AO_yo;zHD!YjT+i@ z*Z{3at_}~lLnEJbht(Ndn`;Vl3uY_z7~Jm5$}`FuH~W>y{tp}8?@)r0$y z36dN)EmBpEg&(7Tkt_)24gKJu3S^3CmWp-Xe{ottF2KA6sprWZ69QYE3J%T%A1F_A??&J z2JG0ug)JsR=mAGpqK5*Q1}+AnQkubSR}!|vl?qZrYJwGi{t4vM+b3yOwPquc1=han zPb<(Tb0Z_9&Lf%4wA%Ge_uE5BuLTGhTn!Ki3~8{eO=BKHF(*MAA(ivq82&JlIugMFC~N{il>(zn$0 z$O;*^`p)ftXFvJ>%htJzm5yj{PevhQbecxV>4r%?ECZaYxd4MPpA)2m7{5JNiRHeI45gNy&jYJvGk(W6ySR6Q~Y zka4YSo{;|_%~R+9s&cN&S0y~qWM-gu1pGsEK$aqZR8R{#E(ji$3Yiw9>1>~+2NX_d zmuBE5j`ZNMug{df7g{w2-<}#h-WRGdl0uYxemhp`4W3N{J%)c$rhXX72wHhliUC}s ztq5x8adC~`PUvPSk%R9QrKmGkju7LVW9HP!ly``CpO^Y{25nBCh;ki4o+3Xhk3-R! z%dyUXI36>Jmm@IZx~abR3186Zl8{L+=xkUbH5qrL^YfBNkyiW#>5ZY$88Vh9lRuFL zqy=GhYKcFlaHYWMzg~(8R8A6{3t$%BNi`Tc)w;!#bmeE2tiCB(wU8`QMVzrDr3xW5 zDoE1!&O;n|BfZ86)w;P%%InMc@#R^^MI)z;Cr)i-F^ws#d_jmK_U*ADGl z-{tsRcDhA_R{tSZ3?rNs$-{DHf~+r>t;o2YEOiiL==nW=9s6eil2{3NE3nt0wavFJ z71)sCg}@#nvNlVQXc$H~F3Jf9Y2UbtM)%lElD$U{sDiX=hS9C-Ib`9HGRFK|1^EPj zzjZJor8uv%$!~BvNm>OCxM%HTIWr2%{nu28l!<~q|g#PEZYgkHQ5$> zqamL*zH5PeUnHTu5!NkDFWIr;)<-9QiMueH&!1shHN?d>IUY(T|GYVk042=O?wivZ z&`wx95&&X$fNUWDY2Z0B4`djd(g$*ozZzVgnmo637u|L+0egd&!LZRJ^E6uw*cech znJr6

V|v2O9-!my0RHRXKyhaxJoxMwOb4%(<4~$0K5XMl(i@&@+{f%9&$-n)z7@ zEi_W=+wOUoujOzPEtJIhSF3Ok_n}jVfS@J&1;^ed$6B~Ab$w`FZ$O}_$a^EyF0II~>}FyIu^g0`n?0i9bW1mW;j%?NSmC=OYABjZ>}^sHxD ze&e+RHi4CsbGd0gsliS%loE4)dE2%n#@U2`V`svfNMBUKkqxAT;h9Foe0W182q|qp z>6=)8s<1*{wkz;$o@M>7E34WuMY3-7Z1#4Z4yYNaCKSm8A5&JMQ`}Y}POZ@rf0#h! z(&4#P=l9krUJpOARtuZkXdh})@i6pj`6S-rYUje|GYw`qJJgxWu1Jl46=y0(0m^!4 zGRC!o$C@2Jwl8Ylq$s3$@fpptv*v;K*3qvX^V6(2>q<+yUgHV8vYF;HUY7Mz)mo`E zO$Tn)PQ`At;|Adj?d@~LXJuZvcSGS8eer2*t0phIsOiAU{`{hqSyk4zDb6ToQk?W^ zfm}i4Z;V>pCi9P!a98esYQ3a%<^`d=Tsod8CiWe-J880(S#!;G8hNC4j0>A~&PF34 zCyaDcuOVM-sfW3i%)ExooOn)a8r!?+ED7?2$NTBjLD)FR zu-11;ex}z*DMc}ve#&re(JCo06L`9;CDOyl&ANN3`b^0A^X6iIc)wXF!#W7V$dC$p z$hKj(pduN~D;JcrB$neA;&aKE3g?Q#(e3)iBV;!!@lbZ05wYPNpq-^yc!K>F2G$az zl91(uz!_M(0WAl93!ADkjO*Rt(-UQ^B7zlCHWQI|krkuxGAzi7Zxm5N$1te)r4(vD zOIS=b^Y~7(Y!cpoO)I}gRu0@-OiQA){-ju6>r?qW-y-Jr%~UYAM!KC3LW3)v?@QqM z*m_^WDXf%D_a(qX2a%lCrk-myBVY$vnd{f5ZBK|=PI+mk{Cz!e8(1PsL0dbUHC$wI z<&b1A1dtTXDL3?x3B2hYtK;AUzp|%W(IBA3M|> zzgEcU#|R5<4WId>OpFoaVb1mAY~$O)vQ4`r$%$T_0m6jVb^^nwnL> z>LdcF?x+Kxwf&N(DZFeqN>=zL=i@Ecfu$Uj~*oFub zCB5b|@nGD40@ev1L%%$=zFIq#E+Uwj@f}ipHQ&PxSGo}yN%4znpa}6csFshMSSxF$ zOzOC%O}(O4{~sK5$xD{&%C6tTl=XU!$tTHZPB}_VzoqrR2B#`oxN%ao8+!vMsG>q2PsngegUBl<=x6`k$Qo>Ma7wM9M z>rW|Nc>C?^&pTu-Uk@nzWoN>5&b+9og|hbKWD>9>^CqPP_i#vaNspBC^ur|)e7XJ8 zU%%5e`Yfiyv5h{Nt zwO^#R@e22(KoW#9h(>7{Bf= zUYom$M#9XiSl!Pg4a_$&jab=m6}EN=1jH!3$*{XSEo`3zGJ8w0)))Ak`TJ99AfA33 z!`C154D_~M15WEax?bLZE!rpmDI0%q1vE@EdJ>zI_ab_G3Nnf)?W!DCV1t$!b4nt4 z4YN?o2y}(zv_JU-<{VTpSp!5^pxuH3STI?6d3&+e!xJD@I{BspTss4IHL3%RLo>HH z5AT{+Vi?>lW8wOpN8$AaXO;P`uE%pzxU^&RYlaQO2p<}+86y6+WlifcHmHBfG=tZ5 zif6quUMpOkVOUr0;M}r8onzN)q7r9a>Z*)K&mD4mJrvpU)A8yJ_5`Qmv2x{_WRpKx zk%B}Y(YOz%gx6-2ssiXr-K`~qy7>@A0(E3ynN$|iC6gTy>DaI%zP%V@SV3H3wk=s4 zS-gPK`C0OMjEFq_9R_yY9T$HVcqvj`E$%YI6$dXoSh2UTQR&#a;P)PZgDf#7}N4w}^j*c8{XrD(@+CpGZV4L6WPc@VIgxKWUle(5x0J*bVJ7 z({~qw&?&UEFM9Rs)p<>|2m`kvrx@0rBU1zUhuR^F66lgx&mn)qTRdp&E*!p@j=33vD#Nv-p^9F01L{^HhX4ud*Rdmh>6T|3LkRB8jhXy%Z z_#s&ui>^mwuIRQTns~R9q*LAF?HGf}`Toa1grNOKLUW~W6~x<}RwGI0LNc>sp0pw8 zHByc19)%gQ2v>ixxVt-ip0j(Hp^X#Lj*C%(&XK+RKslaRmy;vFfSDm|Tq4PkV< zfn9H7t2Jxl-Eyw&_GnCv83)*NV#Wj+SOoT|Ae>e$`-gk2|j5Z`4f7?$?-N1!Y^bVBub=o8`iXVDoW}jS8HhpI@gg@IeMas{8BI z>q%bO=J9_dlPoe!u2v7Y&DrN!=LXnQ_W5$~ekV`yns~+-oDV5s27Qm-$o;1ho*>zbv8@B2#nT3)Udd%yM{ly%$Z z6}QrbaN(N#nW4Knn%8rxspR_=N{j!dvX9k!i%>M)brqM=Gw@j{GjA`%&df?0v@{Iz z4VqYAe}A${K8Tm9z(}(VQ9nPIhwl+ zN=tu-sbjgD00i`+(`(awVD>b`wY?PYMb|>tWzr#AGJ(|gy-}!QcD2!@&MPKhdt%9~Y$38&vhdoW@vQpv;wJU6&-Rd57BcC9p6k1Kfws>b z13{Zjae&s_joEk3D8)G>I@Sf1xG7+;pBcmhpw<#QD5 z7e5U+*cOTAon{4tBTW{x0M3p>CBd`CLClq?X(yP-}~zd^)g!KGB8K zuXfxeC7Hy_9jEDIpg*h=SU09<0;GTTD(I~ypmb8HE(4p;vWh0a)3}!NFSg7f8Jkuc zi0Mdn$dW}(SjP`CZ}bbtom1&o#=H4MJ7+k!I*wSild+Tw=a6;2DO#7WFZMgkYQsAX zD&p0acepa*h&)8Rsj3oMd{^$?rcXaaUn?m*yFBxO`6`nuTwf}L#wzcy=4XE`RYpi2 z{l-$`TCBRT8xWQbUHCr|O?PK_pCUOuK-bH1%hI^_Yrv|KZyNH`P%V_J)t~c`1yM0t z`xAZ!v60b_)J*p?CMaQ&8P{Py1DjVoDJ5J?A?}G%M-)SidNc^ZU_4CUuy^`UVh)pI zEc`}9%P8DeX;1xla{nAKpbdXCJlRZ76nO|)WZjT;;C;Tv3Xme2xYssMckgPO&(VEp z7thc%UL{UzD2;C7X@=dl?wjyPG}pnQ9&T9zqO#0|5y)W<0y;NoOHTI=Z2fa|WK9<~ z4hNlyHNnKTZQGpKww+AUv8|3Xv29O`$;7s8dw#i}=YHPxuJ`+TozN?eZ>W|uM z@4708AHFvS(Q0q2e|m!k?eusUtQPSpjky@nEj_TPc*87t-Np#0e(s$mb-wdhnjKU- z4xB&Quil$k^w;OKz#*R@r(h%E>hN+}$k+FnrKxQtNNgMy&Xn_)_&s-8c>RJj_t*e` zr-u<`i_Mu#4@0;+(sHT7LAk{$ayA3sBhUD@dmQ306GhonGn~-K$e(Fz4f$qwQ%0C_ zjBtuFb2)tfjWUz<`eH&kNsL@>m%Gv~6G)b^bu+z1zP%c44)7M;?v9F8VZl4z8pzL>)st_))~?AnHk%+F3$D z*E0E~g9aj3^(1ILEJz0ftCXyeVZ^+Nt8?dy|htxjQr^->DH?RpPYWHump2Y56;cD+xe;fEx8gRqOoIX zsxXHpL=fFQ1#h%MUwQz(d$c~QRh~3dDtqg<#_b%Ug19|V1n^DQ!>FeEsOv++?eUrnwRt7BT#QPkMl!)w&Bf7AYPFHJVR4g<3PCA|hg zRIy3!2%?v&N&xuaEMd16tA`E{?ZtfAqyW6VEiN4xwenhJVH-Xh=IS!y+m)wd>h(sG zeF)OJZuaFvr+R+SU1iiszd~75HNNbw%@*3IS;_RuVj942kxNVIA(CjZ^zya&4BJECAn}#0^GHMuSmrq#g}(%DFhj-2<=mbJ5pv7yVS!ynEHn zrY9*xWC9PXm{p{gtsDA}Tr%3H;*YLNhixK4>X8y;mYQZpE(lGYUBdXng$oA-4Q@^y zuJ&@Tp0R_lna=*sEIGtiXc^&sSfvOm0RP^|e(+NIS3*{6%@cwLssdeVOH?n9w+O5h ze$f-&bYCbINTC`DD$e0H^t4pPjzAh>`yi2T#mDmd_h*|CqE-dGE8IH{6(ncB7h2ga zFW|+T;flx@b*7CK(F=G0Q45Z{m#GUDb8sG%!terpJ$~=Zh$xOKQ6=0Hhsh1(s5~Ns zA#my=yv`D@V5$)|KLhRC-j7&^eOpicr*0ecZjQ2#aRvpg*(sERGLc1ao9eI;r7$yl z|DgU&ov~!4R}C33@5Zck5#gRsd7^KT{vHa!TG3yEBD83p2@j3pS|0)JRO?g^`ZWYO z9=w9;?Pz{ZoXrE;HQn7X#+gvHDkSM5eXph`%%xX&*$5I{X9vzqF}h4@mDpd?LZ6Vg z>p4|CMNjb5thO+qm!AAoE>r>Ov~S#n3J&V~E(!%^#zBi#jX^L)0(%B&n>LQYNqnaJ}TBGASz6p z9nmLwphzzi4_=QaC!kZp+?hSw(D=8^QEpY*gLXd|rSLRCG=KkXP{5p(t z*aX(doCdK712A^Bhc`K)?{*KjTRf-Ia0J=# zFjvapyC-lN%0O1=8evZ}*s)oyG0()A4&WWX-nMGsHKBt-`D1XEJXY>ZimWI@$oGtd zM|;Sd%f%xk2{Fc7(WTqjyP;aoZW-0m@9pE}z()WCb!SYI= zd&6o;6av3iLj2&{{6JVu` znw=(pdUqMox)RpU6CJu3Obh{0<)Jm33;w?!l`*m3X^~wh{eoKY1zWxeew!_cfPW)` z)vVE;3BkJvNHDrR2tHn8vfr3f=n9^tQXd|@9HPcT-HFU8lKxVanBB(UXuaaRAe&Vj zdZOOnx_o7p^`(wS!H83VKx|GgHxZ~OEo>&8+P>0=u3T80k?NTEC8)~0*kE5 z7x&?9SBUh7;oWzk)Tx?^br&_RUVfm~jGHxmKy-e&=F#`&)R%$ZSHJuHgWUXG;fSS-el>M&k|W+w70J^WRm!y|2>4=ms%b&Z%m9;Kvtr5`Geq#cP* z<_kj%?nz;O$Ap06^E7KcQoYe`n>(Nb7kW2Kgk`C|H@*@GeuU%NNVvpc(Z~tv;wn!7 zFCe%+t`-XSJ!XMR>IYs&GrJpw3C~vXsp#aA+^&4#jb(;xX#;bU>MhJBdilPdWq3pV zSqEX>A(m}toD)is?4cT_J}-=`(&8EdF09hRD$0T)5o|h~CR2Cl(#!rxRk4z3BdluH zY(CC5dsDB#e-m)E<(|vGaE5%VPU<3}m@a2IPE$JsY7h^&drehtacdbOUpa?N;aJ0lC;d+|w)(qp z2qs#98-9G@p95g9b%RWddLZkK!tby1!i)BCg|byQbsjmX`|_lay;1S#K)jm<_0XXB zXuQPcI!UeU5~-A6{=zS2VO4*}eMCe#BWNqQ+>+dgY)^%t3|DU&apd|--Dgkfc_zX@ zQ{RZ+GYV}*f5LLOQ!Tq%n4+zm&8)ZMwXc@J`&rxl*?m&= zdI#~GjutDU!kvuSntuI`Z<%|+VTP@Y7eYFpd0tgFzM&Gw*}HUrGYv!fjkU!NnrW)SYf>fWk=ofms6+oS@nKxY#ETa5RK$GW z4h^AY#rPTM%XdD_0WVQl#2)uNG;pR%Z1UGGB26PLB*N;2*(pT_ofj?5fCz)nqh{(!y6n88LP1%S9%}KJNgyVR<%*KO{X@z#8!W}^J*F?n zT%tCL8BPs0sZ(9TkhPx?Jc~M z+JJNSdN0(&Lll=u2CL{G=ZikBY}QgIZH7{X*HT3N_+8@|x`1VBlm(Apa3vwu0yDya zp=A`1w5mmGK-^fSR)7%Ad^n=dTe_3 z3A&#=&hDZU>vL$vV)7YKiP3b&+hw8G!oS&o2W!^x3Y_4X+vi=sl!jFaZD7F=c08j--@w8M;bT4L_9>svJ7WdkX7L~3NCvq1=z$%f)&0bqL_$pRQw*^lKs#`oc3JL)oi(EQYH;Jd^hD2zWee&NrI?35959mz@7u*&}7 zz&c>dqmGzO4@wM+O1g`mQcZ?`k0)6@#&7x-zF!ydN2tHKLm0K3s?5{?m(IID&kO0*=~?YSkLGTcf!L zsseU&MP#VlGPQ^z36%Sf=lE7uOlhrJ1Q1ykd6)m`?-;_14tXiKr!H*@Oh@!cnYBW8m%P zYxX_hG)Mcn2p@hGKL%`jrNm=4IeFK7(pGOm9ngtcJj){wf&c2xrl9&8<*ri0px#r) z=+8H!m{jjsv)Ybt>ud`Yd}sW&;1tT_i|S4s6rrJtGWyt%EQs$AHfcHYUurzG5%79s z;O8}S@XtHGn9bDpyDls=0Y$i{RRSjhnu`_HGAH%^##vhevsQ!ja&(r;X=gKPm1hz# zhdG+l*{Sa3aqX9<#9XM>ZiQ2{W-BMY%XLTQ4%>w;>ig+O(P4eo+e6EqFyziNbkKZasNqJ%Xv7t zfL$aTZCwU%eJAN&3mCwxJ)C%WcsTs$wVBOq4|m0Tht|qDCu;w;4_(n^>R{a6?ItGV5jZ*X(@(n^i071*ibyCOWq9|2=yzsi5s z+;rQA)fNBIi+{>PGIB32F~5LbLX4a4Czs;f#S} ztOYl_U4}`Uq_K8T_b5z~e6;b=)m-0*Yq0y^ZC|{T5{%&`+AP z_Wc{#DRm{o0T7Edq2v%2c7xz`kG6jn_xuirstZ?DJqFITwzIw2s#>6sXA3W)-+oru^o?6@>@7z{FXJW)nGoIVkb_YQplt*C|o~?YX5* z%+q+;+y4Ij1G96;Qg6@nn@??mgNyCegUln;tWI(f5BsKU9aEL%+LJz ze!VO*6p7A#g)3o?t+R1d40YJ=ITA3p?WL|z5_uHy=StpMs&m6ny-CSHl0o7r(^sjc z79Km~1b7W5`qJ)E8*VxMXo1ojzq!}|(ilu_3JU9eXn>v0UHWQtI3HTrIL*Fz)Pj7u zvwbD084Pq6F=J(u_QH$%zN=b&+B?9-z!b%bG{~!cHOjZwLi0ixqIrR1X@A^*r_gKmQ};A004B(- zFZkK3{@jvGIxB*o_Ai#8WyxBBW7(o~8t>ZA5Mki3Tgf~JUiH}|X6eZyIq)Ta_o|2oMqEk>X6B))Ub=B34*>k2`wQ&n$UYrGbE+0`(g3t_9rCpSaPBQ zoY268WAAWfX~olA-yjDUD=D%{!|l`;ZW5Bs&|#~xyO#yqF>a;Y9D^yM!pC14dMl}C zlC1~5E-*98ITPQ|uDIIr6zz0IFPhAbeI0oAgVIN>HpgV?ySYs=*d?WO`Mtg|69c$O zh)GR)`F%;#Hw7^zd+VUcn(}&1)#DoSMC3vCJnKE`fp_=k;N@uXx$ATTEB1t&8r>>F z6*eGg-fVQ|oOFeGaCOUiEW5s^;AeWcp>$O21NppO&*uM)%R!P45Ht|X+#u#b00Dr7 zlZ*YIo%-m&b!|I`Rf(@3)dqEhtB{>*k04PcB426Ttw{Jpf~k%nLQ5+<)>Ns0!kyNh zj~rrZ?MQl^x?~CuSh~nL$A|Rg7z##asg-TmYw?mPHJWf@j;4p#x+4VA%5p5%O?31rF9OE9Y zG^L^HzbcPZW`(Dk(J`m@hrrt^SRSdgSP?D@X%m(@Fq8^b5n@(ZiGXxHCL@)S@jP$} zV6espdZ$Bwm0u!zmSmE`DWLCH9OCwlg%bP7qk08@LEew+G&t}f=9iyj}%B&Pi<%=`qJ z(Xb6Y)=PwBl*CF3Q%}f}%vR+K7d6{=$0Io`U|CtqRV=w(>opRE^g!sa>{B2m@eCRk z4FqgIgW0jHVQ)Ob2ZSz50!)WtK&~nM8a?XwUT~NYNf>kVYOy(DEUHGTJ+sBsylQ`^#CB!P z&#@HVbhc(`X8+}w83EH2IaSH3%4o}mUcCG4j;$3jOSvOj-H@mTv z(@ARZ?X>=wn~GJsIDI-kko|4<*iE=!5*OR=xtMsko2fxMWR3Ubb~T~teD+ns3V0hK z-$US*_^(?B^TxN@V@MUzdtW5o$ zjXim`owBD`D*(3MLmqWXnNz&N+a73@9uq+hLG(!KwOG{k|2DM#06R4zKa+&7R zARJHrYwCnQj5db0#@NE<=?9MO0 z@#$UX$+{!%VYs5|;LDk5j0P{_+e4}6t~B%t(S8n$Qi|x6c9|y_wBD}x$G)L}q(_Z_ zFd!K1I7PAPom8Va7xkvB~%myUo zA-?dp92;@Bgq?+un$k=wt^z}0?q1SJeRPzyf(#*}5oHrTjH5;cpqEakqELJ3Sn=tt z7qh%sQpVXC1*@(puQKv^UA6E+lV>h*ea9ykD;z`Y_X2B$dF%tK3o4<;eTdX-^GWR2 zw1Bzew>@8d{i0%dsXZAgR@o?PZOHfB2+dJcR22fmv?JwVVgq7D>fcs~{$B*z4Jm)s zw^vsu$5*#eul_b`0`jpiRFPDW>L_7YUfZ%2 z-J%=Hztv<_mxb0{tXX-$4RuoYIxC4(9YB*k>m1XZDk&a?nl?2E3GR{FQU+cho=}H2 zLmqW;* zb<%_XITPJuQZw-{sg4>po*}Jw>LKpR2PYq8miIV-E7(xsgDjm@2V`DfIyxO|+ z%;;H@X@ou|8-O0@T5}V>Lm>K3_w^a#H5~@^=jZR_^TEdT-=83iG6fpRf-_FSB;n}$ z?v;x$`h`<4={aJH)Q`?f)Ve=bUa9ZogEz94M8n^G>b}KvnVwZe`{LGl*xiZhxfNRV zlL&h$@=Kb*=VR&=gR()~r=x&UP~>=Gv9_)6}BxTCiUZ(Ak7 zwsETd%KS3AXleX~6Mr*(Y*TB1o|XCq{d>$7!o2i@lP##iIW<*HyiJB3>t1{obGD$r zptB5S5^U0XIAx>Xt4o1_k7DPdDd$oq&@%)6t^+V_Uebj-4> zV%r2B6=xs|ZN_n@wYnQmx-n*X#dCsH$uXwvnq_KA20Y5)bY(W(Pa2COXP-J6b1VJi zGHwoj@WAQ=FmR5*hi;*83_C`nIlkaC7D)hwtEb#;8L=Y`5s2&&D$(QjCc3Z&WNu(G8uF+_ajX0F@x^4yWq-=KTV z>#U@8c2h5jx-(KH?lFh9W3v4IRJ-cWON{{Zu!D5wW1($DGjA^Fg@SL@+^4+FV)%A! znySrLeG>HRH(0)8iKGxTpNRIT-(s(3uP=fmTAEX?cV=1VN5M&$z+=~vO9hXYU&j-+bj0!B+K=Ud znY-%m8R{SW@{6T#$Ca8w9_990tS9(<7ogj6>*)hg-3wYmjhES>ly1tKCdV}2KixZU z+ym!%{89|cLHksc)2ScJhBEo zJSP|9y(mU67&RNEwBC5z4d;ynSF{o7@CO;w;dEC<^CIXK zcs~yWua)K=`oGr3ATLS)E{GKZk{H0u&BoTE2?1%&2E)X|%FM&gstrP6hs0{x;D8i` zfc{qpqT+^R|388$Hzeo(gqD16NGxzNW>Zdf^UsT()5wgCp3Q`fncmpU+?1Zv+?1J% z%hZI8gT=UIg9ma99EyX3gPk2z#Ro|P&e5{O2dOj$VycIPY8h&W6a;{3Z6PsQe(pfd zga7mW3%upiMh5YZ8n1=O6*3ka^b-ld@!4|`319^S!S$cB4yYj6*_i&jvhVs#xP6{= zu>Pp=1T90V?C?{`zv2vzr9;}AGi@F)N)bb}y!TiDO|5*_^t%QYC-n41CRt25OtER> z_~ugZucd+a<7c{Uma-@9A#6F_Fqz#RdWb65=Ss!B zLv!i+wW#Tnh-;V6ML)U$PGrR^_q%`a+9)^gVn(gtD($YQ&z07okl^3DL&93#w~FZZ z--C6DGYn_?#&dA$0%j?YfW@WHGShvil(CxWz{nwF1+yx>?L?1#RbcDE!#-N$LRiZ; zi&>j}J+GJKo<{fPN0&B1pH-{2$&YbwO=-v-+yRZVAd_~PM=qy2v2b+Z@KZP85x7%A#ZFB16E(Cmd`@XIm7qv7y}c+s+d4LdlwS!Fo`&_#YI${O~g$6QPgUS z%7%+S$>A;~HQ`qLyMaz>1GcD3VwpdVAh1X}-M2*pXnVd(Xi`!Prpm*MUC)&xRK8V@ z=RsclsAOWXI3T7aY{=67+!sg@a&PkDmx|w}`bA?!^vgSjD*rwWnuLwJ^0%s=>p!br zOD@z*j=N37-#hB)jBt-i+Pe#SR>L+fuP-BEhe;w*4y#0cOL5J0fjT;W2w54b{GgZl zv$r?#@h~bVVng9eUTFWII4ciNJO0@^ZuCTFx_tBhUH z&1ixrZO2ua>TvH^tF`h~gtnonB^7_Md@p!|j6K2z27JiA+zW+=G{Ztplw&G{qI6id zeGeF?*h9N1-f_}P2XeM`vpZC&>8#fYu4>E;#H{2;7=aJfu+`01rx`0x%x&b?t>EF= z%x@5&sOk!m>zP{(>cZg$YHPnQWci@jM$ZS z1uWadejwT2i^QxkSe$l-Wn~X`zfSi=7=qW}edZbO0ZoRAz%SfCPXBl)$k0FA9H1jD~`Qh z(3P?mEoBE(A_tp=v7nI`on+vvzTCBon;H+h&~USI#CWn)zpmdk&#n^@WGTI%Z7Cst zoU|Hmw$UOL&1Ls@nhgydZYhR!Mtj<93j5DUP=hx`4!H2+8Ue!7Y&_WjXf9o#(<|aJ z6Z13!&6Zb$VuyNu#;*#B_1z7Eesw3nBwZHg zxbK>=*XCD-rGp%z_*BJ9(TwPVGwp1d`Vd9_794v~X(wVgof}(kF)RI!AEnK$<2PT! ziuVhK2dHo*_AXZJ_r{fnr^?bU-Pla?RUWPJz%adQFtZI=<-3|as|NFSG>J9qz?PC1 z3wk7KgHymR)V+(1(!K(oW{by2beHxyO!jVr29w$ZfyT-NGpp?64ye5h`VqEuhI9+?t^_fgh=A~kgQZJAP z@#0|C|LEA{d;Bhw^|-{3d^@zb@NY(jB)ZcaPP|xl^+WTmF9FdT9fc*Ngf>d@v+d?x z^gt0yAD)1z0iwB(q^Aog6w=u<-wb<1t!&8)snt1Ra^JIn*@67FoI$NGlsFcr$a;9#~7? zIFa4_&>aE8t(v}Kr+u1hpg9pka3!?03;_O0Lq48cSY#3OFEJf+vCiKq-Q3xU?$$Vo z~an{O-sr0=#aA82>t8z`sQwY9vK;uj z%UilMTl-951<$X_y1M=-AA4o*bi9zn?`|>&mX(cBAcjKIJwzqLi!9-r{0|60vv$ zx2>C@xjt^|LT=7jQ1Vlk2m76Qty^P)6AR0{^ZlbyJjUZ$+jMV1w6RE&2>>+3hldT2 zVznr?UX)}yLLrWS zRAy^QOJfQuRRXqC(99iNiUA9~2PSVnbKGZVC^EPH6}w{|SKC}*DvK4 z*NmhpEdAm5^jO1H>D0Ck)v|K_$`n4_tFkND!-HL?ikwB|khTN)eN}a(^K9S_`#2Lr z1)7se>c|ogwi!l$?^~x!Z56#w$A2cmA-HViKw$2#=|GW-pQfuRB?2*A(YIjLlo(9a zhJ0J$P8Kv*^ap0fXYZnQQJsEo9FG8WV)Hp^LKAkk47(v9+ul!Ks1x z4Z+S)6NDmd4!#xMkaYPc^Zc=^Vf{`{4UJY=Zyv6FCL1tj^!v$3yHs{yW5h8>GMATW z4Hug5&gKxz62`U`03cDl*qF{;-5Om8PR1Cr%-*VRw4Vn-i5qK}f2$;0)E^q`4)kWf zJWjoaz-&6@^Bw|mY2kVL*<;7?-tB!0_mlOCyJ$7$FWerncd2lVq?2{7q-YBEMCJ(E31 zB@WeY#;L;mkkAVtci6B4Ny}%zKiv4EM)xsUpDU<4q0dX($10G_>!>>0KM_Q*-P4`w zUzq6Xa@CND55;J2_!Jqg*AWAb6^I?3EL4>;HhYhqmVtxs`Dj4XOZrs-pA3)t&>7X+ zWGLs^fOG^h9HL}8B}T?RY`-<9orS~F9rk2qjPtnhA0}>Hx?r{YMh%Q@J^n}qW*7Uz zEQ=n?xzVYS@=bjuINz>dFvIzAjpGS>1CNpkJd{LOLrC%-orC-@(8vRPyOJ-3o-7$w zUkuDOT!4STqpT1u@r!Q!M{W2Ps|d!!JHD;W74-Elx!0w8`KYG_3+D^G%8Q_hSGUdq z$~UgjZKl!(dzhZ>mB5{GgR=6`rTGyJf)DLGyEn7HvHFzrGFl=NuM75Ox6G6HU8$%F zB^0Jb}Z0QX?|q& zrdWjKUvnpmnb~tu&(mX)j=8I?ETRY%WT4Nn-?)^JFrO-!Z=yehfM7XaMj1oKYFZpj z+jc9<)N)x)72;mSt#ILoA$>2FI~VlJ(!jhFsv{JivGAzc7lu@G+v}K2pX_INS#Ij# z8lm;*$HS0i-U1?txg=+F@6DV1ZRWlqj!_U?&=8OU zk?^72a>)S;O#s+H9U^8n?*EvWx!C@_|JRk7<6k}JKg`c6M9iGb|K9)m6lTtU zN3{71!}%AN`(HfnPdthL0RIcX{Vy>0zrdXT0&@Qg$o((C ze`u>!i1hyXC;nltW@ZCjvjg}*cI*Hc5I7~kAGE><5CHX10>VK?%m9ASB?kZ+6h#FH z0BJFN`c2V)`YBNZet!FCYOF9|FJtRfGUIKo=nZZ;){)01G6~2Y>@9^8qMenLqy^4ki``W{@`@ zfLw=#nd5&7B0VA&7S8`8{m1Da9V_eqkBA}v;^?#)Q_2OV+1v!QT&>@+* zx&L#9C6Jk!g_D~|K!E5!AGm)B;5}E)f584g7hia)I628#+fy)1oMIJ4N|YwCXbq0X z?L+v6X&m1VsVpWY{;fa+8eCZky;HqYQygjmLwQZqLqkuIDCuv- zNzN!)aO=h4-_>{Do^1Da1GO&i`)Y6Cr5Z9S4A@hzOgxdVv9k5wVT1S4Sbm4Cmcq{F z#*Yhf;0u<&VeaO}jScR64(jj@_}ipmuA1vcUfGA02@28Wnv1NUBHI~F~+Y@#!Fy9mt^{y(%X#6S(_HfqOelr6^1nS^M zl=^seG`l)=$w9hc4;R0+n)~IbIRJfRF{*13eU*6hj0# z0=a~1m)qC%25WPKt0W!-URtw5uY4lEO#1T;-*5zqNkBX#oeIUjK_1pEG?Bho`-a+` z@9G+QL^9$>U`;HJ$k(U+Nu^F8+O?_QDyj<;hn#-~7*HxCuQsca$Ri$l6e&MJFp2(vG6gobP|$GSmCCOgY;&-{`gR6og7D0 zO2Zd-LZ4v%L8N-nlFb?7LlPdDTS|V!BEBf z9GhDjj|_gnK}Exyw_8NJu3n8m-i2yzU9e7ND%Wqa-*msLQeWwL={xA4=_WN}wFT#nkBeI5I5#&n!J<7Cgx2^Q)#Bebe_okC6tdX9-n++li){WRlp%Wl zx$y$iwN6$g+*JkQkVcmMqXK_&&VB4Qhs(rz+8^3Lr#^&P8*>IEUKr0YW31I!W`1bK zqk2qy&D$s*ExM^HZSjC$9H@-uM!%IGkE1CKur6OQz%P$gYC!B_FJCN^KXF%6&E>dL zH>4KnvTL+$;4@#2@%CA`N!*X#hyT4;+5$7D)9Lopt)94%4P1%{I8<5lfxzfHPdq=svgyG7in5t_Olo#{F`!noAavt?q zxNzxda7yeSWw6DH#PHhI3Rm2GV4yo^{qFu}v8?kj?)DnUdv#`ylv~BaE6z9HfHuMZ zG|Kyu)zAe#0R=RF-TOU>1eql~-eC2F@7#R3oM-%l=%M_H-F-WK@;a*SU|jmm&+*`% zwPySF7xwx1Ztg&C+wJaU-5{92kni&~^_u|nRhaJ+pS$-_Sx|`}*ZW2pWRK$CtG+NG z|MSbJC?zs5%a%v$S6L3;)yCc<1z0DDpo6=4luhPLo9O+TH=r{v^BL)55Z|-K6`3%h zdCMcSu|dyW`nHvj=_P0QQuax_I&G}D-k2k1zQJZ0XJO#N(4($n*EDy=b4~eDaDoF;;}({n9pk>pL3qR5ZP~Eo9E$_);O~}2U#ncJh+s6P2i8-Cm!Y3% z$^;yik8$lr@hIi|y3|7Wu0Qo>c+S>)!5_)XRkkr)U%q6f|E@Djp=9>-nB}fqohM;K zrY4{D7{C+s5#uNGS1M{>*%|%-9S9TZcog%>gSq46@E8Qn1Tfj98VS2*0*BkCX~iiw z~Kcw#>A1nG7xtQQxo2!-+T#fb&J_Dl+qBH4{GvP#g&dH{zl;A zmgp0@K#*X+!PaG?a(5y_VaYKAPY6L@+BM(15COHtXpb=ehbU~Z!7K&0s-NyeowZ|Wl2_x5tY2_!s6z@0Pge0Xsw)najG`fME68gA_XjabJ`ses2xF}%#9fFOOh7_B z>@gG0kkFTROlKoZxiD-dw1a*w&u^)HB$^PkTRfVvUT*AbNG-kIOJKN5hWjtc%iIP$k>&o`@fjUVGl&D40Rt=z_pnm6>UkQ2?Bx$gQxqf2vS` zU*u5`J$_|7eoHeV9r#5N9_%L5_!Sbf75e3uuVE0qjDvUxS1aM|w1QM9{uK-#9Q75h zR3LORI=NaMmHH8K94({~5nn``Y>;rRY@5h2wAEB#f+u6N|2q@j19i~0j3_#v|C1&K7-C*$@Fo4<-kD{Mf251JxwdG3{ilzi>k%u6lZal3+ zyM;y-A}GY26@c@Ecd{j08usN04zrJQ3dW${ekAZP?{j5By9V!d^;IrpvzP5j$nX0G zu|vXT5@D*xnBth?NXMSJR~Dao4wYg&{GPOPo-UbU>M-rLOz>OvTiy?q4}AeLpdh87 zqWkZXz1bV_HZ}LL%`w5z%~8Rz!+pX%_$fGrukeBiSYPG88xyM=Qz#Een35zAkl}R) zU2a1^p)&juw$RVQMQ%{u17{M^5KbEv7eIMmv z@vo$W93`qprA=Cu#yOZH-czU#Kp^)>Ffv8+N<1U!A6+*EEX!4sJ;o>O0rgoTZHbTf z1Xwa`$+7qR5~Z6H=x)G9hkj%QHOVn}h3_SVjbe>Yn2eH=^5D~Tk?}Kj z5#cB3C+Mf>ry|KR%1G8dcdP`dOX9O~(1C=S5DVk&yFh>G4 znQl$sZjA-#{O=7v#s@mn8R3oc=%Pa!U@%9$>-A@_kI^uLFr?9=QoB>Tjq2zWykiDs zhYL9iIqN2Tba*DdY8s@5&&$HRN8}`l9BYwB`zZ+KZAu#@g3uYnr4kzDPpG|Sfl^&Z z)T464(uwHg;wI#;K#LdB_jo_?o;+X*(sYkh7deIvSyU-TgCTXk)uI#JL{PW%849)SE zV+n7G_6R@e9>dcm?&h5Jfscu9V}pjwWzI9gGo9uP-{EcxpkS@eQrsD(drpDTe@mDKu=>b1sLSJ)U`-@sGbpE!|g! z(wiWu|1odi)WtE0QZ%oGx-@)`RGIyQR}#HR2V#r^>4YD2l7fH%(YRS2Qcubv2%= zS`avx05^Cd)4gbiPs7O_#o&>)o4`40nJTrq-FZ9-!>*I}kA!x~g*yh=6&vZ#csTLn zKFcGl5cOY~a23P;6c1~`Ub3DWp$%eDaCMaTChypWl^+m-}00vRF!lC`DqAmx2Ft|5I>_TE<7Yw=Za_3R2wDDN?`#>iAp(_Zp{8X zVA|UZWPs8HGt!9Cf#dgN9=60i$0ar@s%lrRME22G3;dYD)OB^Fu_v#b2Ilj zeX_X?Mv>O2wm&|qn%eCo-tQ7p!{3gU;GJsWRbaN{HvI8&Kb0aPaj1sfnh4U#tyLq+ z?}duUZ2}(NMhEFDNq$dD-qtkID=Y+_JtsxpM%^hiK)s5J0c*RUAXrP#TL53otqa*i zKY35O@VclA26Hzdu8I>J8-vkxlz?k}DPc3_YOb{7S52>U_51)*S(0|S~>r8fWfPR&nv6Hax zF|rZFKEqL1BnT_pxWzKMBJ>@0Y^n*SRYxX_%qHlJ8kID$saG%z7@4CNdt_xv4il%Q zI;Ts3s?=eUk>PCD_Wu!fPQif%?be=&or!JRwvCBxPHblVDQ*n8IO9D+c`oj7%vp)ru-NKj3t?wSMF=MHJP5R182e zvtEuDj25A$mql3!r-|_7l~Qr@MXoUGESIVE21vgY>=c(!mmU;bWXzAn_JCGk3|gnB z7>@POWvzI0C0!X5n-iyLDjCiJ1>>_YxJ9XjW`Q#9Ij6kEsG5COc4I;;tM);-S%vM) z1JsgL;bPXFlBSqq)A-CU8Q##U1;d45XtG-!f{2CZR=EstPRGIndR&v!K{jAzmd#$0 zx5&F(jXIr_O*>FcFfEL&MQkZL8F^9Nq?0Wi+^UnwhA?uW1B;kbok%`qHj+wiux85*xl(e&IFC%IC$%LO)2MXd<|Z()Ex_P$8pDFOHCF4K+|(D;X3)B2AdoaGwz zuozn4@hW~e(%Lo=)jz?teUId0f`C0qix76G?HX4)c!Fo0@RbrxUp3;d=`DwlaK*-@IO^c|gL0P> zm-3Jkw`A+9P`ynFRmh%prmcH0g3G}5am$dr9W0`@!bP0E25A&eJBoBC?kTH&w_-9l zp$3@f+ikv6EgKZ0Whgue(}hIj_=nw(3nMJU$N31N1PBqZ01QGqcb z?Tk>AeI|lqU||SPuiT~Q4D!*Kb4)(Nl2BA9h&eVCjY|y4-`TGo&>g+wBDZ`C=)3f< z^{PdoC|{OI)*rTC?^laMa`jd`6t`o!BsOA6r2*=NXQQ(tJL+}64%h!`ZG1;g zF^J+UEx5(lQUTE#2@wrp1t&mG{l1L(WpT;a57k4zK@To%2$45cv^%~&;lw%nj%iG8 z27>^T;6oB8Oe>VMOemws77$KY(d90`alOj{o6srXT>A16zc_MN1+PgpLD zDnkG*-l!(#!!iI8J|enqrQin`QWOe2a{{invFrU^`K5kRDpQR?`fa@vSVgDX=zKlV zSSMX2kK*DbOgWp=?vm3!3JPqaZDl1wWD3A(=yKi}fm860$z#l%jGSAd5uszW(|f$+ zx&xx#H}J$_w<~*6NE4(7#NoKnbrCCfe!$Z{1{=i$x^Y=mv-+=iASBUP*wd6zs2F*y zTuqUfWb8ymKKMkg-gJb}_R*T%#SaQm03T7ODfhKE?hg5BS7sBQJ_6=ut<^5D4Rg2m z9wxllf86Xne$b$EWH-LsUiJV@B+2JjtMyjzkUs5M8uoItPf|{K=^TGKb(A&KbQ|1y z^WCELW?D~X^0nnJ&QCGcyc|AI*LoRoO|$+6=0%q=x^;yrk)w#LStR6=6HJ&v^>W}Q z{1_lBFP!6iGzXP(fW}6`70ppMiNXH+;!edJPZ$H{3C*-C$IdJ`JCF~+z;MJN><~jL zqDG11PDptK7VtYwgc(Qk?k_())Jj>E2Peug=x~^ex;Wo*lhxn196WBWpS`_2?NqQ3 zysY=~ERB0#Wm>UU?E1Pxjb4kxyf_EIm?He0qH*ezfgqZ9&8mbS{Qoyr&KVk82{>;4r;CjjTdt!?g$SHx0FX?9MOBT2$k! zvbhb%AP|gj)h){e)auRcow43pDYKPxViY6CT9E@O$?Viz`=sxgdgmsXo!e~7;a&2Y#1rEhmn3_1X8S2jS(|Q!&=CnT%Sd}nH3h| zDOnLfVJv%%FDF+m8I;VDY z#0mxLh7V6-&H*1%t)H|~kiN5CgQ6%QrzkejHIET+u-CUgF-2o3zplgC_~FmP3}tE@ z0-_V9H;@2JP|{J-C13R?Uqp&Aw@tLReSaQ;h-e*e$Jb7ip-2T4^-U|ebqDL5+t)z{ z4poFqj`G%)yeVgMy?-B;tJ%8Ehx6s?1YXx4sfEhy`cJdZ6CBRtcdz=HUWbFP8IyD^ zG_cJCvf={6A_7Oy*T+7LNir#H-+na%*jc{{B4dCj`|_+qo$pdTemHsNx)+EkkG8zi z&Bt!#93HQgT=uXpZA%xbuM35cj0oqPo_5Nzlhup3FZJrt!@dVYSzZPA=ocs^7OP^% ztd*Of#)9H6lmxUXPzj|d@ zKokLn{Fu`OZV^&7Qop9V>wjpciS@1rM9JXfg(QmUGF;5B;MTspTGXEA`gL4BB*l9& zKNM)LO%hN@Kag^p7@u};Q@PoSZAN}sWPT7oMI4~1H+d^jGe7fU?V8o6vS8ts)LEST z7VEW{nrknh)Mz91V03rb%{E`W_wMmv4f6&*e{LFkWoGey+?~X!&bGi~*m_+;{d2(n z=fH47aRS4DWz6NE8Fy(q!f0e~Pk0--$4&~$c#UG)ppD2ew_K$Skisf(Zmwy1Ye09n zbF5ru{8=2;JjW&bSb>(Zdi}{Abr;~_^Id#}xZn>KuawFyDbjr3>R5pwBQ&}ch|49A z6fs1v@>x7-#<1y@$siVQ*A?fDr{1-?8t(o$j!){-aNT?VU719}#0KrO!6)FxxKp*f=XGEJ;wvs#z6oWq}U|mAnx(kA&nvQHam^@XGuZK zcf&P+gg3*TR1QUc{8Z{<4nNX39k(2~Eqax0{X7}9?@D*2kAH6uRTxMK40#$hhqOR z%E1z;P#05Gqz+0x$Fq}jRj0)+_rDh7eUn}67wNjnE6r7{t>eeL5R{!%-zdGcKuR@X`$m;#rpG)G4ff zik6!n`IJ|Cp0)VQOWL-R=E$D|M0smh-`mN&gT>9+PDJFYigeqo&UYZvirsFn;rnO} z>ONHOzZ{cnfn&-)V>T|I;)8qxIrVjzc#4VuJKgwyae|i;)NSnVbeG;PtZ=06C@e+NINt8~&Utow znsC@FbYI@m#U`_-0Yo70lmEBlo!^?XKHTt@nAmyA7;-;i#~-Qg=9X}&?Pj-gs0rR0vvrfz@l{t}BmoTFhr2v9k12HELF?4=XBTTuHi9tzSxgc? zBS`sQ$q4s2J*g|lKZo1kp7^dy)dyMIxhZbv{gq4Ao*QUGt4{!DmPctgc)gRTySwNo zlrK3#&R$<|)FA!}@5@8j@j{)g4y#Mwg=O2)>LP#V+edBT1`JI0<6)|HR_LUMul(jt z#`bQW=RdW{at$6fe&fr#mH0nVH8)OrSJh247b&UZ9s>VdV^xP&yWv>w^C%z?EmhJO z!gmQbxAOk_VUYuT)oC@jNhQv^`-6DLhCAPomIIbr_&4+n$j$Qo_8`fS0z@D}`btCk ziBUN))>LD(a0uv5t9bb6u>ae7E}` z?wghS%`_HWqZVqBp@M(=7zR>cuip^G>2c(}%cPu9FOUEcdcOTABDLj$LxjlK$hfFm z!CWL6fo%bj*f(VuZ2?>%;M^^TMH4;c*)4@b5maN^v@+RT4Sk>Tx9f5(EXN;nG)c@>x@9Q#0M&4vBZt2&>;3j$r3`3KQb`DObF(bWAm9sxA&^9)$|sb zs52gipbIP`RMvG_i(vcyNVmP;P6Zn%;6@WJz-ng~#TcxscSyniA?p0wJtfQ6FOYXW zdYtR*?0y*P5HgzhSd2CQ-s5-?cGXh%^gLygUle~+;-zz%hi_C{DB8t|s%7%HN65(T z$Qj)5t3o>V?t+g!z z53O8%QMZDGz75hwV5s`@wUg}}iu5E4k^#}>b+_-KRdx*w3|BRDH8>36wuIcX#(8;p zo)Y&_q3n+*BV&9Q3xgDl!yMdFX97Nm2#gQ8oV-EHjPu*)-Z=fnnp@6;C|VsI2d`<6 zWzhXiJto4tnUg2y3!4kp#WnF=48*G!WGIa>kQs$F6IP1(jFkaj{nVBkv!gRah3Li{q)9Pi#};Q`sY3dGrhkX@zJv(AOI* z#C!>thABN#6Xb922}lhA);rqGRv4N!R>|IZ_h53r_=rA;zngcCH_iUVC+P$g`}~T^ z3&z!?%90@X=g_G@6WhgvH`HDd(gny*KjIyI?gZfpYz}!SeTcuH;2vMuc|-9;;m_Su zUl#8COXBf?ew0j>r1ScHlH0IUhmn>lkR%_1N=)kOKKhL z`E!P3{YO9vr1loHM)LF!s06-htGqwuMZoy+z=gerj=ut>$Y)HR7DTDQ3%UOE_L^f#I13I^TJZ8d9_QuoBV)mKTCQsf%ecrxB~wwD3(k*95l`yTIHO@!+{!^O zfp!RCw2jw3LQFUoLO^qvU14~r1wX0|`?{=`eMt{*R5hU9nNK&IMVU~}f<|+gUqcY~ ziXUoe+rCmezP$nS@*R#-p&Jw_zNz+#A5q;BHG_ON3~#l;y{UCy_JYuyS*<-kHeS47 zGeiRyK-zEucTQ~P2=l7RapdA&f1YBvuK1P9^1)%&H$A2_1K|AXKN7wxKrK)Vo-Nq1 z;1Q#*q8Rw(3Q}o`hiuzGUSK^4I|*8)h5XT{ad17^vq z^A}pmO8jcwv+vyp>8?_RobR2YzN(j|AF zVZz~kXd4qbxAiK3xl|In(jaJ7oZ z&dsK-;W@xj@)WOwaX3s^HMNfZgGYitMXb}v4H(j_|Jwgu4AWyC*|S-V;LwapwHWF? zV~a7hK5nd^pR1}s*X%0jlkC;7`xl}H@*cZ~E&)LJ}lCC4d1--e@?gu`Hz9It} z>gj-co40`Z1ggjf?=X5k3KOy1pq4S~;FL8|L->`RUqvV;LG~OuIKqClZOKl@lkrLbxE?JR(Z`pD`HU zWEURSDAE-eM>f}QWqOn)q~dW)Gh&HdQ6T(LzQ_Fg4qE8F1Z=8{Ed>;oqrFZtnYMkm zx;&G~!gaH65jM%1ct)3ldrQGh&jYH+W039pH7*~Lx+~O63n#axiWG{2SyD{Bqy@w3 zG*+@}hDC!+p*FR$WM9KC47L%AKyg^#)ul9xtKRd2yn|AnN)P^vUdIuRf6eAF6M!5l z-8yz^9-HQJSoA-5ZFCqe?kdm3tA1;LHZ4h=y@wdw?T+0baNUj4DyEqL6dyiYZ3R6Y zy$aVl31{lcYpOqmJWeGr718M2+ump`>aLnKET-xOmZ+FjY7dZ;`L! zu{qnfc3iL@I*Dq=DidXx3}_COYJg}?%LUW|AH(NJqT(T@w&{Fo>-fI7kDi^P+fR!r z>|5@IYG}-#PHU`xdmX!c$rkkB-Sm~O@!$7;`qMa%d+RO`oO?FE!F2iR7JkU;-d8RB z)LoMK)pW1)sPu`QIJd8EfBxrl54%hkG+7*EO1g9#sOUZUmzCjI*tSuIHU*688`wnE ziC$@w<$Wv8oE1`DpV;Tt+&Soa*HPS!vdDN8CpkIh`-;UZM#E=+yyMnA@vI4}tP0vW zPdM~w6Sf~c-`5nl`J6*dF8Y@b;W99-w9S_|*cKZ_QH2|=vD_h>#Z;LW5PY0?E-)oD z#l2Y2AT|BIWUt(&#FeXA*+V1ryaIf!cnVU8d8#Y zftBUDUbIVcYTp+5rO?p{So*T5Rz7@v);L? z!&5r%PV)CKA6&PSqm*OAGzkWGAx4I6qr;_==K~Ne8J+I_ z=EXWfhV84-MNrS;UO>i>@B3|;XX@=Q^^I*UBK6_o?4CjBGvav?0j?;A$Ds27)W5{wN26dq@- z$_8L$q?M=D^K5jmU5$Q{EApawoyo~dE%JP!#C+ZIF{B|Y5%9wgass!tp=f{5o6-l7 z=4l69P1`Pfm22F}Jard>@!K$30euJ64zxV}C97@-H`TnuXl^&tTFD4C&kQwmDBDx+ z%vaePNUTiDhOYD_b*m%c^mWscNs2zt*vorWbm%Y1kgUoshu%9!0(NudoTa-^ z@!b5>N;laUFm<;R>bK7~ z`BCj!YA`yDSA&5gd(iN0aktD`#VuKoEtotgwMR?>s`c_MT3CI5hHJu(?xr|#Z-u84 zb7?@;U;Lp3zuTR`k8r}#5Uu-!>Ot3Py~MD^hc(=>4bUlxsmXxY;a!1j1kwh#kY%~? zo;Dyu$>=NdYhI!Qgjm%P6A#okqbe_{c^#--{h$Rl4TFmfio>%BsR|=#Feaw&0?zb4 zQ!u8tcoHoLAW6lE)O(pQ*wDGo*Ey*D zg#}da-MCv6cf1o>O?Qi3OcfyLe6?tSfL{>5nzfF zBv&Q^x(@BAXLik{r@duNR&W|?N{|amE6HgZxgM-Su#-cc*Z6V2Z-=CrmZ!O#=g z?}yA5Lth}+2eXCLmK`5>&n9+pLbraD2lU%MJ<5k8$M>)5dD&HNhqUFpg3LgU7Mvb& z`Y{=Qi)y#tX%{4dM6 z>;I6hurMZH&wnxZf}r5c|JM!^I{jLVwggj2zU%`d{l7Xue}M%hL-2wjerHUE;ssOq z52`P(`u}J1+1MHXhrIvd@W0eA|4rrpH;2#0^}j^F?icv~rOpWX+V2}yU($(x3t+fl zT%2Ek{{M4Q`vUPbR3sWdOZW9$3pLRK*Dlb1SSYUOpv0Q}bPy6OjD(@f$svYn9xPdj zT%l+S{aF_|V$zZ#Rwu7F-f2$G#FQpF(P`B2>|)0OPnY$*1a4 zc9OBl<#IA_1NY+_R1kbOA)qxd{Ws#M*+=6R+1Kh9kiJHj3>UrvDv0~d@Yi{m>-hrH zqMDyCmj*^_j;W#YMkUVex0gfX*RUWNHHN2~>I9uYE1MktcD!!PcNm0#Nt<&<@ugkUcADv1AwhSkoPH;U0gNirun0ei3ew>EG0d2 zioGU$Mb(<8E#UYJ>4DNKtE0E`&|z&-!il2lprJi-v)gX>@mk_buFLg-{8?=D6FDI@ zOr}(gUXlGC2jj!(siyxHnLy@^{yJN$Iw=o+N!%j8!Qr21g-ZFNR{g?1?sKJc`t$GS zM1WPqf|*>Se3P0sL%nUyMfHa9x{c3p>(EQ(J{FiuFRH_^M`O zxV8F9WyAU}ukOaxhlq2RRr5x>vo(Ap#3t?YN79*sn1ULqxws_K3WZi`ORL%IJuxa4 z<)mVr#9BI2uh9-F#6sSz8kdwtp z@PH~+Dm4|-j^91|@acNDmpCLJqR)WUS_HR=DC#jTIy4wT5SJi#YC8F76;6Y3hf`z6 zoqjchQ*X4=tf`tu6LRMX)9bqf82%LGEmM2U)M3S&qc2NWyuf(&*3=EgbGdXgGEfXB zfoo1MhXUKv2y`$1Sdb8!yD&*@I0(i zl^8CN#7Qr$K5HzCYZJ2D7|_}ui~ITAN7FOJw)6tv=Xc~#(Swe7OSN8!B9Y!jDhtTV_?*2fs68z(^nv8{QCo8!(m1!BNBqV%SlEZa&3CT43$(W|%;Ft4O#N=0 zC*n^3?5V2V^cf1f{ifUO=bDR@o6F~D_eaT>lsNJ%=``l?)k+hpd;l#$ru1e(WycN4 zcZz-NkcKk(CIh>SnE2$IOLbU{)&T!6F5g2OonMike@}34!;{o!Zm9F{8FSi9zE24e zWcx{g>M@t9zm;KS3Y$+ezu}_!n)FFVRP5%U7Imvo25Z`L)A|KfgQevpHck__%5nv?Cb$`b zXMmgcf!ibLfG+h$+M}#}ck9)yM!5(G-qLi(*Yi`~f_KN^_e0!fdBW|?l}R+MPxTch zD408%yHkCkeHXM;Rik=MM7zr5PIa9XprT29Ok|@?L02rURR=Q5Xp09%`ML2s)r+T@ zoWby9XoOU0{6rWpM1+2TY%@X`84~vUgZ>euE)XKkfRO)>z5ofvo`uT)R|=?;AwF%; z$dwx>s9NtY4MZygyo<5J9yEI<9hl@Ex@!2wzKLoi*FNJbMqUtwzWh7bdes{=+ zK8!0|@1WOdEua-rO^7f9`h5$xK`HY)Iw!$PUrV#TF4RmlH1d{$J(&*pwLKSU?*ijD z`k&@yb=@#aJqFF+&#E;mlyqa@wCx2}zhl|ctU)x1kiTKg8kV;z+9;Zr7mJ|3iP`+d zZN|9~4AyCuuu;M2fja6Q_7R8(f;5EV&0+5=t%h|Qq5!tKwxlS3clDCGLlpIdGvev} zVIF6v-coJA=5v5(M@YO%Yt_&Np~SV*6Q<%gQN7QA#A*jdc7HXz1dW#j7+c6`6-) zQ*|jx{ng5i%H1Opx0OvAOZp>HBQ&xa z%>afmy^63cIm$4d3Gu~2{IE?y!kRpJyg)pa31q7D1>xLq<{f<+MEJI{gGLw@pX`SGzcdxyVmF2@YcF>vq9(h+5=x=3w4i@erHKBL5)I$5YtD~K*r zyhE=hXJtX}GWT5ndvTVV-4EWx!5K|=VrPXgNicbue0(@77wGfeF@14+f$$0HlzN

2pTKtH>(LDvDCRUAX@Boi8yB7D!$x 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 From 7d87ae894934f0d56f201c1804a1c0d685425b6e Mon Sep 17 00:00:00 2001 From: Erik-Jan van Kesteren Date: Fri, 16 Aug 2024 10:39:35 +0200 Subject: [PATCH 3/3] Further shorten paper --- docs/paper/paper.md | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/docs/paper/paper.md b/docs/paper/paper.md index a8956c57..2cd0758e 100644 --- a/docs/paper/paper.md +++ b/docs/paper/paper.md @@ -29,7 +29,7 @@ bibliography: paper.bib --- # Summary -Synthetic data is a promising tool for improving the accessibility of datasets that are otherwise too sensitive to be shared publicly. To this end, we introduce `metasyn`, a Python package for generating synthetic data from tabular datasets. Unlike existing synthetic data generation software, `metasyn` is built on a simple generative model that removes multivariate information from the synthetic data. This choice enables transparency and auditability, keeps information leakage to a minimum, and enables privacy guarantees through a plug-in system. While the analytical validity of the generated data is thus intentionally limited, its potential uses are broad, including exploratory analyses, code development and testing, and external communication and teaching [@vankesteren2024democratize]. +Synthetic data is a promising tool for improving the accessibility of datasets which are too sensitive to be shared publicly. To this end, we introduce `metasyn`, a Python package for generating synthetic data from tabular datasets. Unlike existing synthetic data generation software, `metasyn` is built on a simple generative model that omits multivariate information. This choice enables transparency and auditability, keeps information leakage to a minimum, and enables privacy guarantees through a plug-in system. While the analytical validity of the generated data is thus intentionally limited, its potential uses are broad, including exploratory analyses, code development and testing, and external communication and teaching [@vankesteren2024democratize]. ![Logo of the `metasyn` project.](img/logo.svg) @@ -45,20 +45,18 @@ These choices enable the software to generate synthetic data with __privacy and At its core, `metasyn` has three main functions: -1. __Estimation__: Fit a generative model to a properly formatted tabular dataset, optionally with additional privacy guarantees. +1. __Estimation__: Fit a generative model to a properly formatted tabular dataset, optionally with privacy guarantees. 2. __(De)serialization__: Create an intermediate representation of the fitted model for auditing, editing, and exporting. -3. __Generation__: Generate new synthetic datasets based on a fitted model. +3. __Generation__: Synthesize new datasets based on a fitted model. ## Estimation -The generative model for multivariate datasets in `metasyn` makes the assumption of marginal independence: each column is considered separately, just as is done in e.g., naïve Bayes classifiers [@hastie2009elements]. Formally, this leads to the following generative model for the $K$-variate data $\mathbf{x}$: +The generative model in `metasyn` makes the assumption of marginal independence: each column is considered separately, similar to naïve Bayes classifiers [@hastie2009elements]. Some key advantages of this naïve approach are transparency and explainability, flexibility in handling mixed data types, and computational scalability to high-dimensional datasets. Formally, the generative model for $K$-variate data $\mathbf{x}$ is: \begin{equation} \label{eq:model} p(\mathbf{x}) = \prod_{k = 1}^K p(x_k) \end{equation} -There are many advantages to this naïve approach when compared to more advanced generative models: it is transparent and explainable, it is able to flexibly handle data of mixed types, and it is computationally scalable to high-dimensional datasets. - -Model estimation starts with an appropriately pre-processed data frame, meaning it is tidy [@wickham2014tidy], each column has the correct data type, and missing data are represented by a missing value. Internally, our software uses the `polars` data frame library [@vink2024polars], as it is performant, has consistent data types, and natively supports missing data (i.e., `null` values). A simple example source table could look like this (note that categorical data has the appropriate `cat` data type, not `str`): +Model estimation starts with an appropriately pre-processed data frame, meaning it is tidy [@wickham2014tidy], each column has the correct data type, and missing data are represented by a missing value. Internally, our software uses the `polars` data frame library [@vink2024polars], as it is performant, has consistent data types, and natively supports missing data (i.e., `null` values). An example source table is printed below (NB: categorical data are appropriately encoded as `cat`, not `str`): ``` ┌─────┬────────┬─────┬────────┬──────────┐ @@ -86,7 +84,7 @@ Table: \label{tbl:dist} Candidate distributions associated with data types in th | String | Regex, Categorical, Faker, FreeText, Constant | | Date/time | Uniform, Constant | -From this table, the string distributions deserve special attention as they are not commonly encountered as probability distributions. The regex (regular expression) distribution uses the package [`regexmodel`](https://pypi.org/project/regexmodel/) to automatically detect structure such as room numbers (A108, C122, B109), e-mail addresses, or websites. The FreeText distribution detects the language (using [lingua](https://pypi.org/project/lingua-language-detector/)) and randomly picks words from that language. The [Faker](https://pypi.org/project/Faker/) distribution can generate specific data types such as localized names and addresses pre-specified by the user. +From this table, the string distributions deserve special attention as they are not common probability distributions. The regex (regular expression) distribution uses the package [`regexmodel`](https://pypi.org/project/regexmodel/) to automatically detect structure such as room numbers (A108, C122, B109), e-mail addresses, or websites. The FreeText distribution detects the language (using [lingua](https://pypi.org/project/lingua-language-detector/)) and randomly picks words from that language. The [Faker](https://pypi.org/project/Faker/) distribution can generate specific data types such as localized names and addresses pre-specified by the user. Generative model estimation with `metasyn` can be performed as follows: @@ -96,7 +94,7 @@ mf = MetaFrame.fit_dataframe(df) ``` ## Serialization and deserialization -After a fitted model object is created, `metasyn` allows it to be transparently stored in a human- and machine-readable `.json` file. This file can be considered as metadata: it contains dataset-level descriptive information as well as the following variable-level information: +After fitting a model, `metasyn` can transparently store it in a human- and machine-readable `.json` metadata file. This file contains dataset-level descriptive information as well as the following variable-level information: ```json { @@ -128,13 +126,13 @@ mf_new = MetaFrame.from_json("fruits.json") ## Data generation -For each variable in a fitted or deserialized model object, `metasyn` can randomly sample synthetic datapoints. Data generation (or synthetization) in `metasyn` can be performed as follows: +For each variable in a `MetaFrame` object, `metasyn` can randomly sample synthetic datapoints. Data generation (or synthetization) in `metasyn` can be performed as follows: ```python df_syn = mf.synthesize(3) ``` -This may result in the following `polars` data frame[^1]. Note that missing values in the `optional` column are appropriately reproduced as well. +This may result in the following data frame. Note that missing values in the `optional` column are appropriately reproduced as well. ``` ┌─────┬────────┬─────┬────────┬──────────┐ @@ -148,10 +146,8 @@ This may result in the following `polars` data frame[^1]. Note that missing valu └─────┴────────┴─────┴────────┴──────────┘ ``` -[^1]: This `polars` dataframe can be easily converted to a `pandas` dataframe using `df_syn.to_pandas()` - # Plug-ins and automatic privacy -In addition to its core features, the `metasyn` package allows for plug-ins: packages that alter the distribution fitting behaviour. Through this system, privacy guarantees can be built into `metasyn` ([privacy plug-in template](https://github.com/sodascience/metasyn-privacy-template)) and additional distributions can be supported ([distribution plug-in template](https://github.com/sodascience/metasyn-distribution-template)). The [`metasyn-disclosure-control`](https://github.com/sodascience/metasyn-disclosure-control) plug-in implements output guidelines from Eurostat [@bond2015guidelines] by including micro-aggregation. In this way, information transfer from the sensitive real data to the synthetic public data can be further limited. Disclosure control is done as follows: +The `metasyn` package also allows for plug-ins: packages that alter the distribution fitting behaviour. Through this system, privacy guarantees can be built into `metasyn` ([privacy plug-in template](https://github.com/sodascience/metasyn-privacy-template)) and additional distributions can be supported ([distribution plug-in template](https://github.com/sodascience/metasyn-distribution-template)). The [`metasyn-disclosure-control`](https://github.com/sodascience/metasyn-disclosure-control) plug-in implements output guidelines from Eurostat [@bond2015guidelines] by including micro-aggregation. In this way, information transfer from the sensitive real data to the synthetic public data can be further limited. Disclosure control is performed as follows: ```python from metasyn import MetaFrame