Недавно я озадачился поиском б.у. автомобиля, взамен только что проданного, и, как это обычно бывает, на эту роль претендовали несколько конкурентов.

Как известно, для покупки авто на территории РФ существует несколько крупных авторитетных сайтов (auto.ru, drom.ru, avito.ru), поиску на которых я и отдал предпочтение. Моим требованиям отвечали сотни, а для некоторых моделей и тысячи, автомобилей, с перечисленных выше сайтов. Помимо того, что искать на нескольких ресурсах неудобно, так еще, прежде чем ехать смотреть авто “вживую”, я хотел бы отобрать выгодные (цена которых относительно рынка занижена) предложения по априорной информации которую предоставляет каждый из ресурсов. Я, конечно, очень хотел решить несколько переопределенных систем алгебраических уравнений (возможно и нелинейных) высокой размерности вручную, но пересилил себя, и решил этот процесс автоматизировать.
image

Сбор данных


Данные я собирал со всех описанных выше ресурсов, а интересовали меня следующие параметры:

  • цена (price)
  • год выпуска (year)
  • пробег (mileage)
  • объем двигателя (engine.capacity)
  • мощность двигателя (engine.power)
  • тип двигателя (2 индикаторные взаимоисключающие переменные diesel и hybrid, принимающие значения 0 или 1, для дизельных и гибридных двигателей соответственно). Тип двигателя по умолчанию — бензиновый (не вынесен в третью переменную во избежании мультиколлинеарности).

    Таким образом:

    image

    Далее подобная логика для индикаторных переменных подразумевается по умолчанию.
  • тип кпп (индикаторная переменная mt (manual transmission), принимающая булево значение, для механической коробки передач). Тип кпп по умолчанию — автоматическая.

    Необходимо отметить, что к автоматическим коробкам передач я относил не только классический гидравлический автомат, но также роботизированную механику и вариатор.
  • тип привода (2 индикаторные переменные front.drive и rear.drive, принимающие булевы значения). Тип привода по умолчанию — полный.
  • тип кузова (7 индикаторных переменных sedan, hatchback, wagon, coupe, cabriolet, minivan, pickup, принимающих булевы значения). Тип кузова по умолчанию — внедорожник/кроссовер

Незаполненные ленивыми продавцами данные я отмечал как NA (Not Available), чтобы можно было корректно обрабатывать эти значения с помощью R.

Визуализация полученных данных


Дабы не вдаваться в сухую теорию, давайте рассмотрим конкретный пример, будем искать выгодные Mercedes-Benz E-klasse не старше 2010 года выпуска, стоимостью до 1.5 млн. рублей в Москве. Для того, чтобы начать работать с данными, первым делом заполняем пропущенные значения (NA) на медианные, благо для этого в R есть функция median().

dat <- read.csv("dataset.csv") # загружаем выборку в R

dat$mileage[is.na(dat$mileage)] <- median(na.omit(dat$mileage)) # например для пробега

Для остальных переменных процедура идентична, поэтому опущу этот момент.

Теперь посмотрим как цена зависит от регрессоров (визуализация индикаторных переменных на данном этапе нас не интересует).

image

Оказывается за эти деньги есть несколько машин 2013 года и даже одна 2014!

image

Очевидно, что чем меньше пробег, тем цена выше.

image

image

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

Хочу обратить ваше внимание на тот факт, что в большинстве статей по машинному обучению, которые попадались мне в последнее время, в том числе на “Хабре”, очень мало внимания уделяется обоснованию правомерности использования выбранной модели, ее диагностики и ошибках.

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

Диагностика модели


В предыдущем разделе, на основе экспериментальных данных, было сделано предположение о линейности рассматриваемой модели относительно цены, поэтому в этом разделе речь пойдет о множественной линейной регрессии, ее диагностике и ошибках.

Чтобы модель была корректной, необходимо выполнение условий теоремы Гаусса-Маркова:

  1. Модель данных правильно специфицирована, т.е.:
    • отсутствуют пропущенные значения.

      Подробнее
      Это условие выполнено (см. раздел Визуализация полученных данных), пропущенные значения заменены на медианные.

    • отсутствует мультиколлинеарность между регрессорами.

      Подробнее
      Проверим, выполняется ли это условие:

      dat_cor <- as.matrix(cor(dat)) # рассчет корреляции между переменными
      
      dat_cor[is.na(dat_cor)] <- 0 # заменяем пропущенные значения на 0 (т.к. например в кузове пикап или минивен искомого авто не бывает)
      
      library(corrplot) # подключаем библиотеку corrplot, для красивой визуализации
      
      palette <-colorRampPalette(c("#7F0000","red","#FF7F00","yellow","#7FFF7F", "cyan", "#007FFF", "blue","#00007F"))
      
      corrplot(dat_cor, method="color", col=palette(20), cl.length=21,order = "AOE", addCoef.col="green") # рисуем таблицу зависимостей между переменными
      

      image

      Видно что присутствует большая корреляция (>0.7) между объемом и мощностью двигателя, поэтому при дальнейшем анализе мы не будем учитывать переменную engine.capacity, т.к. именно мощность двигателя позволит более точно построить регрессионную модель по сравнению с объемом двигателя (атмосферный бензиновый, бензиновый с турбонаддувом, дизельный моторы — при одном и том же объеме могут имеют разную мощность).

    • отсутствуют выбросы.

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

      Меры влияния выбросов на оценки модели можно подразделить на общие и специфические. Общие меры, такие как расстояние Кука, dffits, ковариацинное отношение (covratio), расстояние Махаланобиса, показывают как i-тое наблюдение влияет на положение всей регрессионной зависимости, их мы и будем использовать для идентификации выбросов. Специфические меры влияния, такие как dfbetas, показывают влияние i-того наблюдения на отдельные параметры регрессионной модели.

      Ковариацинное отношение (covratio) — общая мера влияния наблюдения. Представляет собой отношение детерминанта ковариационной матрицы с удаленным i-ым наблюдением к детерминанту ковариацинной матрицы для всего набора данных.

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

      Расстояние Махаланобиса — мера удаления наблюдения от центра системы, но т.к. она не учитывает зависимый или независимый характер переменной и рассматривает их в облаке рассеяния равнозначно, данная мера не предназначена для регрессионного анализа.
      Таким образом, для обнаружения выбросов будем использовать меры dffits и covratio.

      model <- lm(price ~ year + mileage  + diesel + hybrid + mt + front.drive + rear.drive + engine.power + sedan + hatchback + wagon + coupe + cabriolet + minivan + pickup, data = dat) # линейная модель
      
      model.dffits <- dffits(model) # рассчитаем меру dffits
      

      Значимыми для меры dffits являются показатели превосходящие величину 2*sqrt(k/n) = 0.42, поэтому следует их отбросить (k — количество переменных, n — число строк выборки).

      model.dffits.we <- model.dffits[model.dffits < 0.42]
      
      model.covratio <- covratio(model)  # рассчитаем ковариационное отношения для модели
      

      Значимые для меры covratio показатели можно найти из неравенства | model.covratio[i] -1 | > (3*k)/n.

      model.covratio.we <- model.covratio[abs(model.covratio -1) < 0.13]
      
      dat.we <- dat[intersect(c(rownames(as.matrix(model.dffits.we))), c(rownames(as.matrix(model.covratio.we)))),] # наблюдения без выбросов
      
      model.we <- lm(price ~ year + mileage  + diesel + hybrid + mt + front.drive + rear.drive + engine.power + sedan + hatchback + wagon + coupe + cabriolet + minivan + pickup, data = dat.we) # линейная модель построенная по выборке без выбросов
      

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

      image

      image

      image

      Итого, выбранный нами путь идентификации выбросов позволил исключить из общий выборки 18 наблюдений, что несомненно положительно скажется на точности определения коэффициентов линейной модели с помощью МНК.


  2. Все регрессоры детерминированы и не равны.

    Подробнее
    Данное условие выполнено.

  3. Ошибки не носят систематического характера, дисперсия ошибок одинакова (гомоскедастичность)

    Подробнее
    Посмотрим как распределены ошибки модели (для расчета ошибок модели в R есть функция resid()).

    plot(dat.we$year, resid(model.we))
    plot(dat.we$mileage, resid(model.we))
    plot(dat.we$engine.power, resid(model.we))
    

    image

    image

    image

    Ошибки более-менее равномерно распределены относительно горизонтальной оси, что позволяет не сомневаться в выполнение условия гомоскедастичности.

  4. Ошибки распределены нормально.

    Подробнее
    Для проверки данного условия построим график квантилей остатков против квантилей, которые можно было бы ожидать при условии, что остатки нормально распределены.

    qqnorm(resid(model.we)) 
    qqline(resid(model.we))
    

    image

Опробирование выбранной модели


Итак, настал момент, когда с бюрократией покончено, корректность использования модели линейной регрессии не вызывает сомнений. Нам остается только посчитать коэффициенты линейного уравнения, по которым мы сможем получить свои, предсказанные цены на автомобили и сравнить их с ценами из объявлений.

model.we <- lm(price ~ year + mileage  + diesel + hybrid + mt + front.drive + rear.drive + engine.power + sedan + hatchback + wagon + coupe + cabriolet + minivan + pickup, data = dat.we)

coef(model.we) # коэффициенты линейной модели
  (Intercept)  year  mileage  diesel  rear.drive  engine.power  sedan 
  -1.76e+08  8.79e+04  -1.4e+00  2.5e+04  4.14e+04  2.11e+03  -2.866407e+04        
    
predicted.price <- predict(model.we, dat) # предскажем цену по полученным коэффициентам

real.price <- dat$price # вектор цен на автомобили полученный из объявлений

profit <- predicted.price - real.price # выгода между предсказанной нами ценой и ценой из объявлений

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

plot(real.price,profit)
abline(0,0)

image

И на какую выгоду в процентном соотношении можно рассчитывать?

sorted <- sort(predicted.price /real.price, decreasing = TRUE)
sorted[1:10]
      69       42      122      248      168       15      244      271      109      219 
1.590489 1.507614 1.386353 1.279716 1.279380 1.248001 1.227829 1.209341 1.209232 1.204062 

Да, экономия 59% это очень здорово, но весьма сомнительно, нужно смотреть авто «вживую», т.к. бесплатный сыр обычно в мышеловке, ну или продавцу срочно нужны деньги. А вот начиная с 4-го места (экономия 28%) и далее, результат кажется вполне реалистичным.

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

Напоследок


Дорогие друзья, я сам, прочитав бы подобную статью задал бы в первую очередь 3 вопроса:

  1. Какая у модели точность?
  2. Почему выбрана простейшая линейная регрессия и где сравнение с другим моделями?
  3. А почему бы не сделать сервис для поиска выгодных автомобилей?

Поэтому отвечаю:

  1. Протестируем модель по схеме 80/20.

    set.seed(1) # инициализируем генератор случайных чисел (для воспроизводимости)
    
    split <- runif(dim(dat.we)[1]) > 0.2 # разделяем нашу выборку
    
    train <- dat.we[split,] # выборка для обучения
    
    test <- dat.we[!split,] # тестовая выборка
    
    train.model <- lm(price ~ year + mileage  + diesel + hybrid + mt + front.drive + rear.drive + engine.power + sedan + hatchback + wagon + coupe + cabriolet + minivan + pickup, data = train) # линейная модель построенная по выборке для обучения
    
    predictions <- predict(train.model, test) # проверим точность на тестовой выборке
    
    print(sqrt(sum((as.vector(predictions - test$price))^2)/length(predictions))) # средняя ошибка прогноза цены (в рублях)
    [1] 91682.9
    

    Много это или мало — можно узнать только в сравнении.
  2. Линейная регрессия, как один из азов машинного обучения позволяет не отвлекаться на изучение алгоритма, а полностью погрузиться в саму задачу.

    Поэтому я решил разделить своё повествование на 2 (а там как пойдет) статьи.

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

    И вот, что из этого получилось — Mercedes-Benz E-klasse не старше 2010 года выпуска, стоимостью до 1.5 млн. рублей в Москве.

    image

    Ещё
    image


Ссылки


1. Исходные данные в формате csv — dataset.txt
Поделиться с друзьями
-->

Комментарии (205)


  1. Wildy
    07.06.2016 12:30
    +52

    «Вы идете в магазин, ближайший к вашему дому, показываете на машину, ближайшую к двери, и говорите: „Я беру эту“. Этот алгоритм позволяет тратить минимум времени на не очень важные дела (покупку автомобилей) и оставляет большую часть времени на важные (разработку суперкомпьютеров).»
    Сеймур Крей


    1. yul
      07.06.2016 14:53
      +3

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


    1. Jamdaze
      07.06.2016 15:29
      +1

      Без пробной поездки? А вобще выберать сейчас не из чего, хоть бы одна машина ездила сама.


      1. msfs11
        08.06.2016 13:16
        +2

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


    1. impetus
      07.06.2016 16:17
      +18

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

      Кстати он ещё в своём доме противоатомное убежище строил с многолетними запасами — это к вопросу о важных делах.


  1. NLO
    07.06.2016 12:34

    НЛО прилетело и опубликовало эту надпись здесь


  1. VioletGiraffe
    07.06.2016 12:34

    Объём двигателя — это не capacity, а volume или displacement. А так — супер! :)


    1. dizh
      07.06.2016 14:36
      +3

      There`s no replacement for displacement


  1. infom
    07.06.2016 12:39
    +8

    90% успеха при покупке б/у авто решает состояние, особенно это касается выбранного вами сегмента авто. А этот «экспертный» показатель настолько расплывчат в объявлениях что единственный вариант это ваша очная встреча с авто. Если задачей не стояла покупка авто а некоторая
    «RND» или «научная» задача для сервиса, то выполнена она великолепно!!!


    1. nikitos18
      07.06.2016 12:43
      +5

      Я абсолютно согласен, что все решает состояние, просто прежде чем ехать смотреть машину, нужно выбрать какую именно ехать смотреть в первую очередь.


      1. teifo
        07.06.2016 13:09

        Редко когда нужно выбрать из несколько сотен авто. Даже когда нужно они быстро фильтруются по фото/цене. Более значительное время занимает выбор конкретной модели, но робаста это просто фильтр по цене, а это уже есть и на дроме и на автору.


        1. nikitos18
          07.06.2016 13:13
          +4

          Фильтр по цене, и фильтр по цене относительно рынка в зависимости от параметров авто — это совсем не одно и тоже.


          1. teifo
            07.06.2016 13:41

            Пока «рынок» это 3 основных сайта, а не десяток, так что и тут особой сложности нет.


            1. nikitos18
              07.06.2016 13:51
              +1

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


      1. rfvnhy
        07.06.2016 13:31

        И вот тут важен некоторый опыт…
        В тч опыт психолога…

        По звонку можно _попробовать_ определить все ли рассказывает продавец или о чем-то умалчивает…
        Попробовать выяснить реальные причины продажи, почему дешевле других и тд и тп

        В идеале брать у очень хороших знакомых, когда вся «история» авто была перед вами…

        Ваш подход сработает на 100% если продавцы будут заполнять «карту авто» где будут указаны все его основные проблемы честно, а не «продать и забыть»
        Вот только таких продавцов обычно единицы ;-(
        А то «не бит, не крашен, ...» а в реале — например восстановленная после затопления машина… Или после очень серьезной аварии, когда кузов полностью потерял геометрию, был восстановлен в хорошей мастерской, где всю геометрию сделали идеально…
        Но вот только при ближайшей же аварии окажется что пассивной безопасности уже 0…


        1. SannX
          07.06.2016 14:24

          Да, «психология» иногда помогает. Вот недавно авто отцу покупал. Позвонил перекупу, спросил, можно ли ее на диагностику свозить, а тот отнекивался, а потом раздраженный трубку бросил.


        1. NLO
          08.06.2016 17:42

          НЛО прилетело и опубликовало эту надпись здесь


          1. rfvnhy
            09.06.2016 16:00

            Нет гарантий от покупки авто, который приехал с мелкими проблемами или вообще новый, но попал в аварию уже тут, был качественно восстановлен…

            >Ваш друг, который купил у Вас авто, будет ожидать, что Вы его будите консультировать, помогать с ремонтом, но далеко не факт, что у Вас на это есть время.

            Зависит от человека. Везде и всегда.
            Обычно нормальная ситуация ответить что там такое может свистеть/греметь/… что сразу не заметили…
            Ну те месяц мб поконсультировать слегка…
            Помощь в ремонте? Не с современными авто уже давно.
            Есть единицы водителей, которые смогут что-то отремонтировать хоть сколько нибудь серьезное…

            Ну и я все же говорил про обратную ситуацию. Не вы продаете авто, а вы покупаете =)


  1. sinneren
    07.06.2016 12:46
    -1

    Замечательно, но это же ад просто шерстить по каждой модели. Ищут же среди брендов, но уж не моделей. Например, мне было б интересно Nismo, Toyo, Volk, Audi. Но в каждой мне интересен десяток моделей. Не проверять же всю. Уверен, сравнение возможно и среди подобной выборки.


    1. gigimon
      07.06.2016 12:51

      не соглашусь, сейчас тоже, как автор, ищу авто, но смотрю конкретно 2 модели.


      1. 2PAE
        08.06.2016 12:25

        Что является ограничивающим условием? По честному пожалуйста.


        1. gigimon
          08.06.2016 12:45

          7 мест (предпочтительно), 4wd, не старше 2012 года до 2 млн. Моделей получается совсем мало: highlander, honda pilot/acura mdx (очень мало предложений). Ну и конечно такой параметр, как нравится/не нравится внешне


          1. 2PAE
            08.06.2016 13:11

            «ВАЗ-2120 «Надежда» — семиместный полноприводный минивэн» ваш выбор! :) О существовании такой машины я узнал лишь сегодня.

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

            Рад что вы можете позволить себе машину за 2КК, но думаю что вы заметное исключение из правил Ваш вариант не характерен. Поэтому его можно игнорировать, как статистический пик.

            Ну конечно я подразумеваю, что сервис делается для БОЛЬШЕЙ части людей желающих стать автовладельцами.

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


            1. Apatic
              08.06.2016 13:31

              gigimon же не за 20 млн машину покупает. 2 млн не маленькая сумма, да.
              Но это не VIP. Те, кто VIP авто с пробегом за 2 млн особо то не смотрят.


              1. 2PAE
                08.06.2016 13:43

                В нашем мухосранске новую машину за 2 млн не каждый день увидишь на улице. А тут на б/у такой бюджет!
                У кого-то щи пустые, у кого-то жемчуг мелковат…


                1. gigimon
                  08.06.2016 14:12

                  Это вам так кажется, у меня тоже небольшой городок без производств и т.п. недавно присоединенный к России :) Но количество местных новых машин премиум класса (новые MB, BMW, Lexus представленые совсем недавно) зашкаливают.


                  1. 2PAE
                    08.06.2016 14:20

                    «Крым наш»? :) Вот вот, вы не характерны. Многие сейчас в Крым переносят свои организации. Не… производство остается на месте. Место регистрации меняется. Налоги меньше. Кол-во богатых людей больше. Приезжих. И заработавших на приезжих.


            1. gigimon
              08.06.2016 14:10

              А можете мне сказать, что это за подавляющий сегмент рынка? По мне туда попадает 3-5 моделей, некоторые из которых я убираю (не нравится внешне, слабый двигатель для такой машины, не комфортно внутри). Из VIP сегмента (немцы, lexus, acura) в эту цену не подпадает вообще ничего по моим запросам


              1. 2PAE
                08.06.2016 14:14

                Я имел в виду вообще ВЕСЬ рынок б/у авто. Но как писал, вы, как мне кажется, выпадаете из среднего покупателя.

                Ладно, давайте на этом закончим. Сервис хорош пусть развивается дальше, автору успехов!


          1. flamefork
            08.06.2016 17:55

            Mazda CX-9 ещё


          1. vladon
            12.06.2016 17:27

            Chevrolet Tahoe тоже укладывается


    1. nikitos18
      07.06.2016 12:56
      +2

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


  1. barsuksergey
    07.06.2016 12:57

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


    1. nikitos18
      07.06.2016 13:03
      +1

      Для этого можете добавлять понравившиеся авто в избранное (кликнуть на сердечко), список избранных авто находится в левом нижнем углу, данные хранятся в local storage, никакая регистрация не нужна.


  1. teifo
    07.06.2016 13:01
    +1

    Я выскажусь только про сам ресурс. Очень странный. Подгонки фильтров под выбранную модель нет, а должна быть, ведь нельзя искать 6-ти литровую ладу, а вот выбрать из выпускаемых двигателей, кпп и прочего можно. Опять же, цена в бу машине не всегда самое важное, в ней важнее состояние, а уже потом цена. Вот в новой машине важнее цена, комплектация, то что можно не проверять лично.Поэтому советовать покупать бу машину основываясь только на цене, я бы никому не стал. Нужно брать спеца, смотреть, щупать, гнать на СТО.


  1. safari2012
    07.06.2016 13:19

    а как часто базы с автосайтов обновляются?


    1. nikitos18
      07.06.2016 13:24
      +1

      Данные собираются в реальном времени.


      1. dolphin4ik
        07.06.2016 15:07

        Если есть возможность, было бы неплохо и эту сторону проекта поглазеть.


      1. winter_jam
        07.06.2016 17:59

        Каждую минуту парсите выдачу, или что-то более продвинутое?


        1. and7ey
          07.06.2016 20:25

          Зачем каждую минуту? Думаю, что с каждым запросом пользователя парсинг осуществляется (пока пользователей мало — это нормально).


  1. Gryphon88
    07.06.2016 13:21

    Ещё бы гейтинг, чтобы в нужных осях выбирать регион с нужными значениями и фильтровать/раскрашивать прочие регионы по этому выбору. Пример гейтинга, доступный в онлайне сходу могу вспомнить только 1, nix.ru


    1. nikitos18
      07.06.2016 13:28

      Хорошая идея, я подумаю.


  1. raskal
    07.06.2016 13:40
    +4

    При покупке б/у автомобиля есть ключевые проблемы совершенно иного характера, с которыми вы абсолютно точно столкнетесь и которая невычисляема. Это, как уже замечали выше:

    * абсолютная невозможность понять общее состояние авто из фотографий и цены — вам придется ехать и смотреть. Но это еще полбеды, потому что тут хотя бы частично поможет описанный алгоритм

    * проблемы конкретных машин на конкретных пробегах. Пример: несколько лет назад я думал о покупке похожего автомобиля. В данном ценовом диапазоне удачным сооношением обладал Mercedes W204. Он хорошо выглядел, он прилично ехал. Но проблема у них в том, что на малообъемных двигателях (274-х, например) у них есть известная проблема с цепью, муфтами etc. после 80-100 тысяч пробега. Если вы замените все вовремя, стоить это будет примерно 150 тысяч рублей. Если не замените — 50/50 вы попадете в ближайшие 30 тысяч на капремонт двигателя (250+ тысяч рублей). Это автоматически добавляет к стоимости автомобиля 150 тысяч на замену запчастей (и это только если вы _знаете_ об этом). 150 тысяч — это значительная сумма. То же самое было у ряда ауди (коробки и жрущие масло двигатели). То же сейчас есть у F30 BMW (проблемы с электрикой, двигателями и топливной системой у дизелей и не очень аккуратном обращении) — думаю, их именно поэтому столько продают.

    Поэтому алгоритм хорош, да. Но надо точно знать, что вы хотите купить вплоть до силового агрегата, иначе вы рискуете купить вещь, которая потребует потом колоссальных вложений. И это мы еще не говорим про автомобили старше 5-7 лет.


    1. nikitos18
      07.06.2016 13:46

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


      1. Aplgt
        09.06.2016 17:13

        Т.е. дело не в общих соображениях касательно покупки б/у авто, а во влиянии таких факторов на результат работы алгоритма.

        В приведённом примере алгоритм поместит часть реально выгодных предложений в невыгодные. Пострадают предложения, в которых владелец уже вложил условные 150 тысяч в обслуживание и в соответствии с этим поднял цену.


        1. nikitos18
          09.06.2016 17:14

          Странно вкладывать большие деньги перед продажей, это скорее исключение из правил.


    1. rfvnhy
      09.06.2016 16:03

      >и это только если вы _знаете_ об этом

      Хорошо знакомые мастера с автосервиса + форумы не спасут?
      Надо именно знать? =)


      1. raskal
        14.06.2016 16:57

        В "_знать_" я вкладываю понятие «обладать информацией», а не «иметь провидение». Если у вас достаточно свободного времени на месяцы изучение рынка б/у автомобилей и их типовых проблем — вы счастливый человек. Чуть ниже я сейчас расскажу, почему, на мой взгляд, нужно так много этого времени.

        Мастер же мастеру рознь. Во-первых, с годами приходит профдеформация — у меня есть несколько знакомых, которые (условно) говорят «не покупай ауди, я часто ремонтирую их, они тебя без штанов оставят» или «не бери мерседес, это черная дыра для денег» — и так для каждой марки. Во-вторых, мастера, как правило, специализируются на одной марке, т.к. для того, чтобы реально понимать проблемы машин определенной линейки, нужны годы. Вот вам простой пример — на современных Land Rover у ряда двигателей замена ролика преднатяжителя рекомендована производителем на 120 тысячах километров. 95% сервисов в стране следуют этой рекомендации. В примерно 20% случаев это приводит к его износу раньше данного срока, дальше цепь — загиб клапанов — замена двигателя (он не подлежит ремонту в данном случае). Ролик стоит 10 тыщ. Движок стоит 1.6 миллиона. Как вы думаете, сумеете вы вычитать это на форумах или подскажет вам это знакомый мастер при покупке? Поэтому да, нужно _знать_ и, если нет 100% уверенности — иметь значительную сумму на дополнительный ремонт при покупке.


  1. syslinux
    07.06.2016 13:53
    +5

    По своему опыту скажу следующее. (последний раз по Москве в 15 году)
    В 90 % случаев объявлений если это не частник то полная липа. Звонишь тебе говорят да есть такая, приезжайте. Приезжаешь машины нет, в лучшем случае машина не та что на фото и другой комплектации. После 3-4 случая уже начал ругаться. Как выяснилось что все телефоны идут в коллцентр. И девочка на трубке понятия не имеет что там на самом деле. Но утверждает что она менеджер и вот прям стоит напротив машины.


    1. inkvizitor68sl
      07.06.2016 17:06
      +3

      — алло
      — алло
      — машину продаёте?
      — да
      — какую?
      — ээээ… <тут много чего фантазируют>
      — ясно, перекупам до свидания.

      Такой диалог легко отсеивает 99% перекупов (а связываться с перекупами в Москве смысла нет вообще).


      1. nikitos18
        07.06.2016 17:43

        Именно так, как только слышите в ответ «какую?» можете класть трубку.


        1. Apatic
          07.06.2016 17:58
          +3

          Насколько я понял, это автор спрашивает «какую?». А поскольку перекуп не знает, по поводу какой именно ему позвонили — не может сразу ответить.
          Но, вообще-то, это какие-то лоховские перекупы. Нормальные перекупы давно покупают на каждую продажу новую симку и знают на какой номер им по поводу какого авто звонят.


          1. Stas911
            07.06.2016 19:48

            Чего-то много движений ради продажи ведра с гайками…


            1. Apatic
              07.06.2016 20:16

              Много движений? Купить симку за 200р?
              Да и продавать то будут не ведро. Это оно на самом деле, может, и «ведро». А цену будут просить как за «не бит, не крашен, ездила девушка на работу и обратно». Так что прибыль то получится дай боже.


              1. Stas911
                07.06.2016 21:42
                -2

                Ну даже если вы 10 машин продаете — уже проблема будет иметь столько телефонов-симок и все это администрить.


                1. el777
                  08.06.2016 11:04

                  Чего там администрировать-то?
                  Каждая симка в своем телефоне — на телефон приклеиваешь бумажку с именем, от которого написано объявление, и машиной.
                  Все — телефон звонит, сразу видишь «как тебя зовут» и что ты продаешь.
                  На стенку перед носом вешаешь листок с подробным описанием этой машины — чтобы бумажками во время разговора не шуршать, но сразу видеть все данные.
                  Даже CRM не нужна =)


                  1. zamboga
                    08.06.2016 19:21

                    Полно автосалонов, у которых 30-50-100 машин. Они не будут заморачиваться левыми симками и держать 100 телефонов, на которых написаны параметры машины. Им проще подождать звонка следующего покупателя.

                    Для устойчивого потока звонков они публикуют объявления с популярными марками/моделями авто, и так или иначе колл-центр «закрывает» звонящего на приезд на осмотр. А далее уже ушлые менеджеры разводят или не разводят покупателя на что угодно, в зависимости от степени «лошарости» последнего.


                    1. Apatic
                      08.06.2016 19:29

                      Вы путаете автосалоны и перекупов-частников. Речь шла о последних.


                    1. el777
                      09.06.2016 10:35

                      Такие надо обходить такие стороной =)
                      Так что тест выдает верную диагностику. )


                1. xenon
                  14.06.2016 15:10

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

                  Так что он даже как-то без наклеек на телефоны умудряется работать.


        1. imil
          08.06.2016 11:19

          Я один раз продавал одновременно две машины: свою и отца, чтоб купить одну общую повместительнее.
          Было заметно, когда люди пользуются трюком «не говори о машине первым». Приходилось оправдываться, мол, такая ситуация…
          Но конечно, мой случай редкость, перекупов в разы больше.


      1. backslash
        07.06.2016 17:58

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


        1. inkvizitor68sl
          07.06.2016 22:18

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


      1. sim31r
        08.06.2016 03:12
        +1

        При мне был такой разговор по телефону:
        — Ало машину продаете? (вероятный вопрос)
        — Какую?
        — Газель, вы же продаете.
        — Нет… А ну я же её продал 2 года назад, тот болван что, объявление о продаже с заднего стекла не стер?
        :)


  1. FWBARABASHKA
    07.06.2016 13:53

    Когда читал, сначала подумал… Как только люди не извращаются. А в конце проникся уважением к Автору. Молодец, не просто придумал, но и сервис сразу сделал. Правда хаброэффект и его настиг)))


    1. nikitos18
      07.06.2016 13:54

      Спасибо) кстати, пока не настиг)


  1. prog666
    07.06.2016 13:54

    На вашем сайте нельзя выбрать пробег больше 100500, что если меня пробег вообще не интересует?


    1. nikitos18
      07.06.2016 13:56

      не трогайте фильтр просто и все. Там 100500 тыс. км., а не 100500 км. ))


      1. prog666
        07.06.2016 13:59

        все равно в запрос подставляет http://robasta.ru/?city=Москва&model=Honda+Civic&price_from=&price_to=1500000&power_from=&power_to=&year_from=1991&year_to=1995&volume_from=0.0&volume_to=100500.0&km_from=0&km_to=100500&lm=0&state=2&seller=1&engine=0&transmission=0&drive=0&body=2&hasphoto=0&new=0


        1. nikitos18
          07.06.2016 14:04

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


  1. BlueBeard
    07.06.2016 14:11

    Пробил свою модель
    самая дешевая (ЦЕНА ЗАНИЖЕНА НА: 224 517) оказался битым
    следующая (ЦЕНА ЗАНИЖЕНА НА: 154 464) коцанный и ржавый
    следующая (ЦЕНА ЗАНИЖЕНА НА: 120 507) 10 лет 180тыр а краска как с завода и сидение пассажира не соответствующее комплектации(должно быть электро-регулировки)

    ну и как я понимаю получаем на выходе заниженную среднюю цену от которой оталкиваемся


  1. nikitos18
    07.06.2016 14:12
    +1

    Краска как с завода это же здорово, особенно если цена при этом ниже рынка) Удачи с покупкой


    1. el777
      08.06.2016 11:07

      Вы в это верите? Скорее «облитая» — то есть очень быстро «зацветет».


      1. nikitos18
        08.06.2016 11:16

        Чего гадать, нужен толщинометр)


        1. el777
          08.06.2016 12:24
          -1

          ))


  1. kataevsm
    07.06.2016 14:23
    +1

    Как собирались исходные данные?


    1. nikitos18
      07.06.2016 14:30
      +1

      Это довольно трудоемкая задача, заслуживающая отдельной статьи. Может позже об этом напишу.


      1. kataevsm
        07.06.2016 15:41

        Было бы очень интересно.
        Предполагаю, что скрапинг сайтов с помощью Python?


  1. BaranovskiyNE
    07.06.2016 14:37

    Автор молодец. Но объявления наводнены перекупщиками, салонами с липовыми пробегами и битыми машинами. Кроме того те же личности вносят откровенно липовые объявления с завышенными/заниженными ценами для манипулирования самим рынком, а еще есть тема с мошенниками, которые дают липовые объявления с заниженной ценой, и стараются развести на залог. Так что входные данные для исследования очень плохие, на них адекватный анализ выполнить к сожалению не получится.


    1. nikitos18
      07.06.2016 14:42

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


      1. BaranovskiyNE
        07.06.2016 15:01

        отброс выбросов — это хорошо. Ваш сервис неплохо дает ориентировочное представление о цене на рынке с примесью липы и скрученных пробегов, но иначе эту задачу сейчас и не решить.
        Такой еще вопрос, хочу посмотреть только частников, но попадаются и предложения площадок.
        http://robasta.ru/?city=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&model=Skoda+Octavia&price_from=&price_to=1500000&power_from=&power_to=&year_from=2012&year_to=2013&volume_from=1.8&volume_to=1.9&km_from=0&km_to=100500&lm=0&state=2&seller=1&engine=0&transmission=1&drive=0&body=0&hasphoto=1&new=0#
        что-то не то во входных данных?


        1. nikitos18
          07.06.2016 15:30

          drom.ru не разделяет объявления на частник/салон


          1. BaranovskiyNE
            07.06.2016 15:38

            Может стоит тогда откинуть дром при выборе частника — просто в салонах как правило совсем все плохо и они, как я понимаю, в 99.9% крутят пробеги, а то и с годом мудрят, а цена у них как правило ниже рынка. У Вас на первые позиции попадает много как раз салонных машин.


            1. nikitos18
              07.06.2016 16:21

              Я подумаю, честно говоря, надеюсь что дром прикрутит этот несложный фильтр


      1. BlueBeard
        07.06.2016 15:14

        : Выявить перекупщика и развод на залог можно и по телефону

        а в чем проблема менять симку хоть под каждый авто, виртуальный телефонный номер итд итп?


        1. nikitos18
          07.06.2016 15:31

          Я про выявление при беседе по телефону)


  1. Ruyske
    07.06.2016 15:24

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

    Было бы классно, если бы аналогичный функционал был сделан для мототехники (возможно и еще для каких-то категорий.)


    1. nikitos18
      07.06.2016 15:24

      Насчет мототехники тоже были мысли.


      1. Ruyske
        07.06.2016 16:17

        Было бы супер.

        Если понадобится помощь — готов поучаствовать, правда пока только «руками»))


  1. omskscream
    07.06.2016 15:24

    Имхо, сервис может быть полезен также при продаже своего авто, чтобы выставить адекватную цену.

    З.Ы. Хотелось бы увидеть поддержку мототехники :)


  1. lipchan
    07.06.2016 16:12

    Математически всё красиво, но мало применимо в реальной жизни. Нужна машина с максимальным остаточным ресурсом, по адекватной цене. Пробег учитывать бесполезно, он с потолка в большинстве случаев. Коробку, наоборот, стоит разбить на типы (робот, вариатор, автомат), т.к. это существенный фактор, влияющий на цену и на ресурс.
    Для реальной жизни — http://av100.ru. Настроил поиск, получил уведомление, договорился, посмотрел, купил. Но специалиста с собой брать обязательно, для оценки состояния.


    1. nikitos18
      07.06.2016 16:14

      Не уверен, что человек который ищет авто для себя пойдет путем который Вы предлагаете) я бы точно не пошел


      1. bopoh13
        08.06.2016 11:25

        Согласен, что обычный человек по такому пути не пошёл бы, а стоило (особенно последний пункт). В объявлении мало данных, да ещё не все верные. Например, первые 2 записи в запросе http://robasta.ru/?city=Москва&model=Opel+Corsa&year_from=2008&year_to=2014&volume_from=0.0&volume_to=100500.0&lm=0&state=2&seller=1 — один автомобиль.
        В любом случае, начало у Вас положено. Лично я бы вынес тип коробки прямо под фотографию, т.к. информация важная. Если drom исключать не планируете, в парсер бы добавил поиск по словам «мы», «кредит», и пр. с последующим выводом предупреждения о салоне, т.к. на салоны время тратить считаю лишним. Успехов в развитии.


        1. nikitos18
          08.06.2016 11:35

          То что 2 записи один и тот же автомобиль — не вижу тут криминала, просто человек на 2х сайтах разместил, в идеале можно прикрутить алгоритм классификации для фото, но зачем?
          Для дрома планирую сортировать частник/салон. Спасибо за критику, учту


    1. zamboga
      08.06.2016 19:29

      Про пробег согласен, год важнее.
      Но сайт av100 удобен при «ловле» авто, если текущие машины в продаже уже отсмотрены и оказались ведрами. И совсем не гарантирует, что на рынок в «нормальном» горизонте событий выбросится подходящее авто.

      А сервис автора убирает рутинную работу, когда открыто 30-50 объявлений (по своей и соседним областям, а то и в радиусе до 1000км), которые потом вычитываются, отбираются, и обзваниваются.


      1. rfvnhy
        09.06.2016 16:13
        +1

        >Про пробег согласен, год важнее.

        А я бы вот не отказался купить авто из «капсулы времени»…
        Менять там, конечно, много надо, но по крайней мере если машинка не коллекционная то за вменяемые деньги получается новое авто…
        ЗЫ если бы авто мне было нужно =) Пока мне на порядки дешевле выходит раз в неделю при надобности такси вызвать…


        1. teifo
          10.06.2016 12:29

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


  1. DarkOrion
    07.06.2016 16:12

    Хабраэффект или у меня проблемы с сетью\браузером? Поисковой выдачи нет, консоль говорит:
    net::ERR_CONNECTION_REFUSED


    1. nikitos18
      07.06.2016 16:13

      Да прилег слегка, уже поднялся)


  1. TonyaR
    07.06.2016 16:14

    Большое спасибо за полезный ресурс! Автор, твой продукт слишком актуален =) все полегло


    1. nikitos18
      07.06.2016 16:14

      спасибо, подняли)


  1. MaximChistov
    07.06.2016 16:17

    Имхо, гораздо полезнее был бы сервис, который умел бы по показателям объявления предсказывать вероятность что машина плохая(как это сейчас делают перекупы в уме), но такое, к сожалению, очень сложно автоматизировать…


    1. nikitos18
      07.06.2016 16:23

      Довольно сложно формализовать такую задачу. На мой взгляд я и решаю частный случай этой задачи.


      1. rfvnhy
        09.06.2016 16:15

        На самом деле просто как-то выделять слишком дешевые или слишком с большой разницей пробег/год
        Но тут можно попасть при большой удаче на «капсулу времени», когда владелец поставил авто в гараж, а через лет 10 решил продать… (или его наследники).
        Правда на такие машины сейчас цену чаще всего задирают больше, чем на новые… ;-(


      1. asgard88
        10.06.2016 13:28

        Если реализовать возможность получать из объявлений телефоны, можно путем составления базы телефонов и частоты их повторения + соотносить код телефона и регион сделать некую шкалу риска по конкретному объявлению. В выдачу добавить подсказку по риску на каждый вариант с описанием что там подозрительное (телефон часто мелькает в др обявлениях, код не соостветсвует региону продажи и тд)


        1. nikitos18
          10.06.2016 13:36

          Примерно в таком направление сейчас и двигаюсь! Однако, как уже писали выше, перекупы зачастую имеют несколько симок, и тогда этот анализ не имеет смысла.


          1. bopoh13
            10.06.2016 15:34

            Такие люди жадные, и часто косметическую уборку не делают. Полагаю, больше половины не покупает новую симку на каждый 3-й авто ;)


  1. Apatic
    07.06.2016 16:25

    цена (price)
    год выпуска (year)
    пробег (mileage)
    объем двигателя (engine.capacity)
    мощность двигателя (engine.power)
    тип двигателя

    Первая ассоциация — о нет, снова пример обработки данных на mtcars :)


  1. burrdarr
    07.06.2016 16:26

    Автор — молодец! Не понимаю опасений за линейную регрессию — функционал-то (в смысле функции, а не возможностей) можно выбрать любой, подобрать, кстати, можно попробовать при помощи Eureka, например.


    1. nikitos18
      07.06.2016 16:27

      Как раз о выборе алгоритма расскажу следующей статье


  1. Gorniv
    07.06.2016 17:03

    А я думал, что это я заморочился, когда спарсил iihs.org , чтобы посмотреть безопасные автомобили с привязкой к году выпуска.
    P.S. интересная вещь у Вас получилась!


    1. nikitos18
      07.06.2016 17:13

      Спасибо


  1. aalexand
    07.06.2016 17:12

    Важная вещь — как давно товар на рынке. Было бы неплохо иметь возраст объявления в модели или как фильтр.


    1. nikitos18
      07.06.2016 17:14

      Я думал об этом, но после истечения срока публикации, если продавец продлевает публикацию, то дата первоначальной публикации не отображается.


      1. aalexand
        07.06.2016 17:16

        Это да. На auto.ru она раньше (когда я машину искал) была на фото, там ее обычно народ не обновляет, можно оттуда доставать. Более хлопотно, правда.


      1. Rondo
        07.06.2016 18:44

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


        1. nikitos18
          07.06.2016 18:49

          Пример который вы описали вполне подходит под разные объявления от разных владельцев)


  1. AllexIn
    07.06.2016 20:09
    +1

    Может быть я пропустил эту информацию… Не увидел, как вы собираете базу машин?
    Планирую для своих нужд аналог av100.ru поднять на домашнем сервере, но пока уперся в отсутствие понимания как грамотно собрать базу объявлений. У вас эта задача, судя по всему, решена. Как?


    1. nikitos18
      07.06.2016 21:20

      Объявления собираются в реальном времени.


      1. AllexIn
        07.06.2016 21:21

        Это замечательно!
        А технически это как делается?
        Запросы в API каждого сайта? Парсинг html?


        1. nikitos18
          07.06.2016 21:28

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


          1. AllexIn
            07.06.2016 21:29

            Зачем в личку? ИМХО тема достойная статьи. Впрочем, если лень оформлять — краткий обзор в комментариях тоже будет очень полезен.


  1. Stas911
    07.06.2016 21:44

    Для недвижки, помнится, народ как-то отсеивал агенства. Не помню уже деталей — вроде на Хабре был пост. Может сюда такое же можно привинтить?


    1. nikitos18
      07.06.2016 21:46

      Посмотрю на хабре


      1. VMAtm
        14.06.2016 20:35

        https://habrahabr.ru/post/148782/
        https://habrahabr.ru/post/264407/
        https://habrahabr.ru/post/242085/

        В порядке убывания по релевантности (на мой субъективный взгляд)


        1. nikitos18
          14.06.2016 20:43

          не увидел чтобы отсеивали агентства.


          1. VMAtm
            15.06.2016 01:45

            Насколько я понял из комментов к первому посту, там вводился параметр «оценённость» квартиры, который для агенств обычно склонялся в сторону переоценки, а для частных — наоборот.
            Если говорить про прямой отсев — да, такого я тоже не нашёл


            1. nikitos18
              15.06.2016 02:53
              +1

              Вы не так поняли… переоцененность и недооцененность — это отклонение предсказанной с помощью алгоритма цены относительно цены в объявлении, не более того.


  1. mOlind
    07.06.2016 23:56

    Идея хорошая, но не различает комплектации авто. Т.е. про вариант где порный фарш алгоритм будет говорить цена завышена, а про базовую версию — выгодное предложение. Т.е. кроме указанных переменных есть же еще и наличие парктроника, подогрева сидений, камеры заднего вида, ходовых светодиодных огней, климат контроля, панорамной крыши и прочих-прочих радостей жизни. Они влияют на цену, а алгоритм их отбрасывает как ненужный шлак.


    1. cranium256
      08.06.2016 15:52

      Поддерживаю. Комплектация очень сильно влияет на цену. Не поленился, залез в конфигуратор на ford.ru. Ford Focus Titanium: базовая комплектация 1.185 млн.руб., тот же Titanium со всеми наворотами (только доп.оборудование!) стоит 1.510 млн.руб. Это +27% к базовой стоимости.


      1. nikitos18
        08.06.2016 15:57
        +1

        Это на новые машины только распространяется. С прошествием лет этот показатель убывает по экспоненте.


        1. mOlind
          08.06.2016 16:42

          Т.е. через год покупателю становится все равно на все плюшки и хочется дешевле?

          Идея самого сервиса — найти лучший автомобиль за меньшие деньги. Каждая дополнительная плюшка чего-то стоит. Если продавец недооценил плюшки — надо помочь покупателю найти эту выгоду.


          1. nikitos18
            08.06.2016 17:13

            Возможно в чем-то Вы и правы.


  1. AlexTheTux
    08.06.2016 00:00
    +1

    Спасибо за сервис.
    Небольшой баг-репорт. Сделал поиск с параметром «Продавец=Частное лицо» (конкретно — искал «Mazda CX-5» 2015-2016 годов в Петербурге) и абсолютно все найденные машины были от официального дилера. Вот одна из ссылок, все остальные были от того же продавца: хттп://spb.drom.ru/mazda/cx-5/21418729.html

    Догадываюсь, что на том сайте, наверное, нет явного признака — частное ли лицо продавец, но в данном конкретном случае в объявлениях есть информация, по которой можно распознать автосалон. По крайней мере, есть ключевые слова, фразы, по наличию которых можно понижать вес параметру «частное ли лицо продавец?» при его вычислении.

    И еще, в качестве идеи: если сайт позволяет определить, есть ли у данного продавца другие активные объявления с продажей машин (а это можно выяснить и самостоятельно, если собирать с объявлений телефоны) — то по наличию у продавца более одного объявления, на мой взгляд, надо максимально понижать вес параметру «частное ли лицо продавец?». Поскольку даже если это перекупщик — по любому, он должен идти как Автосалон, а не как Частное лицо. Либо даже лучше — вводить дополнительное значение классификатора «Продавец=Серийный продавец (Перекупщик)», поскольку именно их и хотелось бы отфильтровать.

    Резюмируя: хотелось бы более надежного определения «Автосалонов» и «Частных серийных продавцов».


    1. nikitos18
      08.06.2016 00:01

      Все верно, дром не отличает частников от салонов, работаю над этим вопросом. Спасибо за советы.


  1. Skerrigan
    08.06.2016 05:32

    Так же дополню баг: искал Хундай Сонату в Томске. Вчера находило все корректно, сегодня поиск выдал вагон объявлений. И 75% из них были в Москве. После беглого анализа выяснил, что drom.ru выдает корректно объявления из Томска. А вот auto.ru жульничает.


    1. nikitos18
      08.06.2016 05:53

      Спасибо за инфу сейчас посмотрел все верно — вот


      1. Skerrigan
        08.06.2016 07:21

        Прошу простить мой слабый анализатор смысла: «все верно» это вы про то, что «баг подтвержден», или про то, «что теперь все работает как нужно»?
        Ибо перешел по вашей ссылке и сразу «одна Москва». Хотя на странице вашего сервиса написано, что Томск. И, опять же, грешит один auto.ru

        Если у вас все верно (т.е. ошибок не видите), то могу в ЛС кинуть более точные данные того, что видно у меня.


        1. nikitos18
          08.06.2016 07:50

          поправил — тыц


          1. Skerrigan
            08.06.2016 08:51

            Фикс взлетел, спасибо. В августе воспользуюсь вашим сервисом по назначению.


            1. nikitos18
              08.06.2016 09:18

              Вам спасибо)


  1. Sinucs
    08.06.2016 06:31

    Решил поискать по Томской области Honda accord 6 поколения. Поиск выдал результаты. У каждого результата подпись, что это Томск. Открывая объявление видно, что это Москва или др. города.


    1. Yak52
      08.06.2016 07:40

      Аналогично с Новосибирском


    1. nikitos18
      08.06.2016 07:48

      Спасибо за замечание, поправлено.


      1. nikitos18
        08.06.2016 07:54

        Видимо авто.ру не очень нравится поток людей)


  1. 2PAE
    08.06.2016 07:47
    +1

    Убрать с главной слайд шоу. Раздражает. Если хотите, выводите результаты одного из предыдущего запроса. Или какую либо статистику.
    Что чаще всего ищут или что-то ещё в ом же духе. Пропадет место зря.

    Мне вот интересен вариант

    Иномарка. АКПП. Левый руль. Цена.

    Не могу выбрать. А перебирать все марки… Дооолго… :(


    1. teifo
      08.06.2016 09:16
      +1

      Не могу выбрать. А перебирать все марки… Дооолго… :(
      Вы же телефон не выбираете «андроид» «4 гига оперативы» экран «амолед»? Тут тоже самое читать, выбирать, прикидывать по обслуживанию и прочим вещам. Слишком много моделей, слишком много нюансов, которые лучше изучить заранее.


      1. avost
        08.06.2016 09:56

        Вы не поверите ;)
        Я, например, примерно так телефон и выбирал. Аналог «левого руля», — «я хоть что-то про фирму слышал».
        Выбирал-выбирал,… а потом увидел по акции сяоми за полтинник ;). Жаль, что с машинами всё сильно сложнее.


        1. teifo
          08.06.2016 12:29

          С телефонами вам проще, потому что вы возможно про них хоть что-то слышали. Вот и с машинами тоже самое, надо читать смотреть, прикидывать. От общего к частному. Сперва для чего машина, потом обслуживание и ремонт, потом читать отзывы по подходящим моделям. Все это с каждым разом сужает конечные варианты. К примеру если искать «андроид» «4 гига оперативы» экран «амолед», то самым дешевым будет китайский ноунейм. Но вы же прекрасно понимаете, что кроме цены тут есть и более важные параметры не так ли?


          1. avost
            08.06.2016 12:48

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


            1. teifo
              08.06.2016 13:11

              Для общераспространённых целей такой способ даёт не самые плохие результаты и позволяет съэкономить время и нервы.
              Отвечу простой фразой, чтобы купить что-то ненужное, надо продать что-то ненужное:) Самое вкусное с машиной начинается после ее покупки и если человек этого понимает, то голову на плечах никакой сервис не поможет:)


              1. avost
                08.06.2016 13:39

                Тем не менее, способ прекрасно работает для 96% населения, а вот кроилово очень часто ведёт к попадалову.


      1. boogiebomzh
        08.06.2016 10:35

        В том-то и дело, что слишком много моделей. Нужен мне, к примеру, универсал с АКПП. Это в Москве можно просто взять конкретную модель и выбирать из сотен вариантов. В городах с меньшим рынком это уже не пройдет: единицы предложений, из которых большинство отсеиваются по фото и описанию, остальные — по звонку. Если бы можно было рассмотреть все модели, соответствующие критериям отбора, выбор был бы куда шире. Можно было бы также сравнить и медианные цены на определенные модели.


        1. nikitos18
          08.06.2016 10:36

          Именно поэтому есть возможность искать в области.


          1. 2PAE
            08.06.2016 11:06

            Я вот сегодня, только благодаря вашему сайту, узнал что у Ваз-а есть универсал с полным приводом и это не «Нива», а «Надежда».
            Но узнал я это только потому, что просто сидел минут 15-20 и игрался с настройками. Случайно выбрал ваз 2-чего-то там.
            И там раз, и «Надежда». :-( )

            Ещё раз, если возможно, сделайте пожалуйста выбор без указания конкретной модели. Ну или хотя бы конкретную модель но без указания модификации.
            К примеру просто MAZDA, или просто ВАЗ и пусть ищет во всех маздах левый руль, автомат, с фото, в такую вот цену.


            1. rfvnhy
              09.06.2016 16:24

              Брать «уникальную» марку? Охххх
              1. Возможная проблема с з/ч
              2. Маленькая выборка. Из-за чего почти не понятно что будет ломаться чаще, какие проблемы у модели «с завода»,…
              3. В СЦ не всегда будут знать что именно у вас там сломалось по паре характерных вещей…
              Например знакомому на Калине (когда они только появились) поменяли стойки для начала, хотя виной была ослабевшая гайка на рулевом (как в 99й, причем знакомый долго был владельцем 99й, в СЦ уж тем более про гайку на рулевом знали, но о Калине такого сразу не подумали и начали с замены стоек…
              Да, ответ АСЦ «стучит, кажется стойки» — «ну как стойки развалятся _привозите_ поменяем...» (те не приезжайте, а привозите!!!!) Пришлось ехать в знакомый СЦ…


      1. 2PAE
        08.06.2016 10:58

        Воот! Именно так. Слишком много моделей. А денег кол-во ограниченное. Поэтому, считаю что сначала нужно посмотреть что
        ВООБЩЕ за эти деньги могу купить. И только потом смотреть, что из доступного на данный момент на рынке заслуживает внимание.
        Зачем зацикливаться на конкретной марке?

        Телефон я кстати именно так и выбираю. 8 ядер, 2 Гб, 16-32 гв, 2 симки FullHD и прочее.
        А дальше смотрю что попадает под данные характеристики. Читаю отзывы по моделям смотрю обзоры.
        Для меня главное технические характеристики и надежность, а какой это будет лейбл воощее без разницы. Хоть ZOPO! ;)

        Если для вас главное что-бы на телефоне было «яблочко», или гордая надпись «самсунгсамывсунг» то у нас разный подход к выбору. :)))


        1. nikitos18
          08.06.2016 11:09
          +1

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


          1. nikitos18
            08.06.2016 11:14

            Дело ведь состоит в том, что для каждой модели авто, параметры (год, пробег и тд.) вносят разный вклад в формированием цены… поэтому осуществлять поиск просто по марке нет никакого смысла, если мы хотим найти выгодные (ниже рынка) предложения.


            1. boogiebomzh
              08.06.2016 11:36

              А если при анализе среди многих моделей выводить разницу не в рублях, а в процентах, просчитывая медиану для каждой модели отдельно?


              1. nikitos18
                08.06.2016 11:42

                Можно в цикле решать задачу для каждой модели с последующей общей сортировкой.


        1. Apatic
          08.06.2016 11:34

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


          1. nikitos18
            08.06.2016 11:39

            +1


          1. 2PAE
            08.06.2016 12:18

            Да, на данный момент этот сервис не может этого сделать. Но кто сказал что надо останавливаться на достигнутом? :)
            Я вот сразу предложил, исходя из реального опыта поиска авто, вариант развития сервиса.

            Поиск конкретной модели имеет смысл, когда у вас денег ЗАМЕТНО для того, что-бы купить именно эту машину.

            «Что толку зачитываться форумами по Лендроверу, если денег есть только на УАЗ?» (С)Знакомый.
            Случай из реальной жизни между прочим. Лендровер он потом всё таки купил, но это было заметно позже.

            У большинства, задача перемещаться из А в Б, за определённую сумму.


            1. Apatic
              08.06.2016 12:28

              Ну так для этого разведочного анализа вполне подойдут автосайты в их чистом виде, ИМХО.


              1. 2PAE
                08.06.2016 12:37

                Ну да, ну да, зачем нам сервис что может это сделать за 5-10 секунд? Всегда лучше потратить значительно больше времени, на выполнение любой деятельности. :)

                Ладно давайте на этом остановися.

                Сервис замечательный! Я хочу что-бы он развивался и дальше. И предоставлял дополнительные возможности для людей!


        1. teifo
          08.06.2016 12:37

          Как и с телефонами цена цене рознь. Выставлять цену главным критерием при выборе модели автомобиля, означает сразу же огромный риск купить проблемный автомобиль, который не будет отвечать вашим потребностям и финансовым возможностям. Если вы больше ничего не знаете об обслуживании и ремонте автомобиля кроме замены масла через столько то тысяч километров, то вы попадаете в категорию обманываемых покупателей. Поэтому прежде чем-то что-то покупать почитайте отзывы, определите ваши требования к размеру, расходу, типу коробки, типу топлива, доступности на рынке, уже это существенно сузит выбор моделей из сотен до нескольких десятков.


          1. 2PAE
            08.06.2016 12:51

            Именно так. Потребности и финансовые возможности. Считаю что для большинства людей главным критерием является цена. Хотя если вы не стеснены в средствах, то вы можете выбрать что хотите.

            Если у вас в кармане 50 т.р. то Форд Фокус вам всё равно не светит. Ваш выбор российский автопром. Если у вас есть 500 т.р. то на новый Кашкай можно только полюбопытствовать в салоне.

            Поэтому становимся реалистами, отсекаем всё что выше бюджета и начинаем смотреть, а что же я за свои кровные вообще могу купит?


            1. teifo
              08.06.2016 13:08

              Чтобы купить что-то ненужное, нужно продать что-то ненужное. Авто мало купить, его содержать надо, особенно когда денег нет. Если человек идет покупать машину на рынок, зная только руль тут, 4 колеса там, то никакой сервис ему не поможет, только чудо и чудеса мы не будем рассматривать. А вот если у человека есть голова на плечах и желание потратить свои небольшие деньги с пользой, то такому человеку прямая дорога к отзывам и думам, что ему брать да покупать. Это богатые люди могут позволить покупать себе кучу ненужного в поисках нужного, те кто победнее должны быть поумнее что ли.


              1. 2PAE
                08.06.2016 13:33

                Это богатые люди могут позволить покупать себе кучу ненужного в поисках нужного, те кто победнее должны быть поумнее что ли.

                Ну! Наконец то! :) Вы меня поняли. Может это я конечно плохо раньше объяснял. :(
                Главное, для обычного человека, в покупке это цена! Вон у человека вверху, 2КК бюджет на покупку б/у машины. Да он может в 95% рынка копаться! И даже из за рубежа заказать авто. Завидно.

                Хотя… Сам я сделал всё наоборот. :))) Купил блин эксклюзив. Одна машина в городе. Даже ДПС-ники тормозили с вопросом, что это такое? И отдал дорого. Ну для её года и состояния.

                Главное на тот момент было, что она мне понравилась! :) И сейчас нравится. :)

                Нашёл я её именно таким способом. Отсёк все что сверху и начал просматривать всё подряд. На этом сервисе, я бы её не нашел. :(


                1. nikitos18
                  08.06.2016 13:37

                  У Вас своеобразный подход к выбору авто, у подавляющего числа людей подход более взвешанный и рассудительный.

                  Главное на тот момент было, что она мне понравилась!


                  1. 2PAE
                    08.06.2016 14:04

                    Я был взвешен и рассудителен. :) Выставил верхнюю планку, пересмотрел что было на рынке. В доступную мне цену.
                    Прочитал массу отзывов, зарегистрировался на десятках форумов. Пообщался живьём с автовладельцами.

                    Пересмотрел эннное количество машин. Как у хозяев так и у перекупов. Было один раз забавно. Я жду фольксваген поло, а приезжает что-то японское. И перекуп такой: «Что же ты не сказал что поло хотел?» Я: «В объявлении был фольксваген поло и номер телефона, откуда мне знать что вы ещё что-то продаёте?» :)

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


                1. rfvnhy
                  09.06.2016 16:28

                  >Хотя… Сам я сделал всё наоборот. :))) Купил блин эксклюзив. Одна машина в городе. Даже ДПС-ники тормозили с вопросом, что это такое? И отдал дорого. Ну для её года и состояния.

                  У знакомого такая… штуки 2 на город-миллионник.
                  При первой же серьезной поломке местный АСЦ известной марки сказал что не знают что у него сломалось, везите в Москву…
                  А у нас эту модель никто не знает как чинить…
                  Плюс вечная проблема с з/ч — все под заказ…


  1. peacemakerv
    08.06.2016 08:47

    Я когда-то занимался тем же самым — выбором авто с чисто математическим подходом.
    Но я, ограничившись глобально производителями, выбирал среди 7 моделей по 9 по-моему критериям: цена, габариты (полезный объем), стоимость содержания, проходимость, внешний вид, тип трансмиссии, клиренс, ликвидность на рынке… что-то там еще.
    Но использовал матричный алгоритм "помощи принятия решения", субьективно выбирая для каждой модели авто цифровые значения критериев, сравнивая модели друг с другом, по собственным ощущениям, отзывам знакомых и инфе в Сети. 6-7 итераций исправлений — и была более-менее понятна картина… но.
    Но как обычно — во всех моделях был компромисс, выбор одной из них все равно был непростым и я решил добавить модель, которая выбивалась из бюджета на +100 тыс. руб. на тот момент (к 600) — и баланс критериев сразу поменялся в пользу добавленной дорогой модели.

    О покупке после такого расчета, хоть и с дополнительным займом денег, — до сих пор не жалею, и сейчас бы сделал тот же выбор, если бы пришлось покупать авто снова :-)


    1. nikitos18
      08.06.2016 09:25

      достаточно субъективный анализ у Вас получился.


      1. peacemakerv
        08.06.2016 09:36

        Да, но выбор уже изначально был ограничен моделями, и нужно было только принять решение, какой вариант больше мне лично подходит: чтобы и жаба не задушила, и на рыбалку по бездорожью среднему добраться, и семью возить со скарбом, и климат контроля бы ну и прочее. И результат расчета — полностью оправдался, чем и радует уже 3 года.


  1. el777
    08.06.2016 11:46

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

    image

    Вот здесь видится очень четкая линейная регрессия с параметром k чуть меньше 1, r не считал. Пересечение с осью абсцисс в точке 1 200 000. То есть вывод, с поправкой на то, что дорогие мешины дешевеют сильнее,

    ваша выгода равна тому, насколько машина дешевле средней машины.

    Но в данных есть одна проблема. Есть один очень важный скрытый параметр, назовем его ?-коэффицифиент, который отвечает за завышение цены перекупами. В случае с новыми машинами он равен 1, но для б/у до обследования машины узнать его невозможно. И по факту, это самый главный фактор влияющий на выгоду.
    если бы ML-алгоритами можно было его как-то оценить сверху, то это был бы супер-сервис. Всех остальных он бы в момент вынес с рынка.


    1. nikitos18
      08.06.2016 12:18

      Конечно, как Вы верно заметили, линейная регрессия не лишена проблем, о которых я прямо в статье и пишу.

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


      Существуют еще робастные методы, устойчивые к выбросам, например робастная регрессия Хубера, существует алгоритм основанный на деревьях решений (random forest), метод главных компонент, лассо регрессия, ридж регрессия и тд… сравнение которых я проведу в следующей статье.


      1. nikitos18
        08.06.2016 12:29

        А ваш коэффициент ? — это мера влияния конкретного измерения на коэффициенты модели ( т.е. на выгоду). Посмотрите раздел «Диагностика модели», там про выбросы и меры влияния измерений довольно подробно рассказано.


      1. el777
        08.06.2016 13:44

        Вопрос немного не в этом. Универсал, Короба, Зимняя резина и прочее — это все видимые факторы. Вы их можете заложить в многомерную линейную регрессию и потом понижать размерность.
        Я говорю именно про оценивание выбросов — как понять, что выброс хороший? и как понять, что он плохой? По идее вся статистика — это борьба с выбросами. Как научиться их исключать и работать только с данными, хорошо укладывающимися в модель.
        Если смотреть по графику, то там выбросов практически не будет. Интересно посчитать по любому критерию, хоть Стьюденту, хоть ?2. Мне кажется, там почти ничего не отбросится.


        1. nikitos18
          08.06.2016 14:05

          см. раздел «Диагностика модели». Выбросы есть — 18 штук, хороший/плохой выброс определяется мерами влияния, которые в свою очередь бывают общие и специфические.

          Вот вы пишите:

          Интересно посчитать по любому критерию, хоть Стьюденту, хоть ?2. Мне кажется, там почти ничего не отбросится.


          А вот цитата из статьи:

          Итого, выбранный нами путь идентификации выбросов позволил исключить из общий выборки 18 наблюдений, что несомненно положительно скажется на точности определения коэффициентов линейной модели с помощью МНК.


          1. el777
            08.06.2016 14:25

            Пардон, этот фрагмент я упустил. В любом случае предположение подтверждается — выбросов не очень много. Остальное отлично укладывается в модель.


    1. bopoh13
      08.06.2016 12:29

      Отличная идея в магазине на ценнике указывать себестоимость и накрутку перекупов вместо обычной розничной цены. Только кто на это пойдёт? )


      1. nikitos18
        08.06.2016 12:46

        Просто нужно сравнить и выбрать другой магазин)


      1. el777
        08.06.2016 13:45
        +1

        Конечно, магазин это не будет указывать.
        Но, если собрать цены из разных магазинов в одном месте — то туда будут ходить и смотреть.


  1. Plotogon
    08.06.2016 16:54

    Удалено


  1. zamboga
    08.06.2016 21:31

    1. Есть расширение хром, позволяющее понять, перекуп продавец или нет, и как давно перевыставляется конкретное объявление (чем дольше перевыставляется объява, тем хуже конкретно это авто продается, и скорее всего, этот экземпляр в плохом состоянии).
    Так что можете добавить как критерий оценки в ваш интересный сервис.

    2. Можно предоставить продвинутому пользователю самому решать «вес» того или иного критерия. Кому-то может быть более важен тип двигателя, например, чем возраст машины. И многим не так важен пробег (т.к. в 50% случаев он скручен), но очень важен год.


    1. nikitos18
      08.06.2016 23:24

      1)насчет определения перекупов — я подумаю как прикрутить к сайту, идея хорошая.
      А вот насчет авто которые долго продаются — не согласен что они обязательно в плохом состоянии… есть такой понятия неликвид — и для каждого человека свой неликвид.

      2) ничего хорошего из этого не получится на мой взгляд.

      Спасибо за советы!


    1. el777
      09.06.2016 10:36

      2. имхо тут лучше собирать обратную связь и учить по ней модель.


    1. bopoh13
      09.06.2016 12:13

      Нашёл его же для FF. Судя по ссылке на сайт — последние 5 объявлений выдаёт бесплатно. У меня показывает только на avito.ru и drom.ru…
      Как-то не думал, что помимо av100.ru если другие сервисы. Кто ещё не знает, для Москвы и МО по VIN можно историю авто узнать.


      1. nikitos18
        09.06.2016 12:36

        Жалко что для авто.ру не показывает. Кстати, спасибо что напомнили, в статье не написал, что для проверенных автокодом машин показывается пиктограмма (галочка на зеленом фоне).


        1. zamboga
          10.06.2016 13:58

          У меня на авто.ру работает тоже


      1. zamboga
        10.06.2016 13:58

        Я использовал временный тел. номер за 2-10 рублей для повторной регистрации (например sms-activate) на этих сервисах.


  1. gmiholap
    09.06.2016 11:44

    Хотел уточнить несколько моментов, касающихся линейной модели
    1. какой получился уточненный коэффициент детерминации модели (Adjusted R-squared)?
    2. все указанные коэффициенты модели статистически значимы?
    Спасибо


    1. nikitos18
      09.06.2016 11:45

      1. Adjusted R-squared: 0.5484
      2. Да


  1. oktu
    09.06.2016 12:10

    А на каком язые вы писали ваш сервис? кстати круто сделан


    1. nikitos18
      09.06.2016 12:11

      php + R (Rserve)


  1. yorko
    11.06.2016 02:14
    +2

    Спасибо за классную тему, приложение и теорему Гаусса-Маркова.

    Хотел бы указать на пару неточностей.

    Данные стоит масштабировать. Тогда коэффициенты модели можно интерпретировать. Свободный член — как средний прогноз (в Вашей модели минус 1.76e+08 — бессмысленно, а с масштабированными переменными — 1201687, то есть прогноз для «средней» машины), а остальные коэффициенты — как значимость переменных. По коэффициентам Вашей модели не видно, например, что признак «mileage» — второй/третий по значимости. А при масштабировании так и получается (простая регрессия year: 73182, engine.power: 55295, mileage: -50211, Lasso, Ridge, случайный лес схожие результаты дают).
    Влияние 3 главных признаков на цену в картинках:




    И в формуле RMSE у Вас ошибка — число измерений надо бы под корень внести, и тогда все-таки около 120 тыс. руб. в среднем ошибка прогноза.

    Кстати, если интересно посравнивать модели, предлагаю сеять random seed для полной воспроизводимости.


    1. nikitos18
      12.06.2016 00:59

      Спасибо за грамотные замечания!
      1) В расчете среднеквадратичного отклонения действительно опечатка, поправил!
      2) Что касается масштабирования данных, то не делал этого осознанно, т.к. при работе приложения это дополнительная нагрузка, а само по себе соотношение величин коэффициентов линейной модели друг к другу не столь интересно ввиду того, что кардинально отличается даже для разных моделей, не говоря уж о других характеристиках. Я отталкивался от того, что интерес несет именно дельта между ценой в объявлении и предсказанной ценой (выгода). Хотя безусловно с точки зрения удобства интерпретации — Вы правы.
      3) Что же касается свободного члена линейной модели- то на мой взгляд это не «средняя» машина, т.к. машина «в среднем» имеет какой-то пробег, возраст и двигатель с некоторыми характеристиками, а некая «новая машина находящаяся на заводе и еще без двигателя».
      4) Что касается методов, то упомянутые Вами ридж, лассо регрессии и рандом форест — это далеко не все, есть еще, например, робастные методы, медианная регрессия, метод главных компонент и т.д… которые будут рассмотрены с следующей статье… и забегая вперед, скажу Вам, что при близкой точности (RMSE) линейной регрессии и того же случайного леса, есть веские причины для однозначно выбора одного из них.


  1. yorko
    12.06.2016 15:37

    Мне не приходилось разрабатывать сервисы, в которых надо каждый чих оптимизировать. Но, по «академическим» оценкам, масштабирование — это очень простая операция. Один раз для всей выборки посчитать mean и std по столбцам (O(n+m)), потом для каждого объекта вычесть и поделить (O(m)). При имеющейся выборке это миллисекунды. Но не знаю, может, даже это сказывается.

    >>> Я отталкивался от того, что интерес несет именно дельта между ценой в объявлении и предсказанной ценой (выгода) <<
    Прогноз остается тот же и при масштабированных признаках.

    Насчет свободного члена. Все-таки при масштабированных признаках это будет именно «средняя» машина, для которой значение каждого признака равно среднему по этому признаку (x_i — mean_i = 0). И прогноз цены в ~1.2 млн. руб. выглядит намного разумней, чем прогноз в минус 176 млн. руб для «нулевого» авто :)

    Да, у меня тоже обычный лассо лучше RF сработал. Но даже в тех случаях, когда RF лучше работает, понятно, какую модель выбирать, тут к гадалке не ходи :) Но рассказать об этом популярно стоит.
    Однако часто в тех случаях, когда нам суперскорости прогноза не нужны и RF работает лучше, все равно выбирают линейные модели из-за «статистической значимости». Мне это не очень понятно. Что лучше на кросс-валидации и holdout-выборке работает, то вроде и нужно выбирать. Интересно будет про это послушать. И если не лень, можно посмотреть еще, как Xgboost и Vowpal Wabbit справится. Хотя на такой маленькой выборке вряд ли будут существенные отличия.
    С Вашего позволения дам эти данные для анализа слушателям своего курса. Поанализируют, построят кучу картинок, много моделей сравнят, с помощью кривых обучения разберутся, как модели обобщаются и т.д. Вот пример проекта.


    1. Apatic
      12.06.2016 15:44

      С Вашего позволения дам эти данные для анализа слушателям своего курса

      А что за курс? Онлайн/офлайн?


    1. nikitos18
      12.06.2016 16:10

      Мне тоже весьма странно когда выбирают линейные модели вместо rf, когда последний справляется лучше. Xgboost и Vowpal Wabbit тоже обязательно рассмотрю. А что касается выборки, то специально взял не большую, как наиболее приближенную к реальной жизненной ситуации.
      Да конечно, я не против чтобы Вы дали данные слушателям своего курса!


  1. yorko
    12.06.2016 15:59

    Не хотелось бы явно рекламой заниматься :) так что скажу, что этот курс упомянут в конце статьи с примером проекта, на которую я сослался выше.


  1. Delsian
    14.06.2016 10:10

    В таких местах социальная инженерия рулит. Меня просто познакомили с «жучком» с автобазара, я ему описал примерные параметры и цену. Через неделю он завернул продавца просто на въезде в автобазар, мне машина досталась на 30% дешевле среднерыночной стоимости (учитывая оплату услуг посредника). Да, лоторея, но всегда есть люди, лучше тебя разбирающиеся в предметном вопросе.


  1. Ehuhaa
    14.06.2016 13:24

    Было бы круто если бы Вы прикрутили базы соседних стран, например Беларуси — ab.onliner.by