CCC
|
The Cross-Cycle Coherence periodogram (CCC) is a new period analysis method, developed specifically for Peranso by Tonny Vanmunster. It builds on the cross-validation approach to period finding (SuperSmoother, Reimann 1994; Hall, Reimann & Rice 2000), on the “leave-out-one-cycle” principle of Sun, Hart & Genton, and on the exclusion of observation pairs that are close in time, as in the dispersion methods of Pelt (You, Pelt & Tuominen 2000). Peranso’s implementation adds a criterion for independent confirmation of repetitions, robust error-weighted predictions and suppression of subharmonic periods, and is adapted to irregularly sampled data with observing gaps. CCC starts from a simple principle: if a trial period is the true period, the light curve must repeat itself, so every observation should be predictable from observations taken at the same phase in other cycles. For each trial frequency, CCC folds the observations and tries to predict the brightness of every observation from its nearest neighbours in phase. The essential difference from classical phase-folding methods such as PDM, ANOVA or Conditional Entropy is that CCC only uses neighbours from other cycles: observations that lie less than half a trial period apart in time are never used to predict each other. For short trial periods, a single night contains several cycles, and observations from the same night can confirm each other, which is why CCC also works on data from a single night. For long trial periods, however, all observations of one night fall within half a period of each other and can no longer “confirm” each other. Classical methods do implicitly reward such observations, because they end up close together in the phase diagram. This can produce false periods, such as 1-day aliases or a “period” equal to the length of the data set. CCC is much less sensitive to these effects. In addition, a prediction only counts if the repetition is confirmed independently: the neighbours must come from at least two different cycles, or from the same continuous series of observations (without an observing gap in between). This prevents a false period from being accepted because two separate nights happen to match by coincidence. CCC uses the magnitude errors of the observations, so accurate observations weigh more than noisy ones. The predictions are made robustly, so individual outliers have only a limited influence on the result. If no magnitude errors are available, Peranso estimates a common error from the scatter between consecutive observations. If only some observations have an error, the missing errors are replaced by the median of the available ones. The CCC statistic indicates how much better the observations can be predicted from other cycles than from the overall mean brightness. If the trial period is not a true period, the statistic is close to 0. If the trial period is a “true” period, it reaches a local maximum. The maximum possible value is 1, which would mean perfect repetition. Note that every multiple of a period (2P, 3P, ...) is also “periodic”, so CCC shows peaks at these multiples too. Peranso recognizes such peaks: if a shorter period scores almost as well, the longer one is not added to the list of prominent periods, although it remains visible in the Period Window. CCC is particularly effective for:
It makes no assumption about the shape of the light curve. Also note the following:
The CCC dialog box is similar to the Lomb-Scargle dialog box. No additional parameters need to be entered. Prominent periods of the Period Window appear as peaks. CCC: mathematical details Notation. The data set consists of N observations (tᵢ, mᵢ, σᵢ), with tᵢ the time relative to the first observation (in days), mᵢ the magnitude and σᵢ its error. For a trial frequency f (cycles/day), the trial period is P = 1/f and the phase of observation i is φᵢ = tᵢ·f − ⌊tᵢ·f⌋, 0 ≤ φᵢ < 1. The phase distance between two observations, accounting for the wrap-around at phase 1, is dᵢⱼ = min(|φᵢ − φⱼ|, 1 − |φᵢ − φⱼ|). Measurement errors. If all observations have a valid error, σᵢ is used as is. If only some do, the missing σᵢ are set to the median of the available errors. If none do, a common error is estimated from the time-ordered magnitudes as σ = 1.4826 · median(|mₖ₊₁ − mₖ|) / √2, which is robust against outliers and largely insensitive to slow variability. Segments. The time-ordered observations are divided into continuous segments, split wherever the time between two consecutive observations exceeds G = max(20 · median spacing, 0.05 d). Observations i and j are in the same segment if no gap larger than G lies between them. Neighbour selection. For each observation i, candidate neighbours are visited in order of increasing phase distance, alternating on both sides of φᵢ in the phase-sorted list, up to M = 8K steps on each side. A candidate j is valid only if it belongs to another cycle: |tⱼ − tᵢ| > P/2. For each valid neighbour, the cycle lag is ℓᵢⱼ = round((tⱼ − tᵢ) · f), an integer that is independent of the choice of phase zero. The first K valid neighbours are collected, with K = max(4, round(N^0.4)). If these K neighbours all have the same cycle lag, scanning continues until one neighbour with a different lag has been found (if one exists within M steps). Independent confirmation. The prediction for observation i is used only if (a) the neighbours contain at least two different cycle lags ℓ, or Otherwise observation i counts as unpredictable, and its loss is that of the null model (see below). Condition (b) allows a single repetition inside one continuous series of observations, which is genuine evidence of periodicity. A single repetition across an observing gap, which can arise by coincidence, is not enough on its own. Prediction. Each neighbour j receives a weight that combines its measurement error with a tricube kernel in phase distance: wⱼ = σⱼ⁻² · (1 − (dᵢⱼ/dₘₐₓ)³)³. The magnitude of observation i is predicted by a robust local-linear fit through its neighbours: m = A + B·δᵢⱼ, where δᵢⱼ is the signed phase offset of neighbour j relative to observation i (between −0.5 and 0.5). The fit uses weighted least squares, made robust by iterative reweighting (three iterations). In each iteration the weight of neighbour j is multiplied by 1/(1 + (rⱼ/c)²), with rⱼ its standardized residual from the fit. The prediction is m̂ᵢ = A. A local-linear fit avoids the bias of a local average on steep parts of the light curve, which is important because neighbours from other cycles often lie on one side of φᵢ only. If fewer than three neighbours are available, or if the fit is degenerate, the weighted median of the neighbour magnitudes is used instead. Standardized residual. The variance vᵢ of the prediction follows from the equivalent-kernel weights of the local-linear fit: vᵢ = Σⱼ lⱼ² σⱼ², with lⱼ = w′ⱼ (S₂ − S₁δᵢⱼ) / (S₀S₂ − S₁²), where w′ⱼ are the final robust weights and Sₖ = Σⱼ w′ⱼ δᵢⱼᵏ. For the weighted-median fallback, vᵢ = (π/2)·Σⱼ wⱼ²σⱼ² / (Σⱼ wⱼ)². The standardized residual is zᵢ = (mᵢ − m̂ᵢ) / √(σᵢ² + vᵢ). Loss function. Each observation contributes a predictive log score ℓᵢ = ρ(zᵢ) + ½·ln(1 + vᵢ/σᵢ²), with ρ(z) = ln(1 + (z/c)²) and c = 2. The first term is a Cauchy loss, which grows only logarithmically for large residuals, so the influence of a single outlier is bounded. The second term penalizes uncertain predictions, for example extrapolations from neighbours on one side only, which would otherwise make false periods look attractive. Null model. The null model predicts every observation by the median magnitude m̃ of the whole data set, with z⁰ᵢ = (mᵢ − m̃)/σᵢ. Its total loss L₀ = Σᵢ ρ(z⁰ᵢ) is independent of f and is computed once. CCC statistic. With L(f) = Σᵢ ℓᵢ the total loss at trial frequency f (using the null-model loss for unconfirmed observations), CCC(f) = 1 − L(f) / L₀. CCC ≈ 0 means that predictions from other cycles are no better than the overall median, i.e. no repetition. CCC → 1 means near-perfect repetition. Small negative values are possible when the predictions are worse than the null model. Prominent periods and subharmonics. After CCC has been calculated for all trial frequencies, the local maxima of the periodogram are identified. Flat tops of several equal values are treated as one maximum, located at their centre. Because any multiple kP of a true period P is also periodic, CCC also shows peaks at f/2, f/3, … A local maximum at frequency f, with value C, is classified as a subharmonic, and is not added to the list of prominent periods, if for some k = 2, 3 or 4 the periodogram near k·f reaches at least C − 0.03 · (max CCC − median CCC). “Near k·f” means within ± max(3Δf, 0.002·k·f), where Δf is the frequency step. In other words, a shorter period that scores almost as well is preferred. Peak location. Because the set of neighbours of an observation changes in discrete steps from one trial frequency to the next, the CCC periodogram is slightly jagged on fine frequency scales. Prominent periods are therefore located on a copy of the periodogram smoothed by a moving average over ±0.1/T, where T is the time span of the data, i.e. one tenth of the frequency resolution. The periodogram itself is shown unsmoothed. Computational cost. For each trial frequency, the phases are sorted, which takes O(N log N), and each observation visits at most 2M candidates, which takes O(N·K). The observations are processed in parallel. Memory use is O(N). CCC's relation to other methods CCC combines several ideas that have been developed independently in the literature on period finding:
(1) Cleveland, W.S., 1979, J. Am. Stat. Assoc., 74, 829 |