Correlated datasets#
It is possible to incorporate a model for which the observed value \(Y\) at epoch \(i\) is a function of another (error-less) observable \(Z\), which I will call correlated variable:
\(Z_\mathrm{ref}\) is a reference value that can be either specified in the configuration file or automatically computed by PyORBIT
. In the latter case, the average of all \(Z\) is taken.
Model definition and requirements#
model_name:
local_correlation
orcorrelation
required common objects:
correlation
Tip
The common object correlation
will be automatically grabbed by PyORBIT
. Since there are no common parameters, there is no need to specify it in the common
section
Keywords#
Model-wide keywords, with the default value in boldface.
order
accepted values: any number up to 10 |
1
order (or degree) of the polynomial used to describe the correlation
correlated_variable
accepted values: any variable name |
corr
specify which variable you want to use as correlated model. You need to declare it if you use a name different from
corr
for the label of your column in your dataset/ancillary file
normalization_model
accepted values:
True
|False
If
False
, the correlation model is added to the final model (which is a combination of all the other models). IfTrue
, the correlation model is multiplied to the final model (as in the case of a normalization factor).If set to
True
, they keywordinclude_zero_point
will be set to True as well.
use_median_xzero
accepted values:
True
|False
if
True
, automatically compute the median of the correlated variable, regardless of the value provided to the keyworduse_median_xzero
x_zero
accepted values: any value | median of the correlated dataset
User value for \(Z_\mathrm{ref}\) as defined in Equation {eq}
polynomial_correlation
. To be valid, the keyworduse_median_xzero
must be set toFalse
.
include_zero_point
accepted values:
True
|False
The coefficient \(c_0\) is automatically set to zero, to avoid a degeneracy between this parameter and the offset of the dataset. You can decide to fit for \(c_0\) by setting this keyword to True, but be aware of the consequences
Note: this keyword is set to
True
ifnormalization_model
is set to True
exclude_zero_point
accepted values:
True
|False
It does the opposite of the keywordinclude_zero_point
. It must be set toTrue
if you are using thenormalization_model
flag but you don’t want to fit for \(c_0\)
baseline_value
I’ll fix this
Warning
Not all the keywords have been implemented in version <= 9.1.12, check out if the output is consistent with your expectations.
Examples#
The input dataset follows the standard structure described in Prepare a dataset file.
# time flux flux_err jitter offset subset
0.302929 131.510068 1.00 0 0 -1
0.808006 58.192176 1.00 0 0 -1
2.114672 -37.794774 1.00 0 0 -1
...
The ancillary dataset, specified in the ancillary
keyword in the input
section as in the example below, is rather simple:
# time corr
0.302929 49.767572
0.808006 35.340020
2.114672 16.585392
...
This is an example of a basic analysis where a radial velocity model and a correlation model are used simultaneously. You can see that is not necessary to specify the correlation
model in the common
section, as PyORBIT
will automatically grab the default boundaries, priors, and spaces from the model
specification.
1inputs:
2 RV_data:
3 file: dataset_dat.dat
4 ancillary: dataset_anc.dat
5 kind: RV
6 models:
7 - radial_velocities
8 - local_correlation
9common:
10 planets:
11 b:
12 orbit: circular
13 boundaries:
14 P: [2, 20]
15 K: [0.01, 10.0]
16 star:
17 star_parameters:
18 priors:
19 radius: ['Gaussian', 1.00, 0.02]
20 mass: ['Gaussian', 1.00, 0.02]
21models:
22 radial_velocities:
23 planets:
24 - b
25 local_correlation:
26 model: local_correlation
27 correlated_variable: corr
28 order: 1
29parameters:
30 Tref: 0.00 #BJD-2450000; istante arbitrario, più o meno centrale
31solver:
32 pyde:
33 ngen: 20000
34 npop_mult: 4
35 emcee:
36 npop_mult: 4
37 nsteps: 25000
38 nburn: 10000
39 thin: 100
40 nested_sampling:
41 nlive: 4000
42 recenter_bounds: True
New from PyORBIT
version 10:
The correlated dataset can be embedded directly in the dataset file (here called dataset_dat1.dat
):
# time flux flux_err jitter offset subset corr
0.302929 131.510068 1.00 0 0 -1 49.767572
0.808006 58.192176 1.00 0 0 -1 35.340020
2.114672 -37.794774 1.00 0 0 -1 16.585392
...
In this case, it is not necessary to include the ancillary
keyword anymore, but be sure to specify the correlated_variable
keyword in the model section, as shown in the example above-
1inputs:
2 RV_data:
3 file: dataset_dat1.dat
4 kind: RV
5 models:
6 - radial_velocities
7 - local_correlation
8common:
9 planets:
10 b:
11 orbit: circular
12 boundaries:
13 P: [2, 20]
14 K: [0.01, 10.0]
15 star:
16 star_parameters:
17 priors:
18 radius: ['Gaussian', 1.00, 0.02]
19 mass: ['Gaussian', 1.00, 0.02]
20models:
21 radial_velocities:
22 planets:
23 - b
24 local_correlation:
25 type: local_correlation
26 correlated_variable: corr
27 order: 1
28parameters:
29 Tref: 0.00 #BJD-2450000; istante arbitrario, più o meno centrale
30solver:
31 pyde:
32 ngen: 20000
33 npop_mult: 4
34 emcee:
35 npop_mult: 4
36 nsteps: 25000
37 nburn: 10000
38 thin: 100
39 nested_sampling:
40 nlive: 4000
41 recenter_bounds: True
Model parameters#
The following parameters will be inherited from the common model (column Common?: common) or a different value will be assigned for each dataset (column Common?: dataset)
Name |
Parameter |
Common? |
Definition |
Notes |
---|---|---|---|---|
x_zero |
Constant \(Z_\mathrm{ref}\) as defined in Equation {eq} |
dataset |
|
|
corr_cN |
Coefficient of order N |
dataset |
|