Skip to main content

No project description provided

Project description

Data generator for synthetic data including artificial classes, intraclass correlations, pseudo-classes and random data

Table of Contents

Purpose

In order to develop new methods or to compare existing methods for feature selection, reference data with known dependencies and importance of the individual features are needed. This data generator can be used to simulate biological data for example artificial high throughput data including artificial biomarkers. Since commonly not all true biomarkers and internal dependencies of high-dimensional biological datasets are known with certainty, artificial data enables to know the expected outcome in advance. In synthetic data, the feature importances and the distribution of each class are known. Irrelevant features can be purely random or belong to a pseudo-class. Such data can be used, for example, to make random effects observable.

Data structure

Different parts of the data set

The synthetic-data-generator produces data sets consisting of up to three parts:

  1. Relevant features belonging to an artificial class (for example artificial biomarkers)
  2. [optional] Pseudo-classes (for example a patient's height or gender, which have no association with a particular disease)
  3. [optional] Random data representing the features (for example biomarker candidates) that are not associated with any class

The number of artificial classes is not limited. Each class is generated individually and then combined with the others. In order to simulate artificial biomarkers in total, all individual classes have the same number of features in total.

This is an example of simulated binary biological data including artificial biomarkers:

Different blocks of the artificial data.

Data distribution and effect sizes

For each class, either the normal distribution or the log normal distribution can be selected. The different classes can be shifted to regulate the effect sizes and to influence the difficulty of data analysis.

The normally distributed data could, for example, represent the range of values of healthy individuals. In the case of a disease, biological systems are in some way out of balance. Extreme changes in values as well as outliers can then be observed (Concordet et al., 2009). Therefore, the values of a diseased individual could be simulated with a lognormal distribution.

Example of log-normal and normal distributed classes:

Different distributions of the classes.

Correlations

Intra-class correlation can be generated for each artificial class. Any number of groups containing correlated features can be combined with any given number of uncorrelated features.

However, a high correlation within a group does not necessarily lead to a high correlation to other groups or features of the same class. An example of a class with three highly correlated groups but without high correlations between all groups:

Different distributions of the classes.

It is probably likely that biomarkers of healthy individuals usually have a relatively low correlation. On average, their values are within a usual "normal" range. In this case, one biomarker tends to be in the upper normal range and another biomarker in the lower normal range. However, individually it can also be exactly the opposite, so that the correlation between healthy individuals would be rather low. Therefore, the values of healthy people could be simulated without any special artificially generated correlations.

In the case of a disease, however, a biological system is brought out of balance in a certain way and must react to it. For example, this reaction can then happen in a coordinated manner involving several biomarkers, or corresponding cascades (e.g. pathways) can be activated or blocked. This can result in a rather stronger correlation of biomarkers in patients suffering from a disease. To simulate these intra-class correlations, a class is divided into a given number of groups with high internal correlation (the respective strength can be defined).

Pseudo-classes

One option for an element of the generated data set is a pseudo-class. For example, this could be a patient's height or gender, which are not related to a specific disease.

The generated pseudo-class contains the same number of classes with identical distributions as the artificial biomarkers. But after the generation of the individual classes, all samples (rows) are randomly shuffled. Finally, combining the shuffled data with the original, unshuffled class labels, the pseudo-class no longer has a valid association with any class label. Consequently, no element of the pseudo-class should be recognized as relevant by a feature selection algorithm.

Random Features

The artificial biomarkers and, if applicable, the optional pseudo-classes can be combined with any number of random features. Varying the number of random features can be used, for example, to analyze random effects that occur in small sample sizes with a very large number of features.

Installation

Will be described later.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

artificial_data_generator-0.0.1rc2.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file artificial_data_generator-0.0.1rc2.tar.gz.

File metadata

  • Download URL: artificial_data_generator-0.0.1rc2.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2

File hashes

Hashes for artificial_data_generator-0.0.1rc2.tar.gz
Algorithm Hash digest
SHA256 8e29c2f8bdf259ab831e5eeb3a1ff153b33d387720cf0131fcae661ec489085b
MD5 2f20413c2b1c857f5e5917215d142e29
BLAKE2b-256 9022b6b5948178bf58ee44e4fc9c09dc6551f220c62d605902eabe79a2789a80

See more details on using hashes here.

File details

Details for the file artificial_data_generator-0.0.1rc2-py3-none-any.whl.

File metadata

  • Download URL: artificial_data_generator-0.0.1rc2-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2

File hashes

Hashes for artificial_data_generator-0.0.1rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 61a426fc4c155b0d260c534cd4179d0e99cce4702b826ce5fb344b3cfda04d2e
MD5 92e5d65084619dd8e08f20c0b5e68144
BLAKE2b-256 9b58cc27f14658a13364829b4f433bfdb3ff4dfdc1bf19251f7ef10f61371305

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page