In [1]:
%matplotlib inline
import matplotlib.pyplot as plt

import seaborn as sns
sns.set()

plt.rcParams["figure.figsize"] = 9, 4.51

import expectexception

from tutorial import *

Tutorial

Introduction

A time series is a sequence of observations, or data points, that is arranged based on the times of their occurrence. The hourly measurement of wind speeds in meteorology, the minute by minute recording of electrical activity along the scalp in electroencephalography, and the weekly changes of stock prices in finances are just some examples of time series, among many others. Some of the following properties may be observed in time series data [gutsequential]:

  • the data is not generated independently
  • their dispersion varies in time
  • they are often governed by a trend and/or have cyclic components

The study and analysis of time series can have multiple ends: to gain a better understanding of the mechanism generating the data, to predict future outcomes and behaviors, to classify and characterize events, or more.


In [2]:
ts_anim()


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~/proyectos/feets/lib/python3.6/site-packages/IPython/core/formatters.py in __call__(self, obj)
    343             method = get_real_method(obj, self.print_method)
    344             if method is not None:
--> 345                 return method()
    346             return None
    347         else:

~/proyectos/feets/src/doc/source/JSAnimation/IPython_display.py in anim_to_html(anim, fps, embed_frames, default_mode)
     74             anim.save(f.name,  writer=HTMLWriter(fps=fps,
     75                                                  embed_frames=embed_frames,
---> 76                                                  default_mode=default_mode))
     77             html = open(f.name).read()
     78 

~/proyectos/feets/lib/python3.6/site-packages/matplotlib/animation.py in save(self, filename, writer, fps, dpi, codec, bitrate, extra_args, metadata, extra_anim, savefig_kwargs, progress_callback)
   1154                             progress_callback(frame_number, total_frames)
   1155                             frame_number += 1
-> 1156                     writer.grab_frame(**savefig_kwargs)
   1157 
   1158         # Reconnect signal for first draw if necessary

/usr/lib/python3.6/contextlib.py in __exit__(self, type, value, traceback)
     86         if type is None:
     87             try:
---> 88                 next(self.gen)
     89             except StopIteration:
     90                 return False

~/proyectos/feets/lib/python3.6/site-packages/matplotlib/animation.py in saving(self, fig, outfile, dpi, *args, **kwargs)
    230             yield self
    231         finally:
--> 232             self.finish()
    233 
    234 

~/proyectos/feets/lib/python3.6/site-packages/matplotlib/animation.py in finish(self)
    526         # are available to be assembled.
    527         self._run()
--> 528         MovieWriter.finish(self)  # Will call clean-up
    529 
    530     def cleanup(self):

~/proyectos/feets/lib/python3.6/site-packages/matplotlib/animation.py in finish(self)
    365     def finish(self):
    366         '''Finish any processing for writing the movie.'''
--> 367         self.cleanup()
    368 
    369     def grab_frame(self, **savefig_kwargs):

~/proyectos/feets/lib/python3.6/site-packages/matplotlib/animation.py in cleanup(self)
    529 
    530     def cleanup(self):
--> 531         MovieWriter.cleanup(self)
    532 
    533         # Delete temporary files

~/proyectos/feets/lib/python3.6/site-packages/matplotlib/animation.py in cleanup(self)
    397         self._frame_sink().close()
    398         # Use the encoding/errors that universal_newlines would use.
--> 399         out = TextIOWrapper(BytesIO(out)).read()
    400         err = TextIOWrapper(BytesIO(err)).read()
    401         if out:

TypeError: a bytes-like object is required, not 'str'
Out[2]:
<matplotlib.animation.FuncAnimation at 0x7fa3f775ed30>

In time-domain astronomy, data gathered from the telescopes is usually represented in the form of light-curves which are time series that show the brightness variation of an object through a period of time (for a visual representation see video below). Based on the variability characteristics of the light-curves, celestial objects can be classified into different groups (quasars, long period variables, eclipsing binaries, etc.) and consequently can be studied in depth independently.

Classification of data into groups can be performed in several ways given light curve data: primarily, existing methods found in the literature use machine learning algorithms that group light-curves into categories through feature extraction from the light-curve data. These light-curve features, the topic of this work, are numerical or categorical properties of the light-curves which can be used to characterize and distinguish the different variability classes. Features can range from basic statistical properties such as the mean or the standard deviation to more complex time series characteristics such as the autocorrelation function. These features should ideally be informative and discriminative, thus allowing for machine learning or other algorithms to use them to distinguish between classes of light-curves.

In this document, which allows for the fast and efficient calculation of a compilation of many existing light-curve features. The main goal is to create a collaborative and open tool where users can characterize or analyze an astronomical photometric database while also contributing to the library by adding new features. However, it is important to highlight that this library is not necessarily restricted to the astronomical domain and can also be applied to any kind of time series data.

Our vision is to be capable of analyzing and comparing light curves from any available astronomical catalog in a standard and universal way. This would facilitate and make more efficient tasks such as modeling, classification, data cleaning, outlier detection, and data analysis in general. Consequently, when studying light curves, astronomers and data analysts using our library would be able to compare and match different features in a standardized way. In order to achieve this goal, the library should be run and features generated for every existent survey (MACHO, EROS, OGLE, Catalina, Pan-STARRS, VVV, etc.), as well as for future surveys (LSST), and the results shared openly, as is this library.

In the remainder of this document, we provide an overview of the features developed so far and explain how users can contribute to the library. A Readme file is also available in case of needing extra information.

Video 1: Light-Curve of Triple Star

The video below shows how data from the brightness intensity of a star through time results on a light-curve. In this particular case we are observing a complex triple system in which three stars have mutual eclipses as each of the stars gets behind or in front of the others.


In [3]:
macho_video()


Out[3]:

The following figure presents example light-curves of each class in the MACHO survey. The x-axis is the modified Julian Date (MJD), and the y-axis is the MACHO B-magnitude.


In [4]:
macho_example11()


Out[4]:

Library structure

The library is coded in python and can be downloaded from the Github repository https://github.com/carpyncho/feets. New features may be added by issuing pull requests via the Github version control system. For a quick guide on how to use github visit https://guides.github.com/activities/hello-world/.

It is also possible to obtain the library by downloading the python package from https://pypi.python.org/pypi/feets or by directly installing it from the terminal as follows:

$ pip install feets

The library receives as input the time series data and returns as output an array with the calculated features. Depending on the available input the user can calculate different features. For example, if the user has only the vectors magnitude and time, just the features that need this data will be able to be computed.

In order to calculate all the possible features the following vectors (also termed as raw data) are needed per light curve:

  • time
  • magnitude
  • error
  • magnitude2
  • time2
  • error2

where 2 refers to a different observation band. It is worth pointing out that the magnitude vector is the only input strictly required by the library given that it is necessary for the calculation of all the features. The remaining vectors are optional since they are needed just by some features. In other words, if the user does not have this additional data or he is analyzing time series other than light curves, it is still possible to calculate some of the features. More details are presented in the next section.

This is an example of how the input could look like if you have only magnitude and time as input vectors:


In [5]:
lc_example = np.array([time_ex, magnitude_ex])
lc_example


Out[5]:
array([[ 0.        ,  1.        ,  2.        ,  3.        ,  4.        ,
         5.        ,  6.        ,  7.        ,  8.        ,  9.        ,
        10.        , 11.        , 12.        , 13.        , 14.        ,
        15.        , 16.        , 17.        , 18.        , 19.        ,
        20.        , 21.        , 22.        , 23.        , 24.        ,
        25.        , 26.        , 27.        , 28.        , 29.        ],
       [ 0.20970975,  0.80204085,  0.28820015,  0.37039011,  0.48115464,
         0.86820313,  0.48979622,  0.22301646,  0.4935109 ,  0.79350497,
         0.97494152,  0.81064321,  0.32671638,  0.20660825,  0.37420108,
         0.72971381,  0.15585522,  0.72447252,  0.34039641,  0.71799426,
         0.81918733,  0.94291775,  0.6184779 ,  0.2298462 ,  0.41711845,
         0.36057235,  0.23657102,  0.41109734,  0.72880648,  0.9590252 ]])

When observed in different bands, light curves of a same object are not always monitored for the same time length and at the same precise times. For some features, it is important to align the light curves and to only consider the simultaneous measurements from both bands. The aligned vectors refer to the arrays obtained by synchronizing the raw data.

Thus, the actual input needed by the library is an array containing the following vectors and in the following order:

  • time
  • magnitude
  • error
  • magnitude2
  • aligned_time
  • aligned_magnitude
  • aligned_magnitude2
  • aligned_error
  • aligned_error2

The library structure is divided into two main parts.

  1. feets.FeatureSpace: is a wrapper class that allows the user to select the features to be calculated based on the available time series vectors or to specify a list of features.
  2. feets.extractors: A package containing the actual code for calculating the features, and multiple tools to create your own extractor. Each feature has its own extractor class and every extractor can create at leat one feature.

The following code is an example of a class in extractors package that calculates the slope of a linear fit to the light-curve:

import feets
from scipy import stats

class LinearTrend(feets.Extractor):  # must inherit from Extractor

    data = ['magnitude', 'time']  # Which data is needed 
                                  # to calculate this feature

    features = ["LinearTrend"] # The names of the expected 
                               # feature

    # This method receives the data specified in the 
    # previous line with the same name 
    def fit(self, magnitude, time):
        regression_slope = stats.linregress(time, magnitude)[0]

        # The return value must be a dict with the same values 
        # defined in  features
        return {"LinearTrend": regression_slope}

If the user wants to use their features after the declaration of the extractor they must register the class with the register function. For example:

feets.register_extractor(LinearTrend)

Reading example light curve

Feets comes with a MACHO Example light-curve,with all the 9 parameters needed to calculate all the posible features.


In [6]:
from feets.datasets import macho

lc = macho.load_MACHO_example()
print("ID:", print(lc.id))
print("Bands:", lc.bands)


lc_1.3444.614
ID: None
Bands: ('R', 'B')

It is sometimes helpful to visualize the data before processing it. For a representation of the light curve, we can plot it as follows:


In [7]:
p = plt.plot(lc.data.B.time, lc.data.B.magnitude, '*-', alpha = 0.6)
plt.xlabel("Time")
plt.ylabel("Magnitude")
plt.gca().invert_yaxis()


Preproccess

Besides opening the file, the data we noww need to:

  • Remove noise: points within 5 standard deviations from the mean are considered as noise and thus are eliminated.
  • Align: it synchronizes the light-curves in the two different bands and returns aligned_time, aligned_magnitude, aligned_magnitude2, aligned_error and aligned_error2.

In [8]:
import feets.preprocess

# removing noise of the data
time, mag, error = feets.preprocess.remove_noise(**lc.data.B)
time2, mag2, error2 = feets.preprocess.remove_noise(**lc.data.R)

# We synchronize the data
atime, amag, amag2, aerror, aerror2 = feets.preprocess.align(
    time, time2, mag, mag2, error, error2)

lc = [time, mag, error, 
      mag2, atime, amag, amag2, 
      aerror, aerror2]

plt.plot(lc[0], lc[1], '*-', alpha = 0.6)
plt.xlabel("Time")
plt.ylabel("Magnitude")
plt.gca().invert_yaxis()


Choosing the features

The library allows the user to either choose the specific features of interest to be calculated or to calculate them all simultaneously. Nevertheless, as already mentioned, the features are divided depending on the input data needed for their computation (magnitude, time, error, second data, etc.). If unspecified, this will be used as an automatic selection parameter. For example, if the user wants to calculate all the available features but only has the vectors magnitude and time, only the features that need magnitude and/or time as an input will be computed.

**Note:** some features depend on other features or must be computed together. For instance, `Period_fit` returns the false alarm probability of the estimated period. It is necessary then to calculate also the period `PeriodLS`.

The list of all the possible features with their corresponding input data, additional parameters and literature source is presented in the following table:


In [9]:
features_table()


---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-9-0fd58bd566b0> in <module>
----> 1 features_table()

~/proyectos/feets/src/doc/source/tutorial.py in features_table()
     97         rows.append(row)
     98 
---> 99     FourierComponents = feets.extractor_of("Freq2_harmonics_rel_phase_0")
    100     rows.append((
    101         "Freq{i}_harmonics_amplitude_{j}",

~/proyectos/feets/src/feets/extractors/__init__.py in extractor_of(feature)
    105 def extractor_of(feature):
    106     """Retrieve the current register extractor class for the given feature."""
--> 107     return _extractors[feature]
    108 
    109 

KeyError: 'Freq2_harmonics_rel_phase_0'

The possible ways of how an user can choose the features from the library to be calculated are presented next.

List of features as an input:

The user can specify a list of features as input by specifying the features as a list for the parameter only. In the following example, we aim to calculate the standard deviation and Stetson L of the data:


In [11]:
fs = feets.FeatureSpace(only=['Std','StetsonL'])
features, values = fs.extract(*lc).as_arrays()
as_table(features, values)


Out[11]:
Feature Value
Std 0.14157317495929828
StetsonL 0.5823703637198997

You can provide the same parameters one by one or by keyword intead of use the unpacking *lc way. So the following examples will work:

lc(time, mag, error,
   mag2, atime, amag, amag2, 
   aerror, aerror2)

or

lc(time=time, magnitude=mag, error=error,
   magnitude2=mag2, aligned_time=atime, 
   aligned_magnitude=amag, aligned_magnitude2=amag2, 
   aligned_error=aerror, aligned_error2=aerror2)

Available data as an input:

In case the user does not have all the input vectors mentioned above, it is necessary to specify the available data by specifying the list of vectors using the parameter data. In the example below, we calculate all the features that can be computed with the magnitude and time as an input.


In [12]:
fs = feets.FeatureSpace(data=['magnitude','time'])
features, values = fs.extract(*lc).as_arrays()
as_table(features, values)


Out[12]:
Feature Value
Amplitude 0.26500000000000057
AndersonDarling 1.0
Autocor_length 1.0
Con 0.0
DMDT_0_0 0.0
DMDT_0_1 0.0
DMDT_0_2 0.0
DMDT_0_3 0.0
DMDT_0_4 0.0
DMDT_0_5 0.0
DMDT_0_6 0.0
DMDT_0_7 0.0
DMDT_0_8 0.0
DMDT_0_9 0.0
DMDT_0_10 0.0
DMDT_0_11 0.0
DMDT_0_12 0.0
DMDT_0_13 0.0
DMDT_0_14 0.0
DMDT_0_15 0.0
DMDT_0_16 0.0
DMDT_0_17 0.0
DMDT_0_18 0.0
DMDT_0_19 0.0
DMDT_0_20 0.0
DMDT_0_21 0.0
DMDT_0_22 0.0
DMDT_0_23 0.0
DMDT_1_0 0.0
DMDT_1_1 0.0
DMDT_1_2 0.0
DMDT_1_3 0.0
DMDT_1_4 0.0
DMDT_1_5 0.0
DMDT_1_6 0.0
DMDT_1_7 0.0
DMDT_1_8 0.0
DMDT_1_9 0.0
DMDT_1_10 0.0
DMDT_1_11 0.0
DMDT_1_12 0.0
DMDT_1_13 0.0
DMDT_1_14 0.0
DMDT_1_15 0.0
DMDT_1_16 0.0
DMDT_1_17 0.0
DMDT_1_18 0.0
DMDT_1_19 0.0
DMDT_1_20 0.0
DMDT_1_21 0.0
DMDT_1_22 0.0
DMDT_1_23 0.0
DMDT_2_0 0.0
DMDT_2_1 0.0
DMDT_2_2 0.0
DMDT_2_3 0.0
DMDT_2_4 0.0
DMDT_2_5 0.0
DMDT_2_6 0.0
DMDT_2_7 0.0
DMDT_2_8 0.0
DMDT_2_9 0.0
DMDT_2_10 0.0
DMDT_2_11 0.0
DMDT_2_12 0.0
DMDT_2_13 0.0
DMDT_2_14 0.0
DMDT_2_15 0.0
DMDT_2_16 0.0
DMDT_2_17 0.0
DMDT_2_18 0.0
DMDT_2_19 0.0
DMDT_2_20 0.0
DMDT_2_21 0.0
DMDT_2_22 0.0
DMDT_2_23 0.0
DMDT_3_0 0.0
DMDT_3_1 0.0
DMDT_3_2 0.0
DMDT_3_3 0.0
DMDT_3_4 0.0
DMDT_3_5 0.0
DMDT_3_6 0.0
DMDT_3_7 0.0
DMDT_3_8 0.0
DMDT_3_9 0.0
DMDT_3_10 0.0
DMDT_3_11 0.0
DMDT_3_12 0.0
DMDT_3_13 0.0
DMDT_3_14 0.0
DMDT_3_15 0.0
DMDT_3_16 0.0
DMDT_3_17 0.0
DMDT_3_18 0.0
DMDT_3_19 0.0
DMDT_3_20 0.0
DMDT_3_21 0.0
DMDT_3_22 0.0
DMDT_3_23 0.0
DMDT_4_0 0.0
DMDT_4_1 0.0
DMDT_4_2 0.0
DMDT_4_3 0.0
DMDT_4_4 0.0
DMDT_4_5 0.0
DMDT_4_6 0.0
DMDT_4_7 0.0
DMDT_4_8 0.0
DMDT_4_9 0.0
DMDT_4_10 0.0
DMDT_4_11 1.0
DMDT_4_12 1.0
DMDT_4_13 0.0
DMDT_4_14 0.0
DMDT_4_15 0.0
DMDT_4_16 0.0
DMDT_4_17 0.0
DMDT_4_18 0.0
DMDT_4_19 0.0
DMDT_4_20 0.0
DMDT_4_21 0.0
DMDT_4_22 0.0
DMDT_4_23 0.0
DMDT_5_0 0.0
DMDT_5_1 0.0
DMDT_5_2 0.0
DMDT_5_3 0.0
DMDT_5_4 0.0
DMDT_5_5 0.0
DMDT_5_6 0.0
DMDT_5_7 0.0
DMDT_5_8 0.0
DMDT_5_9 0.0
DMDT_5_10 0.0
DMDT_5_11 1.0
DMDT_5_12 0.0
DMDT_5_13 0.0
DMDT_5_14 0.0
DMDT_5_15 0.0
DMDT_5_16 0.0
DMDT_5_17 0.0
DMDT_5_18 0.0
DMDT_5_19 0.0
DMDT_5_20 0.0
DMDT_5_21 0.0
DMDT_5_22 0.0
DMDT_5_23 0.0
DMDT_6_0 0.0
DMDT_6_1 0.0
DMDT_6_2 0.0
DMDT_6_3 0.0
DMDT_6_4 0.0
DMDT_6_5 0.0
DMDT_6_6 0.0
DMDT_6_7 0.0
DMDT_6_8 0.0
DMDT_6_9 0.0
DMDT_6_10 0.0
DMDT_6_11 1.0
DMDT_6_12 1.0
DMDT_6_13 0.0
DMDT_6_14 0.0
DMDT_6_15 0.0
DMDT_6_16 0.0
DMDT_6_17 0.0
DMDT_6_18 0.0
DMDT_6_19 0.0
DMDT_6_20 0.0
DMDT_6_21 0.0
DMDT_6_22 0.0
DMDT_6_23 0.0
DMDT_7_0 0.0
DMDT_7_1 0.0
DMDT_7_2 0.0
DMDT_7_3 0.0
DMDT_7_4 0.0
DMDT_7_5 0.0
DMDT_7_6 0.0
DMDT_7_7 0.0
DMDT_7_8 1.0
DMDT_7_9 1.0
DMDT_7_10 0.0
DMDT_7_11 1.0
DMDT_7_12 1.0
DMDT_7_13 0.0
DMDT_7_14 0.0
DMDT_7_15 1.0
DMDT_7_16 0.0
DMDT_7_17 0.0
DMDT_7_18 0.0
DMDT_7_19 0.0
DMDT_7_20 0.0
DMDT_7_21 0.0
DMDT_7_22 0.0
DMDT_7_23 0.0
DMDT_8_0 0.0
DMDT_8_1 0.0
DMDT_8_2 0.0
DMDT_8_3 0.0
DMDT_8_4 0.0
DMDT_8_5 0.0
DMDT_8_6 0.0
DMDT_8_7 1.0
DMDT_8_8 1.0
DMDT_8_9 0.0
DMDT_8_10 1.0
DMDT_8_11 1.0
DMDT_8_12 1.0
DMDT_8_13 0.0
DMDT_8_14 1.0
DMDT_8_15 1.0
DMDT_8_16 1.0
DMDT_8_17 0.0
DMDT_8_18 0.0
DMDT_8_19 0.0
DMDT_8_20 0.0
DMDT_8_21 0.0
DMDT_8_22 0.0
DMDT_8_23 0.0
DMDT_9_0 0.0
DMDT_9_1 0.0
DMDT_9_2 0.0
DMDT_9_3 0.0
DMDT_9_4 0.0
DMDT_9_5 0.0
DMDT_9_6 0.0
DMDT_9_7 0.0
DMDT_9_8 1.0
DMDT_9_9 1.0
DMDT_9_10 1.0
DMDT_9_11 1.0
DMDT_9_12 1.0
DMDT_9_13 0.0
DMDT_9_14 0.0
DMDT_9_15 1.0
DMDT_9_16 0.0
DMDT_9_17 0.0
DMDT_9_18 0.0
DMDT_9_19 0.0
DMDT_9_20 0.0
DMDT_9_21 0.0
DMDT_9_22 0.0
DMDT_9_23 0.0
DMDT_10_0 0.0
DMDT_10_1 0.0
DMDT_10_2 0.0
DMDT_10_3 0.0
DMDT_10_4 0.0
DMDT_10_5 0.0
DMDT_10_6 0.0
DMDT_10_7 1.0
DMDT_10_8 1.0
DMDT_10_9 1.0
DMDT_10_10 1.0
DMDT_10_11 1.0
DMDT_10_12 1.0
DMDT_10_13 1.0
DMDT_10_14 1.0
DMDT_10_15 1.0
DMDT_10_16 1.0
DMDT_10_17 0.0
DMDT_10_18 0.0
DMDT_10_19 0.0
DMDT_10_20 0.0
DMDT_10_21 0.0
DMDT_10_22 0.0
DMDT_10_23 0.0
DMDT_11_0 0.0
DMDT_11_1 0.0
DMDT_11_2 0.0
DMDT_11_3 0.0
DMDT_11_4 0.0
DMDT_11_5 0.0
DMDT_11_6 1.0
DMDT_11_7 1.0
DMDT_11_8 1.0
DMDT_11_9 1.0
DMDT_11_10 1.0
DMDT_11_11 1.0
DMDT_11_12 1.0
DMDT_11_13 1.0
DMDT_11_14 1.0
DMDT_11_15 1.0
DMDT_11_16 1.0
DMDT_11_17 0.0
DMDT_11_18 0.0
DMDT_11_19 0.0
DMDT_11_20 0.0
DMDT_11_21 0.0
DMDT_11_22 0.0
DMDT_11_23 0.0
DMDT_12_0 0.0
DMDT_12_1 0.0
DMDT_12_2 0.0
DMDT_12_3 0.0
DMDT_12_4 0.0
DMDT_12_5 0.0
DMDT_12_6 1.0
DMDT_12_7 1.0
DMDT_12_8 1.0
DMDT_12_9 1.0
DMDT_12_10 1.0
DMDT_12_11 1.0
DMDT_12_12 1.0
DMDT_12_13 1.0
DMDT_12_14 1.0
DMDT_12_15 1.0
DMDT_12_16 1.0
DMDT_12_17 1.0
DMDT_12_18 0.0
DMDT_12_19 0.0
DMDT_12_20 0.0
DMDT_12_21 0.0
DMDT_12_22 0.0
DMDT_12_23 0.0
DMDT_13_0 0.0
DMDT_13_1 0.0
DMDT_13_2 0.0
DMDT_13_3 0.0
DMDT_13_4 0.0
DMDT_13_5 0.0
DMDT_13_6 1.0
DMDT_13_7 1.0
DMDT_13_8 1.0
DMDT_13_9 1.0
DMDT_13_10 1.0
DMDT_13_11 1.0
DMDT_13_12 1.0
DMDT_13_13 1.0
DMDT_13_14 1.0
DMDT_13_15 1.0
DMDT_13_16 1.0
DMDT_13_17 1.0
DMDT_13_18 0.0
DMDT_13_19 0.0
DMDT_13_20 0.0
DMDT_13_21 0.0
DMDT_13_22 0.0
DMDT_13_23 0.0
DMDT_14_0 0.0
DMDT_14_1 0.0
DMDT_14_2 0.0
DMDT_14_3 0.0
DMDT_14_4 0.0
DMDT_14_5 0.0
DMDT_14_6 1.0
DMDT_14_7 1.0
DMDT_14_8 1.0
DMDT_14_9 1.0
DMDT_14_10 1.0
DMDT_14_11 1.0
DMDT_14_12 1.0
DMDT_14_13 1.0
DMDT_14_14 1.0
DMDT_14_15 1.0
DMDT_14_16 1.0
DMDT_14_17 1.0
DMDT_14_18 0.0
DMDT_14_19 0.0
DMDT_14_20 0.0
DMDT_14_21 0.0
DMDT_14_22 0.0
DMDT_14_23 0.0
DMDT_15_0 0.0
DMDT_15_1 0.0
DMDT_15_2 0.0
DMDT_15_3 0.0
DMDT_15_4 0.0
DMDT_15_5 1.0
DMDT_15_6 1.0
DMDT_15_7 1.0
DMDT_15_8 1.0
DMDT_15_9 1.0
DMDT_15_10 1.0
DMDT_15_11 1.0
DMDT_15_12 1.0
DMDT_15_13 1.0
DMDT_15_14 1.0
DMDT_15_15 1.0
DMDT_15_16 1.0
DMDT_15_17 1.0
DMDT_15_18 0.0
DMDT_15_19 0.0
DMDT_15_20 0.0
DMDT_15_21 0.0
DMDT_15_22 0.0
DMDT_15_23 0.0
DMDT_16_0 0.0
DMDT_16_1 0.0
DMDT_16_2 0.0
DMDT_16_3 0.0
DMDT_16_4 0.0
DMDT_16_5 1.0
DMDT_16_6 1.0
DMDT_16_7 1.0
DMDT_16_8 1.0
DMDT_16_9 1.0
DMDT_16_10 1.0
DMDT_16_11 2.0
DMDT_16_12 2.0
DMDT_16_13 1.0
DMDT_16_14 1.0
DMDT_16_15 1.0
DMDT_16_16 1.0
DMDT_16_17 1.0
DMDT_16_18 1.0
DMDT_16_19 0.0
DMDT_16_20 0.0
DMDT_16_21 0.0
DMDT_16_22 0.0
DMDT_16_23 0.0
DMDT_17_0 0.0
DMDT_17_1 0.0
DMDT_17_2 0.0
DMDT_17_3 0.0
DMDT_17_4 0.0
DMDT_17_5 1.0
DMDT_17_6 1.0
DMDT_17_7 1.0
DMDT_17_8 1.0
DMDT_17_9 1.0
DMDT_17_10 1.0
DMDT_17_11 4.0
DMDT_17_12 4.0
DMDT_17_13 1.0
DMDT_17_14 1.0
DMDT_17_15 1.0
DMDT_17_16 1.0
DMDT_17_17 1.0
DMDT_17_18 1.0
DMDT_17_19 0.0
DMDT_17_20 0.0
DMDT_17_21 0.0
DMDT_17_22 0.0
DMDT_17_23 0.0
DMDT_18_0 0.0
DMDT_18_1 0.0
DMDT_18_2 0.0
DMDT_18_3 0.0
DMDT_18_4 0.0
DMDT_18_5 1.0
DMDT_18_6 1.0
DMDT_18_7 1.0
DMDT_18_8 2.0
DMDT_18_9 2.0
DMDT_18_10 2.0
DMDT_18_11 6.0
DMDT_18_12 6.0
DMDT_18_13 2.0
DMDT_18_14 2.0
DMDT_18_15 2.0
DMDT_18_16 2.0
DMDT_18_17 1.0
DMDT_18_18 1.0
DMDT_18_19 0.0
DMDT_18_20 0.0
DMDT_18_21 0.0
DMDT_18_22 0.0
DMDT_18_23 0.0
DMDT_19_0 0.0
DMDT_19_1 0.0
DMDT_19_2 0.0
DMDT_19_3 0.0
DMDT_19_4 0.0
DMDT_19_5 1.0
DMDT_19_6 1.0
DMDT_19_7 2.0
DMDT_19_8 3.0
DMDT_19_9 3.0
DMDT_19_10 3.0
DMDT_19_11 10.0
DMDT_19_12 10.0
DMDT_19_13 3.0
DMDT_19_14 3.0
DMDT_19_15 3.0
DMDT_19_16 3.0
DMDT_19_17 1.0
DMDT_19_18 1.0
DMDT_19_19 0.0
DMDT_19_20 0.0
DMDT_19_21 0.0
DMDT_19_22 0.0
DMDT_19_23 0.0
DMDT_20_0 0.0
DMDT_20_1 0.0
DMDT_20_2 0.0
DMDT_20_3 0.0
DMDT_20_4 0.0
DMDT_20_5 1.0
DMDT_20_6 1.0
DMDT_20_7 3.0
DMDT_20_8 5.0
DMDT_20_9 5.0
DMDT_20_10 5.0
DMDT_20_11 16.0
DMDT_20_12 18.0
DMDT_20_13 5.0
DMDT_20_14 5.0
DMDT_20_15 5.0
DMDT_20_16 4.0
DMDT_20_17 1.0
DMDT_20_18 1.0
DMDT_20_19 0.0
DMDT_20_20 0.0
DMDT_20_21 0.0
DMDT_20_22 0.0
DMDT_20_23 0.0
DMDT_21_0 0.0
DMDT_21_1 0.0
DMDT_21_2 0.0
DMDT_21_3 0.0
DMDT_21_4 0.0
DMDT_21_5 1.0
DMDT_21_6 1.0
DMDT_21_7 3.0
DMDT_21_8 5.0
DMDT_21_9 5.0
DMDT_21_10 5.0
DMDT_21_11 17.0
DMDT_21_12 20.0
DMDT_21_13 6.0
DMDT_21_14 5.0
DMDT_21_15 6.0
DMDT_21_16 4.0
DMDT_21_17 1.0
DMDT_21_18 1.0
DMDT_21_19 0.0
DMDT_21_20 0.0
DMDT_21_21 0.0
DMDT_21_22 0.0
DMDT_21_23 0.0
DMDT_22_0 0.0
DMDT_22_1 0.0
DMDT_22_2 0.0
DMDT_22_3 0.0
DMDT_22_4 0.0
DMDT_22_5 1.0
DMDT_22_6 1.0
DMDT_22_7 2.0
DMDT_22_8 2.0
DMDT_22_9 2.0
DMDT_22_10 2.0
DMDT_22_11 7.0
DMDT_22_12 9.0
DMDT_22_13 2.0
DMDT_22_14 2.0
DMDT_22_15 2.0
DMDT_22_16 2.0
DMDT_22_17 1.0
DMDT_22_18 0.0
DMDT_22_19 0.0
DMDT_22_20 0.0
DMDT_22_21 0.0
DMDT_22_22 0.0
DMDT_22_23 0.0
Eta_e 905.636200812288
FluxPercentileRatioMid20 0.09131403118040174
FluxPercentileRatioMid35 0.1781737193763922
FluxPercentileRatioMid50 0.3162583518930947
FluxPercentileRatioMid65 0.5233853006681504
FluxPercentileRatioMid80 0.7995545657015593
Freq1_harmonics_amplitude_0 0.13297191886665682
Freq1_harmonics_rel_phase_0 0.0
Freq1_harmonics_amplitude_1 0.07708190071937732
Freq1_harmonics_rel_phase_1 0.11506771848541875
Freq1_harmonics_amplitude_2 0.049703893823420386
Freq1_harmonics_rel_phase_2 0.3342992671936593
Freq1_harmonics_amplitude_3 0.025328725816726485
Freq1_harmonics_rel_phase_3 0.5308555764740739
Freq2_harmonics_amplitude_0 0.016357295575401373
Freq2_harmonics_rel_phase_0 0.0
Freq2_harmonics_amplitude_1 0.00116609801518309
Freq2_harmonics_rel_phase_1 -1.2826352924868387
Freq2_harmonics_amplitude_2 0.006229687748569223
Freq2_harmonics_rel_phase_2 -0.2727495960699948
Freq2_harmonics_amplitude_3 0.003237582323722657
Freq2_harmonics_rel_phase_3 -1.304331620349317
Freq3_harmonics_amplitude_0 0.01765091985997523
Freq3_harmonics_rel_phase_0 0.0
Freq3_harmonics_amplitude_1 0.0072490280397960365
Freq3_harmonics_rel_phase_1 0.35289198840867064
Freq3_harmonics_amplitude_2 0.002865392183527512
Freq3_harmonics_rel_phase_2 -1.555634635546236
Freq3_harmonics_amplitude_3 0.004961723047279988
Freq3_harmonics_rel_phase_3 0.9896319782640918
Gskew 0.24549999999999983
LinearTrend 6.173658576812162e-06
MaxSlope 54.72525836116783
Mean -5.917989112227805
Meanvariance -0.023922513589418142
MedianAbsDev 0.05449999999999999
MedianBRP 0.7453936348408711
PairSlopeTrend 0.03333333333333333
PercentAmplitude -0.11308575739793782
PercentDifferenceFluxPercentile -0.07527873250062869
PeriodLS_0 0.9369422174047677
Period_fit_0 0.0
Psi_CS_0 0.18807703843435905
Psi_eta_0 0.7078450866241952
Q31 0.14100000000000001
Rcs 0.03917145077266578
SignaturePhMag_0_0 0.0373540748638581
SignaturePhMag_0_1 0.0
SignaturePhMag_0_2 0.0
SignaturePhMag_0_3 0.0
SignaturePhMag_0_4 0.48560297323015567
SignaturePhMag_0_5 1.6062252191458974
SignaturePhMag_0_6 0.29883259891086467
SignaturePhMag_0_7 0.0
SignaturePhMag_0_8 0.0
SignaturePhMag_0_9 0.0
SignaturePhMag_0_10 0.0
SignaturePhMag_0_11 0.0
SignaturePhMag_1_0 0.0
SignaturePhMag_1_1 0.0373540748638581
SignaturePhMag_1_2 0.0
SignaturePhMag_1_3 0.0373540748638581
SignaturePhMag_1_4 0.5603111229578718
SignaturePhMag_1_5 1.905057818056762
SignaturePhMag_1_6 0.07470814972771617
SignaturePhMag_1_7 0.07470814972771625
SignaturePhMag_1_8 0.0
SignaturePhMag_1_9 0.0
SignaturePhMag_1_10 0.0
SignaturePhMag_1_11 0.0
SignaturePhMag_2_0 0.0
SignaturePhMag_2_1 0.0
SignaturePhMag_2_2 0.0
SignaturePhMag_2_3 0.037354074863858104
SignaturePhMag_2_4 0.6350192726855882
SignaturePhMag_2_5 1.75564151860133
SignaturePhMag_2_6 0.14941629945543236
SignaturePhMag_2_7 0.0
SignaturePhMag_2_8 0.0
SignaturePhMag_2_9 0.0
SignaturePhMag_2_10 0.0
SignaturePhMag_2_11 0.0
SignaturePhMag_3_0 0.0
SignaturePhMag_3_1 0.0
SignaturePhMag_3_2 0.0
SignaturePhMag_3_3 0.0
SignaturePhMag_3_4 0.44824889836629744
SignaturePhMag_3_5 1.4941629945543229
SignaturePhMag_3_6 0.29883259891086456
SignaturePhMag_3_7 0.03735407486385811
SignaturePhMag_3_8 0.0
SignaturePhMag_3_9 0.0
SignaturePhMag_3_10 0.0
SignaturePhMag_3_11 0.0
SignaturePhMag_4_0 0.0
SignaturePhMag_4_1 0.0
SignaturePhMag_4_2 0.0373540748638581
SignaturePhMag_4_3 0.0
SignaturePhMag_4_4 0.26147852404700683
SignaturePhMag_4_5 2.3906607912869164
SignaturePhMag_4_6 0.22412444918314847
SignaturePhMag_4_7 0.0
SignaturePhMag_4_8 0.0
SignaturePhMag_4_9 0.0
SignaturePhMag_4_10 0.0
SignaturePhMag_4_11 0.0
SignaturePhMag_5_0 0.0
SignaturePhMag_5_1 0.0
SignaturePhMag_5_2 0.0
SignaturePhMag_5_3 0.0
SignaturePhMag_5_4 0.2241244491831488
SignaturePhMag_5_5 1.4194548448266076
SignaturePhMag_5_6 0.3361866737747229
SignaturePhMag_5_7 0.03735407486385814
SignaturePhMag_5_8 0.0
SignaturePhMag_5_9 0.0
SignaturePhMag_5_10 0.0
SignaturePhMag_5_11 0.0
SignaturePhMag_6_0 0.0
SignaturePhMag_6_1 0.0
SignaturePhMag_6_2 0.0
SignaturePhMag_6_3 0.0
SignaturePhMag_6_4 0.1494162994554324
SignaturePhMag_6_5 1.979765967784477
SignaturePhMag_6_6 0.3361866737747225
SignaturePhMag_6_7 0.0747081497277162
SignaturePhMag_6_8 0.0
SignaturePhMag_6_9 0.0
SignaturePhMag_6_10 0.0
SignaturePhMag_6_11 0.0
SignaturePhMag_7_0 0.0
SignaturePhMag_7_1 0.0
SignaturePhMag_7_2 0.0
SignaturePhMag_7_3 0.07470814972771624
SignaturePhMag_7_4 0.0
SignaturePhMag_7_5 1.9050578180567628
SignaturePhMag_7_6 0.3361866737747229
SignaturePhMag_7_7 0.1120622245915744
SignaturePhMag_7_8 0.0
SignaturePhMag_7_9 0.0
SignaturePhMag_7_10 0.0
SignaturePhMag_7_11 0.0
SignaturePhMag_8_0 0.0
SignaturePhMag_8_1 0.0
SignaturePhMag_8_2 0.0
SignaturePhMag_8_3 0.07470814972771624
SignaturePhMag_8_4 0.1120622245915744
SignaturePhMag_8_5 1.2326844705073172
SignaturePhMag_8_6 0.8964977967325943
SignaturePhMag_8_7 0.18677037431929067
SignaturePhMag_8_8 0.14941629945543256
SignaturePhMag_8_9 0.0
SignaturePhMag_8_10 0.0
SignaturePhMag_8_11 0.0
SignaturePhMag_9_0 0.0
SignaturePhMag_9_1 0.0
SignaturePhMag_9_2 0.0
SignaturePhMag_9_3 0.0
SignaturePhMag_9_4 0.0
SignaturePhMag_9_5 0.037354074863858056
SignaturePhMag_9_6 0.9338518715964516
SignaturePhMag_9_7 0.7844355721410201
SignaturePhMag_9_8 0.2988325989108648
SignaturePhMag_9_9 0.0747081497277162
SignaturePhMag_9_10 0.0
SignaturePhMag_9_11 0.0
SignaturePhMag_10_0 0.0
SignaturePhMag_10_1 0.0
SignaturePhMag_10_2 0.037354074863858076
SignaturePhMag_10_3 0.0
SignaturePhMag_10_4 0.0
SignaturePhMag_10_5 0.0
SignaturePhMag_10_6 0.14941629945543222
SignaturePhMag_10_7 0.4856029732301553
SignaturePhMag_10_8 1.083268171051885
SignaturePhMag_10_9 0.5229570480940133
SignaturePhMag_10_10 0.2241244491831481
SignaturePhMag_10_11 0.0
SignaturePhMag_11_0 0.0
SignaturePhMag_11_1 0.0
SignaturePhMag_11_2 0.0
SignaturePhMag_11_3 0.0
SignaturePhMag_11_4 0.0
SignaturePhMag_11_5 0.03735407486385813
SignaturePhMag_11_6 0.03735407486385813
SignaturePhMag_11_7 0.4482488983662981
SignaturePhMag_11_8 1.2326844705073197
SignaturePhMag_11_9 0.6723733475494471
SignaturePhMag_11_10 0.03735407486385809
SignaturePhMag_11_11 0.037354074863858173
SignaturePhMag_12_0 0.0
SignaturePhMag_12_1 0.0
SignaturePhMag_12_2 0.0
SignaturePhMag_12_3 0.0
SignaturePhMag_12_4 0.0
SignaturePhMag_12_5 0.14941629945543222
SignaturePhMag_12_6 0.8964977967325933
SignaturePhMag_12_7 0.6350192726855877
SignaturePhMag_12_8 0.7844355721410201
SignaturePhMag_12_9 0.41089482350243905
SignaturePhMag_12_10 0.037354074863858014
SignaturePhMag_12_11 0.0
SignaturePhMag_13_0 0.0
SignaturePhMag_13_1 0.0
SignaturePhMag_13_2 0.0
SignaturePhMag_13_3 0.037354074863858076
SignaturePhMag_13_4 0.0747081497277162
SignaturePhMag_13_5 0.8591437218687353
SignaturePhMag_13_6 0.9712059464603094
SignaturePhMag_13_7 0.26147852404700667
SignaturePhMag_13_8 0.0747081497277162
SignaturePhMag_13_9 0.0
SignaturePhMag_13_10 0.0
SignaturePhMag_13_11 0.0
SignaturePhMag_14_0 0.0
SignaturePhMag_14_1 0.0
SignaturePhMag_14_2 0.0
SignaturePhMag_14_3 0.0
SignaturePhMag_14_4 0.1494162994554327
SignaturePhMag_14_5 1.3073926202350346
SignaturePhMag_14_6 0.5976651978217301
SignaturePhMag_14_7 0.22412444918314905
SignaturePhMag_14_8 0.0
SignaturePhMag_14_9 0.0
SignaturePhMag_14_10 0.0
SignaturePhMag_14_11 0.0
SignaturePhMag_15_0 0.0
SignaturePhMag_15_1 0.0
SignaturePhMag_15_2 0.0
SignaturePhMag_15_3 0.037354074863858076
SignaturePhMag_15_4 0.11206222459157429
SignaturePhMag_15_5 1.53151706941818
SignaturePhMag_15_6 0.4856029732301547
SignaturePhMag_15_7 0.0373540748638581
SignaturePhMag_15_8 0.0373540748638581
SignaturePhMag_15_9 0.0
SignaturePhMag_15_10 0.0
SignaturePhMag_15_11 0.0
SignaturePhMag_16_0 0.0
SignaturePhMag_16_1 0.0
SignaturePhMag_16_2 0.037354074863858076
SignaturePhMag_16_3 0.0
SignaturePhMag_16_4 0.373540748638581
SignaturePhMag_16_5 1.6809333688736128
SignaturePhMag_16_6 0.3735407486385806
SignaturePhMag_16_7 0.0747081497277162
SignaturePhMag_16_8 0.0
SignaturePhMag_16_9 0.0
SignaturePhMag_16_10 0.0
SignaturePhMag_16_11 0.0
SignaturePhMag_17_0 0.0
SignaturePhMag_17_1 0.0
SignaturePhMag_17_2 0.0
SignaturePhMag_17_3 0.11206222459157446
SignaturePhMag_17_4 0.4108948235024399
SignaturePhMag_17_5 1.7929955934651902
SignaturePhMag_17_6 0.37354074863858133
SignaturePhMag_17_7 0.0
SignaturePhMag_17_8 0.0
SignaturePhMag_17_9 0.0
SignaturePhMag_17_10 0.0
SignaturePhMag_17_11 0.0
Skew 0.956469867559379
SlottedA_length 1.0
SmallKurtosis 1.3794786801255068
Std 0.14157317495929828
StructureFunction_index_21 2.04757219898926
StructureFunction_index_31 3.1276618569316184
StructureFunction_index_32 1.6990646290639937

List of features and available data as an input.

It is also possible to provide the available time series input vectors and calculate all possible features from a feature list using this data:


In [13]:
fs = feets.FeatureSpace(
    only=['Mean','Beyond1Std','CAR_sigma','Color','SlottedA_length'], 
    data=['magnitude', 'error']) 
features, values = fs.extract(*lc).as_arrays()
as_table(features, values)


Out[13]:
Feature Value
Beyond1Std 0.22278056951423786
Mean -5.917989112227805

Excluding list as an input

The user can also create a list of features to be excluded from the calculation. To do so, the list of features to be excluded can be passed as a list via the parameter exclude. For example:


In [14]:
fs = feets.FeatureSpace(
    only=['Mean','Beyond1Std','CAR_sigma','Color','SlottedA_length'], 
    data=['magnitude', 'error'],
    exclude=["Beyond1Std"]) 
features, values = fs.extract(*lc).as_arrays()
as_table(features, values)


Out[14]:
Feature Value
Mean -5.917989112227805

All the features

To calculate all the existing features in the library, the user only need to instantiate the feature space without parameters


In [15]:
fs = feets.FeatureSpace() 
features, values = fs.extract(*lc).as_arrays()
as_table(features, values)


Out[15]:
Feature Value
Amplitude 0.26500000000000057
AndersonDarling 1.0
Autocor_length 1.0
Beyond1Std 0.22278056951423786
CAR_mean -9.230698873903961
CAR_sigma -0.2192804929884251
CAR_tau 0.6411203737734862
Color -0.33325502453332145
Con 0.0
DMDT_0_0 0.0
DMDT_0_1 0.0
DMDT_0_2 0.0
DMDT_0_3 0.0
DMDT_0_4 0.0
DMDT_0_5 0.0
DMDT_0_6 0.0
DMDT_0_7 0.0
DMDT_0_8 0.0
DMDT_0_9 0.0
DMDT_0_10 0.0
DMDT_0_11 0.0
DMDT_0_12 0.0
DMDT_0_13 0.0
DMDT_0_14 0.0
DMDT_0_15 0.0
DMDT_0_16 0.0
DMDT_0_17 0.0
DMDT_0_18 0.0
DMDT_0_19 0.0
DMDT_0_20 0.0
DMDT_0_21 0.0
DMDT_0_22 0.0
DMDT_0_23 0.0
DMDT_1_0 0.0
DMDT_1_1 0.0
DMDT_1_2 0.0
DMDT_1_3 0.0
DMDT_1_4 0.0
DMDT_1_5 0.0
DMDT_1_6 0.0
DMDT_1_7 0.0
DMDT_1_8 0.0
DMDT_1_9 0.0
DMDT_1_10 0.0
DMDT_1_11 0.0
DMDT_1_12 0.0
DMDT_1_13 0.0
DMDT_1_14 0.0
DMDT_1_15 0.0
DMDT_1_16 0.0
DMDT_1_17 0.0
DMDT_1_18 0.0
DMDT_1_19 0.0
DMDT_1_20 0.0
DMDT_1_21 0.0
DMDT_1_22 0.0
DMDT_1_23 0.0
DMDT_2_0 0.0
DMDT_2_1 0.0
DMDT_2_2 0.0
DMDT_2_3 0.0
DMDT_2_4 0.0
DMDT_2_5 0.0
DMDT_2_6 0.0
DMDT_2_7 0.0
DMDT_2_8 0.0
DMDT_2_9 0.0
DMDT_2_10 0.0
DMDT_2_11 0.0
DMDT_2_12 0.0
DMDT_2_13 0.0
DMDT_2_14 0.0
DMDT_2_15 0.0
DMDT_2_16 0.0
DMDT_2_17 0.0
DMDT_2_18 0.0
DMDT_2_19 0.0
DMDT_2_20 0.0
DMDT_2_21 0.0
DMDT_2_22 0.0
DMDT_2_23 0.0
DMDT_3_0 0.0
DMDT_3_1 0.0
DMDT_3_2 0.0
DMDT_3_3 0.0
DMDT_3_4 0.0
DMDT_3_5 0.0
DMDT_3_6 0.0
DMDT_3_7 0.0
DMDT_3_8 0.0
DMDT_3_9 0.0
DMDT_3_10 0.0
DMDT_3_11 0.0
DMDT_3_12 0.0
DMDT_3_13 0.0
DMDT_3_14 0.0
DMDT_3_15 0.0
DMDT_3_16 0.0
DMDT_3_17 0.0
DMDT_3_18 0.0
DMDT_3_19 0.0
DMDT_3_20 0.0
DMDT_3_21 0.0
DMDT_3_22 0.0
DMDT_3_23 0.0
DMDT_4_0 0.0
DMDT_4_1 0.0
DMDT_4_2 0.0
DMDT_4_3 0.0
DMDT_4_4 0.0
DMDT_4_5 0.0
DMDT_4_6 0.0
DMDT_4_7 0.0
DMDT_4_8 0.0
DMDT_4_9 0.0
DMDT_4_10 0.0
DMDT_4_11 1.0
DMDT_4_12 1.0
DMDT_4_13 0.0
DMDT_4_14 0.0
DMDT_4_15 0.0
DMDT_4_16 0.0
DMDT_4_17 0.0
DMDT_4_18 0.0
DMDT_4_19 0.0
DMDT_4_20 0.0
DMDT_4_21 0.0
DMDT_4_22 0.0
DMDT_4_23 0.0
DMDT_5_0 0.0
DMDT_5_1 0.0
DMDT_5_2 0.0
DMDT_5_3 0.0
DMDT_5_4 0.0
DMDT_5_5 0.0
DMDT_5_6 0.0
DMDT_5_7 0.0
DMDT_5_8 0.0
DMDT_5_9 0.0
DMDT_5_10 0.0
DMDT_5_11 1.0
DMDT_5_12 0.0
DMDT_5_13 0.0
DMDT_5_14 0.0
DMDT_5_15 0.0
DMDT_5_16 0.0
DMDT_5_17 0.0
DMDT_5_18 0.0
DMDT_5_19 0.0
DMDT_5_20 0.0
DMDT_5_21 0.0
DMDT_5_22 0.0
DMDT_5_23 0.0
DMDT_6_0 0.0
DMDT_6_1 0.0
DMDT_6_2 0.0
DMDT_6_3 0.0
DMDT_6_4 0.0
DMDT_6_5 0.0
DMDT_6_6 0.0
DMDT_6_7 0.0
DMDT_6_8 0.0
DMDT_6_9 0.0
DMDT_6_10 0.0
DMDT_6_11 1.0
DMDT_6_12 1.0
DMDT_6_13 0.0
DMDT_6_14 0.0
DMDT_6_15 0.0
DMDT_6_16 0.0
DMDT_6_17 0.0
DMDT_6_18 0.0
DMDT_6_19 0.0
DMDT_6_20 0.0
DMDT_6_21 0.0
DMDT_6_22 0.0
DMDT_6_23 0.0
DMDT_7_0 0.0
DMDT_7_1 0.0
DMDT_7_2 0.0
DMDT_7_3 0.0
DMDT_7_4 0.0
DMDT_7_5 0.0
DMDT_7_6 0.0
DMDT_7_7 0.0
DMDT_7_8 1.0
DMDT_7_9 1.0
DMDT_7_10 0.0
DMDT_7_11 1.0
DMDT_7_12 1.0
DMDT_7_13 0.0
DMDT_7_14 0.0
DMDT_7_15 1.0
DMDT_7_16 0.0
DMDT_7_17 0.0
DMDT_7_18 0.0
DMDT_7_19 0.0
DMDT_7_20 0.0
DMDT_7_21 0.0
DMDT_7_22 0.0
DMDT_7_23 0.0
DMDT_8_0 0.0
DMDT_8_1 0.0
DMDT_8_2 0.0
DMDT_8_3 0.0
DMDT_8_4 0.0
DMDT_8_5 0.0
DMDT_8_6 0.0
DMDT_8_7 1.0
DMDT_8_8 1.0
DMDT_8_9 0.0
DMDT_8_10 1.0
DMDT_8_11 1.0
DMDT_8_12 1.0
DMDT_8_13 0.0
DMDT_8_14 1.0
DMDT_8_15 1.0
DMDT_8_16 1.0
DMDT_8_17 0.0
DMDT_8_18 0.0
DMDT_8_19 0.0
DMDT_8_20 0.0
DMDT_8_21 0.0
DMDT_8_22 0.0
DMDT_8_23 0.0
DMDT_9_0 0.0
DMDT_9_1 0.0
DMDT_9_2 0.0
DMDT_9_3 0.0
DMDT_9_4 0.0
DMDT_9_5 0.0
DMDT_9_6 0.0
DMDT_9_7 0.0
DMDT_9_8 1.0
DMDT_9_9 1.0
DMDT_9_10 1.0
DMDT_9_11 1.0
DMDT_9_12 1.0
DMDT_9_13 0.0
DMDT_9_14 0.0
DMDT_9_15 1.0
DMDT_9_16 0.0
DMDT_9_17 0.0
DMDT_9_18 0.0
DMDT_9_19 0.0
DMDT_9_20 0.0
DMDT_9_21 0.0
DMDT_9_22 0.0
DMDT_9_23 0.0
DMDT_10_0 0.0
DMDT_10_1 0.0
DMDT_10_2 0.0
DMDT_10_3 0.0
DMDT_10_4 0.0
DMDT_10_5 0.0
DMDT_10_6 0.0
DMDT_10_7 1.0
DMDT_10_8 1.0
DMDT_10_9 1.0
DMDT_10_10 1.0
DMDT_10_11 1.0
DMDT_10_12 1.0
DMDT_10_13 1.0
DMDT_10_14 1.0
DMDT_10_15 1.0
DMDT_10_16 1.0
DMDT_10_17 0.0
DMDT_10_18 0.0
DMDT_10_19 0.0
DMDT_10_20 0.0
DMDT_10_21 0.0
DMDT_10_22 0.0
DMDT_10_23 0.0
DMDT_11_0 0.0
DMDT_11_1 0.0
DMDT_11_2 0.0
DMDT_11_3 0.0
DMDT_11_4 0.0
DMDT_11_5 0.0
DMDT_11_6 1.0
DMDT_11_7 1.0
DMDT_11_8 1.0
DMDT_11_9 1.0
DMDT_11_10 1.0
DMDT_11_11 1.0
DMDT_11_12 1.0
DMDT_11_13 1.0
DMDT_11_14 1.0
DMDT_11_15 1.0
DMDT_11_16 1.0
DMDT_11_17 0.0
DMDT_11_18 0.0
DMDT_11_19 0.0
DMDT_11_20 0.0
DMDT_11_21 0.0
DMDT_11_22 0.0
DMDT_11_23 0.0
DMDT_12_0 0.0
DMDT_12_1 0.0
DMDT_12_2 0.0
DMDT_12_3 0.0
DMDT_12_4 0.0
DMDT_12_5 0.0
DMDT_12_6 1.0
DMDT_12_7 1.0
DMDT_12_8 1.0
DMDT_12_9 1.0
DMDT_12_10 1.0
DMDT_12_11 1.0
DMDT_12_12 1.0
DMDT_12_13 1.0
DMDT_12_14 1.0
DMDT_12_15 1.0
DMDT_12_16 1.0
DMDT_12_17 1.0
DMDT_12_18 0.0
DMDT_12_19 0.0
DMDT_12_20 0.0
DMDT_12_21 0.0
DMDT_12_22 0.0
DMDT_12_23 0.0
DMDT_13_0 0.0
DMDT_13_1 0.0
DMDT_13_2 0.0
DMDT_13_3 0.0
DMDT_13_4 0.0
DMDT_13_5 0.0
DMDT_13_6 1.0
DMDT_13_7 1.0
DMDT_13_8 1.0
DMDT_13_9 1.0
DMDT_13_10 1.0
DMDT_13_11 1.0
DMDT_13_12 1.0
DMDT_13_13 1.0
DMDT_13_14 1.0
DMDT_13_15 1.0
DMDT_13_16 1.0
DMDT_13_17 1.0
DMDT_13_18 0.0
DMDT_13_19 0.0
DMDT_13_20 0.0
DMDT_13_21 0.0
DMDT_13_22 0.0
DMDT_13_23 0.0
DMDT_14_0 0.0
DMDT_14_1 0.0
DMDT_14_2 0.0
DMDT_14_3 0.0
DMDT_14_4 0.0
DMDT_14_5 0.0
DMDT_14_6 1.0
DMDT_14_7 1.0
DMDT_14_8 1.0
DMDT_14_9 1.0
DMDT_14_10 1.0
DMDT_14_11 1.0
DMDT_14_12 1.0
DMDT_14_13 1.0
DMDT_14_14 1.0
DMDT_14_15 1.0
DMDT_14_16 1.0
DMDT_14_17 1.0
DMDT_14_18 0.0
DMDT_14_19 0.0
DMDT_14_20 0.0
DMDT_14_21 0.0
DMDT_14_22 0.0
DMDT_14_23 0.0
DMDT_15_0 0.0
DMDT_15_1 0.0
DMDT_15_2 0.0
DMDT_15_3 0.0
DMDT_15_4 0.0
DMDT_15_5 1.0
DMDT_15_6 1.0
DMDT_15_7 1.0
DMDT_15_8 1.0
DMDT_15_9 1.0
DMDT_15_10 1.0
DMDT_15_11 1.0
DMDT_15_12 1.0
DMDT_15_13 1.0
DMDT_15_14 1.0
DMDT_15_15 1.0
DMDT_15_16 1.0
DMDT_15_17 1.0
DMDT_15_18 0.0
DMDT_15_19 0.0
DMDT_15_20 0.0
DMDT_15_21 0.0
DMDT_15_22 0.0
DMDT_15_23 0.0
DMDT_16_0 0.0
DMDT_16_1 0.0
DMDT_16_2 0.0
DMDT_16_3 0.0
DMDT_16_4 0.0
DMDT_16_5 1.0
DMDT_16_6 1.0
DMDT_16_7 1.0
DMDT_16_8 1.0
DMDT_16_9 1.0
DMDT_16_10 1.0
DMDT_16_11 2.0
DMDT_16_12 2.0
DMDT_16_13 1.0
DMDT_16_14 1.0
DMDT_16_15 1.0
DMDT_16_16 1.0
DMDT_16_17 1.0
DMDT_16_18 1.0
DMDT_16_19 0.0
DMDT_16_20 0.0
DMDT_16_21 0.0
DMDT_16_22 0.0
DMDT_16_23 0.0
DMDT_17_0 0.0
DMDT_17_1 0.0
DMDT_17_2 0.0
DMDT_17_3 0.0
DMDT_17_4 0.0
DMDT_17_5 1.0
DMDT_17_6 1.0
DMDT_17_7 1.0
DMDT_17_8 1.0
DMDT_17_9 1.0
DMDT_17_10 1.0
DMDT_17_11 4.0
DMDT_17_12 4.0
DMDT_17_13 1.0
DMDT_17_14 1.0
DMDT_17_15 1.0
DMDT_17_16 1.0
DMDT_17_17 1.0
DMDT_17_18 1.0
DMDT_17_19 0.0
DMDT_17_20 0.0
DMDT_17_21 0.0
DMDT_17_22 0.0
DMDT_17_23 0.0
DMDT_18_0 0.0
DMDT_18_1 0.0
DMDT_18_2 0.0
DMDT_18_3 0.0
DMDT_18_4 0.0
DMDT_18_5 1.0
DMDT_18_6 1.0
DMDT_18_7 1.0
DMDT_18_8 2.0
DMDT_18_9 2.0
DMDT_18_10 2.0
DMDT_18_11 6.0
DMDT_18_12 6.0
DMDT_18_13 2.0
DMDT_18_14 2.0
DMDT_18_15 2.0
DMDT_18_16 2.0
DMDT_18_17 1.0
DMDT_18_18 1.0
DMDT_18_19 0.0
DMDT_18_20 0.0
DMDT_18_21 0.0
DMDT_18_22 0.0
DMDT_18_23 0.0
DMDT_19_0 0.0
DMDT_19_1 0.0
DMDT_19_2 0.0
DMDT_19_3 0.0
DMDT_19_4 0.0
DMDT_19_5 1.0
DMDT_19_6 1.0
DMDT_19_7 2.0
DMDT_19_8 3.0
DMDT_19_9 3.0
DMDT_19_10 3.0
DMDT_19_11 10.0
DMDT_19_12 10.0
DMDT_19_13 3.0
DMDT_19_14 3.0
DMDT_19_15 3.0
DMDT_19_16 3.0
DMDT_19_17 1.0
DMDT_19_18 1.0
DMDT_19_19 0.0
DMDT_19_20 0.0
DMDT_19_21 0.0
DMDT_19_22 0.0
DMDT_19_23 0.0
DMDT_20_0 0.0
DMDT_20_1 0.0
DMDT_20_2 0.0
DMDT_20_3 0.0
DMDT_20_4 0.0
DMDT_20_5 1.0
DMDT_20_6 1.0
DMDT_20_7 3.0
DMDT_20_8 5.0
DMDT_20_9 5.0
DMDT_20_10 5.0
DMDT_20_11 16.0
DMDT_20_12 18.0
DMDT_20_13 5.0
DMDT_20_14 5.0
DMDT_20_15 5.0
DMDT_20_16 4.0
DMDT_20_17 1.0
DMDT_20_18 1.0
DMDT_20_19 0.0
DMDT_20_20 0.0
DMDT_20_21 0.0
DMDT_20_22 0.0
DMDT_20_23 0.0
DMDT_21_0 0.0
DMDT_21_1 0.0
DMDT_21_2 0.0
DMDT_21_3 0.0
DMDT_21_4 0.0
DMDT_21_5 1.0
DMDT_21_6 1.0
DMDT_21_7 3.0
DMDT_21_8 5.0
DMDT_21_9 5.0
DMDT_21_10 5.0
DMDT_21_11 17.0
DMDT_21_12 20.0
DMDT_21_13 6.0
DMDT_21_14 5.0
DMDT_21_15 6.0
DMDT_21_16 4.0
DMDT_21_17 1.0
DMDT_21_18 1.0
DMDT_21_19 0.0
DMDT_21_20 0.0
DMDT_21_21 0.0
DMDT_21_22 0.0
DMDT_21_23 0.0
DMDT_22_0 0.0
DMDT_22_1 0.0
DMDT_22_2 0.0
DMDT_22_3 0.0
DMDT_22_4 0.0
DMDT_22_5 1.0
DMDT_22_6 1.0
DMDT_22_7 2.0
DMDT_22_8 2.0
DMDT_22_9 2.0
DMDT_22_10 2.0
DMDT_22_11 7.0
DMDT_22_12 9.0
DMDT_22_13 2.0
DMDT_22_14 2.0
DMDT_22_15 2.0
DMDT_22_16 2.0
DMDT_22_17 1.0
DMDT_22_18 0.0
DMDT_22_19 0.0
DMDT_22_20 0.0
DMDT_22_21 0.0
DMDT_22_22 0.0
DMDT_22_23 0.0
Eta_color 12930.685257570141
Eta_e 905.636200812288
FluxPercentileRatioMid20 0.09131403118040174
FluxPercentileRatioMid35 0.1781737193763922
FluxPercentileRatioMid50 0.3162583518930947
FluxPercentileRatioMid65 0.5233853006681504
FluxPercentileRatioMid80 0.7995545657015593
Freq1_harmonics_amplitude_0 0.13297191886665682
Freq1_harmonics_rel_phase_0 0.0
Freq1_harmonics_amplitude_1 0.07708190071937732
Freq1_harmonics_rel_phase_1 0.11506771848541875
Freq1_harmonics_amplitude_2 0.049703893823420386
Freq1_harmonics_rel_phase_2 0.3342992671936593
Freq1_harmonics_amplitude_3 0.025328725816726485
Freq1_harmonics_rel_phase_3 0.5308555764740739
Freq2_harmonics_amplitude_0 0.016357295575401373
Freq2_harmonics_rel_phase_0 0.0
Freq2_harmonics_amplitude_1 0.00116609801518309
Freq2_harmonics_rel_phase_1 -1.2826352924868387
Freq2_harmonics_amplitude_2 0.006229687748569223
Freq2_harmonics_rel_phase_2 -0.2727495960699948
Freq2_harmonics_amplitude_3 0.003237582323722657
Freq2_harmonics_rel_phase_3 -1.304331620349317
Freq3_harmonics_amplitude_0 0.01765091985997523
Freq3_harmonics_rel_phase_0 0.0
Freq3_harmonics_amplitude_1 0.0072490280397960365
Freq3_harmonics_rel_phase_1 0.35289198840867064
Freq3_harmonics_amplitude_2 0.002865392183527512
Freq3_harmonics_rel_phase_2 -1.555634635546236
Freq3_harmonics_amplitude_3 0.004961723047279988
Freq3_harmonics_rel_phase_3 0.9896319782640918
Gskew 0.24549999999999983
LinearTrend 6.173658576812162e-06
MaxSlope 54.72525836116783
Mean -5.917989112227805
Meanvariance -0.023922513589418142
MedianAbsDev 0.05449999999999999
MedianBRP 0.7453936348408711
PairSlopeTrend 0.03333333333333333
PercentAmplitude -0.11308575739793782
PercentDifferenceFluxPercentile -0.07527873250062869
PeriodLS_0 0.9369422174047677
Period_fit_0 0.0
Psi_CS_0 0.18807703843435905
Psi_eta_0 0.7078450866241952
Q31 0.14100000000000001
Q31_color 0.10600000000000076
Rcs 0.03917145077266578
SignaturePhMag_0_0 0.0373540748638581
SignaturePhMag_0_1 0.0
SignaturePhMag_0_2 0.0
SignaturePhMag_0_3 0.0
SignaturePhMag_0_4 0.48560297323015567
SignaturePhMag_0_5 1.6062252191458974
SignaturePhMag_0_6 0.29883259891086467
SignaturePhMag_0_7 0.0
SignaturePhMag_0_8 0.0
SignaturePhMag_0_9 0.0
SignaturePhMag_0_10 0.0
SignaturePhMag_0_11 0.0
SignaturePhMag_1_0 0.0
SignaturePhMag_1_1 0.0373540748638581
SignaturePhMag_1_2 0.0
SignaturePhMag_1_3 0.0373540748638581
SignaturePhMag_1_4 0.5603111229578718
SignaturePhMag_1_5 1.905057818056762
SignaturePhMag_1_6 0.07470814972771617
SignaturePhMag_1_7 0.07470814972771625
SignaturePhMag_1_8 0.0
SignaturePhMag_1_9 0.0
SignaturePhMag_1_10 0.0
SignaturePhMag_1_11 0.0
SignaturePhMag_2_0 0.0
SignaturePhMag_2_1 0.0
SignaturePhMag_2_2 0.0
SignaturePhMag_2_3 0.037354074863858104
SignaturePhMag_2_4 0.6350192726855882
SignaturePhMag_2_5 1.75564151860133
SignaturePhMag_2_6 0.14941629945543236
SignaturePhMag_2_7 0.0
SignaturePhMag_2_8 0.0
SignaturePhMag_2_9 0.0
SignaturePhMag_2_10 0.0
SignaturePhMag_2_11 0.0
SignaturePhMag_3_0 0.0
SignaturePhMag_3_1 0.0
SignaturePhMag_3_2 0.0
SignaturePhMag_3_3 0.0
SignaturePhMag_3_4 0.44824889836629744
SignaturePhMag_3_5 1.4941629945543229
SignaturePhMag_3_6 0.29883259891086456
SignaturePhMag_3_7 0.03735407486385811
SignaturePhMag_3_8 0.0
SignaturePhMag_3_9 0.0
SignaturePhMag_3_10 0.0
SignaturePhMag_3_11 0.0
SignaturePhMag_4_0 0.0
SignaturePhMag_4_1 0.0
SignaturePhMag_4_2 0.0373540748638581
SignaturePhMag_4_3 0.0
SignaturePhMag_4_4 0.26147852404700683
SignaturePhMag_4_5 2.3906607912869164
SignaturePhMag_4_6 0.22412444918314847
SignaturePhMag_4_7 0.0
SignaturePhMag_4_8 0.0
SignaturePhMag_4_9 0.0
SignaturePhMag_4_10 0.0
SignaturePhMag_4_11 0.0
SignaturePhMag_5_0 0.0
SignaturePhMag_5_1 0.0
SignaturePhMag_5_2 0.0
SignaturePhMag_5_3 0.0
SignaturePhMag_5_4 0.2241244491831488
SignaturePhMag_5_5 1.4194548448266076
SignaturePhMag_5_6 0.3361866737747229
SignaturePhMag_5_7 0.03735407486385814
SignaturePhMag_5_8 0.0
SignaturePhMag_5_9 0.0
SignaturePhMag_5_10 0.0
SignaturePhMag_5_11 0.0
SignaturePhMag_6_0 0.0
SignaturePhMag_6_1 0.0
SignaturePhMag_6_2 0.0
SignaturePhMag_6_3 0.0
SignaturePhMag_6_4 0.1494162994554324
SignaturePhMag_6_5 1.979765967784477
SignaturePhMag_6_6 0.3361866737747225
SignaturePhMag_6_7 0.0747081497277162
SignaturePhMag_6_8 0.0
SignaturePhMag_6_9 0.0
SignaturePhMag_6_10 0.0
SignaturePhMag_6_11 0.0
SignaturePhMag_7_0 0.0
SignaturePhMag_7_1 0.0
SignaturePhMag_7_2 0.0
SignaturePhMag_7_3 0.07470814972771624
SignaturePhMag_7_4 0.0
SignaturePhMag_7_5 1.9050578180567628
SignaturePhMag_7_6 0.3361866737747229
SignaturePhMag_7_7 0.1120622245915744
SignaturePhMag_7_8 0.0
SignaturePhMag_7_9 0.0
SignaturePhMag_7_10 0.0
SignaturePhMag_7_11 0.0
SignaturePhMag_8_0 0.0
SignaturePhMag_8_1 0.0
SignaturePhMag_8_2 0.0
SignaturePhMag_8_3 0.07470814972771624
SignaturePhMag_8_4 0.1120622245915744
SignaturePhMag_8_5 1.2326844705073172
SignaturePhMag_8_6 0.8964977967325943
SignaturePhMag_8_7 0.18677037431929067
SignaturePhMag_8_8 0.14941629945543256
SignaturePhMag_8_9 0.0
SignaturePhMag_8_10 0.0
SignaturePhMag_8_11 0.0
SignaturePhMag_9_0 0.0
SignaturePhMag_9_1 0.0
SignaturePhMag_9_2 0.0
SignaturePhMag_9_3 0.0
SignaturePhMag_9_4 0.0
SignaturePhMag_9_5 0.037354074863858056
SignaturePhMag_9_6 0.9338518715964516
SignaturePhMag_9_7 0.7844355721410201
SignaturePhMag_9_8 0.2988325989108648
SignaturePhMag_9_9 0.0747081497277162
SignaturePhMag_9_10 0.0
SignaturePhMag_9_11 0.0
SignaturePhMag_10_0 0.0
SignaturePhMag_10_1 0.0
SignaturePhMag_10_2 0.037354074863858076
SignaturePhMag_10_3 0.0
SignaturePhMag_10_4 0.0
SignaturePhMag_10_5 0.0
SignaturePhMag_10_6 0.14941629945543222
SignaturePhMag_10_7 0.4856029732301553
SignaturePhMag_10_8 1.083268171051885
SignaturePhMag_10_9 0.5229570480940133
SignaturePhMag_10_10 0.2241244491831481
SignaturePhMag_10_11 0.0
SignaturePhMag_11_0 0.0
SignaturePhMag_11_1 0.0
SignaturePhMag_11_2 0.0
SignaturePhMag_11_3 0.0
SignaturePhMag_11_4 0.0
SignaturePhMag_11_5 0.03735407486385813
SignaturePhMag_11_6 0.03735407486385813
SignaturePhMag_11_7 0.4482488983662981
SignaturePhMag_11_8 1.2326844705073197
SignaturePhMag_11_9 0.6723733475494471
SignaturePhMag_11_10 0.03735407486385809
SignaturePhMag_11_11 0.037354074863858173
SignaturePhMag_12_0 0.0
SignaturePhMag_12_1 0.0
SignaturePhMag_12_2 0.0
SignaturePhMag_12_3 0.0
SignaturePhMag_12_4 0.0
SignaturePhMag_12_5 0.14941629945543222
SignaturePhMag_12_6 0.8964977967325933
SignaturePhMag_12_7 0.6350192726855877
SignaturePhMag_12_8 0.7844355721410201
SignaturePhMag_12_9 0.41089482350243905
SignaturePhMag_12_10 0.037354074863858014
SignaturePhMag_12_11 0.0
SignaturePhMag_13_0 0.0
SignaturePhMag_13_1 0.0
SignaturePhMag_13_2 0.0
SignaturePhMag_13_3 0.037354074863858076
SignaturePhMag_13_4 0.0747081497277162
SignaturePhMag_13_5 0.8591437218687353
SignaturePhMag_13_6 0.9712059464603094
SignaturePhMag_13_7 0.26147852404700667
SignaturePhMag_13_8 0.0747081497277162
SignaturePhMag_13_9 0.0
SignaturePhMag_13_10 0.0
SignaturePhMag_13_11 0.0
SignaturePhMag_14_0 0.0
SignaturePhMag_14_1 0.0
SignaturePhMag_14_2 0.0
SignaturePhMag_14_3 0.0
SignaturePhMag_14_4 0.1494162994554327
SignaturePhMag_14_5 1.3073926202350346
SignaturePhMag_14_6 0.5976651978217301
SignaturePhMag_14_7 0.22412444918314905
SignaturePhMag_14_8 0.0
SignaturePhMag_14_9 0.0
SignaturePhMag_14_10 0.0
SignaturePhMag_14_11 0.0
SignaturePhMag_15_0 0.0
SignaturePhMag_15_1 0.0
SignaturePhMag_15_2 0.0
SignaturePhMag_15_3 0.037354074863858076
SignaturePhMag_15_4 0.11206222459157429
SignaturePhMag_15_5 1.53151706941818
SignaturePhMag_15_6 0.4856029732301547
SignaturePhMag_15_7 0.0373540748638581
SignaturePhMag_15_8 0.0373540748638581
SignaturePhMag_15_9 0.0
SignaturePhMag_15_10 0.0
SignaturePhMag_15_11 0.0
SignaturePhMag_16_0 0.0
SignaturePhMag_16_1 0.0
SignaturePhMag_16_2 0.037354074863858076
SignaturePhMag_16_3 0.0
SignaturePhMag_16_4 0.373540748638581
SignaturePhMag_16_5 1.6809333688736128
SignaturePhMag_16_6 0.3735407486385806
SignaturePhMag_16_7 0.0747081497277162
SignaturePhMag_16_8 0.0
SignaturePhMag_16_9 0.0
SignaturePhMag_16_10 0.0
SignaturePhMag_16_11 0.0
SignaturePhMag_17_0 0.0
SignaturePhMag_17_1 0.0
SignaturePhMag_17_2 0.0
SignaturePhMag_17_3 0.11206222459157446
SignaturePhMag_17_4 0.4108948235024399
SignaturePhMag_17_5 1.7929955934651902
SignaturePhMag_17_6 0.37354074863858133
SignaturePhMag_17_7 0.0
SignaturePhMag_17_8 0.0
SignaturePhMag_17_9 0.0
SignaturePhMag_17_10 0.0
SignaturePhMag_17_11 0.0
Skew 0.956469867559379
SlottedA_length 1.0
SmallKurtosis 1.3794786801255068
Std 0.14157317495929828
StetsonJ 1.3984111401436403
StetsonK 0.6906266262889181
StetsonK_AC 0.8125631614577979
StetsonL 0.5823703637198997
StructureFunction_index_21 2.04757219898926
StructureFunction_index_31 3.1276618569316184
StructureFunction_index_32 1.6990646290639937

Required data

The FeatureSpace object auto generates the set of required data (stored in FeatureSpace.required_data_) based on the data, only and exclude params. If you not provide the required data when you excecute the extract() method, an exception is raised. For example


In [16]:
fs = feets.FeatureSpace(only=["PeriodLS"])
fs.required_data_


Out[16]:
frozenset({'magnitude', 'time'})

In [17]:
%%expect_exception feets.DataRequiredError

fs.extract(time=time)


---------------------------------------------------------------------------
DataRequiredError                         Traceback (most recent call last)
<ipython-input-17-b1d41c0916d5> in <module>
      1 
----> 2 fs.extract(time=time)

~/proyectos/feets/src/feets/core.py in extract(self, time, magnitude, error, magnitude2, aligned_time, aligned_magnitude, aligned_magnitude2, aligned_error, aligned_error2)
    383             DATA_ALIGNED_MAGNITUDE2: aligned_magnitude2,
    384             DATA_ALIGNED_ERROR: aligned_error,
--> 385             DATA_ALIGNED_ERROR2: aligned_error2})
    386 
    387         features, extractors = {}, {}

~/proyectos/feets/src/feets/core.py in preprocess_timeserie(self, d)
    343         for k, v in d.items():
    344             if k in self._required_data and v is None:
--> 345                 raise DataRequiredError(k)
    346             array_data[k] = v if v is None else np.asarray(v)
    347         return array_data

DataRequiredError: magnitude

Features Calculation Precedence

As showed the parameters data, only and exclude can be combinded and the selected features will be calculated in three steps:

  1. The FeatureSpace select all the features available for the available data, otherwise all the features are selected.
  2. If the only parameter is not None then the selected features from the step 1 are filtered only if they exist in the only list.
  3. If exclude is not None, then removes the features selected by the step 1 and 2 that are also in exlude

Library output

When calculating the features of a light-curve, the output are two different array.

  1. The first one are the names of the calculated features, where thr $i_{nth}$ element represent the name of the $i_{nth}$ feature.
  2. The second array are the values of the features in the same order that the names.

So for example if we want to print the name and the value of the 3rd feature:


In [20]:
fs = feets.FeatureSpace() 
rs = fs.extract(*lc)
features, values = rs.as_arrays()
print(features[2], "=", values[2])


Autocor_length = 1.0

Inother hand this format can be easily converted into a dictionary with the next code:


In [21]:
fdict = rs.as_dict()
fdict


Out[21]:
{'Amplitude': 0.26500000000000057,
 'AndersonDarling': 1.0,
 'Autocor_length': 1,
 'Beyond1Std': 0.22278056951423786,
 'CAR_mean': -9.230698873903961,
 'CAR_sigma': -0.2192804929884251,
 'CAR_tau': 0.6411203737734862,
 'Color': -0.33325502453332145,
 'Con': 0.0,
 'DMDT': array([[ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,
          0,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  0,  0,  1,
          0,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  0,  1,  1,
          1,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  0,  0,  1,
          0,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,
          1,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
          1,  0,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
          1,  1,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
          1,  1,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
          1,  1,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
          1,  1,  0,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  2,  2,  1,  1,  1,
          1,  1,  1,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  4,  4,  1,  1,  1,
          1,  1,  1,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  1,  1,  1,  2,  2,  2,  6,  6,  2,  2,  2,
          2,  1,  1,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  1,  1,  2,  3,  3,  3, 10, 10,  3,  3,  3,
          3,  1,  1,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  1,  1,  3,  5,  5,  5, 16, 18,  5,  5,  5,
          4,  1,  1,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  1,  1,  3,  5,  5,  5, 17, 20,  6,  5,  6,
          4,  1,  1,  0,  0,  0,  0,  0],
        [ 0,  0,  0,  0,  0,  1,  1,  2,  2,  2,  2,  7,  9,  2,  2,  2,
          2,  1,  0,  0,  0,  0,  0,  0]]),
 'Eta_color': 12930.685257570141,
 'Eta_e': 905.636200812288,
 'FluxPercentileRatioMid20': 0.09131403118040174,
 'FluxPercentileRatioMid35': 0.1781737193763922,
 'FluxPercentileRatioMid50': 0.3162583518930947,
 'FluxPercentileRatioMid65': 0.5233853006681504,
 'FluxPercentileRatioMid80': 0.7995545657015593,
 'Freq1_harmonics': ([0.13297191886665682,
   0.07708190071937732,
   0.049703893823420386,
   0.025328725816726485],
  array([0.        , 0.11506772, 0.33429927, 0.53085558])),
 'Freq2_harmonics': ([0.016357295575401373,
   0.00116609801518309,
   0.006229687748569223,
   0.003237582323722657],
  array([ 0.        , -1.28263529, -0.2727496 , -1.30433162])),
 'Freq3_harmonics': ([0.01765091985997523,
   0.0072490280397960365,
   0.002865392183527512,
   0.004961723047279988],
  array([ 0.        ,  0.35289199, -1.55563464,  0.98963198])),
 'Gskew': 0.24549999999999983,
 'LinearTrend': 6.173658576812162e-06,
 'MaxSlope': 54.72525836116783,
 'Mean': -5.917989112227805,
 'Meanvariance': -0.023922513589418142,
 'MedianAbsDev': 0.05449999999999999,
 'MedianBRP': 0.7453936348408711,
 'PairSlopeTrend': 0.03333333333333333,
 'PercentAmplitude': -0.11308575739793782,
 'PercentDifferenceFluxPercentile': -0.07527873250062869,
 'PeriodLS': array([0.93694222]),
 'Period_fit': array([0.]),
 'Psi_CS': array([0.18807704]),
 'Psi_eta': array([0.70784509]),
 'Q31': 0.14100000000000001,
 'Q31_color': 0.10600000000000076,
 'Rcs': 0.03917145077266578,
 'SignaturePhMag': array([[0.03735407, 0.        , 0.        , 0.        , 0.48560297,
         1.60622522, 0.2988326 , 0.        , 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.03735407, 0.        , 0.03735407, 0.56031112,
         1.90505782, 0.07470815, 0.07470815, 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.03735407, 0.63501927,
         1.75564152, 0.1494163 , 0.        , 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.        , 0.4482489 ,
         1.49416299, 0.2988326 , 0.03735407, 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.03735407, 0.        , 0.26147852,
         2.39066079, 0.22412445, 0.        , 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.        , 0.22412445,
         1.41945484, 0.33618667, 0.03735407, 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.        , 0.1494163 ,
         1.97976597, 0.33618667, 0.07470815, 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.07470815, 0.        ,
         1.90505782, 0.33618667, 0.11206222, 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.07470815, 0.11206222,
         1.23268447, 0.8964978 , 0.18677037, 0.1494163 , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.        , 0.        ,
         0.03735407, 0.93385187, 0.78443557, 0.2988326 , 0.07470815,
         0.        , 0.        ],
        [0.        , 0.        , 0.03735407, 0.        , 0.        ,
         0.        , 0.1494163 , 0.48560297, 1.08326817, 0.52295705,
         0.22412445, 0.        ],
        [0.        , 0.        , 0.        , 0.        , 0.        ,
         0.03735407, 0.03735407, 0.4482489 , 1.23268447, 0.67237335,
         0.03735407, 0.03735407],
        [0.        , 0.        , 0.        , 0.        , 0.        ,
         0.1494163 , 0.8964978 , 0.63501927, 0.78443557, 0.41089482,
         0.03735407, 0.        ],
        [0.        , 0.        , 0.        , 0.03735407, 0.07470815,
         0.85914372, 0.97120595, 0.26147852, 0.07470815, 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.        , 0.1494163 ,
         1.30739262, 0.5976652 , 0.22412445, 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.03735407, 0.11206222,
         1.53151707, 0.48560297, 0.03735407, 0.03735407, 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.03735407, 0.        , 0.37354075,
         1.68093337, 0.37354075, 0.07470815, 0.        , 0.        ,
         0.        , 0.        ],
        [0.        , 0.        , 0.        , 0.11206222, 0.41089482,
         1.79299559, 0.37354075, 0.        , 0.        , 0.        ,
         0.        , 0.        ]]),
 'Skew': 0.956469867559379,
 'SlottedA_length': 1,
 'SmallKurtosis': 1.3794786801255068,
 'Std': 0.14157317495929828,
 'StetsonJ': 1.3984111401436403,
 'StetsonK': 0.6906266262889181,
 'StetsonK_AC': 0.8125631614577979,
 'StetsonL': 0.5823703637198997,
 'StructureFunction_index_21': 2.04757219898926,
 'StructureFunction_index_31': 3.1276618569316184,
 'StructureFunction_index_32': 1.6990646290639937}

Ploting the example lightcurve in phase

Note: for periodic light-curves we are able to transform the photometric time series into a single light-curve in which each period is mapped onto the same time axis as follows:

$$ t'=\{\frac{t-t_0}{T}\} $$

where $T$ is the period, $t_0$ is an arbitrary starting point and the symbol $\{\}$ represents the non-integer part of the fraction. This process produces a folded light-curve on an x-axis of folded time that ranges from 0 to 1. The corresponding folded light-curve of the previous example is shown next:


In [22]:
T = 2 * fdict["PeriodLS"]
new_b = np.mod(lc[0], T) / T;
idx = np.argsort(2 * new_b)

plt.plot(new_b, lc[1], '*')
plt.xlabel("Phase")
plt.ylabel("Magnitude")
plt.gca().invert_yaxis()


The Features

The next section details the features that we have developed in order to represent light curves. For each feature, we also describe a benchmark test performed in order to test the feature's correctness.

Each feature was also tested to ensure invariability to unequal sampling. Because telescope observations are not always taken at uniformly spaced intervals, the light curve features should be invariant to this non-uniformity. These test can be found [here](https://github.com/carpyncho/feets/blob/master/feets/tests/test_FATS_to_feets.py#L172-L262)

Let's first assume the existence of some synthetic light-curves in order to explain each one of the features extractors along the library:

  • lc_normal : its magnitude follows a Gaussian distribution
  • lc_periodic : its magnitude has a periodic variability
  • lc_uniform : its magnitude follows a uniform distribution

In [25]:
features_doc()


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-25-9085c9996f54> in <module>
----> 1 features_doc()

~/proyectos/feets/src/doc/source/tutorial.py in features_doc()
    246     rows = []
    247     extractors = sorted({
--> 248         e for e in feets.registered_extractors().values()})
    249     for idx, ext in enumerate(extractors):
    250         name = ext.__name__

TypeError: '<' not supported between instances of 'ExtractorMeta' and 'ExtractorMeta'

In [ ]: