WedX - журнал о программировании и компьютерных науках

Как построить разреженный поток данных с кривыми

РЕДАКТИРОВАТЬ: Я хотел бы построить сюжет на основе следующего кода:

function one(varargin)
    thresh = 200;
    setenv GNUTERM 'x11';
    x = [0.05:0.05:10];
    x = transpose(x);
    y = rand(200, 1); 
    y(y <= 0.9) = 0.9;
    plot(x, y); 
    xlabel('time');
    ylabel('values above thresh');
end

... Дело в том, что я не хочу, чтобы это были просто неровности. Было бы неплохо видеть, как значения плавно меняются от одного к другому (как кривая Безье). Это возможно? Я не знаю, понадобится ли мне для этого внешняя библиотека, но при необходимости я готов пойти по этому пути. Было бы неплохо экспортировать получившийся (гладкий) график при любом разрешении данных.

04.01.2013

Ответы:


1

Если я правильно это понимаю, вы просто хотите уменьшить разрешение этой информации, что является довольно простой и эффективной задачей в октавах.

Учитывая xi, yi в качестве исходного набора данных, и вы хотели бы сделать субдискретизацию примерно в 10 раз:

Сгенерируйте новый вектор x, xp (при условии, что xi монотонно увеличивается):

xp = linspace(xi(1),xi(end),round(length(xi)/10)); 

Затем используйте интерполяцию сплайновым методом:

yp = interp1(xi,yi,xp,'spline');

Однако это только сглаживает интерполированные данные.

Я действительно не следил за частями вашего вопроса - как вы определяете основные части?

Альтернативой может быть фильтрация данных перед субдискретизацией, например, с помощью фильтра Савицкого-Голея. Самое интересное здесь то, что есть несколько параметров, с которыми вы можете поиграть. По умолчанию:

yp = sgolayfilt (yi);

Этот фильтр использует сглаживающий полином порядка p и длины n для обработки ваших данных. ЕСЛИ вы укажете p и n, вы можете поиграть с тем, что может работать лучше всего:

yp = sgolayfilt (yi, p, n);
20.01.2013
  • Это здорово и очень интересно! К сожалению, я ищу способ нарисовать плавные кривые между точками, чтобы график выглядел немного красивее. Это не то место, где я хочу изменить набор данных. Дайте мне знать, если мне нужно обновить свой вопрос. 24.01.2013
  • Я изменил свой вопрос так, чтобы, надеюсь, теперь он стал более ясным, включая очень прямой пример типа потока данных, который я надеюсь построить плавно. Спасибо! 24.01.2013
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]