Установка уравнения и автоматическое удаление выбросов в cftool - PullRequest
0 голосов
/ 24 мая 2018

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

cftool(avg_strain_values,avg_stress_values);

Когда cftool загружает, стандартное уравнение является полиномом, который я должен вручную изменить на y=ax+b.У меня такой вопрос: есть ли способ позвонить cftool и автоматически изменить уравнение?Или я должен делать это каждый раз вручную?В документации и в Интернете есть упоминание о fit, и это может сделать это, но когда я попробовал это, я не могу устранить выбросы.

1 Ответ

0 голосов
/ 24 мая 2018

Нет.

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

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

    fit(..., 'Exclude', [1,3,7])
    

    См. Другие параметры для Exclude в документации .

  • Если вы априори не знаете, какие точки являются выбросами, вы можете использоватьнекоторая форма устойчивой регрессии (как упомянуто в комментариях: robustfit, fit(..., 'Robust', 'Bisquare')), которая взвешивает видимые выбросы более слабо.

См. Также: Робастная регрессия - уменьшение выбросов выбросов , Удаление выбросов программно .

...