Struct light_curve_feature::features::Periodogram [−][src]
pub struct Periodogram<T, F> where
T: Float, { /* fields omitted */ }
Expand description
Peaks of Lomb–Scargle periodogram and periodogram as a meta-feature
Periodogram $P(\omega)$ is an estimate of spectral density of unevenly time series. peaks
argument
corresponds to a number of the most significant spectral density peaks to return. For each peak its
period and “signal to noise” ratio is returned:
$$ \mathrm{signal~to~noise~of~peak} \equiv \frac{P(\omega_\mathrm{peak}) - \langle P(\omega) \rangle}{\sigma_{P(\omega)}}. $$
Periodogram can accept other features for feature extraction from periodogram as it was time series without observation errors (unity weights are used if required). You can even pass one Periodogram to another one if you are crazy enough
- Depends on: time, magnitude
- Minimum number of observations: as required by sub-features, but at least two
- Number of features: $2 \times \mathrm{peaks}$ plus sub-features
Implementations
Set frequency resolution
The larger frequency resolution allows to find peak period with better precision
Multiply maximum (Nyquist) frequency
Maximum frequency is Nyquist frequncy multiplied by this factor. The larger factor allows to find larger frequency and makes PeriodogramPowerFft more precise. However large frequencies can show false peaks
Define Nyquist frequency
Extend a feature to extract from periodogram
pub fn set_periodogram_algorithm(
&mut self,
periodogram_power: PeriodogramPower<T>
) -> &mut Self
New Periodogram that finds given number of peaks
Trait Implementations
impl<T, F> Default for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks>,
impl<T, F> Default for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks>,
impl<'de, T, F> Deserialize<'de> for Periodogram<T, F> where
T: Float,
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
impl<'de, T, F> Deserialize<'de> for Periodogram<T, F> where
T: Float,
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<T, F> EvaluatorInfoTrait for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
impl<T, F> EvaluatorInfoTrait for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
Size of vectors returned by eval(), get_names() and get_descriptions() Read more
Minimum time series length required to successfully evaluate feature
If time array used by the feature
If magnitude array is used by the feature
If weight array is used by the feature
If feature requires time-sorting on the input TimeSeries
impl<T, F> FeatureEvaluator<T> for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
impl<T, F> FeatureEvaluator<T> for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
Vector of feature values or EvaluatorError
Returns vector of feature values and fill invalid components with given value
Checks if TimeSeries has enough points to evaluate the feature
impl<T, F> FeatureNamesDescriptionsTrait for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
impl<T, F> FeatureNamesDescriptionsTrait for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
Performs the conversion.
fn try_into(
self
) -> Result<Periodogram<T, Self>, <Self as TryInto<Periodogram<T, Self>>>::Error>
fn try_into(
self
) -> Result<Periodogram<T, Self>, <Self as TryInto<Periodogram<T, Self>>>::Error>
Performs the conversion.
Auto Trait Implementations
impl<T, F> RefUnwindSafe for Periodogram<T, F> where
F: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, F> Send for Periodogram<T, F> where
F: Send,
impl<T, F> Sync for Periodogram<T, F> where
F: Sync,
impl<T, F> Unpin for Periodogram<T, F> where
F: Unpin,
T: Unpin,
impl<T, F> UnwindSafe for Periodogram<T, F> where
F: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
Convert the given value into an approximately equivalent representation.
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
Convert the subject into an approximately equivalent representation.
Mutably borrows from an owned value. Read more
Approximate the subject with the default scheme.
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject with a specific scheme.
Approximate the subject to a given type with the default scheme.
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.
Attempt to convert the subject to a given type.