Так что можно сделать, это «угадать» с modelfunction и соответствовать данным по этой модели, используя некоторые оптимизации рутины. Затем внимательно посмотрите на остатки и получите статистику, которая характеризует шум от этих остатков. Затем примените модель и добавьте шум. В Matlab кодекса Ansatz может выглядеть следующим образом:
t_full = linspace(0,4*pi,500);
t = t_full([1:200, 400:end]);
f = 2;
A = 3;
D = 5;
periodic_signal = A*sin(t*f) + D;
trend = 0.2*t;
noise = randn(size(t));
y = periodic_signal + trend + noise;
% a model for the data -- haha i know the exact model here!
model = @(par, t) par(1)*sin(t*par(2)) + par(3) + par(4)*t;
par0 = [2, 2, 2, 2]; % and i can make a good guess for the parameters
par_opt = nlinfit(t,y, model, par0); % and optimize them
% now from the residuals (data minus model) one can guess noise
% characteristics
residual = y - model(par_opt, t);
% compare residual with "real noise" (should coincide if optimisation
% doesnt fail)
[mean(noise), mean(residual)] % about [0, 0]
[std(noise), std(residual)] % about [1, 1]
missing_data = 201:399;
new_noise = mean(residual) + std(residual)*randn(size(missing_data));
% show what is going on
figure
plot(t,y,'k.')
hold on
plot(t_full, model(par_opt, t_full), 'r-', 'linewidth', 2);
plot(t_full(missing_data), model(par_opt, t_full(missing_data)) + new_noise, 'r.')
legend('data', sprintf('y(t) = %.2f*sin(%.2f*t) + %.2f + %.2f*t + e(t)', par_opt), 'reconstructed data')
Это приводит к следующему графике:
Вы говорите о временных промежутках минут порядка (или часов), или вы говорите о нескольких периодах без вести , т. е. в порядке суток? Можете ли вы предоставить некоторые данные или, по крайней мере, график данных, чтобы можно было увидеть пробелы? Как сейчас, ваш вопрос очень широк и неопределенен, что маловероятно, что вы получите полезный ответ на вашу проблему. – Nras
К сожалению, я не могу опубликовать сюжет из-за ограничений на мою учетную запись (связанная с репутацией - первый раз, используя этот форум). Файлы данных слишком велики для публикации здесь, с частотой выборки 5 минут. Тем не менее, не хватает данных за неделю. Если есть что-то еще, я могу добавить, что было бы полезно, пожалуйста, дайте мне знать. – user2653752
Как бы то ни было, я думаю, что это слишком широко, но вы в основном смотрите на определение какой-то модели из ваших существующих данных - что-то вроде суммирования нескольких разных типов периодических вариаций + некоторый долгосрочный тренд + короткий долгосрочный шум. – nkjt