Визуальная линейная аппроксимация с помощью Gnuplot

Говорят, что нелинейная аппроксимация — это искусство, но и с обычной линейной дело, бывает, обстоит не просто.

image

Многие, наверно, помнят, что самый простой и довольно точный метод построения прямых МНК — это «прозрачной линейкой на глазок». Раньше, когда считали на калькуляторах, этот метод позволял экономить многие часы монотонных вычислений, но сейчас для заведомо линейных процессов это уже не актуально, аппроксимацию умеет мгновенно считать и рисовать даже Excel.

Однако при решении реальных задач часто приходится иметь дело с процессами, у которых модель неизвестна. В таких случаях бывает разумно строить кусочно-линейные аппроксимации. И вот тут, когда точных критериев построения просто не существует — метод «прозрачной линейки», основанный на «искусстве аппроксимации» (по простому — чуйке), опять становится актуальным.

Распечатывать графики и проводить на них прямые карандашом и прозрачной линейкой — по прежнему работает (и иногда так чертить даже интересно). А здесь мы будем использовать Gnuplot — он хорошо умеет рисовать данные в различных представлениях, умеет считать аппроксимации, и при этом оставляет пользователю достаточно пространства для манёвра.

В качестве примера «жизненных» данных с неизвестной моделью рассмотрим динамику по времени индекса массы тела (BMI) девушек месяца журнала Playboy. Задача состоит в том, чтобы уловить в динамике общие тенденции.

Исходные данные взяты из статьи Вадима Маркова (@BubaVV) "«Корреляции для начинающих»". Ссылка на файлы для построения картинок в Gnuplot будет дана ниже. Небольшое замечание по данным: по смыслу данных по оси X откладывается время (месяцы), но чтобы не усложнять задачу будем использовать не время, а просто порядковый номер записи.

Начнём с того, что построим множество имеющихся точек и проведём линейный тренд по всем точкам. Сразу отметим проблемные области вопросительным знаком.

image

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

image

Квадратичная аппроксимация выглядит лучше (ну ещё бы, плюс один параметр). Видно, что линейный тренд меняется в середине множества, отметим эту область цветным кругом. Слева от круга — один характер динамики, справа — другой, для лучшего восприятия правую и левую области также отметим разными цветами.

image

Точки в левой области будем аппроксимировать одной прямой, а в правой другой. Заодно и по оси Х вместо абстрактных цифр поставим метки времени, нам не нужно много подробностей, отметим несколько лет.

image

Теперь, по крайней мере на вид, аппроксимация прямыми достаточно хорошая, значения параметров линий можно взять из log-файла, который пишет Gnuplot в процессе аппроксимации.

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

PS. Все данные и файлы для построения картинок в Gnuplot можно скачать по ссылке: drive.google.com/file/d/0BwHQSqFOG-7lU1BfbkdqTTFxdkU/view?usp=sharing

PPS. Ради интереса — так будет выглядеть аппроксимация полиномом 4-й степени. Судя по графику, имеет смысл посмотреть, не появляется ли опять в моде тенденция на более худых моделей.

image
Метки:
Поделиться публикацией
Похожие публикации
Комментарии 25
  • +5
    А где девушки-то?
    • 0
      Огромным усилием воли удержал себя от добавления фото моделей, и подробного визуального анализа характеристик Bust, Waist, Hips и т.п.
    • 0
      Да, хотя бы одну покажите, с BMI около 23, из 1964 года… :)
      • +2
        Это Rosemarie Hillcrest, Октябрь 1964, крупная девушка: www.playboy.com/rosemarie-hillcrest
        • 0
          Можно тогда и с BMI ≈ 15 в 1977 году? Чисто научный интерес
          • 0
            Это который минимальный? Вот он:
            1978 Июль, Karen Morton
            BMI=15.24 Бюст=81, Талия=56, Бёдра=81, Рост=168, Вес=43
            www.playboy.com/karen-morton
            www.playmates.com/photo/classic-photos-of-miss-july-1978

            … на самом деле, разглядывая фото, не замечаешь очень уж большой разницы, как например, между обычными людьми и подиумными моделями.
  • +4
    > Многие, наверно, помнят, что самый простой и довольно точный метод
    > построения прямых МНК — это «прозрачной линейкой на глазок».

    Не знаю про какие тут наименьшие квадраты идет речь, но индекс массы тела девушек-моделей плейбоя лучше всего определять старым дедовским способом: прозрачной (!) линейкой на глазок. Гарантирую — только этот способ даёт правильную аппроксимацию (не знаю что такое аппроксимация, но точно какая-то похабщина).
    • 0
      Присоединяюсь (не в смысле «девушек-моделей плейбоя»).

      Многие, наверно, помнят, что самый простой и довольно точный метод построения прямых МНК — это «прозрачной линейкой на глазок».


      МНК — это группа алгоритмов или методик, один из способов вычисления отклонения результатов измерения от какой-то величины или функциональной зависимости. Аналогично в обратном направлении.

      МНК не строится и не является «прямой», «кривой» либо иным «геометрическим местом точек». Например, Фильтр Калмана по сути является оберткой над МНК, приложением его к случаю нестационарного случайного процесса.

      Описанные «прямые» — это тренды, построенные с использованием МНК в качестве функционала приближения. можно вместо МНК использовать какой-либо иной критерий приближения (тот же глазомер сквозь прозрачную линейку) и таких трендов получится несколько.

      PS: и на мой взгляд применять фразу «довольно точный» к графикам аппроксимации некорректно. «Достаточно точный» или «приемлемо точный» мне кажется корректнее.
      • 0
        Да, да, со всем согласен, но если всё расписывать, то выходит довольно занудно. Про МНК «на глазок» — не знаю, насколько это точно, проверял ли кто или нет, но по моему опыту (не маленькому и не только личному) если человек проводит на глаз линию аппроксимации, то её параметры ближе всего к линии МНК, не минимум по модулям, не ещё что-то а обычные МНК. Объяснений не знаю, просто занятный и иногда полезный факт.
        • 0
          Ну смотря до каких разрядов сравнивать.
          Во-первых, сдается мне, если проведенный «на глазок» тренд сравнивать, опять же, «на глазок» по параметрам с чем-либо, то «совпадений» может быть не одно (о чем выше написал).
          Во-вторых, очень может быть, что средне-квадратическое отклонение как раз и является для нас (органики) самым привычным мерилом, т.к., видимо, является (почти?) самым простым статистическим индикатором. А индикаторы более высокого порядка малости уже не дают профита.

          Может кто-то исследовал этот вопрос? Тут следует ставить «чистый эксперимент», чтобы доказать или опровергнуть.
          • 0
            О таком эффекте глаза я слышал еще от людей, которые прямые строили когда и калькуляторов не было, потом неоднократно убеждался сам, но сам специально не проверял…
  • 0
    имеет смысл посмотреть, не появляется ли опять в моде тенденция на более худых моделей

    не появляется. Манагеры фотостудии, интернет-магазина одежды в котором работаю, сидят рядом со мной и регулярно от них слышу (и вижу сам в сети) о растущем спросе на моделей Size+. У нас их пока нет, но не удивлюсь, если через год-два начнут привлекать… Я лично — за худеньких))

    Спасибо автору за простоту изложения
    • 0
      Интересно! Спасибо!
    • +3
      А я лично — за здоровых и веселых. А когда девушка 80% времени бодрствования банально хочет есть, но, видите ли, не может, потомучто «я буду толстая», то, сами догадываетесь, какое у нее настроение. Попробуйте не поесть сутки, и посмотрите, как вы будете на всех кидаться и на стену лезть от раздражительности.
      И это я сейчас ничего не говорю о том, что еще и секс сам по себе штука «энергозатратная», и чего в нем можно ждать от хронически недоедающей, тяжелее сумочки в руках не носящей?

      Так что — за здоровых и веселых. Шоб сиська быля ядреная и упругая! Я так считаю :)
      • 0
        И я за здоровеньких, но лишь в смысле здоровья. Девушка любого «размера» может быть привлекательна. Привлекательность — это больше вопрос женственности, а не сантиметровости, если не рассматривать «нездоровые крайности».
  • +1
    Судя по графику, имеет смысл посмотреть, не появляется ли опять в моде тенденция на более худых моделей.

    Не появляется, это очевидная ошибка интерполяции на краях, когда прибитый к крайним точкам полином прыгает, чтобы уравновесить свою форму в центре. С этим сталкивался, наверное, любой пытавшийся по-быстрому построить временной тренд по каким-то данным за какой-то период подручными средствами: вместо последних данных рисуется чепуха.
    • 0
      Да, последняя картинка — явный оверфиттинг, чем больше степень полинома — тем меньше степень доверия к его аппроксимации, хотел привести пример «зацепки» на следующую стадию, но, наверно, не очень удачно получилось, данные слишком простые.
  • +1
    Иногда интереснее иследовать не тенденции, а выбросы. Что это там за две модели такие были в 64 и 78 гг? :)
    • 0
      Сам хотел написать про выбросы, как их выявлять таким же образом, визуально, но потом победила динамика — эта тема показалась «подинамичнее». А выбросы с предельными BMI такие:

      1964 Октябрь, Rosemarie Hillcrest
      BMI=23.38 Бюст=104, Талия=64, Бёдра=97, Рост=168, Вес=66
      www.playboy.com/rosemarie-hillcrest

      1978 Июль, Karen Morton
      BMI=15.24 Бюст=81, Талия=56, Бёдра=81, Рост=168, Вес=43
      www.playboy.com/karen-morton
      www.playmates.com/photo/classic-photos-of-miss-july-1978
  • +3
    Кстати, интересно, что произошло в районе 1985 года, что в моду стали входить девушки с более высоким BMI?


    Предположу что дело в обвале цен на нефть)
    image
    • 0
      Интересная идея… Бывает, и некоррелирующее показывает высокую корреляцию.
      • 0
        Склонен думать, что тут она не такая уж и ложная)
        • 0
          тогда надо строить корреляцию по всем временным точкам, для моделей их 580 штук, и смотреть что там происходит
  • 0
    Спасибо за цитирование. Видимо, скоро к стандартному набору данных для машинного обучения и всего такого к ирисам Фишера и винам добавятся еще и дамы. Базу можно дополнить всякой антропологией типа национальности и цвета глаз/волос.
    • +1
      Мне в вашей статье очень понравился выбор эээ… «предмета анализа». Характер анализируемых объектов позволяет постоянно держаться на «лёгкой волне», даже в довольно занудных вычислениях. Ну и конечно, там есть, на что посмотреть, вот не только тренды обнаружились, но и их перемены. Жаль только кластеры нигде не появляются, но и так нормально. Чтобы показать кластеризацию я думал рассматривать совместно мужские и женские модели, но модели-мужчины это уже из другой оперы, может оказаться ложкой дёгтя.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.